/*
  Custom CSS
  RiskBase SimplyBook styling
*/

/* =========================
   Base Media customisation
   ========================= */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

body, #sb-timeline #steps-nav li .content .title-small {
font-family: "IBM Plex Sans", "IBM Plex Sans Placeholder", sans-serif !important;
	letter-spacing: -0.015rem;
}
body {
	background: #2a222a !important;
}
b, strong {
	font-weight: 600;
}
#header .row {
	align-items: center;
}

#header .nav-wrapper #sb_menu .nav li {
	margin-bottom: 0;
	font-size: 18px;
}
#sb-timeline #steps #steps-content #sb_booking_content .timeline-sidebar .item, #main-buttons .wrapper .inner .bar {
padding: 0;
}
.has-error .checkbox, .has-error .checkbox-inline, .has-error.checkbox-inline label, .has-error.checkbox label, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.radio-inline label, .has-error.radio label {
	color: #E94362;
}
.current-booking-info .calendar .header {
	background: #25C9BA;
}
.current-booking-info .calendar .body {
	background: #E8E3DF;
	color: #2A222A;
}
.current-booking-info .calendar {
    box-shadow: 0 5px 0 #DAD2CA;
}
.current-booking-info .booking-btns .btn {
	border-radius: 999px;
	letter-spacing: .05rem;
	text-transform: uppercase !important;
	font-weight: 500;
}

.current-booking-info .booking-btns .btn.sb_cancel_btn {
	background: #000;
}
.current-booking-info .sb-book {
	background: #E94362 !important;
}
.current-booking-info .booking-btns .btn.sb_add_to_cal, .current-booking-info .booking-btns .btn.sb-reschedule {
	background: #25C9BA !important;
}
.current-booking-info .booking-btns .btn:hover {
	background: #000 !important;
	opacity: 1 !important;
}
.current-booking-info .booking-btns .btn.sb_cancel_btn:hover {
	opacity: .6 !important;
}
.current-booking-info .booking-btns {
	padding-bottom: 0;
}
.custom-form .has-error .file-upload__wrapper, .custom-form .has-error input:not([type=checkbox]), .custom-form .has-error select, .custom-form .has-error textarea {
	border-color: #E94362;
}
.accordion {
	border-radius: 10px;
}
#booking-result-view #booking-result-tabs .tabs-container .tab-link a {
	padding-bottom: 3px;
}
.current-booking-info .booking-info .booking-calendar {
	margin-left: 20px;
}
#sb_terms_and_conditions label {
	display: flex;
	gap: 8px;
	line-height: 1.3;
}
.custom-checkbox .custom-label {
	border-radius: 999px;
	border: none;
}
#header .row .col-xs-4 {
	padding-left: 20px;
	padding-right: 20px;
}
#header .nav-trigger {
	background: #E94362;
	border-radius: 999px;
}
#sb_google_translate .goog-te-combo:focus, .form-control:focus {
    border-color: #25C9BA !important;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(37, 201, 186, .6) !important;
}
.confirm-details {
	padding: 30px 20px 20px;
	background: #E8E3DF;
	border-radius: 10px;
}
.section-pd {
	padding-top: 40px;
	padding-bottom: 30px;
}
.reschedule--col.section {
	color: white;
	background: rgba(0,0,0,.3);
}
#sb-timeline #steps #sb_back_button {
	top: -60px;
	margin-left: 10px;
	padding: 0;
	border-radius: 999px;
	background: #E94362;
	background: #000;
	letter-spacing: .05rem;
	text-transform: uppercase;
	font-weight: 500;
	transition: .2s;
}
#sb-timeline #steps-nav li:after, #sb-timeline #steps-nav li:first-child.passed:after {
	background-image: url('data:image/svg+xml,<svg width="10" height="42" viewBox="0 0 10 42" fill="none" xmlns="http://www.w3.org/2000/svg"><path opacity="0.4" d="M10 21L2 42H0L8 21L0 0H2L10 21Z" fill="%232A222A"/></svg>');
}
#booking-result-view .back-to-services {
	margin-bottom: 20px;
	padding: 7px 13px 7px 30px !important;
	border-radius: 999px;
	background: #E94362;
	background: #000;
	letter-spacing: .05rem;
	text-transform: uppercase;
	font-weight: 500;
	transition: .2s;
	color: white !important;
}

