/*
Theme Name: SBC Lodge 2024
Theme URI: 
Author: Peter Hardy-vanDoorn
Author URI: https://www.fabulosawebdesign.co.uk
Description: Custom FSE theme for sbclodge.com
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 5.7
Version: 0.4.5
License: None. This is copyrighted proprietary work.
License URI: N/A
Text Domain: sbc-lodge-2024
Tags: 
*/

/* Global */

:root {
	--header-height: 156.42px;
	--footer-height: 600px;
	--double-block-gap: calc( 2 * var( --wp--style--block-gap ) );
	--half-block-gap: calc( var( --wp--style--block-gap ) / 2 );
	--field-padding: 10px;
}

*, *:after, *:before { 
	box-sizing:border-box; 
	font-smoothing:antialiased; 
	text-rendering:optimizeLegibility; 
	-webkit-text-size-adjust: none; 
}

body {
	overflow-x: hidden; 
	font-variant-numeric: proportional-nums lining-nums;
	font-variant-ligatures: common-ligatures;
}

@media ( max-width: 1088px ) {
	body {
		--wp--style--global--content-size: calc( 100vw - var( --wp--style--root--padding-right ) - var( --wp--style--root--padding-left ) ) !important;
	}
}

:focus-visible {
	outline: 0px;
}

.wp-site-blocks table {
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
}

.wp-site-blocks th, .wp-site-blocks td {
	border: 1px solid var( --wp--preset--color--sbc-light-purple );
	text-align: left;
	padding: var( --field-padding );
}

.wp-site-blocks th {
	font-weight: 600;
	background-color: var( --wp--preset--color--sbc-light-purple );
}

.fancybox-custom-caption {
	display: none;
}

img.fancybox-image {
	vertical-align: top;
}

/************************/
/* Gutenberg Over-rides */
/************************/

.wp-site-blocks {
	overflow-x: hidden;
}

.wp-block-image img[src$="svg"] {
	width: 100%;
}

.wp-block-media-text {
	gap: var( --wp--style--block-gap );
}

.wp-block-media-text.no-gap {
	gap: 0;
}

.wp-block-media-text .wp-block-media-text__content {
	padding: 0;
}

.wp-block-media-text.has-background .wp-block-media-text__content {
	padding: 0 var( --wp--style--block-gap );
}

.wp-block-media-text.no-gap .wp-block-media-text__content {
	padding: var( --wp--style--block-gap );
}

.editor-styles-wrapper .wp-block-site-logo img {
	width: 100%;
}

.wp-block-cover.multiply-overlay .wp-block-cover__background, 
.wp-block-cover.multiply-overlay .wp-block-cover__gradient-background, 
.wp-block-cover-image.multiply-overlay .wp-block-cover__background, 
.wp-block-cover-image.multiply-overlay .wp-block-cover__gradient-background, 
.wp-block-cover-image.multiply-overlay.has-background-dim:not( .has-background-gradient ):before, 
.wp-block-cover.multiply-overlay.has-background-dim:not( .has-background-gradient ):before {
    mix-blend-mode: multiply;
}

.wp-element-caption {
    margin: var( --wp--preset--spacing--10 ) var( --wp--preset--spacing--10 ) 0;
    font-size: var( --wp--preset--font-size--small );
}

/*********************/
/* Plugin Over-rides */
/*********************/

body.page-loaded #fancybox-prev {
	left: -50px;
}

body.page-loaded #fancybox-next {
	right: -50px;
}

body.page-loaded #fancybox-prev:hover span, 
body.page-loaded #fancybox-next:hover span, 
body.page-loaded #fancybox-close:hover span {
	transform: unset;
}

body.page-loaded #fancybox-close {
	top: -24px;
	left: -24px;
	right: auto;
}

/********/
/* Menu */
/********/

