/*FONTAWESOME CHECKBOXES*/

input[type="radio"],
input[type="checkbox"] {
  opacity: 0;
  position: absolute;
}

input[type="radio"]:hover,
input[type="checkbox"]:hover {
  cursor: pointer;
}

input[type="radio"]+label:before,
input[type="checkbox"]+label:before {
  font-family: 'FontAwesome';
  padding-right: 20px;
  font-size: 18px;
}

input[type="radio"]+label:before {
  content: "\f10c";
  /* circle-blank */
  color: #333;
}

input[type="radio"]:checked+label:before {
  content: "\f111";
  /* circle */
}

input[type="checkbox"]+label:before {
  content: "\f096";
  /* check-empty */
  color: #333;
}

input[type="checkbox"]:checked+label:before {
  content: "\f046";
  /* check */
  padding-right: 17px;
}

/*MENU&HEADER*/

body a {
  color: #008aff;
}

#client_admin_header {
  padding: 10px 10px;
  margin-bottom: 35px;
  border-bottom: 2px solid #ccc;
  position: relative;
}

#nav_practice_info {
  float: left;
}

#menu_logo {
  display: inline-block;
  vertical-align: middle;
  border-right: 1px solid #eee;
  margin-right: 10px;
  padding-right: 10px;
}

#menu_logo img {
  max-height: 5vw;
  max-width: 15vw;
}

#nav_practice_name_container {
  display: inline-block;
  vertical-align: middle;
}

#nav_practice_name {
  color: #f75f10;
  font-size: calc(100% + 0.75vw);
  font-weight: 600;
}

#nav_sub_practice_name {
  font-weight: 300;
  color: #555;
}

#client_admin_menu {
  position: absolute;
  padding: 0;
  margin: 0;
  list-style: none;
  right: 10px;
  bottom: -2px;
  font-size: 14px;
}

#client_admin_menu li {
  display: inline-block;
  margin: 0 -2px;
  position: relative;
}

#client_admin_menu li:nth-child(even) {
  font-weight: 300;
}

#client_admin_menu li:last-child a {
  color: #d10101;
  margin-left: 5px;
}

#client_admin_menu li a {
  padding: 10px 5px;
  color: #333;
  display: block;
  border-bottom: 2px solid #ccc;
  transition: color .25s ease, border-bottom .25s ease;
}

#client_admin_menu li a:hover {
  text-decoration: none;
  color: #008aff;
  border-bottom: 2px solid #008aff;
}

.alert_bubble {
  position: absolute;
  right: 0;
  top: -10px;
  font-size: 10px;
  color: #ffffff;
  font-weight: bold;
  background: #990000;
  padding: 2px 6px;
  border-radius: 10px;
}

#dashboard_page #dashboard_link a,
#analytics_page #analytics_link a,
#request_reviews_page #request_reviews_link a,
#patient_reviews_page #patient_reviews_link a,
#tracking_page #tracking_link a,
#specials_admin_page #specials_admin_link a,
#appt_reminders_page #appt_reminders_link a {
  color: #008aff;
  border-bottom: 4px solid #008aff;
  padding-bottom: 8px;
  font-weight: 600;
}

/*LOGIN PAGE*/

#login_form {
  margin-top: 50px;
}

#login_form #forgot_password {
  color: rgb(0, 64, 255);
}

#login_form #forgot_password:hover {
  color: rgb(72, 112, 235);
  cursor: pointer;
}

.password-verdict {
  position: absolute;
  right: 30px;
  top: 136px;
}

#password_match {
  display: none;
  margin: 0 0 15px;
  font-weight: bold;
  font-size: 120%;
}

#login_form #remember_me {
  text-align: right;
}

#login_submit_container {
  text-align: center;
  width: 100%;
}

#login_submit {
  clear: both;
  display: inline-block;
  background: #fff;
  padding: 10px 15px;
  font-size: 24px;
  border: 3px solid #00990b;
  border-radius: 10px;
  color: #00990b;
}

#login_submit:hover {
  cursor: pointer;
  background: #00990b;
  color: #fff;
}

/*DASHBOARD PAGE*/

.card_container {
  border: 1px solid #333;
  margin-bottom: 12.5px;
}

.card_container .card_title {
  font-size: 90%;
  padding: 5px;
}

.request_appointment_info,
.contact_us_info {
  font-size: 90%;
  padding: 5px 0;
  margin: 0 10px;
}

.request_appointment_info:not(:last-child),
.contact_us_info:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

.request_appointment_info:hover,
.contact_us_info:hover {
  background: #eee;
  cursor: pointer;
}

.request_appointment_info .request_appointment_details,
.contact_us_info .contact_us_details {
  display: none;
}

/*ANALYTICS PAGE*/

#analytics_frame {
  width: 100%;
  border: none;
}

/*REQUEST REVIEWS PAGE*/
#request_reviews_action_info {
  max-width: 1600px;
  margin: auto;
  float: none;
}

