/* Booked Appointments styles
----------------------------------------------------------------- */
/* Buttons */
body #booked-profile-page input[type="submit"],
body #booked-profile-page input[type="submit"].button-primary,
body #booked-profile-page button,
body .booked-list-view input[type="submit"],
body .booked-list-view input[type="submit"].button-primary,
body .booked-list-view button,
body table.booked-calendar input[type="submit"],
body table.booked-calendar input[type="submit"].button-primary,
body table.booked-calendar button,
body .booked-modal input[type="submit"],
body .booked-modal input[type="submit"].button-primary,
body .booked-modal button {
  -webkit-appearance: none;
  cursor: pointer;
  display: inline-block;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: var(--theme-var-rad);
  -ms-border-radius: var(--theme-var-rad);
  border-radius: var(--theme-var-rad);
  white-space: nowrap;
  height: auto;
  max-width: 100%;
  color: var(--theme-color-inverse_link);
  border-color: var(--theme-color-text_link);
  background-color: var(--theme-color-text_link);
  padding: 1.34375rem 2.5rem;
  border-width: 0 !important; }

.booked-calendar-wrap .booked-calendar .booked-appt-list .timeslot .timeslot-people button:hover,
.booked-calendar-wrap .booked-calendar .booked-appt-list .timeslot .timeslot-people button:focus,
#booked-profile-page .booked-profile-appt-list .appt-block .booked-cal-buttons .google-cal-button > a:hover,
#booked-profile-page .booked-profile-appt-list .appt-block .booked-cal-buttons .google-cal-button > a:focus,
#booked-profile-page input[type="submit"]:hover,
#booked-profile-page input[type="submit"]:focus,
#booked-profile-page input[type="submit"].button-primary:hover,
#booked-profile-page input[type="submit"].button-primary:focus,
#booked-profile-page button:hover,
#booked-profile-page button:focus,
.booked-list-view input[type="submit"]:hover,
.booked-list-view input[type="submit"]:focus,
.booked-list-view input[type="submit"].button-primary:hover,
.booked-list-view input[type="submit"].button-primary:focus,
.booked-list-view button:hover,
.booked-list-view button:focus,
table.booked-calendar input[type="submit"]:hover,
table.booked-calendar input[type="submit"]:focus,
table.booked-calendar input[type="submit"].button-primary:hover,
table.booked-calendar input[type="submit"].button-primary:focus,
table.booked-calendar button:hover,
table.booked-calendar button:focus,
.booked-modal input[type="submit"]:hover,
.booked-modal input[type="submit"]:focus,
.booked-modal input[type="submit"].button-primary:hover,
.booked-modal input[type="submit"].button-primary:focus,
.booked-modal button:hover,
.booked-modal button:focus {
  border-color: var(--theme-color-text_hover);
  background-color: var(--theme-color-text_hover);
  color: var(--theme-color-inverse_link); }

/* Text fields */
body #booked-page-form input[type="email"],
body #booked-page-form input[type="text"],
body #booked-page-form input[type="password"],
body #booked-page-form textarea,
.booked-upload-wrap,
.booked-upload-wrap input {
  color: var(--theme-color-input_text);
  border-color: var(--theme-color-input_bd_color);
  background-color: var(--theme-color-input_bg_color); }

body #booked-page-form input[type="email"]:focus,
body #booked-page-form input[type="email"].filled,
body #booked-page-form input[type="text"]:focus,
body #booked-page-form input[type="text"].filled,
body #booked-page-form input[type="password"]:focus,
body #booked-page-form input[type="password"].filled,
body #booked-page-form textarea:focus,
body #booked-page-form textarea.filled,
.booked-upload-wrap:hover,
.booked-upload-wrap input:focus,
.booked-upload-wrap input.filled {
  color: var(--theme-color-input_dark);
  border-color: var(--theme-color-input_bd_hover);
  background-color: var(--theme-color-input_bg_hover); }

/* Icons fix */
.booked-icon {
  padding-left: 1px; }

/* Calendar */
body table.booked-calendar,
body table.booked-calendar thead,
body table.booked-calendar body {
  background-color: transparent !important; }

table.booked-calendar,
table.booked-calendar tr {
  border-width: 0 !important; }

table.booked-calendar tr th,
table.booked-calendar tr td {
  border-width: 1px !important;
  border-style: solid !important;
  background-color: transparent !important;
  -webkit-transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
  -ms-transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease; }

