/*
    Tuition session finder 
*/
.dwm-tuition-session-finder {
  background: #D4DCEE;
  padding: 60px 0;
  width: 100%;
}
.dwm-tuition-session-finder .inner {
  margin: 0 auto;
  max-width: 1200px;
}
.dwm-tuition-session-finder .dwm-tuition-session-finder-form {
  background: #00ADE5;
  padding: 30px;
  border-radius: 8px;
  display: flex;
  align-items: flex-end;
}
.dwm-tuition-session-finder .dwm-tuition-session-finder-form label {
  flex: 1;
  margin-right: 30px;
  text-transform: uppercase;
  font-weight: bold;
  color: #fff;
}
.dwm-tuition-session-finder .dwm-tuition-session-finder-form label input {
  margin-top: 10px;
  border-radius: 4px;
  padding: 15px;
  font-size: 16px;
  border: 0;
}
.dwm-tuition-session-finder .dwm-tuition-session-finder-form button {
  background: #1A326B;
  padding: 15px;
  color: #fff;
  font-weight: bold;
  border: 0;
  font-size: 16px;
  line-height: 26px;
  cursor: pointer;
  border-radius: 4px;
}
.dwm-tuition-session-finder .dwm-tuition-session-finder-form button:hover, .dwm-tuition-session-finder .dwm-tuition-session-finder-form button:focus {
  background: #fff;
  color: #1A326B;
}

@media screen and (max-width: 1024px) {
  .dwm-tuition-session-finder .inner {
    margin: 0 40px;
  }
  .dwm-tuition-session-finder .dwm-tuition-session-finder-form {
    display: block;
  }
  .dwm-tuition-session-finder .dwm-tuition-session-finder-form label {
    display: block;
    margin: 0 0 15px 0;
  }
}
/*
    Tuition session finder results
*/
.dwm-tuition-session-finder-results {
  background: #fff;
  padding: 60px 0;
  width: 100%;
}
.dwm-tuition-session-finder-results .inner {
  margin: 0 auto;
  max-width: 1200px;
}
.dwm-tuition-session-finder-results .tuition-session-finder-result-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 30px;
  align-items: center;
  margin-bottom: 30px;
}
.dwm-tuition-session-finder-results .tuition-session-finder-result-row .result-detail .product-info {
  margin-bottom: 30px;
}
.dwm-tuition-session-finder-results .tuition-session-finder-result-row .result-detail .product-info a {
  color: #00ADE5;
  font-weight: bold;
}
.dwm-tuition-session-finder-results .tuition-session-finder-result-row .result-detail .sessions .session {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
.dwm-tuition-session-finder-results .tuition-session-finder-result-row .result-detail .sessions .session .session-detail {
  flex: 1;
  margin-right: 15px;
}
.dwm-tuition-session-finder-results .tuition-session-finder-result-row .result-detail .sessions .session .session-detail .session-date {
  font-weight: bold;
}
.dwm-tuition-session-finder-results .tuition-session-finder-result-row .result-detail .sessions .session .select-spaces {
  background: #00ADE5;
  color: #fff;
  padding: 10px 15px;
  border-radius: 4px;
  border: 0;
  font-weight: bold;
  font-size: 14px;
  text-transform: uppercase;
}
.dwm-tuition-session-finder-results .tuition-session-finder-result-row .result-detail .sessions .session .select-spaces:hover, .dwm-tuition-session-finder-results .tuition-session-finder-result-row .result-detail .sessions .session .select-spaces:focus {
  background: #2D395B;
}

@media screen and (max-width: 1024px) {
  .dwm-tuition-session-finder-results .inner {
    margin: 0 40px;
  }
  .dwm-tuition-session-finder-results .tuition-session-finder-result-row {
    grid-template-columns: 1fr;
  }
}
/*
    Form Notifications
*/
.dwm-form-notification {
  background: rgba(105, 195, 52, 0.1);
  color: #4CAF50;
  padding: 30px;
}
.dwm-form-notification.error {
  background: rgba(195, 49, 73, 0.1);
  color: #c33149;
}
.dwm-form-notification h4 {
  margin: 0 0 10px 0 !important;
}
.dwm-form-notification p {
  margin: 0 !important;
}

span.required {
  color: red;
}

/*
    Bookable Product Form
*/
.dwm_bookable_form .dwm_bookable_form_layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 30px;
  margin: 30px 0;
}
.dwm_bookable_form .dwm_bookable_form_layout.disable_nodate {
  display: none;
}