.wp-block-navigation__responsive-container,
.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
	left: 0%;
	background-color: var( --wp--preset--color--sbc-dark-purple ) !important;
	background-image: url(/assets/forest-background-for-menu.jpg);
	background-size: cover;
	bottom: unset;
	color: white;
	animation: overlay-menu__animation .5s ease-out !important;
	padding: calc( var( --header-height ) - 70px ) 58px;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 100px;
}

.wp-block-navigation__responsive-dialog {
    max-width: var( --wp--style--global--content-size );
    margin: 0 auto;

}

@media ( max-width: 744px ) {
	.wp-block-navigation__responsive-container {
		bottom: 0;
	}
}

@media ( max-width: 1088px ) {
	.wp-block-navigation__responsive-container,
	.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
		padding-right: var(--wp--style--root--padding-right);
		padding-left: var(--wp--style--root--padding-left);
	}
}

@keyframes overlay-menu__animation {
	0% {
		opacity: 0;
		-webkit-transform:translateY(-100%);
		transform:translateY(-100%);
	}

	to {
		opacity: 1;
		-webkit-transform:translateY(0);
		transform:translateY(0);
	}
}

nav.main-navigation button {
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
}

/*************/
/* Structure */
/*************/

main.page-content {
	padding-top: calc( var( --header-height ) + var( --wp--preset--spacing--50 ) );
}


.page-template-info-page main.page-content,
body.blog main.page-content { 
	padding-top: 0;
}

.page-template-info-page main.page-content > .entry-content > :first-child {
	padding-top: var( --header-height );
}

/* Header */

.site-header {
	transition: all .5s ease;
	z-index: 10;
	position: fixed;
	inset: 0 0 auto;
}

.site-logo-container {
	z-index: 100001;
}

.wp-block-site-logo svg.replaced-svg {
	width: 291px;
}

.scrolled .site-header {
	background-color: var( --wp--preset--color--sbc-dark-purple ) !important;
}

.editor-styles-wrapper .wp-block-site-logo img {
	width: 100%;
}

/* Footer */

footer.wp-block-template-part {
	margin: 0;
	overflow-y: hidden;
}

.footer-navigation .wp-block-navigation-item a .wp-block-navigation-item__label {
	display: block;
	margin-left: 10px;
	padding-left: 10px;
	border-left: 1px solid;
}


@media ( max-width: 600px ) {

	.footer-navigation.is-layout-flex {
		display: block;
		margin-top: 30px;
	}
	
	.footer-navigation ul.wp-block-navigation {
		justify-content: center;
	}
	
	.footer-navigation .wp-block-navigation .wp-block-navigation-item__content {
		padding: 0 0 10px !important;
		display: inline-block !important;
	}
	
	.footer-navigation .copyright {
		margin-bottom: 10px;
		text-align: center;
	}
	
	.footer-navigation .wp-block-navigation-item a .wp-block-navigation-item__label {
		margin-left: 0 !important;
		padding-right: 10px;
	}

	.footer-navigation .wp-block-navigation .wp-block-navigation-item:first-child .wp-block-navigation-item__label {
		padding-left: 0;
		border: none;
	}
	
}

/* 404 */

.error404 .site-header {
	position: static;
}

.error404 main.page-content {
	min-height: calc( 100vh - var( --header-height ) - var( --footer-height ) ); 
}


/*********/
/* Forms */
/*********/

input[type=text], input[type=email], input[type=url], input[type=password], input[type=search], input[type=number], input[type=tel], input[type=range], input[type=date], input[type=month], input[type=week], input[type=time], input[type=datetime], input[type=datetime-local], input[type=color], textarea, select {
	padding: var( --field-padding );
	font-size: inherit;
	font-family: inherit;
	line-height: inherit;
	border: none;
	border-radius: 0;
	display: block;
	width: 100%;
	background: white;
}

.wp-site-blocks select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: inherit;
	font-family: inherit;
	line-height: inherit;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='12' viewBox='0 0 9 12'%3E%3Cpolygon points='0 12 9 6 0 0 0 12' style='fill: %239c8b96;'/%3E%3C/svg%3E%0A");
	background-repeat: no-repeat;
	background-position: right 10px top calc( 50% );
}