#booking-result-view .back-to-services .fa {
	left: 13px;
	top: 6px;
}
.tab-pd {
	padding: 40px 30px 30px;
}
.reschedule--row .tab-pd {
	padding-top: 30px;
}
#sb-timeline #steps #sb_back_button:hover, #booking-result-view .back-to-services:hover {
	background: #000;
	opacity: 1 !important;
}
#sb-timeline #steps #sb_back_button:hover {
	opacity: .6 !important;
}
#booking-result-view .back-to-services:hover {
	opacity: .6 !important;
}
#sb-timeline #steps #sb_back_button a {
	color: #FFF !important;
	display: block;
	padding: 3px 13px;
}
#booking-result-view #sb_bookings_list>div .alert {
	margin-left: 10px;
	margin-right: 10px;
}
#sb-main-container .service-item .modal-dialog .tab-pd {
	padding-top: 10px;
}
#sb-main-container .service-item .modal-dialog .tab-pd {
	color: #2A222A;
}
.modal-dialog .modal-content .modal-header .modal-title {
	color: white !important;
}
#sb-main-container .service-item .modal-dialog .tab-pd .cap {
	color: #25C9BA;
	letter-spacing: .05rem;
	text-transform: uppercase;
	margin-bottom: 20px;
	font-weight: 500 !important;
	font-size: 20px;
}
.modal-dialog .modal-content {
	border-radius: 20px;
	box-shadow: none;
}
.modal-dialog .modal-content .modal-header {
	border-radius: 20px 20px 0 0;
}
.tab {
	color: white;
	background: #1D181D;
}
#booking-result-view .tab {
	border-radius: 20px;
	box-shadow: none;
	background: rgba(0,0,0,.3);
}
.tab.tab-col .excerpt-info .read-more:before {
	background: linear-gradient(90deg,hsla(0,0%,100%,0) 0,#1D181D 68%,#1D181D);
}
.tab.tab-col .excerpt-info .read-more {
	background: #1D181D;
	color: rgba(255,255,255,.6);
}
.tab, .section, .tab.tab-col .full-info, .tab_provider-col .full-info, .page-content--online-meeting .online-meeting {
border-radius: 20px;
box-shadow: none;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_dateview_container .top-date-select .calendar .weeks-date .day-off {
	background: white;
	display: block;
	opacity: 1 !important;
	color: rgba(42, 34, 42, .4);
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_timeview_container .timeline-wrapper #sb_time_slots_container .slot a {
	border-radius: 10px;
	transition: .2s;
	font-weight: 500;
}
.time-legend .available {
	display: flex;
	gap: 5px;
	align-items: center;
	border: 1px solid white;
	padding: 5px 10px;
	border-radius: 10px;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step .time-legend .circle {
	display: block;
}
.row-no-padding>[class*=col-] {
	padding-bottom: 5px;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_timeview_container .timeline-wrapper #sb_time_slots_container .slot a:hover {
	color: white;
}
.page--booking #main-buttons {
	display: none !important;
}
.is-holiday {
color: #E94362 !important;
}
a, a:hover {
color: #25C9BA;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_dateview_container .top-date-select .calendar .weeks-date .date.selected {
	background: #25C9BA !important;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_dateview_container .top-date-select .calendar .weeks-date .date.selected a {
	color: white !important;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_dateview_container .top-date-select .calendar .weeks-date .date {
	transition: .2s;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_dateview_container .top-date-select .calendar .weeks-date .date:not(.selected):hover {
	background: #E8E3DF !important;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_dateview_container .top-date-select .calendar .weeks-date .day-on {
	display: block;
	text-decoration: none !important;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step #sb_dateview_container .top-date-select .calendar .weeks-date .date.selected, .datepicker.datepicker-inline td, .datepicker.datepicker-inline td.active.single-day, .datepicker.dropdown-menu td, .datepicker.dropdown-menu td.active.single-day, .datepicker table tr td.active.highlighted.active, .datepicker table tr td.active.highlighted:active, .datepicker table tr td.active:active {
	border-radius: 999px !important;
}
#sb-main-container .service-item .cap.short, .current-booking-info .cap {
	color: #25C9BA;
	letter-spacing: .05rem;
	text-transform: uppercase;
	font-size: 22px;
	line-height: 1.1;
}
.confirm-details .current-booking-info .cap {
	color: #2A222A;
}
#sb-main-container .service-item .excerpt-info .cap.short {
	height: auto;
	margin-bottom: 15px;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step .container-caption {
	margin-bottom: 20px;
}
.service-item .bar-service .time:before {
	display: block;
	content: "";
	background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Capa_1" data-name="Capa 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><style> .cls-1 { fill: %23fbbb48; } </style></defs><path class="cls-1" d="M255.74,0C114.43,0,0,114.69,0,256s114.43,256,255.74,256,256.26-114.69,256.26-256S397.31,0,255.74,0ZM364.8,362.24l-134.4-80.64v-153.6h38.4v134.4l115.2,68.35-19.2,31.49Z"/></svg>');
  width: 20px;
  height: 20px;
}
#sb-main-container .service-item .bar-service .time, #sb-main-container .service-item .bar-service .time span {
	display: flex !important;
	gap: 8px;
}
.service-item .bar-service .time {
	letter-spacing: .05rem;
	text-transform: uppercase;
	font-weight: 500;
}
#main #main-buttons .btn.book, .btn.select, #sb-timeline #steps #steps-content #sb_booking_content .detail-step .right-side #sb_book_btn, .btn--next-available-date, .btn-danger, .btn-default, .modal-dialog .modal-content .modal-footer .btn {
background: #E94362 !important;
border-radius: 999px !important;
text-transform: uppercase;
letter-spacing: .1rem;
font-weight: 500;
	border: none;
	color: white;
}
#main #main-buttons .btn.book {
	
}

