: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=1.15.2"), 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%; }

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

.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-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%; }
  @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 .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(100% / 3 - 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-cart .mpa-cart .mpa-cart-item-template, .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .mpa-cart-item-template {
    display: none; }
  .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .mpa-cart-item, .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .mpa-cart-item {
    margin-bottom: 40px;
    border: 1px solid #eee; }
    .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .mpa-cart-item > *, .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .mpa-cart-item > * {
      width: 50%; }
      .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .mpa-cart-item > *:last-child, .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .mpa-cart-item > *:last-child {
        margin-bottom: 0; }
  .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .cell, .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .cell {
    padding: 5px 25px;
    width: 100%; }
    @media (min-width: 992px) {
      .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .cell, .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .cell {
        width: 50%; } }
  .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .cell-title, .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .cell-title {
    font-weight: 700;
    margin-bottom: 0; }
  .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .item-header, .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .item-header,
  .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .item-body,
  .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .item-body,
  .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .item-footer,
  .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .item-footer {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 20px 0; }
  .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .item-header, .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .item-header {
    border-bottom: 1px solid #eee;
    font-weight: 700; }
  
  .appointment-form-shortcode .mpa-booking-step-cart .mpa-cart .item-footer,
  .appointment-form-widget > .widget-body .mpa-booking-step-cart .mpa-cart .item-footer {
    border-top: 1px solid #eee; }
  .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-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-booking, .appointment-form-widget > .widget-body .mpa-booking-step-booking {
    flex-grow: 2; }

.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-direct-link-booking-details-shortcode .mpa-booking-details-section {
  margin-bottom: 1.5em; }

.mpa-direct-link-booking-details-shortcode .booking-reservations .reservation-details > * {
  display: inline-block;
  margin: 0 1.5em 1em 0;
  padding: 0 1.5em 0 0;
  border-right: 1px dashed #d3ced2; }
  .mpa-direct-link-booking-details-shortcode .booking-reservations .reservation-details > *:last-child {
    border: 0;
    margin-right: 0; }

.mpa-direct-link-booking-details-shortcode .booking-reservations .label {
  display: none; }

@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: initial; }
    .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-errors {
    color: #e25950; }

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