label {
	margin-bottom: 10px;
	padding: 0 var( --field-padding );
	display: block;
	letter-spacing: .02em;
}

label.mphb-checkbox-label,
label.mphb-radio-label,
.mphb-terms-and-conditions-accept label {
	padding: 0;
}

input[type=checkbox], input[type=radio] {
	display: inline-block;
	margin:3px 5px 0 0
}

input[type=checkbox] + label, input[type=radio] + label {
	display:inline
}

textarea {
	resize: vertical;
}

div[ class*="mphb_" ] .mphb_sc_search-submit-button-wrapper input.button,
div[ class*="mphb_" ] button,
input[ type="submit" ],
button[ type="submit" ] {
	background-color: var( --wp--preset--color--sbc-bright-purple );
	border-radius: 32px;
	border-color: var( --wp--preset--color--black );
	border-width: 1px;
	border-style: solid;
	color: var( --wp--preset--color--white );
	font-family: inherit;
	font-style: normal;
	font-size: var( --wp--preset--font-size--normal );
	font-weight: 400;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: uppercase;
	padding-top: 9px;
	padding-right: 22px;
	padding-bottom: 9px;
	padding-left: 22px;
	cursor: pointer;
}

.has-sbc-light-purple-background-color div[ class*="mphb_" ] .mphb_sc_search-submit-button-wrapper input.button, 
.has-sbc-light-purple-background-color div[ class*="mphb_" ] button, 
.has-sbc-light-purple-background-color input[ type="submit" ], 
.has-sbc-light-purple-background-color button[ type="submit" ] {
	background-color: var( --wp--preset--color--sbc-dark-purple );
}
	
.fluentform .ff-el-group.ff_submit_btn_wrapper {
	margin: 0;
}

@media ( min-width: 768px ) {
	
	.frm-fluent-form .ff-t-container {
		gap: var( --wp--style--block-gap );
	}
	
}

input:where( [type="checkbox"] ), 
input:where( [type="radio"] ) {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	top: -3px;
	width: 22px;
	height: 22px;
	vertical-align: middle;
	margin: calc( 0.75em - 11px ) 0.25rem 0 0;
	border: 2px solid #7ace9d;
	border-radius: 4px;
	background: transparent no-repeat center center;
}

input[type="radio"] {
	border-radius: 50%;
}

input:where( [type="checkbox"], [type="radio"] ):where( :active:not( :disabled ), :focus ) {
	border-color: #7ace9d;
	outline: none;
}

input:where( [type="checkbox"], [type="radio"] ):disabled {
 	background: transparent;
}

input[type="checkbox"]:checked {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><path fill="%237ace9d" d="M0,8 5,13 14,4 12,2 5,9 2,6z"/></svg>');
}

input[type="radio"]:checked {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><circle fill="%237ace9d" cx="5" cy="5" r="5"/></svg>');
}

/*********/
/* Pages */
/*********/

/* Front */

.opening-soon { 
	display: inline-block;
	position: relative;
	left: -10px;
}

.home .page-hero {
	/* justify-content: space-between; */
	position: relative;
}

.home .page-hero .wp-block-cover__inner-container {
	position: absolute;
	top: var( --header-height );
	bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.home .page-hero .headline-box {
	width: var(--wp--style--global--content-size);
}


/* Accommodation */


/* Experiences */

.activities-container .activities-tabs h3 {
	cursor: pointer;
}

.activities-container .activities-tabs h3:nth-child( even ) {
	background-color: var( --wp--preset--color--sbc-light-purple );
}

/************************/
/* Hotel Booking Plugin */
/************************/

p[class*="mphb_sc_search-"] br,
.mphb-checkout-section br {
	display: none;
}

.mphb-calendar .datepick, 
.datepick-popup .datepick {
	width: 100% !important;
}

.datepick-popup {
	width: var(--wp--style--global--content-size);
	max-width: var(--wp--style--global--content-size);
}

/* Search */

.mphb_sc_search_results-wrapper .post-thumbnail img {
	width: 100%;
	height: auto;
}

.mphb-recommendation-details-list {
	list-style: none;
	padding-left: 0;
}

.mphb-recommendation-item-count {
	display: none;
}

.search-bar-additions {
	margin-top: 0; 
	margin-bottom: 0; 
	width: 100vw; 
	max-width: 100vw; 
	margin-left: calc( 50% - 50vw );
	padding-bottom: 20px;
	text-align: center;
	font-style: italic;
}

.mphb_sc_search_results-info {
	padding: 20px;
}

form#mphb-reservation-cart.mphb-empty-cart {
	display: none;
}