#request_reviews_disclaimer {
  margin-bottom: 50px;
}

#review_info_container {
  margin-top: 25px;
}

#review_outlets {
  background: #eee;
  padding: 15px;
}

#review_outlets .form-group {
  text-align: left;
  padding: 0 0 0 25px;
}

.outlet_notice {
  line-height: 1.4;
  margin-bottom: 25px;
  color: #999999;
}

.checkbox_label {
  font-weight: normal;
  width: 100%;
}

#gplus_checkbox {
  color: #ce3633;
}

.fa-gplus:before {
  content: "\f0d5";
}

#facebook_checkbox {
  color: #3b5a9a;
}

#yelp_checkbox {
  color: #c41200;
}

#rateabiz_checkbox {
  color: #DA7700;
}

.fa-rateabiz:before {
  content: "\f27b";
}

#healthgrades_checkbox {
  color: #0c3c64;
}

.fa-website:before {
  content: "\f0ac";
}

.input-box {
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 7px 15px -10px;
  border: 5px solid #fff;
  margin-bottom: 30px;
  text-align: center;
}

.input-box small {
  color: #999;
  font-size: 1.5rem;
  font-weight: normal;
  margin: 10px 0;
  display: block;
}

.input-box-title {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.phone-box {
  background-color: #d1ffd6;
}

.phone-box .input-box-title {
  color: #057a12;
}

.mail-box {
  background-color: #d1f7ff;
}

.mail-box .input-box-title {
  color: #03687d;
}

.review_info_title.h3 {
  color: #555;
  margin-top: 0;
  font-size: 1.8vw;
}

.review_info_title span.h5 {
  font-weight: 300;
  font-size: 1vw;
}

.flex-group {
  display: flex;
}

.flex-1 {
  flex: 1;
}

.flex-2 {
  flex: 2;
}

#send_review_request_container {
  margin: 50px 0;
  text-align: center;
  width: 100%;
  clear: both;
}

#send_review_request {
  clear: both;
  display: inline-block;
  padding: 10px 15px;
  font-size: 24px;
  border: 3px solid #00990b;
  border-radius: 10px;
  color: #00990b;
  background-color: #fff;
}

#send_review_request:hover {
  cursor: pointer;
  background: #00990b;
  color: #fff;
}

.form-horizontal .has-feedback .form-control-feedback {
  top: 18px;
  right: 20px;
}

#request_reviews_list ul {
  list-style: none;
  padding-left: 0;
  padding-bottom: 10px;
}

#request_reviews_list li {
  font-weight: bold;
}

#request_reviews_list li ul li {
  font-weight: normal;
}

/*WEBSITE REVIEWS PAGE*/

#pending_entries_page #pending_entries_link a,
#approved_entries_page #approved_entries_link a,
#deleted_entries_page #deleted_entries_link a,
#statistics_page #statistics_link a,
#manual_entries_page #manual_entries_link a {
  background: #008aff;
  color: #fff;
}

.review_info {
  padding: 10px;
  background: #eee;
  margin-bottom: 10px;
  overflow: hidden;
}

.review_section_title {
  width: 15%;
  float: left;
  clear: both;
  font-weight: bold;
  margin: 2.5px 0;
}

.review_section_info {
  width: 85%;
  float: left;
  margin: 2.5px 0;
}

.review_stats_title {
  float: left;
  clear: both;
  margin: 0 10px 10px 0;
  width: 220px;
}

.review_stats {
  margin: 0 0 10px 0;
}

.review_delete,
.review_approve {
  margin: 10px 0 0;
}

#review_message {
  height: 200px;
}

#submit_manual_review {
  margin: 0 15px 0 0;
}

/*TRACKING PAGE*/

#url_referrals_page #url_referrals_link a,
#appointment_requests_page #appointment_requests_link a,
#contact_us_requests_page #contact_us_requests_link a,
#special_offer_requests_page #special_offer_requests_link a,
#search_bar_terms_page #search_bar_terms_link a {
  background: #008aff;
  color: #fff;
}

#appointment_requests_info,
#contact_us_requests_info,
#special_offer_requests_info {
  font-size: 14px;
}

/*SPECIALS ADMIN PAGE*/

#current_specials_page #current_specials_link a,
#specials_data_page #specials_data_link a,
#set_new_special_page #set_new_special_link a {
  background: #008aff;
  color: #fff;
}

#specials_data_info {
  font-size: 14px;
}

.delete_special:hover {
  color: rgb(236, 114, 114);
  cursor: pointer;
}

#specials_button {
  margin-top: 15px;
  margin-bottom: 15px;
}

#email_preview_container {
  box-sizing: border-box;
  border: 2px solid #000;
  text-align: center;
  width: 600px;
  margin: auto;
}

input[type="radio"].remove_special {
  opacity: 1;
  position: relative;
}