table.booked-calendar tr td .date,
table.booked-calendar tr td.prev-date .date,
table.booked-calendar tr td.today .date,
table.booked-calendar tr td.today .date span,
table.booked-calendar tr td.prev-month .date,
table.booked-calendar tr td.prev-month .date span,
table.booked-calendar tr td.next-month .date,
table.booked-calendar tr td.next-month .date span,
table.booked-calendar tr td .booked-appt-list {
  color: inherit !important;
  background: transparent !important; }

table.booked-calendar tr td:hover .date,
table.booked-calendar tr td.prev-date:hover .date {
  background: var(--theme-color-text_hover3) !important; }

body table.booked-calendar td .date .number {
  line-height: 46px; }

table.booked-calendar thead tr th {
  color: var(--theme-color-text_dark) !important;
  border: 0 !important;
  background-color: transparent !important; }

body table.booked-calendar thead tr:first-child th {
  text-align: left !important;
  text-transform: capitalize;
  border-bottom: 2px solid var(--theme-color-bd_color) !important; }

body table.booked-calendar th .monthName {
  font-size: 1.375rem;
  letter-spacing: 0;
  line-height: 1; }

body table.booked-calendar tr.days {
  background-color: transparent !important; }

body table.booked-calendar tr.days th {
  background-color: transparent !important;
  font-size: 14px;
  text-transform: capitalize; }

table.booked-calendar thead th i {
  background-color: var(--theme-color-alter_bg_color) !important;
  color: var(--theme-color-alter_link) !important;
  width: 1.875rem;
  height: 1.875rem;
  line-height: 1.875rem;
  text-align: center;
  font-size: 10px;
  transition: all 0.3s;
  border-radius: 50%; }

table.booked-calendar thead th i:hover {
  background-color: var(--theme-color-alter_hover) !important;
  color: var(--theme-color-inverse_link) !important; }

table.booked-calendar thead th i.booked-icon-arrow-right:before {
  font-family: "fontello";
  content: '\e9e8'; }

table.booked-calendar thead th i.booked-icon-arrow-left:before {
  font-family: "fontello";
  content: '\e9bb'; }

body table.booked-calendar th .page-right,
body table.booked-calendar th .page-right:hover {
  right: 0;
  margin-top: -0.9375rem; }

body table.booked-calendar th .page-left,
body table.booked-calendar th .page-left:hover {
  right: 2.0625rem;
  left: auto;
  top: 50%;
  margin-top: -0.9375rem; }

table.booked-calendar thead th .monthName a {
  color: var(--theme-color-extra_link); }

table.booked-calendar thead th .monthName a:hover {
  color: var(--theme-color-extra_hover); }

body table.booked-calendar {
  border-collapse: separate;
  border-spacing: 10px;
  border-bottom: 0 !important; }

table.booked-calendar tbody tr td {
  color: var(--theme-color-text_dark) !important;
  border-color: var(--theme-color-alter_bd_color) !important;
  background-color: var(--theme-color-alter_bg_color) !important;
  border-radius: 3px; }

table.booked-calendar tbody tr td.prev-date:not(.today) {
  opacity: 0.6;
  border: 0 !important; }

body table.booked-calendar td.today.prev-date:hover .date span {
  color: var(--theme-color-inverse_hover) !important; }

body table.booked-calendar td .date {
  display: flex; }

body table.booked-calendar td .date .number {
  width: 2.9375rem;
  height: 2.9375rem;
  line-height: 2.75rem;
  font-size: 1.375rem;
  margin: 0.9375rem; }

table.booked-calendar tbody tr td.prev-month,
table.booked-calendar tbody tr td.next-month {
  opacity: 0.6; }

table.booked-calendar tbody tr td.today {
  color: var(--theme-color-alter_link) !important;
  background-color: var(--theme-color-alter_link) !important; }

table.booked-calendar tbody td.today .date span {
  background-color: var(--theme-color-inverse_link) !important;
  border-color: var(--theme-color-inverse_link) !important;
  color: var(--theme-color-alter_link) !important; }

table.booked-calendar tbody td.today:hover .date span {
  background-color: var(--theme-color-inverse_link) !important;
  border-color: var(--theme-color-inverse_link) !important;
  color: var(--theme-color-alter_link) !important; }

.booked-calendar-wrap .booked-calendar .booked-appt-list h2 {
  color: var(--theme-color-text_dark); }

.booked-calendar-wrap .booked-calendar .booked-appt-list .timeslot {
  border-color: var(--theme-color-alter_bd_color); }

.booked-calendar-wrap .booked-calendar .booked-appt-list .timeslot .timeslot-title {
  color: var(--theme-color-text_link); }

.booked-calendar-wrap .booked-calendar .booked-appt-list .timeslot .timeslot-time {
  color: var(--theme-color-text_dark); }