@media ( min-width: 768px ) {
	
	.page-loaded .mphb_sc_booking_form-wrapper.is-style-horizontal-form form,
	.page-loaded .mphb_sc_search-wrapper.is-style-horizontal-form form, 
	.page-loaded .mphb_widget_search-form.is-style-horizontal-form {
		flex-wrap: wrap;
	}
	
	.page-loaded .mphb_sc_search-wrapper.is-style-horizontal-form .mphb_sc_search-check-in-date,
	.page-loaded .mphb_sc_search-wrapper.is-style-horizontal-form .mphb_sc_search-check-out-date {
		flex-shrink: 0;
		flex-grow: 0;
		flex-basis: 50%;
	}
}

.page-loaded .mphb_sc_search-wrapper.mphbs-fluid-button .mphb_sc_search-submit-button-wrapper {
	flex-grow: 0;
	margin-left: auto;
	margin-right: auto;
}


.search-results-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-content: stretch;
}

.search-results-wrapper .mphb-room-type {
	flex-basis: calc( 50% - var( --half-block-gap ) );
	margin-top: 0 !important;
	margin-bottom: var( --wp--style--block-gap );
	padding: var( --wp--style--block-gap );
	background-color: var( --wp--preset--color--sbc-dark-purple );
}

.search-results-wrapper .mphb-room-type:nth-child( odd ) {
	margin-right: var( --half-block-gap )
}

.search-results-wrapper .mphb-room-type:nth-child( even ) {
	margin-left: var( --half-block-gap )
}

@media ( max-width: 600px ) {
	
	.search-results-wrapper .mphb-room-type {
		flex-basis: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
}

.mphb-loop-room-thumbnail {
	margin: 0 0 var( --wp--style--block-gap ) !important;
	pointer-events: none;
}

.mphb-loop-room-thumbnail img {
	vertical-align: top;
}

.search-results-wrapper .mphb-room-type .mphb-room-type-title {
	font-size: var( --wp--preset--font-size--normal );
	margin-bottom: 0;
}

.search-results-wrapper .mphb-room-type .mphb-room-type-title + p {
	margin-top: 0.5em;
}

.search-results-wrapper .mphb-room-type ul {
	padding-left: 15px;
}

.search-results-wrapper .mphb-room-type :last-child {
	margin-bottom: 0;
}

.search-results-wrapper .mphb-room-type button.mphb-book-button {
	background-color: var( --wp--preset--color--sbc-bright-purple );
	border: none;
}

.search-results-wrapper .mphb-reserve-room-section {
	margin: 20px 0;
	text-align: center;
}

/* Checkout */

.mphb_sc_search_results-wrapper {
	margin: 0 !important;
}

.mphb_cb_checkout_form > .mphb-checkout-section:not( :first-of-type ), 
.mphb_sc_checkout-form > .mphb-checkout-section:not( :first-of-type ) {
	margin: 0 !important;
	padding: var( --wp--style--block-gap ) 0;
}

.mphb-check-in-date,
.mphb-check-out-date {
	color: var( --wp--preset--color--sbc-light-green );
}

.mphb-check-in-date span, 
.mphb-check-out-date span, 
.mphb-check-in-date time:last-child,
.mphb-check-out-date time:last-child {
	color: white;
}

.mphb-check-in-date span:first-of-type,
.mphb-check-out-date span:first-of-type {
	display: inline-block;
	width: 100px;
}

.mphb-check-in-date time:first-of-type, 
.mphb-check-out-date time:first-of-type {
	font-size: 130%;
}

.mphb-reserve-rooms-details {
    margin-top: var( --double-block-gap ) !important;
}

.mphb-reserve-rooms-details .mphb-room-details {
    padding: 0;
}

.mphb-reserve-rooms-details .mphb-room-number {
	margin-top: 0;
	font-size: 30px;
	line-height: 40px;
	margin-bottom: 24px;
}

.mphb-reserve-rooms-details .mphb-checkout-item-section {
	margin: 0;
	padding: var( --wp--style--block-gap ) 0px;
	width: 100%;
}

.mphb-reserve-rooms-details .guest-chooser-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px 34px;
}