/*
    Buttons
*/
.dwm-button {
  background: #69C334 !important;
  background-color: #69C334 !important;
  color: #fff !important;
  border: 0 !important;
  padding: 10px;
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  text-transform: uppercase;
  border-radius: 3px;
}
.dwm-button.block {
  text-align: center;
  display: block;
}
.dwm-button:hover, .dwm-button:focus {
  background-color: rgb(72.479757085, 134.6052631579, 35.8947368421) !important;
}
.dwm-button.grey {
  background-color: #777 !important;
}
.dwm-button.grey:hover, .dwm-button.grey:focus {
  background-color: rgb(80.75, 80.75, 80.75) !important;
}
.dwm-button.blue {
  background-color: #2D395B !important;
}
.dwm-button.blue:hover, .dwm-button.blue:focus {
  background-color: rgb(19.6875, 24.9375, 39.8125) !important;
}
.dwm-button.lightblue {
  background-color: #00ADE5 !important;
}
.dwm-button.lightblue:hover, .dwm-button.lightblue:focus {
  background-color: rgb(0, 115.2074235808, 152.5) !important;
}
.dwm-button[disabled=true] {
  background: #555 !important;
  color: #fff !important;
  cursor: default !important;
}
.dwm-button[disabled=true]:hover, .dwm-button[disabled=true]:focus {
  background: #555 !important;
}

/*
    Frontend check availability form 
*/
.dwm_booking_availability {
  border: 1px solid rgb(165, 165, 165);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.01);
  border-radius: 5px;
}
.dwm_booking_availability .dwm_booking_availability_form {
  display: flex;
  align-items: flex-end;
  padding: 30px;
}
.dwm_booking_availability .dwm_booking_availability_form .dwm_booking_date {
  display: block;
  flex: 1;
  padding-right: 15px;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14px;
}
.dwm_booking_availability .dwm_booking_availability_form .dwm_booking_date input {
  margin-top: 10px;
}

/*
    Results- no date selected
*/
.dwm_booking_no_date {
  background-color: #ddd;
  padding: 15px;
  font-size: 18px;
  margin: 30px 0;
}
.dwm_booking_no_date p {
  margin: 0;
}

/*
    Frontend check availability results
*/
.dwm_booking_availability_results_error {
  display: none;
  border-radius: 5px;
  background: #c33149;
  padding: 15px;
  color: #fff;
  font-size: 18px;
  margin: 15px 0;
}
.dwm_booking_availability_results_error.active {
  display: block;
}

.dwm_booking_availability_results {
  padding: 30px 0;
  display: grid;
  grid-template-rows: 1fr;
  grid-gap: 30px;
}
.dwm_booking_availability_results .dwm_booking_availability_results_item {
  display: grid;
  grid-template-columns: 1fr 4fr 2fr;
  grid-gap: 30px;
  align-items: center;
}
.dwm_booking_availability_results .dwm_booking_availability_results_item .booking_actions {
  text-align: center;
}
.dwm_booking_availability_results .dwm_booking_availability_results_template {
  display: none;
}
.dwm_booking_availability_results .booking_slots .slot {
  display: inline-block;
  margin: 0 4px 4px 0;
  padding: 5px;
  background: #eee;
  font-size: 14px;
}
.dwm_booking_availability_results .booking_price {
  display: block;
  text-align: center;
  padding: 10px;
}
.dwm_booking_availability_results.hidden {
  display: none;
}