.subscribe-component--status-icon.status-reschedule_success, .subscribe-component--status-icon.status-paid, .subscribe-component--status-icon.status-success {
	color: #25C9BA !important;
}
.subscribe-component--modal-content {
	padding-top: 0 !important;
}
.page-content--online-meeting .online-meeting .title {
	font-size: 22px;
	margin-bottom: 20px;
}
#main #main-buttons .btn.book:hover, .btn.select:hover, #sb-timeline #steps #steps-content #sb_booking_content .detail-step .right-side #sb_book_btn:hover, .btn--next-available-date:hover, .btn-danger:hover, .btn-default:hover, .modal-dialog .modal-content .modal-footer .btn:hover {
background: #000 !important;
opacity: 1;
	color: white;
}
.btn {
    padding: 15px 20px;
}
.slots-view {
	background: #DAD2CA;
	border-radius: 20px;
}
#sb-timeline #steps-nav {
	background: #E8E3DF;
}
.title-main, #sb-timeline #steps-nav li {
letter-spacing: .05rem;
text-transform: uppercase;
}
.title-main {
	padding-bottom: 30px;
}
#sb-timeline #steps-nav li, #sb-timeline #steps-nav li .content .title-small {
	font-weight: 500;
}
#sb-timeline #steps-nav li .content .title-small {
	font-size: 20px;
}
#sb-timeline #steps-nav li.passed .content .title-small, #sb-timeline #steps-nav li.passed+li:not(.passed) .content .title-small, #sb-timeline #steps-nav li:first-child .title-sub, #sb-timeline #steps-nav li.passed .title-sub, #sb-timeline #steps-nav li.passed + li:not(.passed) .title-sub, 
#sb-timeline #steps-nav li:first-child .title-small {
font-weight: 500;
	color: white !important;
}
#sb-timeline #steps-nav li .content .title-sub {
	margin-top: 0;
}
#sb-timeline #steps-nav, #booking-result-view #booking-result-tabs, #header {
box-shadow: none;
}
#sb-timeline #steps-nav li:first-child:after, #sb-timeline #steps-nav li.passed + li:not(.passed):after {
    background-color: #E8E3DF;
    border-top-color: #E8E3DF !important;
    border-bottom-color: #E8E3DF !important;
}
.alert {
background: #E8E3DF;
color: #2A222A;
border-radius: 10px;
	padding: 20px;
	text-align: center;
}
.alert-success {
	background: #25C9BA !important;
	color: white !important;
}
#sb-timeline #steps #steps-content #sb_booking_content .datetime-step .header .txt-center {
	letter-spacing: .05rem;
	text-transform: uppercase;
	font-size: 20px;
}

.row:after, .row:before, .container-fluid:after, .container-fluid:before {
	display: block;
	height: 0;
}
#steps-content .container-fluid {
	padding-left: 20px;
	padding-right: 20px;
}

#content-view {
	padding-left: 10px;
	padding-right: 10px;
}
#sb_google_translate .custom-form select.goog-te-combo, .custom-form #sb_google_translate select.goog-te-combo, .custom-form input:not([type=checkbox]), .custom-form select.form-control, .custom-form select, .custom-form textarea {
	border-radius: 10px !important;
}


@media (max-width: 1024px) {
	
	
    #header .nav-wrapper.active {
        padding: 20px 0;
		border-radius: 20px;
    }
	#header .nav-wrapper {
		margin: 100px auto;
	}
	#header .nav-wrapper #sb_menu .nav {
		overflow: hidden;
		max-height: 100%;
	}
	#header .nav-wrapper #sb_menu .nav li {
		padding: 10px 20px;
	}
	
}

@media (max-width: 767px) {
    #sb-timeline #steps-nav {
        margin-bottom: 85px;
    }
}



/* =========================
   Header / logo
   ========================= */

#sb-main #header,
#main #header {
  max-height: 60px !important;
  overflow: hidden !important;
}

#sb-main #header img,
#main #header img {
  max-height: 60px !important;
  width: auto !important;
}


/* =========================
   Main banner section
   ========================= */