.mphb-reserve-rooms-details .guest-chooser-wrapper > * {
    margin-bottom: 20px;
    padding: 0 10px;
    flex:1 0 100%
}

.mphb-room-details {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.mphb-room-details .mphb-room-number,
.mphb-room-details .mphb-room-type-title span {
	display: none;
}

.mphb-room-details .mphb-room-type-title,
.mphb-price-breakdown-title,
.mphb-services-details-title,
.mphb-booking-details-title,
.mphb-customer-details-title,
.mphb-gateway-chooser-title {
	min-width: 100%;
	font-family: var( --wp--preset--font-family--sweet-sans-pro );
	font-size: var( --wp--preset--font-size--large );
	font-style: normal;
	font-weight: 400;
	color: var( --wp--preset--color--sbc-light-green );
	letter-spacing: calc( 55em/1000 );
	margin-top: 1em;
	margin-bottom: 1em;
	text-transform: uppercase;
	text-align: center;
}

.mphb-booking-details-title,
.mphb-room-details .mphb-room-type-title {
	color: white;
	text-align: left;
	margin: 28px 0;
}

.mphb-room-rate-chooser-title {
	color: white;
	text-transform: none;
	margin-top: 0;
}

.mphb-room-details .mphb-room-type-title a {
	pointer-events: none;
}

.mphb-room-details .mphb-guest-name-wrapper {
	display: none;
	flex-basis: 100%;
}

.mphb-room-details .mphb-adults-chooser {
	flex-basis: 100%;
	display: flex;
	font-size: 18px;
	align-items: center;
	justify-content: flex-start;
}

.mphb-room-details .mphb-adults-chooser label {
	padding: 0;
	margin: 0;
	flex-basis: 200px;
}

/*
.mphb-room-details .mphb-adults-chooser select {
	background-color: transparent;
	color: var( --wp--preset--color--sbc-light-green );
	flex-basis: 80px;
	font-size: var( --wp--preset--font-size--large );
}
*/
.mphb-room-details .mphb-adults-chooser select {
	appearance: auto;
	background-image: none;
	flex-basis: 140px;
}



.mphb-room-details .mphb-adults-chooser select option {
}

.mphb-reserve-rooms-details .mphb-room-rate-chooser-title, .mphb-reserve-rooms-details .mphb-services-details-title {
	margin-bottom: 30px;
}

.mphb-reserve-rooms-details .mphb-room-rate-variant {
	font-size: 15px;
	letter-spacing: .02em;
	line-height: 28px;
	margin-bottom: 0;
	padding-left: 35px;
}

.mphb-reserve-rooms-details .mphb-room-rate-variant:last-child {
	margin-bottom: 0;
}

.mphb-reserve-rooms-details .mphb-room-rate-variant .mphb-price {
	color: var( --wp--preset--color--sbc-light-green );
}

.mphb-reserve-rooms-details .mphb-room-rate-variant label {
	font-size: 18px;
	letter-spacing: normal;
	margin-bottom: 0;
	left: -42px;
	position: relative;
}

.mphb-reserve-rooms-details .mphb-room-rate-variant br {
	display: none;
}

.mphb-reserve-rooms-details .mphb-room-rate-variant label strong {
	font-weight: 600;
	display: inline-block;
	width: calc( 100% - 32px );
	vertical-align: top;
}

.mphb-reserve-rooms-details .mphb_checkout-services-list {
	--services-columns: 2;
	--services-gap: 30px;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var( --services-gap );
}

.mphb-reserve-rooms-details .mphb_checkout-services-list label {
    font-size: 18px;
    display:inline
}

.mphb-reserve-rooms-details .mphb_checkout-services-list li {
	margin: 0;
	flex-basis: calc( ( 100% / var( --services-columns ) ) - var( --services-gap ) + ( var( --services-gap ) / var( --services-columns ) ) );
}

.mphb_checkout-services-list li:not(.shown) {
	display: none;
}

@media ( max-width: 600px ) {
	
	.mphb-reserve-rooms-details .mphb_checkout-services-list {
		--services-columns: 1;
	}

}

.mphb-reserve-rooms-details .mphb_checkout-services-list select {
    max-width: 113px;
    margin: 0 16px;
    display: inline-block;
}

.mphb-room-price-breakdown-wrapper {
	overflow: hidden;
}

.mphb-room-price-breakdown-wrapper .mphb-price-breakdown-title {
    margin-bottom:30px
}

.mphb-room-price-breakdown-wrapper table {
    margin: 0;
}

.mphb-room-price-breakdown-wrapper table th,
.mphb-room-price-breakdown-wrapper table td {
	text-align: left;
	border-left-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
}

.mphb-room-price-breakdown-wrapper table tr td:last-child:not( :only-child ),
.mphb-room-price-breakdown-wrapper table tr th:last-child:not( :only-child ) {
    text-align: right;
}

.mphb-room-price-breakdown-wrapper table tfoot th {
    border-bottom:0
}

.mphb-room-price-breakdown-wrapper table th {
	border-color: var( --wp--preset--color--sbc-dark-purple );
}

.mphb-price-breakdown-dates th,
.mphb-price-breakdown-accommodation-taxes th,
.mphb-price-breakdown-services th,
.mphb-price-breakdown-subtotal th,
.mphb-price-breakdown-total th {
	border-top-width: 20px;
}

.mphb-price-breakdown-services-headers,
.mphb-price-breakdown-service .mphb-price-breakdown-service-details,
.mphb-price-breakdown-service .mphb-table-price-column,
.mphb-price-breakdown-services-total,
.mphb-price-breakdown-subtotal {
	display: none; 
}

.mphb-price-breakdown-booking td {
	border-top: none;
}

.mphb-price-breakdown-service-name {
	border-right: 0 !important;
}

.mphb-price-breakdown-service td {
	padding-top: 0;
	border-width: 0;
}

.mphb-price-breakdown-services-headers + .mphb-price-breakdown-service td {
	padding-top: var( --field-padding );
}

.mphb-checkout-text-wrapper.mphb-checkout-section {
	padding-top: 0 !important;
}

.mphb-customer-details {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.mphb-customer-details .mphb-customer-details-title,
.mphb-customer-details .mphb-required-fields-tip,
.mphb-customer-details .mphb-customer-country,
.mphb-customer-note {
	min-width: 100%;
}

.mphb-customer-details .mphb-customer-name,
.mphb-customer-details .mphb-customer-email,
.mphb-customer-address1,
.mphb-customer-state {
	flex-basis: 50%;
	padding-right: var( --half-block-gap );
}

.mphb-customer-details .mphb-customer-last-name,
.mphb-customer-details .mphb-customer-phone,
.mphb-customer-city,
.mphb-customer-zip {
	flex-basis: 50%;
	padding-left: var( --half-block-gap );
}

.mphb_checkout-services-list label em {
	display: none;
}

@media ( max-width: 600px ) {

	.mphb-customer-details .mphb-customer-details-title,
	.mphb-customer-details .mphb-required-fields-tip,
	.mphb-customer-details .mphb-customer-country,
	.mphb-customer-note,
	.mphb-customer-details .mphb-customer-name,
	.mphb-customer-details .mphb-customer-email,
	.mphb-customer-address1,
	.mphb-customer-state,
	.mphb-customer-details .mphb-customer-last-name,
	.mphb-customer-details .mphb-customer-phone,
	.mphb-customer-city,
	.mphb-customer-zip {
		flex-basis: 100%;
		padding-left: 0;
		padding-right: 0;
	}

}

.mphb_sc_checkout-submit-wrapper {
	text-align: center;
}

#mphb-billing-details {
	padding-bottom: 0;
	margin-bottom: 56px;
}

#mphb-billing-details .mphb-gateway-chooser-titlex {
	font-size: 30px;
	line-height: 38px;
	margin-bottom:24px
}