/* CHAT */
.settings-container {
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: #345;
}

.current-user-label {
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  margin-right: 5px;
}

.current-user-select {
  margin-right: 15px;
}

.chat-settings {
  color: #fff;
}

.message-container {
  display: flex;
  border-width: 1px 1px 1px 0;
  border-color: #ddd;
  border-style: solid;
}

#message-list {
  padding: 0;
}

.message-list-header {
  padding: 1rem;
  background: #ddd;
  font-size: 16px;
  display: flex;
  justify-content: space-between;
}

.message-list-filter:hover {
  cursor: pointer;
  color: #ac0000;
}

#message-list-items {
  overflow: auto;
  height: 60vh;
}

.message-list-item-container {
  display: flex;
  overflow: hidden;
}

.message-list-item-container:not(:last-child) {
  border-bottom: 1px solid #ddd;
}

.message-list-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #eee;
  flex: 0 0 calc(100% - 30px);
  max-width: calc(100% - 30px);
  transition: margin-left 0.3s;
}

.message-list-item.active {
  background-color: rgb(198, 255, 180);
}

.message-list-item.menu-open {
  margin-left: calc((100% - 30px) * -1);
}

.message-list-item-submenu {
  flex: 0 0 calc(100% - 30px);
  max-width: calc(100% - 30px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.message-list-item-submenu .btn {
  margin-top: 0;
  border-radius: 0;
}

.message-item-name {
  display: flex;
  align-items: center;
  padding: 1rem 1rem 0;
}

.message-item-date {
  padding: 1rem 1rem 0;
}

.message-item-message {
  flex: 0 0 calc(100% - 60px);
  max-width: calc(100% - 60px);
  margin-top: 1rem;
  padding: 0 1rem 0.5rem;
  font-size: 14px;
  color: #999;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.message-item-location {
  padding: 0 1rem 0.5rem;
  color: #777;
  font-size: 12px;
  width: 100%;
}

.message-item-alert {
  flex: 0 0 25px;
  max-width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: right;
  font-size: 12px;
  margin-right: 1rem;
  background-color: rgb(199, 43, 43);
  border-radius: 50%;
  color: #fff;
}

.message-list-item-actions {
  flex: 0 0 30px;
  max-width: 30px;
  display: flex;
  flex-direction: column;
}

.action-btn {
  height: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.action-btn:hover {
  cursor: pointer;
  color: #333;
}

.more-btn {
  background-color: #ffe9cf;
}

.more-btn:hover {
  background-color: #f2c48e;
}

.edit-btn {
  background-color: rgb(204, 177, 255);
}

.edit-btn:hover {
  background-color: rgb(171, 132, 246);
}

.note-btn {
  background-color: #fff266;
}

.note-btn:hover {
  background-color: #e3d221;
}

#message-log {
  padding: 0;
  border-left: 1px solid #ddd;
}

#message-log-chat {
  height: 60vh;
  overflow: auto;
  margin-bottom: 2rem;
}

.load-more-messages {
  width: 100%;
  text-align: center;
  padding: 1rem 0;
  margin-bottom: 1rem;
  color: #fff;
  background-color: rgb(134, 177, 217);
}

.load-more-messages:hover {
  cursor: pointer;
  background-color: rgb(104, 148, 189);
}

.message-log-chat-item {
  max-width: 75%;
  padding: 1rem 2rem;
  margin-bottom: 1rem;
}

.message-log-chat-item-from[data-unread='1'] {
  background: linear-gradient(to bottom, #e2e2e2 0%, #e2e2e2 92%, rgb(158, 94, 94) 92%, rgb(158, 94, 94) 100%);
  font-weight: bold;
}

.message-log-chat-item-to[data-unread='1'] {
  background: linear-gradient(to bottom, rgb(10, 34, 108) 0%, rgb(10, 34, 108) 92%, rgb(158, 94, 94) 92%, rgb(158, 94, 94) 100%);
  font-weight: bold;
}

.message-log-chat-item-date {
  font-size: 1rem;
  width: 100%;
  text-align: left;
}

.message-log-chat-item-from {
  float: left;
  clear: both;
  background: #e2e2e2;
}

.message-log-chat-item-to {
  float: right;
  clear: both;
  background: rgb(10, 34, 108);
  color: #fff;
}

.message-log-chat-item-to .message-log-chat-item-date{
  text-align: right;
}

.message-log-send {
  width: 100%;
  padding: 0 15px 15px;
  display: flex;
  justify-content: space-between;
}

.message-log-lock {
  width: 100%;
  padding: 5px 15px;
  margin-top: 35px;
  background-color: #ccc;
  font-size: 14px;
}

.send-message {
  width: calc(100% - 45px);
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #ddd;
}

.send-btn {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: rgb(17, 17, 64);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}

.send-btn:hover {
  cursor: pointer;
  background-color: rgb(39, 39, 112);
}