.booked-calendar-wrap .booked-calendar .booked-appt-list .timeslot .spots-available {
  color: var(--theme-color-text);
  font-size: 12px; }

body.ua_edge .booked-calendar-wrap .booked-appt-list .timeslot .timeslot-people {
  height: 81px;
  padding: 10px 0 0 0; }

/* Booked form */
body .booked-modal .bm-window {
  box-shadow: none; }

body .booked-modal .bm-window a {
  color: var(--theme-color-inverse_link); }

body .booked-modal .bm-window a:hover {
  color: var(--theme-color-text_hover2); }

body .booked-calendar-wrap .booked-appt-list .timeslot:hover {
  background: var(--theme-color-bg_color); }

body .booked-form .field .checkbox-radio-block label {
  padding-left: 2.8125rem; }

body .booked-form .cf-block select {
  visibility: visible; }
body .booked-form .booked-appointments {
  background: var(--theme-color-bg_color);
  color: var(--theme-color-alter_text); }

body .booked-modal .bm-window {
  background: none;
  width: 480px; }
  body .booked-modal .bm-window p.booked-title-bar {
    color: var(--theme-color-extra_dark) !important;
    background-color: transparent !important; }
  body .booked-modal .bm-window p.appointment-title {
    color: var(--theme-color-alter_dark); }
  body .booked-modal .bm-window .close i {
    color: var(--theme-color-extra_dark); }
  body .booked-modal .bm-window .booked-scrollable {
    color: var(--theme-color-extra_text);
    background-color: var(--theme-color-extra_bg_color) !important; }
    body .booked-modal .bm-window .booked-scrollable em {
      color: var(--theme-color-extra_link); }
  body .booked-modal .bm-window #customerChoices {
    background-color: transparent;
    border-color: var(--theme-color-extra_bd_hover); }

body .booked-modal button.cancel {
  border-color: var(--theme-color-alter_link) !important;
  background-color: var(--theme-color-alter_link) !important;
  color: var(--theme-color-inverse_link) !important; }

body .booked-modal button.cancel:hover {
  border-color: var(--theme-color-alter_hover) !important;
  background-color: var(--theme-color-alter_hover) !important;
  color: var(--theme-color-inverse_link) !important; }

body .booked-modal .bm-window .close {
  transition: all 0.3s; }

body .booked-modal .bm-window .close:hover {
  transform: rotate(90deg); }

body .booked-calendar-wrap .booked-appt-list .timeslot .timeslot-people {
  height: 97px;
  padding: 18px 0 18px 0; }

/* Login form */
body #booked-page-form {
  color: var(--theme-color-text);
  border-color: var(--theme-color-bd_color); }
  body #booked-page-form .login-remember input {
    display: inline;
    vertical-align: middle; }

/* User profile */
body #booked-profile-page i.fa {
  color: inherit; }
body #booked-profile-page div.booked-profile-header {
  padding: 0 0 2em;
  background-color: var(--theme-color-bg_color) !important;
  border-color: transparent !important;
  color: var(--theme-color-text); }
  body #booked-profile-page div.booked-profile-header .booked-logout-button:hover {
    color: var(--theme-color-text_link); }
body #booked-profile-page div.booked-user-avatar {
  width: 50px;
  height: 50px; }
  body #booked-profile-page div.booked-user-avatar img {
    -webkit-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%; }
body #booked-profile-page .booked-user h3 {
  color: var(--theme-color-text_dark); }
  body #booked-profile-page .booked-user h3 strong {
    font-weight: 400; }
body #booked-profile-page .booked-tabs {
  background-color: var(--theme-color-alter_bg_color) !important;
  border-color: var(--theme-color-alter_bd_color) !important; }
  body #booked-profile-page .booked-tabs li a {
    background-color: var(--theme-color-extra_bg_color);
    color: var(--theme-color-extra_text); }
  body #booked-profile-page .booked-tabs li a i {
    color: inherit; }
  body #booked-profile-page .booked-tabs li.active a,
  body #booked-profile-page .booked-tabs li.active a:hover,
  body #booked-profile-page .booked-tabs li a:hover {
    color: var(--theme-color-extra_dark) !important;
    background-color: var(--theme-color-extra_bg_hover) !important; }
body #booked-profile-page div.booked-tab-content {
  -webkit-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0;
  background-color: var(--theme-color-bg_color);
  border-color: var(--theme-color-alter_bd_color); }

/* User profile content */
.booked-calendarSwitcher.calendar,
.booked-calendarSwitcher.calendar select {
  background-color: var(--theme-color-alter_bg_color) !important; }

#profile-edit #booked-page-form .form-table {
  margin-bottom: 2em; }