#mphb-billing-details .mphb-gateways-list {
	padding: 0;
	margin:0
}

#mphb-billing-details .mphb-gateways-list li {
	font-size: 15px;
	letter-spacing: .02em;
	line-height: 28px;
	margin-bottom: 38px;
	margin-top:0
}

#mphb-billing-details .mphb-gateways-list li:last-child {
	margin-bottom:0
}

#mphb-billing-details .mphb-gateways-list label {
	letter-spacing: normal;
	font-size: 18px;
	margin-bottom:18px
}

#mphb-billing-details .mphb-gateways-list strong {
	font-weight:600
}

.mphb-checkout-terms-wrapper {
	padding: 0;
	background: 0 0;
	border: 0;
	border-radius: 0;
	margin-bottom: 30px;
	margin-top:0 !important
}

.mphb-checkout-terms-wrapper .mphb-terms-and-conditions-accept label {
	font-size:18px;
}

.mphb-total-price,
.mphb-deposit-amount,
.mphb-errors-wrapper {
	margin-bottom: 10px;
	position: relative;
	padding-left: 30px;
}

span.error,
.mphb-errors-wrapper {
	color: orangered;
	font-weight: 600;
}

.mphb-total-price .mphb-preloader {
	display: none !important;
}

.mphb-total-price-field,
.mphb-deposit-amount-field {
	margin-left: 0;
	color: var( --wp--preset--color--sbc-light-green );
	font-size: 150%;
	position: absolute;
	left: 210px;
	top: -6px;
}

