:root {
  --mpa-grid-gap: 20px;
}

.mpa-hide {
  display: none !important;
}

.mpa-error {
  color: #e25950;
  font-weight: bold;
  font-style: italic;
}

.mpa-loading {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: no-repeat center url("../images/loading.gif?ver=2.4.3"), rgba(255, 255, 255, 0.5);
  background-size: 32px 32px;
  z-index: 9000;
}

.mpa-loaded > .mpa-loading {
  display: none;
}

.mpa-table-centered td, .mpa-table-centered th {
  text-align: center;
}
.mpa-table-centered .no-items td,
.mpa-table-centered .no-items th {
  text-align: left;
}

table.fitwidth {
  table-layout: auto;
}

th.fitwidth,
td.fitwidth {
  width: 1%;
  white-space: nowrap;
}

.mpa-description {
  font-style: italic;
}

.mpa-small-description {
  font-size: 75%;
}

.center-text {
  text-align: center;
}

.mpa-preloader {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: no-repeat center url("../images/preloader.gif?ver=2.4.3");
}

.mpa-table th {
  padding-left: 10px;
  vertical-align: middle;
}

.mpa-deprecated {
  opacity: 0.5;
}
.mpa-deprecated strong {
  color: darkred;
  cursor: help;
}

.mpa-grid {
  display: flex;
  flex-flow: row wrap;
  margin-right: calc(-1 * var(--mpa-grid-gap, 20px));
  margin-left: calc(-1 * var(--mpa-grid-gap, 20px));
}
.mpa-grid > .mpa-grid-column {
  padding: 0 var(--mpa-grid-gap, 20px);
  margin-bottom: calc(2 * var(--mpa-grid-gap, 20px));
  width: 100%;
}
@media (min-width: 768px) {
  .mpa-grid > .mpa-grid-column {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .mpa-grid > .mpa-grid-column {
    width: 16.667%;
  }
}
.mpa-grid.mpa-grid-columns-1 > .mpa-grid-column {
  width: 100%;
}
@media (min-width: 768px) {
  .mpa-grid.mpa-grid-columns-2 > .mpa-grid-column {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .mpa-grid.mpa-grid-columns-3 > .mpa-grid-column {
    width: 33%;
  }
}
@media (min-width: 992px) {
  .mpa-grid.mpa-grid-columns-4 > .mpa-grid-column {
    width: 25%;
  }
}
@media (min-width: 992px) {
  .mpa-grid.mpa-grid-columns-5 > .mpa-grid-column {
    width: 20%;
  }
}

.mpa-preloader-skeleton-pulsate {
  background: linear-gradient(-45deg, #DDDDDD, #F0F0F0, #DDDDDD, #F0F0F0);
  background-size: 400% 400%;
  animation: mpa-preloader-skeleton-pulsate-gradient 2.25s ease infinite;
}

.mpa-stripe-element.mpa-preloader-skeleton-pulsate {
  width: 100%;
  height: 50px;
  position: relative;
  display: block;
  border-radius: 4px;
}
.mpa-stripe-element.mpa-preloader-skeleton-pulsate:before, .mpa-stripe-element.mpa-preloader-skeleton-pulsate:after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  height: 10px;
  background: linear-gradient(-45deg, #cbcbcb, #dddddd, #cbcbcb, #dddddd);
  background-size: 400% 400%;
  animation: mpa-preloader-skeleton-pulsate-gradient 2.25s ease infinite;
}
.mpa-stripe-element.mpa-preloader-skeleton-pulsate.mpa-stripe-payment-request-button-element:before {
  left: calc(50% - 70px);
  width: 140px;
}
.mpa-stripe-element.mpa-preloader-skeleton-pulsate.mpa-stripe-card-element:before {
  left: 12px;
  width: 200px;
}
.mpa-stripe-element.mpa-preloader-skeleton-pulsate.mpa-stripe-card-element:after {
  right: 12px;
  width: 85px;
}
.mpa-stripe-element.mpa-preloader-skeleton-pulsate.mpa-stripe-ideal-element:before {
  left: 12px;
  width: 200px;
}
.mpa-stripe-element.mpa-preloader-skeleton-pulsate.mpa-stripe-ideal-element:after {
  right: 12px;
  width: 10px;
}
.mpa-stripe-element.mpa-preloader-skeleton-pulsate .mpa-stripe-iban-element:before {
  left: 12px;
  width: 200px;
}

@-webkit-keyframes mpa-preloader-skeleton-pulsate-gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@-moz-keyframes mpa-preloader-skeleton-pulsate-gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes mpa-preloader-skeleton-pulsate-gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.mpa-posts-loop .mpa-loop-post-wrapper > *:first-child {
  margin-top: 0;
}
.mpa-posts-loop .mpa-loop-post-wrapper > *:last-child {
  margin-bottom: 0;
}
.mpa-posts-loop .post-thumbnail img {
  margin-top: 0;
  margin-bottom: 0;
}

.mpa-pagination {
  margin-top: 0;
}

.appointment-form-shortcode, .appointment-form-widget > .widget-body {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.appointment-form-shortcode:not(.mpa-loaded), .appointment-form-widget > .widget-body:not(.mpa-loaded),
.appointment-form-shortcode .mpa-booking-step:not(.mpa-loaded),
.appointment-form-widget > .widget-body .mpa-booking-step:not(.mpa-loaded) {
  min-height: 52px;
  position: relative;
}
.appointment-form-shortcode label, .appointment-form-widget > .widget-body label,
.appointment-form-shortcode select,
.appointment-form-widget > .widget-body select,
.appointment-form-shortcode input[type=text],
.appointment-form-widget > .widget-body input[type=text],
.appointment-form-shortcode input[type=email],
.appointment-form-widget > .widget-body input[type=email],
.appointment-form-shortcode input[type=tel],
.appointment-form-widget > .widget-body input[type=tel] {
  width: 100%;
}
.appointment-form-shortcode select, .appointment-form-widget > .widget-body select,
.appointment-form-shortcode input[type=text],
.appointment-form-widget > .widget-body input[type=text],
.appointment-form-shortcode input[type=email],
.appointment-form-widget > .widget-body input[type=email],
.appointment-form-shortcode input[type=tel],
.appointment-form-widget > .widget-body input[type=tel] {
  display: block;
}
.appointment-form-shortcode .mpa-message, .appointment-form-widget > .widget-body .mpa-message {
  width: 100%;
}
.appointment-form-shortcode .mpa-actions, .appointment-form-widget > .widget-body .mpa-actions {
  margin-top: 1.5em;
}
.appointment-form-shortcode .mpa-booking-step, .appointment-form-widget > .widget-body .mpa-booking-step {
  width: 100%;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .mpa-cart-item-template, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .mpa-cart-item-template {
  display: none;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .mpa-cart-item, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .mpa-cart-item {
  margin-bottom: 40px;
  border: 1px solid #eee;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .mpa-cart-item > *, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .mpa-cart-item > * {
  width: 50%;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .mpa-cart-item > *:last-child, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .mpa-cart-item > *:last-child {
  margin-bottom: 0;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .cell, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .cell {
  box-sizing: border-box;
  padding: 5px 25px;
  width: 100%;
}
@media (min-width: 992px) {
  .appointment-form-shortcode .mpa-booking-step .mpa-cart .cell, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .cell {
    width: 50%;
  }
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .cell-title, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .cell-title {
  font-weight: 700;
  margin-bottom: 0;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .item-header, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .item-header,
.appointment-form-shortcode .mpa-booking-step .mpa-cart .item-body,
.appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .item-body,
.appointment-form-shortcode .mpa-booking-step .mpa-cart .item-footer,
.appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .item-footer {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 20px 0;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .item-header, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .item-header {
  border-bottom: 1px solid #eee;
  font-weight: 700;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .item-header + .item-footer, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .item-header + .item-footer {
  border-top: 0;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .item-footer, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .item-footer {
  border-top: 1px solid #eee;
}
.appointment-form-shortcode .mpa-booking-step .mpa-cart .item-footer .cell, .appointment-form-widget > .widget-body .mpa-booking-step .mpa-cart .item-footer .cell {
  width: 100%;
}
.appointment-form-shortcode .mpa-booking-step-service-form, .appointment-form-widget > .widget-body .mpa-booking-step-service-form {
  max-width: 100%;
}
@media screen and (min-width: 992px) {
  .appointment-form-shortcode .mpa-booking-step-service-form, .appointment-form-widget > .widget-body .mpa-booking-step-service-form {
    width: 50%;
  }
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-input-container, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-input-container {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media screen and (min-width: 992px) {
  .appointment-form-shortcode .mpa-booking-step-period .mpa-input-container, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-input-container {
    flex-wrap: nowrap;
  }
  .appointment-form-shortcode .mpa-booking-step-period .mpa-input-container .mpa-input-wrapper, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-input-container .mpa-input-wrapper {
    width: auto;
  }
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-input-container .mpa-input-wrapper, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-input-container .mpa-input-wrapper {
  padding: 0 10px;
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-date-wrapper, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-date-wrapper {
  margin-bottom: 20px;
}
@media screen and (min-width: 992px) {
  .appointment-form-shortcode .mpa-booking-step-period .mpa-date-wrapper, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-date-wrapper {
    margin-bottom: 0;
  }
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-date-wrapper:not(.mpa-loaded), .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-date-wrapper:not(.mpa-loaded) {
  position: relative;
}
.appointment-form-shortcode .mpa-booking-step-period .flatpickr-calendar, .appointment-form-widget > .widget-body .mpa-booking-step-period .flatpickr-calendar {
  margin: 0 0 0 1px;
  top: 0;
  box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 0 0 rgba(0, 0, 0, 0.08);
}
.appointment-form-shortcode .mpa-booking-step-period .flatpickr-calendar .prevMonthDay.flatpickr-disabled, .appointment-form-widget > .widget-body .mpa-booking-step-period .flatpickr-calendar .prevMonthDay.flatpickr-disabled,
.appointment-form-shortcode .mpa-booking-step-period .flatpickr-calendar .nextMonthDay.flatpickr-disabled,
.appointment-form-widget > .widget-body .mpa-booking-step-period .flatpickr-calendar .nextMonthDay.flatpickr-disabled {
  opacity: 0;
  cursor: default;
}
.appointment-form-shortcode .mpa-booking-step-period .flatpickr-calendar .flatpickr-current-month .cur-month, .appointment-form-widget > .widget-body .mpa-booking-step-period .flatpickr-calendar .flatpickr-current-month .cur-month,
.appointment-form-shortcode .mpa-booking-step-period .flatpickr-calendar .flatpickr-current-month .numInputWrapper,
.appointment-form-widget > .widget-body .mpa-booking-step-period .flatpickr-calendar .flatpickr-current-month .numInputWrapper {
  pointer-events: none;
}
.appointment-form-shortcode .mpa-booking-step-period .flatpickr-days, .appointment-form-widget > .widget-body .mpa-booking-step-period .flatpickr-days,
.appointment-form-shortcode .mpa-booking-step-period .dayContainer,
.appointment-form-widget > .widget-body .mpa-booking-step-period .dayContainer {
  width: 100%;
  max-width: 100%;
  min-width: 100%;
}
.appointment-form-shortcode .mpa-booking-step-period .flatpickr-day, .appointment-form-widget > .widget-body .mpa-booking-step-period .flatpickr-day {
  max-width: 39px;
  height: 39px;
  line-height: 39px;
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 992px) {
  .appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper {
    flex: 1 0 auto;
  }
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-times-container, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-times-container {
  position: relative;
  width: 100%;
  height: 100%;
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-times, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-times {
  overflow: auto;
  max-height: 400px;
}
@media screen and (min-width: 992px) {
  .appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-times, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-times {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    max-height: 100%;
  }
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-time-period, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-time-period {
  width: calc(100% - 10px);
  margin: 0 5px 10px;
  padding: 10px 5px;
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-two-columns .mpa-time-period, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-two-columns .mpa-time-period {
  width: calc(50% - 10px);
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-three-columns .mpa-time-period, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-three-columns .mpa-time-period {
  width: calc(33.3333333333% - 10px);
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-four-columns .mpa-time-period, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-four-columns .mpa-time-period {
  width: calc(25% - 10px);
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-five-columns .mpa-time-period, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-five-columns .mpa-time-period {
  width: calc(20% - 10px);
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-period-end-time, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-period-end-time {
  display: none;
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-time-wrapper .mpa-show-end-time .mpa-period-end-time, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-show-end-time .mpa-period-end-time {
  display: inline;
}
.appointment-form-shortcode .mpa-booking-step-period .mpa-slot-capacity, .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-slot-capacity {
  display: block;
}
.appointment-form-shortcode .iti__flag, .appointment-form-widget > .widget-body .iti__flag {
  background-image: url("../js/intl-tel-input-17.0.19/img/flags.png");
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .appointment-form-shortcode .iti__flag, .appointment-form-widget > .widget-body .iti__flag {
    background-image: url("../js/intl-tel-input-17.0.19/img/flags@2x.png");
  }
}
.appointment-form-shortcode .mpa-checkout-form .iti, .appointment-form-widget > .widget-body .mpa-checkout-form .iti {
  width: 100%;
}
.appointment-form-shortcode .mpa-phone-number--invalid, .appointment-form-widget > .widget-body .mpa-phone-number--invalid {
  border-color: red;
  color: red;
}
.appointment-form-shortcode .mpa-phone-field-error, .appointment-form-widget > .widget-body .mpa-phone-field-error {
  color: red;
  margin: 5px 0;
  display: inline-block;
}
.appointment-form-shortcode .wp-admin .mpa-phone-number--invalid, .appointment-form-widget > .widget-body .wp-admin .mpa-phone-number--invalid {
  border: 1px solid red;
  color: red;
}
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-order-details, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-order-details,
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-customer-details,
.appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-customer-details {
  padding: 0;
}
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-order-details, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-order-details {
  margin-bottom: 40px;
}
@media screen and (min-width: 800px) {
  .appointment-form-shortcode .mpa-booking-step-checkout .mpa-capacity-details .mpa-bring-people, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-capacity-details .mpa-bring-people {
    display: inline-block;
    width: auto;
  }
}
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-reservation-details, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-reservation-details {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-reservation-details > li, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-reservation-details > li {
  flex: 1 0 auto;
  margin: 0 1.5em 1.5em 0;
  padding-left: 0;
  padding-right: 1.5em;
  border-right: 1px dashed #d3ced2;
}
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-reservation-details > li:last-of-type, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-reservation-details > li:last-of-type {
  border: none;
  margin-right: 0;
  padding-right: 0;
}
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-reservation-details > li > .mpa-label, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-reservation-details > li > .mpa-label {
  display: block;
  font-size: 0.85em;
}
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-reservation-details > li > .mpa-value, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-reservation-details > li > .mpa-value {
  font-weight: bold;
}
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-reservation-details > li > .mpa-capacity, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-reservation-details > li > .mpa-capacity {
  display: block;
  font-size: x-small;
}
.appointment-form-shortcode .mpa-booking-step-checkout .mpa-reservation-capacity, .appointment-form-widget > .widget-body .mpa-booking-step-checkout .mpa-reservation-capacity {
  display: block;
}
.appointment-form-shortcode .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateways, .appointment-form-widget > .widget-body .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateways {
  padding: 0;
  margin: 0;
  list-style: none;
}
.appointment-form-shortcode .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateways > li, .appointment-form-widget > .widget-body .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateways > li {
  margin-top: 1em;
}
.appointment-form-shortcode .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateways label, .appointment-form-widget > .widget-body .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateways label {
  display: inline;
}
.appointment-form-shortcode .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateway-title, .appointment-form-widget > .widget-body .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateway-title {
  font-weight: bold;
}
.appointment-form-shortcode .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateway-description, .appointment-form-widget > .widget-body .mpa-booking-step-payment .mpa-billing-details .mpa-payment-gateway-description {
  margin: 0;
}
.appointment-form-shortcode .mpa-booking-step-payment .mpa-billing-details .mpa-billing-fields, .appointment-form-widget > .widget-body .mpa-booking-step-payment .mpa-billing-details .mpa-billing-fields {
  margin-top: 0.5em;
}
.appointment-form-shortcode .mpa-booking-step-payment .mpa-reservation-capacity, .appointment-form-widget > .widget-body .mpa-booking-step-payment .mpa-reservation-capacity {
  display: block;
}
.appointment-form-shortcode .mpa-booking-step-booking, .appointment-form-widget > .widget-body .mpa-booking-step-booking {
  flex-grow: 2;
}
.appointment-form-shortcode .mpa-booking-step-booking .mpa-reservation-capacity, .appointment-form-widget > .widget-body .mpa-booking-step-booking .mpa-reservation-capacity {
  display: block;
  font-weight: normal;
}

.mpa-service-employees {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.mpa-service-employees img {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: 3px solid #ffffff;
  margin-left: -15px;
}
.mpa-service-employees img:first-child {
  margin-left: 0;
}
.mpa-service-employees img:first-child {
  z-index: 5;
}
.mpa-service-employees img:nth-child(2) {
  z-index: 4;
}
.mpa-service-employees img:nth-child(3) {
  z-index: 3;
}
.mpa-service-employees img:nth-child(4) {
  z-index: 2;
}
.mpa-service-employees img:nth-child(5) {
  z-index: 1;
}
.mpa-service-employees .more-employees,
.mpa-service-employees .employee-name {
  margin-left: 5px;
}

.mpa-booking-details .mpa-booking-details-section {
  margin-bottom: 1.5em;
  border: 1px solid #eeeeee;
  padding: 0.75em 0;
}
.mpa-booking-details .mpa-booking-details-section:last-child {
  margin-bottom: 0;
}
.mpa-booking-details .mpa-booking-details-section-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
.mpa-booking-details .mpa-booking-details-section-row .cell {
  box-sizing: border-box;
  width: 100%;
  padding: 0.25em 1em;
}
@media (min-width: 768px) {
  .mpa-booking-details .mpa-booking-details-section-row .cell {
    width: 50%;
  }
}
.mpa-booking-details .booking-reservations,
.mpa-booking-details .booking-payments {
  padding: 0;
}
.mpa-booking-details .reservation {
  border-bottom: 1px solid #eeeeee;
  padding: 0.75em 0;
  margin-bottom: 0;
}
.mpa-booking-details .reservation:last-child {
  border: 0;
}
.mpa-booking-details .reservation .reservation-calendar-links {
  display: flex;
  width: 100%;
}
.mpa-booking-details .reservation-title,
.mpa-booking-details .reservation-full-date {
  font-weight: 700;
}
.mpa-booking-details .mpa-reservation-capacity {
  display: block;
  font-weight: normal;
}
.mpa-booking-details .payment {
  border-bottom: 1px solid #eeeeee;
  padding: 0.75em 0;
}
.mpa-booking-details .payment:last-child {
  border: 0;
}

.mpa-booking-details-shortcode + .mpa-direct-link-booking-cancellation-link-shortcode {
  margin-top: 1.5em;
}

.mpa-account-menu {
  margin-bottom: 1.5em;
}
.mpa-account-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mpa-account-menu li {
  display: inline-block;
  padding: 0;
  margin: 0 0.5em 0 0;
}
.mpa-account-menu li:last-child {
  margin-right: 0;
}
.mpa-account-menu li::after, .mpa-account-menu li::before {
  display: none;
}

.mpa-account-bookings {
  table-layout: auto;
  font-size: 0.85em;
}
@media screen and (max-width: 767px) {
  .mpa-account-bookings thead {
    display: none;
  }
  .mpa-account-bookings tr {
    display: block;
  }
  .mpa-account-bookings td {
    display: flex;
  }
  .mpa-account-bookings td:before {
    content: attr(data-title) " ";
    width: 50%;
  }
}
.mpa-account-bookings .booking-number {
  justify-content: center;
  gap: 0.25em;
}
.mpa-account-bookings .booking-number:before {
  width: auto;
}
.mpa-account-bookings .booking-reservations {
  flex-direction: column;
}
.mpa-account-bookings .booking-reservations:before {
  display: none;
}
.mpa-account-bookings .booking-reservation {
  margin-bottom: 0.5em;
}
.mpa-account-bookings .booking-reservation:last-child {
  margin-bottom: 0;
}
.mpa-account-bookings .reservation-title {
  display: block;
}

.mpa-account-details .mpa-customer-details {
  border: 1px solid #eeeeee;
  padding: 0.75em 0;
}
.mpa-account-details .mpa-customer-details-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
.mpa-account-details .mpa-customer-details-row .cell {
  box-sizing: border-box;
  width: 100%;
  padding: 0.25em 1em;
}
@media (min-width: 768px) {
  .mpa-account-details .mpa-customer-details-row .cell {
    width: 50%;
  }
}

@media screen and (min-width: 992px) {
  .appointment-form-widget > .widget-body .mpa-booking-step-service-form {
    width: 100%;
  }
  .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-input-container {
    flex-wrap: wrap;
  }
  .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-date-wrapper {
    margin-bottom: 20px;
  }
  .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper {
    flex: 1 0 100%;
  }
  .appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-times {
    position: relative;
  }
}
.appointment-form-widget > .widget-body .mpa-booking-step-period .mpa-time-wrapper .mpa-times {
  max-height: 300px;
}

.mpa-stripe-payment-container {
  margin-bottom: 1em;
}
.mpa-stripe-payment-container .mpa-stripe-payment-methods > ul {
  cursor: pointer;
  margin: 0 0 0.5em 0;
  padding: 0;
  list-style: none;
}
.mpa-stripe-payment-container .mpa-stripe-payment-methods .mpa-stripe-payment-method {
  display: inline-block;
  margin: 0 1.5em 0 0;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.mpa-stripe-payment-container .mpa-stripe-payment-methods .mpa-stripe-payment-method:last-of-type {
  margin-right: 0;
}
.mpa-stripe-payment-container .mpa-stripe-payment-methods .mpa-stripe-payment-method.active label {
  box-shadow: 0 2px currentColor;
}
.mpa-stripe-payment-container .mpa-stripe-payment-methods .mpa-stripe-payment-method label {
  cursor: pointer;
}
.mpa-stripe-payment-container .mpa-stripe-payment-methods .mpa-stripe-payment-method input[type=radio] {
  display: none;
}
.mpa-stripe-payment-container .mpa-stripe-payment-fields fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
.mpa-stripe-payment-container .mpa-stripe-payment-fields .StripeElement {
  box-sizing: border-box;
  padding: 15px 12px;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: white;
  box-shadow: 0 1px 6px 0 #e6ebf1;
  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.mpa-stripe-payment-container .mpa-stripe-payment-fields .StripeElement--focus {
  box-shadow: 0 1px 3px 0 #cfd7df;
}
.mpa-stripe-payment-container .mpa-stripe-payment-fields .StripeElement--invalid {
  border-color: #fa755a;
}
.mpa-stripe-payment-container .mpa-stripe-payment-fields .StripeElement--webkit-autofill {
  background-color: #fefde5 !important;
}
.mpa-stripe-payment-container .mpa-stripe-payment-fields .mpa-stripe-payment-request-button-element.StripeElement {
  padding: 0;
}
.mpa-stripe-payment-container .mpa-stripe-payment-fields .mpa-stripe-payment-request-button-separator {
  text-transform: uppercase;
  text-align: center;
}
.mpa-stripe-payment-container .mpa-stripe-payment-fields .mpa-stripe-payment-request-button-separator:before, .mpa-stripe-payment-container .mpa-stripe-payment-fields .mpa-stripe-payment-request-button-separator:after {
  content: " - ";
}
.mpa-stripe-payment-container .mpa-errors {
  color: #e25950;
}

.mpa-paypal-error {
  margin: 5px 0;
  color: #e25950;
}