#sb-main-container section#main-buttons,
section#main-buttons {
  position: relative !important;

  height: 180px !important;
  min-height: 180px !important;
  max-height: 180px !important;

  background-size: cover !important;
  background-position: center 35% !important;

  overflow: hidden !important;

  display: flex;
  align-items: center !important;
  justify-content: center !important;
}

/* White overlay to make banner image less prominent */
#sb-main-container section#main-buttons::before,
section#main-buttons::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(255, 255, 255, 0.72);
	background: #E8E3DF;
  z-index: 1 !important;
	opacity: .4;
  pointer-events: none !important;
}

/* Make the inner containers fill the shortened banner */
#sb-main-container section#main-buttons .container-fluid,
#sb-main-container section#main-buttons .wrapper,
#sb-main-container section#main-buttons .inner,
section#main-buttons .container-fluid,
section#main-buttons .wrapper,
section#main-buttons .inner {
  height: 100% !important;
  min-height: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Centre the Book Now row */
#sb-main-container section#main-buttons .bar,
section#main-buttons .bar {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Centre the Book Now button itself */
#sb-main-container section#main-buttons .btn.book.btn-with-icon.custom,
section#main-buttons .btn.book.btn-with-icon.custom {
  float: none !important;
  margin: 0 auto !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  z-index: 3 !important;
}

/* Hide the RiskBase text inside the banner */
#sb-main-container section#main-buttons .company-name,
section#main-buttons .company-name {
  display: none !important;
}


/* =========================
   Services/cards
   Restore Read more and align duration + Select buttons
   ========================= */

/* Let SimplyBook show Read more where it has generated one */
#sb-main-container .service-item .txt.short .read-more,
#sb-main-container .tab.tab-with-popup .txt.short .read-more {
  display: inline-block !important;
  margin-top: 8px !important;
  cursor: pointer !important;
	letter-spacing: .05rem;
	text-transform: uppercase;
	font-size: 12px;
	line-height: 23px;
	font-weight: 500;
	margin-bottom: -1px;
}

/* Restore clipped/preview description behaviour */
#sb-main-container .service-item .txt.short,
#sb-main-container .tab.tab-with-popup .txt.short {
  overflow: hidden !important;
  white-space: normal !important;
}

/* Keep paragraph tidy inside the preview */
#sb-main-container .service-item .txt.short p,
#sb-main-container .tab.tab-with-popup .txt.short p {
  margin-bottom: 0 !important;
  white-space: normal !important;
}

/* Make the outer service card stretch vertically */
#sb-main-container .service-item,
#sb-main-container .service-item.item.-v1,
#sb-main-container .service-item .tab,
#sb-main-container .service-item .excerpt-info {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Main card body */
#sb-main-container .service-item .tab-pd {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;

  height: auto !important;
  min-height: 300px !important;
  max-height: none !important;

  overflow: visible !important;
}

/* Content area above the Select button */
#sb-main-container .service-item .content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  overflow: visible !important;
}

/* Title stays at the top */
#sb-main-container .service-item .cap.short {
  flex: 0 0 auto !important;
}

/* Description preview stays under title */
#sb-main-container .service-item .txt.short {
  flex: 0 0 auto !important;
}

/* Push duration to aligned position */
#sb-main-container .service-item .bar-service {
  margin-top: auto !important;
  padding-top: 20px !important;
  flex: 0 0 auto !important;
}

/* Keep duration text aligned */
#sb-main-container .service-item .bar-service .time,
#sb-main-container .service-item .bar-service .time span {
  display: block;
  text-align: center !important;
}

/* Keep Select button below duration */
#sb-main-container .service-item .btn-bar {
  margin-top: 18px !important;
  padding-top: 0 !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  width: 100% !important;
  text-align: center !important;
  flex: 0 0 auto !important;
}

/* Centre Select button */
#sb-main-container .service-item .btn.select.custom {
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

#sb-main-container .service-item .btn.select.custom a {
  display: inline-block !important;
  text-align: center !important;
}


/* =========================
   Hide promotional/marketing consent label
   ========================= */

#sb-main-container #main #sb-timeline #steps #details .detail-step-wrap .detail-step .license-links-container .promotions-letter-flag label[role="button"] {
  display: none !important;
}


/* =========================
   Hide company booking time
   ========================= */

div#sb_booking_company_time {
  display: none !important;
}


/* =========================
   Booking calendar / form styling
   ========================= */

div.ui-widget-content {
  font-family: "Times New Roman", Times, serif !important;
}


/* =========================
   Date form selector fix
   ========================= */

#start_date-block-container .zend_form dt,
#start_date-block-container .zend_form dt b,
#start_date-block-container .zend_form dd label {
  /* Add rules here if needed */
}