.mphb_sc_booking_confirmation .mphb-payment-messages {
    margin-bottom:40px;
}

.mphb_sc_checkout-wrapper .mphb-login-form-wrap {
	background: #fff;
	color: black;
	padding: 40px;
	border: 1px solid #dadfde;
	border-radius: 4px;
	margin-bottom: 86px;
}

.mphb_sc_checkout-wrapper .mphb-login-form-wrap > p {
    margin: 0;
}

.mphb_sc_checkout-wrapper .mphb-login-form-wrap .mphb-login-form {
    margin-top: 1.5em;
}

.mphb-price-breakdown-rate {
	display: none; 
}
	
.mphb-gateway input[type=radio] + label + .mphb-gateway-description {
	display: none;
	padding-left: 30px;
}

.mphb-gateway input[type=radio]:checked + label + .mphb-gateway-description {
	display: block;
}

.mphb_cb_checkout_form .mphb-billing-fields, .mphb_sc_checkout-form .mphb-billing-fields {
	margin: 0;
	padding: 010px 0 0 30px;
}

.mphb-terms-and-conditions-link {
	text-decoration: underline;
}

/***********/
/* Utility */
/***********/

.overflow-visible,
.overflow-visible svg {
    overflow: visible;
}

abbr {
	text-decoration: none;
}

.wp-site-blocks ol {
	--list-padding: 2.5em;
	counter-reset: item;
	margin: 1em 0;
	padding-left: var( --list-padding );
}

.wp-site-blocks ol li {
	display: block;
	position: relative;
}

.wp-site-blocks ol li:before {
	content: counters(item, ".");
	counter-increment: item;
	position: absolute;
	margin-right: 100%;
	left: calc( -1 * var( --list-padding ) );
}