/*
    jQuery UI datepicker re-theme
*/
.ui-datepicker-inline {
  display: block;
  width: 100%;
  margin-bottom: 30px 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
}
.ui-datepicker-inline .ui-datepicker-header {
  padding: 10px;
  border: 0px !important;
  border-radius: 0 !important;
  background: #2D395B;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev {
  order: 0;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-title {
  order: 1;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next {
  order: 2;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-title {
  width: auto;
  margin: 0;
  padding: 0;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev:before,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next:before {
  display: block;
  font-family: "Font Awesome 5 Free", "Font Awesome 6";
  font-weight: bold !important;
  cursor: pointer;
  color: #fff;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev:before {
  content: "\f053";
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next:before {
  content: "\f054";
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev-hover,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next-hover {
  position: static;
  width: auto;
  height: auto;
  background: transparent !important;
  border: 0 !important;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev:hover,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next:hover,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev-hover:hover,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next-hover:hover {
  color: #c33149;
}
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev span,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next span,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-prev-hover span,
.ui-datepicker-inline .ui-datepicker-header .ui-datepicker-next-hover span {
  display: none;
  position: static;
  margin: 0;
  background: transparent !important;
}
.ui-datepicker-inline .ui-datepicker-header.ui-helper-clearfix:before, .ui-datepicker-inline .ui-datepicker-header.ui-helper-clearfix:after {
  content: "";
  display: none !important;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody tr td {
  padding: 0;
  text-align: center;
  border: 0 !important;
  font-size: 16px;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody tr td .ui-state-default {
  padding: 10px 15px;
  border: 0 !important;
  background: #4CAF50;
  color: #fff;
  text-align: center;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody tr td.booked .ui-state-default {
  background: #c33149 !important;
  color: #fff;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable {
  opacity: 1;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable .ui-state-default {
  background: #555;
  color: #fff;
}
.ui-datepicker-inline .ui-datepicker-calendar tbody tr td.ui-datepicker-current-day .ui-state-default {
  background: #33CCCC;
  color: #fff;
}

/*
    Frontend overall booking form 
*/
.dwm_booking_overall .booking_results .booking_result.no_results .booking_info .booking_slot_selection {
  display: none;
}
.dwm_booking_overall .booking_results .booking_result.no_results .booking_info .timeslot {
  background-color: rgba(255, 0, 0, 0.5019607843);
  pointer-events: none;
}
.dwm_booking_overall .booking_results .booking_result.no_results .booking_info .timeslot select {
  pointer-events: none;
}
.dwm_booking_overall .overall_booking_form {
  display: flex;
  padding: 30px;
  border-radius: 5px;
  color: #fff;
  align-items: flex-end;
}
.dwm_booking_overall .overall_booking_form label {
  flex: 1;
  margin-right: 15px;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 1;
}
.dwm_booking_overall .overall_booking_form label input,
.dwm_booking_overall .overall_booking_form label select {
  width: 100%;
  margin-top: 5px;
  border-radius: 4px;
  border: 0px;
  min-height: 48px;
}
.dwm_booking_overall .overall_booking_form button {
  padding: 13px;
  cursor: pointer;
  border-radius: 4px;
}
.dwm_booking_overall .booking_results {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 1rem;
  grid-row-gap: 2rem;
}
.dwm_booking_overall .booking_results .booking_result.no_results {
  justify-content: flex-start;
}
.dwm_booking_overall .booking_results .booking_result {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #2A628F;
  color: white;
  padding: 1rem;
  justify-content: space-between;
}
.dwm_booking_overall .booking_results .booking_result .slider img {
  height: 100%;
  object-fit: cover;
}
.dwm_booking_overall .booking_results .booking_result.booking_result_template {
  display: none;
}
.dwm_booking_overall .booking_results .booking_result .booking_info h3 {
  color: white;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_short_description.hidden {
  display: none;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .product_description {
  margin-bottom: 15px;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .faq .faq-title {
  background-color: #f1f1f1;
  border-bottom: 1px solid #ddd;
  color: #2D395B;
  font-weight: normal;
  padding: 10px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .faq .faq-content {
  display: none;
  padding: 10px;
  background: #fff;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .faq.open .faq-content {
  display: block;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .more-info {
  color: #00ADE5;
  font-weight: bold;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_more_info {
  display: none;
  margin-bottom: 1rem;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_more_info.active {
  display: block;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_more_info .booking_more_info_window .more_info_header {
  text-align: right;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_more_info .booking_more_info_window .more_info_header .booking-more-info-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  font-size: 16px;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_more_info .booking_more_info_window .more_info_header .booking-more-info-close:hover, .dwm_booking_overall .booking_results .booking_result .booking_info .booking_more_info .booking_more_info_window .more_info_header .booking-more-info-close:focus {
  background: #00ADE5;
  color: #fff;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slot_selection {
  display: grid;
  grid-gap: 15px;
  grid-template-columns: 1fr;
  margin-bottom: 15px;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slot_selection .slot_disclaimer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px;
  margin-top: 1rem;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slot_selection.hidden {
  display: none;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slot_selection .timeslot select {
  width: 100%;
  display: block;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slot_selection .persons_craft {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slot_selection .persons_craft select {
  display: block;
  width: 100%;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slot_selection .persons_craft_explainer {
  background: rgb(178, 236.1703056769, 255);
  color: #2D395B;
  padding: 10px;
  font-size: 14px;
  margin: 10px 0;
  display: none;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slot_selection .persons_craft_explainer p {
  margin: 0;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slot_selection .persons_craft_explainer.active {
  display: block;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slots {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px 30px;
  margin: 15px 0;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slots .slot_template {
  display: none;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slots .slot-info {
  display: flex;
  align-items: center;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slots .slot-info .slot_details {
  margin-right: 15px;
  flex: 1;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slots .slot-info .slot_details p {
  margin: 0;
  font-size: 14px;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking_slots .slot-info select {
  max-width: 80px;
}
.dwm_booking_overall .booking_results .booking_result .booking_info .booking-add-to-basket {
  display: block;
  text-align: center;
}

@media screen and (max-width: 900px) {
  .dwm_booking_overall .overall_booking_form {
    display: grid;
    grid-gap: 16px;
    grid-template-columns: 1fr;
  }
  .dwm_booking_overall .overall_booking_form label {
    margin: 0;
  }
  .dwm_booking_overall .booking_results {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 1rem;
    grid-row-gap: 2rem;
  }
  .dwm_booking_overall .booking_result {
    display: block !important;
  }
  .dwm_booking_overall .booking_result.booking_result_template {
    display: none !important;
  }
  .dwm_booking_overall .booking_result .slider {
    margin-bottom: 30px;
  }
}
/*
    dwm_booking_confirm_actions
*/
.dwm_booking_confirm {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
}
.dwm_booking_confirm.active {
  display: flex;
}
.dwm_booking_confirm .dwm_booking_confirm_actions {
  background: #fff;
  border-radius: 5px;
  padding: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  border: 1px solid #ccc;
  text-align: center;
  max-width: 400px;
}
.dwm_booking_confirm .dwm_booking_confirm_actions h3 {
  color: #2D395B;
}
.dwm_booking_confirm .dwm_booking_confirm_actions p {
  color: #777;
}
.dwm_booking_confirm .dwm_booking_confirm_actions .buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px;
}
.dwm_booking_confirm .dwm_booking_confirm_actions .buttons a {
  display: block;
  text-align: center;
  padding: 10px 15px;
  background: #555;
  font-weight: bold;
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
}
.dwm_booking_confirm .dwm_booking_confirm_actions .buttons a:hover, .dwm_booking_confirm .dwm_booking_confirm_actions .buttons a:focus {
  background: #888;
}
.dwm_booking_confirm .dwm_booking_confirm_actions .buttons a.button-basket {
  background: #00ADE5;
}
.dwm_booking_confirm .dwm_booking_confirm_actions .buttons a.button-basket:hover, .dwm_booking_confirm .dwm_booking_confirm_actions .buttons a.button-basket:focus {
  background: rgb(25, 198.7554585153, 255);
}

.dwm_cart_meta p {
  margin: 0 !important;
  color: #777;
  font-size: 14px;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details .wc-item-meta {
  display: none;
}

.woocommerce-cart-form .product-quantity,
.shop_table.woocommerce-checkout-review-order-table .product-quantity,
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details .product-quantity {
  display: none;
}

.dwm_tuition_form .tuition_meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 30px;
}
.dwm_tuition_form .tuition_meta label {
  display: block;
}
.dwm_tuition_form .tuition_meta label input,
.dwm_tuition_form .tuition_meta label select {
  width: 100%;
}

.dwm_tuition_request_form .customer-details,
.dwm_tuition_request_form .session-details {
  background: #f1f1f1;
  padding: 30px;
  margin: 30px 0;
}
.dwm_tuition_request_form .session_time,
.dwm_tuition_request_form .customer_comments,
.dwm_tuition_request_form select {
  display: block;
  max-width: 100%;
  width: 100%;
}

.dwm_grid {
  display: grid;
  grid-gap: 30px;
  margin: 30px 0;
}
.dwm_grid.grid_2_col {
  grid-template-columns: 1fr 1fr;
}
.dwm_grid.grid_3_col {
  grid-template-columns: 1fr 1fr 1fr;
}
.dwm_grid.grid_4_col {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.stock.in-stock {
  background: #a0ce4e;
  color: white;
  font-size: 12px;
  font-weight: bolder;
  text-transform: uppercase;
  width: 80px;
  text-align: center;
  padding: 3px;
}

.booking-result {
  display: flex;
  flex-basis: 33.33%;
  flex-direction: column;
  background: pink;
  padding: 16px;
}

.booking-results {
  display: flex;
  flex-wrap: wrap;
}

.booking-result {
  display: flex;
  flex-basis: 33.33%;
  flex-direction: column;
  background: pink;
  padding: 16px;
}

.booking-results {
  display: flex;
  flex-wrap: wrap;
}

/*# sourceMappingURL=dwm-frontend.css.map */
