/*
	xPlan reservation CSS
	Version: 2984
	Plugin-version 2.9.8.4
*/


:root {

	/* Font Family */
	/*--global--font-primary: "Comic Sans MS",arial,sans-serif;*/
	--global--font-primary: arial,sans-serif;
	--global--font-secondary: arial,sans-serif;

	/* Font Size */
	--global--font-size-base: 11px;
	--global--font-size-xs: 1rem;
	--global--font-size-sm: 1.125rem;
	--global--font-size-md: 14px;
	--global--font-size-lg: 1.5rem;
	--global--font-size-xl: 20px;
	--global--font-size-xxl: 4rem;
	--global--font-size-xxxl: 5rem;
	--global--font-size-page-title: var(--global--font-size-xl);
	--global--letter-spacing: normal;

	/* Line Height */
	--global--line-height-body: 1.7;
	--global--line-height-heading: 1.3;
	--global--line-height-page-title: 1.1;
	
	--global--border-radius:5px;

	/* Headings */
	--heading--font-family: var(--global--font-primary);
	--heading--font-size-h6: var(--global--font-size-xs);
	--heading--font-size-h5: var(--global--font-size-sm);
	--heading--font-size-h4: var(--global--font-size-lg);
	--heading--font-size-h3: calc(1.25 * var(--global--font-size-lg));
	--heading--font-size-h2: var(--global--font-size-xl);
	--heading--font-size-h1: var(--global--font-size-page-title);
	--heading--letter-spacing-h6: 0.05em;
	--heading--letter-spacing-h5: 0.05em;
	--heading--letter-spacing-h4: var(--global--letter-spacing);
	--heading--letter-spacing-h3: var(--global--letter-spacing);
	--heading--letter-spacing-h2: var(--global--letter-spacing);
	--heading--letter-spacing-h1: var(--global--letter-spacing);
	--heading--line-height-h6: var(--global--line-height-heading);
	--heading--line-height-h5: var(--global--line-height-heading);
	--heading--line-height-h4: var(--global--line-height-heading);
	--heading--line-height-h3: var(--global--line-height-heading);
	--heading--line-height-h2: var(--global--line-height-heading);
	--heading--line-height-h1: var(--global--line-height-page-title);
	--heading--font-weight: normal;
	--heading--font-weight-page-title: 300;
	--heading--font-weight-strong: 600;

	/* Colors */
	--global--color-black: #000;
	--global--color-dark-gray: #333;
	--global--color-gray: #39414d;
	--global--color-light-gray: #DDD;
	--global--color-green: #699e21;
	--global--color-blue: #21699E;
	--global--color-light-blue: #e8f0f5;
	--global--color-purple: #d1d1e4;
	--global--color-red: #E23815;
	--global--color-orange: #F7941F;
	--global--color-yellow: #eeeadd;
	--global--color-white: #fff;
	--global--color-white-50: rgba(255, 255, 255, 0.5);
	--global--color-white-90: rgba(255, 255, 255, 0.9);
	
	/*Mostly used for backgrounds*/
	--global--color-primary: var(--global--color-orange);
	/* Body text color, site title*/
	--global--color-secondary: var(--global--color-gray);

	/* Headings */
	--global--color-primary-hover: var(--global--color-primary);
	--global--color-background: var(--global--color-white);
	--global--color-header-text: var(--global--color-primary);
	--global--color-text: var(--global--color-black);
	--global--color-text-error: var(--global--color-red);
	--global--color-text-light: var(--global--color-white);
	--global--color-url: var(--global--color-text);
	--global--color-url-hover: var(--global--color-primary-hover);
	--global--color-border: var(--global--color-secondary);
	
	/* Main styles for the main blocks*/
	--main--border-color:var(--global--color-secondary);
	--main--border-width:2px;
	--main--border-radius:var(--global--border-radius);
	
	/* Products */
	--product--font-color:var(--global--color-text);
	--product--price--font-color:var(--product--font-color);
	--product--background-color:var(--table--stripes-background-color);
	
	/* Forms */
	--form--font-family: 	var(--global--font-secondary);
	--form--font-size: 		var(--global--font-size-sm);
	--form--line-height: 	var(--global--line-height-body);
	--form--color-text: 	var(--global--color-dark-gray);
	--form--color-ranged: 	var(--global--color-secondary);
	--form--color-background: var(--global--color-background);
	--form--color-checked: 	var(--global--color-secondary);
	--form--label-weight: 	500;
	--form--border-color: 	var(--global--color-secondary);
	--form--border-width: 	1px;
	--form--border-radius: 	0;
	--form--spacing-unit: 	calc(0.5 * var(--global--spacing-unit));

	/* Buttons */
	--button--color-text: var(--global--color-text);
	--button--color-text-hover: var(--global--color-background);
	--button--color-background: var(--global--color-background);
	--button--color-background-hover: var(--global--color-primary);
	--button--color-border: var(--global--color-secondary);
	--button--color-border-hover: var(--global--color-primary);
	--button--font-family: var(--global--font-primary);
	--button--font-size: var(--global--font-size-md);
	--button--font-weight: 500;
	--button--line-height: 1.5;
	--button--border-style: solid;
	--button--border-width: 3px;
	--button--border-radius: 0;
	--button--padding: 5px;
	--button--margin: auto;
	--button--padding-horizontal: calc(2 * var(--button--padding-vertical));
	
	/*--main--button--color-background:var(--button--color-background);*/

	/* Block: Table */
	--table--stripes-border-color: var(--global--color-border);
	--table--stripes-background-color: var(--global--color-light-blue);
	--table--stripes-border-width: 1px;
	--table--has-background-text-color: var(--global--color-text);
	
	/* Pop-up */
	--popup--border-color: var(--global--color-secondary);
	--popup--background-color: var(--global--color-primary);
	--popup--text-color: var(--global--color-white);

	/* Widgets */
	--widget--line-height-list: 1.9;
	--widget--line-height-title: 1.4;
	--widget--font-weight-title: 700;
	--widget--spacing-menu: calc(0.66 * var(--global--spacing-unit));

	/* Icons */
	--icon--color: var(--global--color-primary);
	--icon--arrow-right: url('../images/xplanbookext/Pijltje_zwart.png');
	--icon--arrow-down: url('../images/xplanbookext/Pijltje_down_zwart.png');
	--icon--search: url('../images/xplanbookext/search_glass.png');
	--icon--searching: url('../images/xplanbookext/search.gif');
	--icon--info: url('../images/xplanbookext/info.png');
	
	--icon--calendar: none;
	--icon--calendar-org:inline;
	
	
	
	/*Thumbnail images*/
	--header--circle-1:url('../images/xplanbookext/CirkelGrijs1.png');
	--header--circle-1-active:url('../images/xplanbookext/CirkelGroen1.png');
	--header--circle-2:url('../images/xplanbookext/CirkelGrijs2.png');
	--header--circle-2-active:url('../images/xplanbookext/CirkelGroen2.png');
	--header--circle-3:url('../images/xplanbookext/CirkelGrijs3.png');
	--header--circle-3-active:url('../images/xplanbookext/CirkelGroen3.png');
	--header--thumb-text-color:var(--global--color-white);
	--header--thumb-background-color:var(--global--color-primary);
	--header--thumb-border-color:var(--global--color-primary);
	--header--thumb-active-text-color:var(--global--color-primary);
	--header--thumb-active-background-color:var(--global--color-white);
	--header--thumb-active-border-color:var(--global--color-primary);
	--header--thumb-upcoming-text-color:var(--global--color-primary);
	--header--thumb-upcoming-background-color:var(--global--color-secondary);
	--header--thumb-upcoming-border-color:var(--global--color-primary);
}

.xplan-reservation .col-sm-5/*,  .xplan-reservation .col-sm-6*/{
	padding-top:20px;
	/*border:var(--main--border-width) solid var(--main--border-color);
	border-radius:var(--global--border-radius);
	padding:var(--main--border-padding);*/
}
.xplan-reservation .overlay_load {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.85);
	z-index: 999;
	transition: all ease-in 0.2s;
	-webkit-transition: all ease-in 0.2s;
	-ms-transition: all ease-in 0.2s;
	-o-transition: all ease-in 0.2s;
	visibility: hidden;
	opacity: 0;
}

.xplan-reservation .overlay_load.loading {
	visibility: visible;
	opacity: 1;
}

.xplan-reservation #dates-people{
	background-color:var(--global--color-background);
	margin-left: 0px!important;
}

.xplan-reservation #dates-people input.return.btn, 
.xplan-reservation #code-form input.return.btn, 
.xplan-reservation #entry input.return.btn{
	float:left;
    margin-right: 25px;
}

.xplan-reservation .overlay_load .loader {
	width: 100%;
	height: 100%;
	min-height: 100%;
	display: block;
	display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;      /* TWEENER - IE 10 */
	display: -webkit-flex;     /* NEW - Chrome */
	display: flex;
	align-items: center;
	-webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
}

.xplan-reservation .overlay_load .loader span {
	/* color: var(--global--color-primary);
	font-size: 60px; */
	border: 16px solid #f3f3f3; /* Light grey */
	border-top: 16px solid var(--global--color-primary); /* Blue */
	border-radius: 50%;
	width: 120px;
	height: 120px;
	animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.xplan-reservation .infos h2 {
	padding-top: 0;
}

.xplan-reservation .btn_resa {
	display: block;
	width: 100%;
	height: 44px;
	line-height: 40px;
	color: var(--button--color-text);
	font-size: var(--button--font-size);
	font-weight: 500;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 0.03em;
	border: 2px solid var(--button--color-border);
	background: var(--button--color-background);
	/* margin: 0 0 25px 0; */
	/* margin-left: 270px; */
	margin-top: 10px;
	text-decoration:none!important; 
	cursor:pointer;
}

.xplan-reservation.mobile div.main{
	width:100%;
}
.xplan-reservation.mobile .btn_resa {
	height: auto!important;
	line-height: 20px;
	padding:20px 5px;
}

.xplan-reservation .btn_resa:hover {
	color: var(--button--color-text-hover)!important;
	background: var(--button--color-background-hover);
	text-decoration: none!important;
	/* color: black!important;
	box-shadow: 1px 3px 5px 1px; */
}

.xplan-reservation .btn_external {
	display: block;
	width: 100%;
	height: 44px;
	line-height: 40px;
	color: var(--button--color-text);
	font-size: var(--button--font-size);
	font-weight: 500;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 0.03em;
	border: 2px solid var(--button--color-border);
	background: var(--button--color-background);
	margin: 0 0 15px 0;
}

.xplan-reservation .btn_external:hover {
	color: var(--button--color-text-hover);
	background: var(--button--color-background-hover);
}

.xplan-reservation .availabilities .btn {
	display: inline-block;
	width: auto;
	height: 40px;
	line-height: 36px;
	color: var(--button--color-text);
	font-size: var(--button--font-size);
	font-weight: 500;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 0.03em;
	border: 2px solid var(--button--color-border);
	background: var(--button--color-background);
	margin: 0;
	padding: 0 40px;
	transition: all ease-in 0.2s;
	-webkit-transition: all ease-in 0.2s;
	-ms-transition: all ease-in 0.2s;
	-o-transition: all ease-in 0.2s;
}

.xplan-reservation .availabilities .btn:hover {
	color: var(--button--color-text-hover);
	background: var(--button--color-background-hover);
	border: 2px solid var(--button--color-border-hover);
}

.xplan-reservation .availabilities .infos {
	padding-right: 80px;
}

.xplan-reservation .infos .info_important {
	background-color: var(--global--color-background);
} 
.xplan-reservation .availabilities .infos .info_important {
	border: var(--main--border-width) solid var(--main--border-color);
	border-radius:var(--main--border-radius);
	padding: 15px 15px 10px 15px;
}

.availabilities ul {
	padding: 10px 0 20px 30px !important;
}

.xplan-reservation .availabilities .reservation_back {
	margin-top: 20px;
}

.xplan-reservation .availabilities .reservation_back input {
	margin-right: 15px;
}

.xplan-reservation div.single-prod.content #dates-people .date{
	width:auto;
}

.xplan-reservation #dates-people .family,
.xplan-reservation #dates-people .date {
	margin-bottom: 25px;
	width:400px;
}
.xplan-reservation.mobile #dates-people .family,
.xplan-reservation.mobile #dates-people .date {
	margin-bottom: 0px;
	width:auto;
}

div.datepicker.datepicker-dropdown.dropdown-menu.datepicker-orient-bottom{
	display:initial;
	opacity:100;
	visibility:visible;
	transform:initial;
	top: 314px;
    left: 382px;
	webkit-transform:initial;
	-moz-transform: initial;
	-ms-transform: initial;
	-o-transform: initial;
	
}

.datepicker table tr td.active.active, 
.datepicker table tr td.active.disabled, 
.datepicker table tr td.active.disabled.active, 
.datepicker table tr td.active.disabled.disabled, 
.datepicker table tr td.active.disabled:active, 
.datepicker table tr td.active.disabled:hover, 
.datepicker table tr td.active.disabled:hover.active, 
.datepicker table tr td.active.disabled:hover.disabled, 
.datepicker table tr td.active.disabled:hover:active, 
.datepicker table tr td.active.disabled:hover:hover, 
.datepicker table tr td.active.disabled:hover[disabled], 
.datepicker table tr td.active.disabled[disabled], 
.datepicker table tr td.active:active, 
.datepicker table tr td.active:hover, 
.datepicker table tr td.active:hover.active, 
.datepicker table tr td.active:hover.disabled, 
.datepicker table tr td.active:hover:active, 
.datepicker table tr td.active:hover:hover, 
.datepicker table tr td.active:hover[disabled], 
.datepicker table tr td.active[disabled]{
	background-color:var(--global--color-primary)!important;
}

.datepicker table tr td.active, 
.datepicker table tr td.active.disabled, 
.datepicker table tr td.active.disabled:hover, 
.datepicker table tr td.active:hover {
    background-color: var(--global--color-primary)!important;
    background-image: none!important;
    background-repeat: inherit!important;
    filter: none!important;
    border-color: #04c #04c #002a80;
    border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);
    color: #fff;
}

/*Calendar icon button
.xplan-reservation #bookdate .input-group-text{
	height:45px;
}
*/

.xplan-reservation #dates-people .hour,
.xplan-reservation #dates-people .people {
	margin-bottom: 15px;
}

.xplan-reservation #dates-people .people p,
.xplan-reservation #dates-people .family p,
.xplan-reservation #dates-people .hour p,
.xplan-reservation #dates-people p.checkin.product.name,
.xplan-reservation #dates-people .date p,
.xplan-reservation #dates-people .open-date p {
	font-weight: 600;
}

.xplan-reservation #dates-people .open-date p span#display-open-date{
	padding-left:30px;
}

.xplan-reservation.mobile #dates-people .checkin{
	padding:0px 20px;
}
.xplan-reservation.mobile #dates-people .checkin select{
	margin-bottom:40px;
}

.xplan-reservation #dates-people .family label,
.xplan-reservation #dates-people .people label,
.xplan-reservation #dates-people .hour label,
.xplan-reservation .add_treatment label,
.xplan-reservation .add_collection label {
	padding-left: 10px;
    display: inline;
}

.xplan-reservation #dates-people input.btn, 
.xplan-reservation #code-form input.btn, 
.xplan-reservation #entry input.btn{
    /*float: right;*/
	/*margin-bottom:20px!important;*/
}

.xplan-reservation #voucher-code {
    margin-top: 30px;
}

.xplan-reservation .add_treatment .gender-selector label,
.xplan-reservation .add_collection .gender-selector label {
	padding-right: 10px;
}

.xplan-reservation .add_treatment label,
.xplan-reservation .add_collection label {
	display: inline;
}

.xplan-reservation .add_treatment .w-entry,
.xplan-reservation .add_treatment .gender,
.xplan-reservation .add_collection .w-entry,
.xplan-reservation .add_collection .gender,
.xplan-reservation .add_collection .choice {
	margin: 10px 0 0 0;
}
.xplan-reservation .add_treatment .validate input.availability.btn{
	/*background-color:#F00!important;*/
	margin-left:260px;
	margin-top:10px;
}
.xplan-reservation.mobile .add_treatment .validate input.availability.btn{
	/*background-color:#F00!important;*/
	margin-left:0px;
}

.xplan-reservation .add_collection .gender {
	margin-bottom: 20px;
}

.xplan-reservation .gender-selector {
	padding-top: 10px;
}

.xplan-reservation #dates-people .people .col-sm-4,

.xplan-reservation #dates-people .hour .col-sm-4 {
	margin-bottom: 15px;
}

/* .xplan-reservation #dates-people .people .col-sm-4{
	width:max-content;
} */

.xplan-reservation #dates-people .people .person-selection-4.row{
	display:flex;
	flex-wrap: wrap;
	row-gap: 10px;
	column-gap: 2em;
	width:60%;
}

/* .xplan-reservation #dates-people .people .person-selection.row > * {
	flex: 1;
} */

.xplan-reservation #dates-people input.btn, 
.xplan-reservation #code-form input.btn,  
.xplan-reservation #entry input.btn,
.xplan-reservation .xplan_button_navigation input.btn,
.xplan-reservation .xplan_button_navigation div.btn_send,
.xplan-reservation .xplan_button_navigation button.btn,
input.login.btn.xplan-login-pop
{
	display: inline-block;
	width: auto;
	height: 40px;
	line-height: 36px;
	color: var(--button--color-text);
	font-size: var(--button--font-size);
	font-weight: 500;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 0.03em;
	border: 2px solid var(--button--color-border);
	border-radius: var(--global--border-radius);
	background: var(--button--color-background);
	margin: 0;
	padding: 0 40px;
	transition: all ease-in 0.2s;
	-webkit-transition: all ease-in 0.2s;
	-ms-transition: all ease-in 0.2s;
	-o-transition: all ease-in 0.2s;
	/* validate button for the gift voucher
	float:right; */
}

.xplan-reservation .xplan_button_navigation div.btn_send.disabled{
	display:none;
}

.xplan-reservation #dates-people input.btn:hover, 
.xplan-reservation #code-form input.btn:hover, 
.xplan-reservation #entry input.btn:hover {
	color: var(--button--color-text-hover);
	background: var(--button--color-background-hover);
}


.xplan-reservation.xplan-reservation .summary {
	padding-left: 30px;
}

.xplan-reservation.mobile .summary {
	padding: 0px;
}

.xplan-reservation .summary .side_recap {
	display: block;
	width: 100%;
	padding: 15px;
	margin-bottom: 20px;
	background-color:var(--global--color-background);
	border-radius:var(--main--border-radius);
	border: var(--main--border-width) solid var(--main--border-color);
}

.xplan-reservation .summary .side_recap h3 {
	padding-top: 0;
}

.xplan-reservation .summary .side_recap .product_info {
	position: relative;
	padding-right: 25px;
}
.xplan-reservation .summary .side_recap .product_info .row.collection p, .xplan-reservation .container-fluid.confirmation .row.collection p{
	font-weight:bold;
}

.xplan-reservation .summary .side_recap .product_info span.del {
	display: block;
	width: 15px;
	position: absolute;
	line-height: 20px;
	top: 0;
	right: 5px;
	color: var(--global--color-primary);
	cursor: pointer;
	transition: all ease-in 0.2s;
	-webkit-transition: all ease-in 0.2s;
	-ms-transition: all ease-in 0.2s;
	-o-transition: all ease-in 0.2s;
}

.xplan-reservation .summary .side_recap .product_info span.del:hover {
	color: var(--global--color-secondary);
}

.xplan-reservation .summary .side_recap .total {
	display: block;
	padding-top: 60px;
	/*width: 135px;*/
}

.xplan-reservation .summary .side_recap .total p {
	font-size: 18px;
	line-height: 24px;
	padding: 0;
}

.xplan-reservation .summary .side_recap .total p.value {
	color: var(--global--color-text);
	font-weight: 600;
	text-align: right;
}

.xplan-reservation .summary .side_recap .continue,
.xplan-reservation .summary .side_recap .pay {
	padding: 10px 0;
}


.xplan-reservation .summary .side_recap .continue button.btn_send,
.xplan-reservation .summary .side_recap .pay button.btn_send {
	display: block;
	width: 100%;
	height: 40px;
	line-height: 36px;
	color: var(--button--color-text);
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 0.03em;
	border: 2px solid var(--button--color-border);
	background: var(--button--color-background);
	margin: 0;
	padding: 0;
	transition: all ease-in 0.2s;
	-webkit-transition: all ease-in 0.2s;
	-ms-transition: all ease-in 0.2s;
	-o-transition: all ease-in 0.2s;
}

.xplan-reservation .summary .side_recap .continue button.btn_send:hover,
.xplan-reservation .summary .side_recap .pay button.btn_send:hover {
	color: var(--button--color-text-hover);
	background: var(--button--color-background-hover);
}

.xplan-reservation .side_recap #session_timer {
	float:right;
}

/*.xplan-reservation .step:not(:last-of-type) {
	border-bottom: 1px dotted #9e7e28;
	margin-bottom: 15px;
}*/
.xplan-reservation div.step.thumbs{
	overflow:hidden;
	width:100%;
}
.xplan-reservation .step.thumbs h4{
	float:left;
	margin-right:5px;
	color:var(--header--thumb-active-text-color);
}
.xplan-reservation .thumbs{
	width:100%;
	overflow:hidden;
	border-bottom: 1px dotted #9e7e28;
	margin-bottom: 15px;
}
.xplan-reservation .thumb.current{
	background-color:var(--header--thumb-active-background-color);
	border-right:0px;
}
.xplan-reservation .thumb.after{
	background-color:var(--header--thumb-upcoming-background-color);
}
.xplan-reservation i.arrow{
	border: solid var(--header--thumb-border-color);
	border-width: 0 1px 1px 0;
	background-color:var(--header--thumb-active-background-color);
	display: inline-block;
	position:relative;
	left:11px;
	top:3px;
    padding: 9px;
    height: 20px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
.xplan-reservation .thumb{
	border:1px solid var(--header--thumb-border-color);
	padding-left:5px;
	margin-right:20px;
	margin-bottom:5px;
	background-color:var(--header--thumb-background-color);
}
.xplan-reservation .thumb.link i.arrow{
	background-color:var(--header--thumb-background-color);
}
.xplan-reservation .thumb.after i.arrow{
	background-color:var(--header--thumb-upcoming-background-color);
	left:12px!important;
}
.xplan-reservation .thumb, .xplan-reservation .thumb a{
	float:left;
	/*margin-right:5px;*/
}
.xplan-reservation .thumb, .xplan-reservation .thumb.link{
	color:var(--header--thumb-text-color);
}
.xplan-reservation .thumb, .xplan-reservation .thumb.link a{
	color:var(--header--thumb-text-color);
	text-decoration:none;
}
.xplan-reservation .thumb, .xplan-reservation .thumb.current{
	color:var(--header--thumb-active-text-color);
	height: 28px;
	padding-right:1px;
}

.xplan-reservation .col-sm-5 h2,
.xplan-reservation .col-sm-9 h2 {
	padding-top: 0;
	display: inline-block;
	width: auto;
}

.xplan-reservation .treatment-all.content .cat-list, .xplan-reservation .products_list.retail .cat-list{
	margin:20px 0px;
}
.xplan-reservation .treatment-all.content .product-cat, 
.xplan-reservation .products_list.retail .product-cat,
.xplan-reservation .quicktm .product-cat
{
	cursor: pointer;
	color:var(--global--color-header-text);
	border:1px solid var(--button--color-border);
	display:inline;
	font-size:var(--global--font-size-lg)!important;
	font-weight:normal!important;
	padding:5px;
	margin:0px 5px 10px 0px;
	border-radius:var(--global--border-radius);
}

.xplan-reservation .treatment-all.content .product-cat.active, 
.xplan-reservation .treatment-all.content .product-cat:hover, 
.xplan-reservation .products_list.retail .product-cat.active, 
.xplan-reservation .products_list.retail .product-cat:hover,
.xplan-reservation .quicktm .product-cat:hover,
.xplan-reservation .quicktm .product-cat.active
{
	color:var(--button--color-text-hover);
	background-color:var(--button--color-background-hover);
	border:1px solid var(--button--color-background-hover);
}

.xplan-reservation.mobile .treatment-all.content .product-cat.active, 
.xplan-reservation .treatment-all.content .product-cat, 
.xplan-reservation .products_list.retail .product-cat,
.xplan-reservation .quicktm .product-cat
{
	width:100%;
	display:block;
	margin-bottom:10px!important;
	text-align:center;
	font-size:var(--global--font-size-md);
}

/* Giftcard flow */

.xplan-reservation .products_list.giftcard p.giftcard.message-block, .xplan-reservation .products_list.giftcard p.giftcard.button-block, .xplan-reservation .products_list.giftcard div.from-to-combi, .xplan-reservation .products_list.giftcard div.value-amount-combi{
	/*display:table-row;*/
	width:100%;
	/*float:left;*/
	overflow:hidden;
}
.xplan-reservation .products_list.giftcard p.giftcard.to-block, .xplan-reservation .products_list.giftcard p.giftcard.from-block, .xplan-reservation .products_list.giftcard p.giftcard.custom-value-block, .xplan-reservation .products_list.giftcard p.giftcard.custom-value-block{
	width:50%;
	float:left;
}

.xplan-reservation .products_list.giftcard div.giftcard.photo_description.row p.col-6{
	margin:0px;
	padding:0px;
}

.xplan-reservation .treatment-all.content .options_list.hidden, .xplan-reservation .products_list.retail .options_list.hidden{
	display:none;
}

.xplan-reservation .col-sm-5 a.edit_links {
	padding-left: 10px;
	font-style: italic;
	color: #777;
}

.xplan-reservation .col-sm-5 a.edit_links:hover,
.xplan-reservation .col-sm-5 a.edit_links .fa {
	color: #9e7e28;
}

.xplan-reservation .col-sm-5 div.sort {
	text-align:right;
}
.xplan-reservation .col-sm-5 select.sort {
	width:40%;
}
.xplan-reservation .col-sm-5 input.search {
	width:65%;
}
.xplan-reservation .col-sm-5 select {
	border: 1px solid #9e7e28;
	background: #fff;
	width: 100%;
	margin: 0;
	padding: 0 10px !important;
	height: 40px;
	line-height: 40px;
	margin-bottom: 15px;
}

.xplan-reservation .col-sm-5 select.choice {
	margin-top: 15px;
}

.xplan-reservation #code-form {
	padding-bottom: 20px;
}

.xplan-reservation #code-form input#code {
	display: inline-block;
	height: 35px;
	line-height: 33px;
	padding: 0 15px;
	margin: 0 10px 0 0;
	vertical-align: middle;
	border: 1px solid #9e7e28;
	width: 330px; /*Gift voucher number fields to fill in*/
	max-width: 100%;
	font-size: 14px;
}

.xplan-reservation #code-form  p.message {
	padding: 10px 0 0 0;
	font-style: italic;
	font-weight: 500;
}

.xplan-reservation #code-form  p.message.success {
	color: #219e3e;
}

.xplan-reservation #code-form  p.message.error {
	color: var(--global--color-text-error);
}
.xplan-reservation form.voucher-input label#code-error {
	color: #9e212d;
	display:none!important;
}
.xplan-reservation p.message.warning,
.xplan-reservation p.customer.feedback.error {
	color: var(--global--color-text-error);
	font-weight:bold;
}

.xplan-reservation .options_list {
	padding-bottom: 30px;
}

.xplan-reservation .options_list .option .toggle {
	cursor: pointer;
}

/* Default Icon sizes */
.xplan-reservation div.plusminus .dashicons.dashicons-plus, .xplan-reservation div.plusminus .dashicons.dashicons-minus{
	/*width:40%!important;*/
	padding-top:10px;
}

.xplan-reservation span.prix .dashicons.dashicons-warning{
	/*width:40%!important;*/
	padding-top:5px;
	color:var(--global--color-text-error);
}
.xplan-reservation .dashicons.dashicons-calendar-alt{
	width:100%!important;
	color:var(--icon--color);
}

.xplan-reservation .options_list .options_list .product.option .toggle .plusminus, 
.xplan-reservation .options_list .product.option .toggle .plusminus, 
.xplan-reservation .options_list .option .options .person.option .toggle .plusminus, 
.xplan-reservation .options_list .options .option .options .person.option .toggle .plusminus, 
.xplan-reservation .options_list .options .single-person.entry .plusminus,
.xplan-reservation #single-prod-availabilities .plusminus,
.xplan-reservation #single-coll-availabilities .plusminus,
.xplan-reservation .voucher.option .toggle .plusminus{
	display: block;
	width: 35px;
	height: 35px;
	color: var(--global--color-text-light);
	font-size: 13px;
	text-align: center;
	line-height: 35px;
	float: left;
	vertical-align:middle;
	background: var(--global--color-primary);
}

.xplan-reservation .voucher.option .toggle .plusminus i.fa.fa-minus{
	display:none;
}

/* .xplan-reservation  .toggle .plusminus i.dashicons.dashicons-plus, .xplan-reservation  .toggle .plusminus i.dashicons.dashicons-minus{
	padding-top:5px;
} */

.xplan-reservation .options{
   background-color:var(--global--color-background);
}

.xplan-reservation .options_list .options_list .product.option .toggle .plusminus .dashicons-minus, 
.xplan-reservation .options_list .product.option .toggle .plusminus .dashicons-minus, 
.xplan-reservation .options_list .option .options .person.option .toggle .plusminus .dashicons-minus , 
.xplan-reservation .options_list .options .option .options .person.option .toggle .plusminus .dashicons-minus , 
.xplan-reservation .voucher.option .toggle .plusminus .dashicons-minus,
.xplan-reservation #single-prod-availabilities .person.option .plusminus .dashicons-minus,
.xplan-reservation #single-coll-availabilities .person.option .plusminus .dashicons-minus{
	display: none;
}

.xplan-reservation .options_list .options_list .product.option.active .toggle .plusminus .dashicons-minus, 
.xplan-reservation .options_list .product.option.active .toggle .plusminus .dashicons-minus, 
.xplan-reservation .options_list .option .options .person.option.active .toggle .plusminus .dashicons-minus , 
.xplan-reservation .options_list .options .option .options .person.option.active .toggle .plusminus .dashicons-minus , 
.xplan-reservation .voucher.option.active .toggle .plusminus .dashicons-minus,
.xplan-reservation #single-prod-availabilities .person.option.active .plusminus .dashicons-minus,
.xplan-reservation #single-coll-availabilities .person.option.active .plusminus .dashicons-minus{
	display: inline-block;
}

.xplan-reservation .options_list .options_list .product.option.active .toggle .plusminus .dashicons-plus,  
.xplan-reservation .options_list .product.option.active .toggle .plusminus .dashicons-plus,  
.xplan-reservation .options_list .option .options .person.option.active .toggle .plusminus .dashicons-plus,  
.xplan-reservation .options_list .options .option .options .person.option.active .toggle .plusminus .dashicons-plus,  
.xplan-reservation .voucher.option.active .toggle .plusminus .dashicons-plus,
.xplan-reservation #single-prod-availabilities .person.option.active .plusminus .dashicons-plus,
.xplan-reservation #single-coll-availabilities .person.option.active .plusminus .dashicons-plus{
	display: none;
}
.xplan-reservation .options .options_list .product.option .toggle .plusminus .dashicons-plus,  
.xplan-reservation .options_list .product.option .toggle .plusminus .dashicons-plus,  
.xplan-reservation .options_list .option .options .person.option .toggle .plusminus .dashicons-plus,  
.xplan-reservation .options_list .options .option .options .person.option .toggle .plusminus .dashicons-plus,  
.xplan-reservation .voucher.option .toggle .plusminus .dashicons-plus,
.xplan-reservation #single-prod-availabilities .person.option .plusminus .dashicons-plus,
.xplan-reservation #single-coll-availabilities .person.option .plusminus .dashicons-plus{
	display: inline-block;
}

.xplan-reservation .options_list .option .toggle .text,
.xplan-reservation .options_list .option .single-person.entry .text,
.xplan-reservation #single-prod-availabilities .option .toggle .text,
.xplan-reservation #single-coll-availabilities .option .toggle .text{
	display: block;
	width: calc(100% - 35px);
	float: left;
	padding: 5px 20px;
	background: var(--product--background-color);
}
.xplan-reservation.mobile .options_list .option .toggle .text,
.xplan-reservation.mobile .options_list .option .single-person.entry .text,
.xplan-reservation.mobile #single-prod-availabilities .option .toggle .text,
.xplan-reservation.mobile #single-coll-availabilities .option .toggle .text{
	display: block;
	padding: 0px;
	padding-left: 10px;
	background: var(--product--background-color);
}

.xplan-reservation div.person-selection.text{
	background: #e8f0f5;
	padding:5px;
	margin-top:10px;
	margin-bottom:10px;
}

.xplan-reservation .options_list .option .toggle .text span.option_name, 
.xplan-reservation#single-prod-availabilities span.option_name,
.xplan-reservation #single-coll-availabilities span.option_name{
	display: inline-block;
	width: 80%;
	height: 35px;
	text-align: left;
	font-size: 14px;
	line-height: 35px;
	font-weight: 500;
	letter-spacing: 0.025em;
	float: left;
	color: var(--product--font-color);
	word-break:break-word;
}

.xplan-reservation .options_list .option.single-treatment .toggle .text span.option_name{
	width:auto;
}

.xplan-reservation.mobile .options_list .option .toggle .text span.option_name, 
.xplan-reservation.mobile #single-prod-availabilities span.option_name,
.xplan-reservation.mobile #single-coll-availabilities span.option_name{
	width: 50vw!important;
	text-overflow:ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.xplan-reservation.mobile .options_list .option.not-available .toggle .text span.option_name{
	width: 40vw!important;
}
.xplan-reservation.mobile .options_list .product.option.active .book_collection input.coll-checkbox-person{
	position:relative;
	right:20px;
}
.xplan-reservation.mobile .options_list .product.option.active .toggle .text span.option_name{
	/*width: 100%!important;*/
	text-overflow:initial;
	height:auto;
	overflow: visible;
	white-space:normal;
}


.xplan-reservation .options_list .option .single-person.entry .text span.option_name {
	text-align: left;
	font-size: 14px;
	line-height: 35px;
	font-weight: 500;
	letter-spacing: 0.025em;
	color:var(--product--font-color);
}

.xplan-reservation .options_list .option .toggle .text span.prix {
	display: inline-block;
	width: auto;
	height: 35px;
	text-align: right;
	font-size: 14px;
	line-height: 35px;
	font-weight: 700;
	letter-spacing: 0.025em;
	float: right;
	color: var(--product--price--font-color);
}

.xplan-reservation .options .options_list .product.option .options, 
.xplan-reservation .options_list .product.option .options, 
.xplan-reservation .options_list .option .options .person.option .options, 
.xplan-reservation .options_list .options .option .options .person.option .options, 
.xplan-reservation .voucher.option .options{
	display: none;
	padding: 15px 20px 15px 55px;
}
.xplan-reservation #single-prod-availabilities .single.product.options .options,
.xplan-reservation #single-coll-availabilities .single.collection.options .options{
	display: none;
}

.xplan-reservation.mobile form.book_collection div.person.option div.coll.options ul{
	margin:0px;
	padding:0px;
}


.xplan-reservation .options .options_list .product.option.active .options, 
.xplan-reservation .options_list .product.option.active .options, 
.xplan-reservation .options_list .option .options .person.option.active .options , 
.xplan-reservation .options_list .options .option .options .person.option.active .options , 
.xplan-reservation .voucher.option.active .options,
.xplan-reservation #single-prod-availabilities .person.option.active .options,
.xplan-reservation #single-coll-availabilities .person.option.active .options
{
	display: block;
}

.xplan-reservation .options_list .product.option .options select.treatment-availability-select{
	margin:0px;
	padding:0px;
}
.xplan-reservation .options_list .product.option .options:has(> select.treatment-availability-select) {
	margin:0px!important;
	padding-left:0px!important;
	/*background-color:#F00;*/
}
@-moz-document url-prefix() {
	.xplan-reservation .options_list .option .options .person.option .options{
		margin:0px!important;
		padding-left:0px!important;
	}
}


.xplan-reservation #single-prod-availabilities, #single-coll-availabilities{
	margin:20px;
}
.xplan-reservation .mob #single-prod-availabilities, .mob #single-coll-availabilities{
	margin:0px;
	display:inline;
	float:none;
}
.xplan-reservation .mob #single-prod-availabilities .person.option,
.xplan-reservation .mob #single-coll-availabilities .person.option{
	float:none;
}
.xplan-reservation #single-prod-availabilities .person.option,
.xplan-reservation #single-coll-availabilities .person.option{
	width:50%;
	float:left;
}
.xplan-reservation #single-prod-availabilities .row,
.xplan-reservation #single-coll-availabilities .row{
	display:inline;
}

.xplan-reservation .options_list .option .options .group_checkbox {
	display: block;
	float: left;
	padding-right: 15px;
}

.xplan-reservation .options_list .option .options .group_checkbox input[type="checkbox"] {
	margin: 0 !important;
	vertical-align: middle;
}

.xplan-reservation .options_list .option .options .group_checkbox label {
	padding-left: 5px;
	vertical-align: middle;
}

.xplan-reservation .options_list .option .options .validate.coll {
	float: none;
}
.xplan-reservation .options_list .option .options .validate{
	display: block;
	float: right;
	/*padding: 15px 0 20px 0;*/
}

.xplan-reservation .mob #single-prod-availabilities .options .validate{
	right:0px;
}
.xplan-reservation #single-prod-availabilities .options .validate{
	display: block;
	float: none;
	/* position:absolute;
	bottom:-40px;
	right:170px; */
}

.xplan-reservation.mobile form.book_collection div.validate.coll input.btn{
	margin-top:20px;
}

.xplan-reservation form.book_collection input.coll-checkbox-person{
	margin-top:5px;
	height:20px;
}
.xplan-reservation form.book_collection select{
	width:100%;
	margin:5px;
	margin-bottom:10px;
	border-radius:5px;
}
.xplan-reservation i.unavailable {
    color: #FF0000;
}
.xplan-reservation.mobile i.unavailable {
    padding-top:5px;
}

.xplan-reservation #promo input[name="coupon"] {
	border: 1px solid #9e7e28;
	height: 34px;
	line-height: 34px;
	vertical-align: middle;
	margin-right: 10px;
	margin-left: 10px;
}

.xplan-reservation .checkout-form {
	display: block;
	width: auto;
	margin: 0 -10px;
}

.xplan-reservation.mobile .checkout-form p.form-row{
	width: 55%;
}

.xplan-reservation .checkout-form:before,
.xplan-reservation .checkout-form:after {
	display: table;
	content: '';
	clear: both;
}

.xplan-reservation .checkout-form p.form-row {
	display: block;
	width: 50%;
	padding: 0 10px;
	float: left;
}

.xplan-reservation .checkout-form p.form-row {
	display: block;
	width: 50%;
	padding: 0 10px;
	float: left;
}

.xplan-reservation .checkout-form p#email_field.form-row.form-row-wide,
.xplan-reservation .checkout-form p#email_confirmation_field.form-row.form-row-wide,
.xplan-reservation .checkout-form p#city_field.form-row.form-row-wide,
.xplan-reservation .checkout-form p#postcode_field.form-row.form-row-wide {
	display: block;
	width: 50%;
	padding: 0 10px;
	float: left;
}

.xplan-reservation .checkout-form p.form-row.form-row-wide {
	display: block;
	width: 100%;
	padding: 0 10px;
	float: left;
}

.xplan-reservation .checkout-form p#billing_gender_field.form-row.form-row-wide {
	display: block;
	padding: 15px 10px;
}

.xplan-reservation .checkout-form p#billing_address_2_field.form-row.form-row-wide {
	padding-bottom: 5px;
}

.xplan-reservation .checkout-form label {
	display: block;
	padding-bottom: 5px;
	font-weight: 500;
	height:50px;
}
.xplan-reservation .checkout-form div.conditions{
	display: block;
	z-index: 999;
	position:absolute;
}
.xplan-reservation.mobile .checkout-form div.conditions{
	position:inherit;
}
/* .xplan-reservation.mobile .checkout-form label {
	height:50px;
} */

.xplan-reservation .checkout-form label .required {
	text-decoration: none;
	font-weight: 700;
	color: #9e7e28;
	border: none;
}

.xplan-reservation .checkout-form input.input-text {
	border: 1px solid #9e7e28;
	height: 34px;
	line-height: 34px;
	width: 100%;
	padding: 0 10px;
	margin-bottom: 20px;
}

.xplan-reservation .checkout-form .form-row-wide input.input-text {
	margin-bottom: 15px;
}

.xplan-reservation #billing_gender_field input.input-radio {
	display: inline-block;
	vertical-align: middle;
	margin: 0 !important;
}

.xplan-reservation .checkout-form #billing_gender_field label.radio {
	display: inline-block;
	vertical-align: middle;
    margin: 0 20px 0 0 !important;
	padding-left: 10px;
	padding-bottom: 0;
	font-weight: 400;
}

.xplan-reservation .checkout-form .conditions {
    padding: 15px 10px;
}

.xplan-reservation .checkout-form .conditions label {
    display: inline;
    /*padding-left: 10px;*/
    font-weight: 400;
}

.xplan-reservation p.person-highlight, .xplan-reservation .confirmation .row.person p.person-highlight{
	padding-top: 35px;		   
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	padding-top: 5px;
}

.xplan-reservation .success_wrap {
	width: 800px;
	max-width: 100%;
	margin: 0 auto;
}

.xplan-reservation .success_wrap .total .col-sm-4,
.xplan-reservation .success_wrap .product_info .col-sm-4 {
	text-align: right;
}


.xplan-reservation .success_wrap .total p,
.xplan-reservation .success_wrap .person .col-sm-3 p,
.xplan-reservation .success_wrap .product_info .col-sm-4 p {
	font-weight: 600;
}

.xplan-reservation .toggle {
	cursor: pointer;
}
.xplan-reservation div.xplan-reservation.error-dialog{
	display:none;
}

.xplan-reservation div#reservation_review{
	position:static;
}

.xplan-reservation form#dates-people label.error, 
.xplan-reservation div#reservation_review p.error, 
.xplan-reservation div p.prod.error,
.xplan-reservation span.entry-selection.error{
	color:var(--global--color-text-error)!important;
	font-weight:bold;
}
.xplan-reservation .info-icon{
	padding-left:5px;
	color:#21699E;
}
.xplan-reservation .side_recap.mobile .row.product .col-sm-2{
	/*position: relative;*/
	/*bottom:50px;*/
	/*float:left;*/
}
.xplan-reservation .modal-backdrop{
	z-index:0!important;
	display:none;
}
.xplan-reservation .modal {
   /* position: absolute; */
   top: 100px!important;
   right: 100px;
   bottom: 0;
   left: 0;
   z-index: 10040;
   overflow: auto;
   overflow-y: hidden;
}

.site>.page-content{
	z-index: auto!important;
}

/* #NoteToSelf Ripped from theme, they had styles for the module in there. Make configurable at a later moment */

/*  4.2 - Bains  */

.xplan-reservation .openning_times {
	display: block;
	width: 600px;
	max-width: 100%;
	margin: 40px auto;
	border: 1px solid #9e7e28;
}

.xplan-reservation .update_form_horaires {
	display: block;
	width: 600px;
	max-width: 100%;
	margin: 40px auto;
	padding: 25px 20px 30px 20px;
	border: 1px dashed #ddd;
}

.xplan-reservation .update_form_horaires #message {
	padding: 10px;
	background: #fbfbfb;
	color: #4c4c4c;
	border: 1px dotted rgba(0, 0, 0, 0.3);
	font-size: 13px;
}

.xplan-reservation .update_form_horaires #message.updated {
	color: #019b30;
	border: 1px dotted rgba(1, 155, 48, 0.7);
}

.xplan-reservation .update_form_horaires #message p {
	font-weight: 600;
	letter-spacing: 0.05em;
}

.xplan-reservation .update_form_horaires h3 {
	display: block;
	color: #0d92b1;
	font-size: 16px;
	font-weight: 500;
	line-height: 22px;
	letter-spacing: 0.03em;
	margin: 0;
	padding: 0 0 15px 0;
	text-align: left;
	text-transform: uppercase;
}

.xplan-reservation .update_form_horaires .acf-fields > .acf-field {
	padding: 20px 0;
}

.xplan-reservation .update_form_horaires input[type="text"] {
	display: block;
	border: 1px solid #ddd;
	height: 40px;
	line-height: 38px;
	padding: 0 10px !important;
}

.xplan-reservation .openning_times.padbottom { margin-bottom: 60px; }

.xplan-reservation .openning_times h2 {
	display: block;
	color: #9e7e28;
	font-size: 24px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.03em;
	margin: 0;
	padding: 30px 0;
	text-align: center;
}

.xplan-reservation .openning_times .time_table {
	padding: 0 30px 40px 30px;
}

.xplan-reservation .openning_times .time_table .times {
	display: block;
	width: 50%;
	float: left;
	text-align: center;
	border-right: 1px solid #9e7e28;
}

.xplan-reservation .openning_times .time_table .times p:nth-child(1) {
	padding-bottom: 20px;
}

.xplan-reservation .openning_times .time_table.full .times {
	width: 100%;
	border: none;
	float: none;
	padding: 0 0 15px 0;
}

.xplan-reservation .openning_times .time_table.full .reservation {
	text-align: center;
}

.xplan-reservation .openning_times .time_table.full .reservation h3 {
	font-weight: 500;
	font-size: 16px;
	padding-bottom: 5px;
}

.xplan-reservation .openning_times .time_table.full .reservation p {
	padding-bottom: 10px;
}

.xplan-reservation .openning_times .time_table.full .reservation p a {
	padding-bottom: 5px;
	display: inline-block;
}

.xplan-reservation .openning_times .time_table .last_openning {
	display: block;
	width: 50%;
	float: left;
	text-align: center;
}


.xplan-reservation .openning_times .time_table .times p,
.xplan-reservation .openning_times .time_table .last_openning p {
	font-size: 14px;
	line-height: 20px;
	color: #9e7e28;
	font-weight: 300;
	text-align: center;
}

.xplan-reservation .openning_times .time_table.full .times p {
	padding-bottom: 5px;
}

.xplan-reservation .openning_times .time_table .times p span,
.xplan-reservation .openning_times .time_table .last_openning p span {
	display: block;
	font-weight: 700;
	text-align: center;
	padding-bottom: 20px;
}

.xplan-reservation .openning_times .time_table .times p:last-child span,
.xplan-reservation .openning_times .time_table .last_openning p:last-child span {
	padding-bottom: 0;
}

.xplan-reservation .special_info {
	width: 100%;
	background: #9e7e28;
	padding: 25px 30px;
	color: #fff;
	text-align: center;
}

.xplan-reservation .special_info p {
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
	letter-spacing: 0.03em;
	margin: 0;
	padding: 0;
}

.xplan-reservation .special_info p strong {
	font-weight: 500;
}

.xplan-reservation .page_blocks {
	display: block;
	width: 100%;
	padding: 40px 0 0 0;
	margin: 0 auto 40px auto;
}

.xplan-reservation .page_block {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	padding: 0;
	margin: 0 0 40px 0;
	background: #f3f3f3;
}

.xplan-reservation .page_block.last {
	margin-bottom: 0;
}

.xplan-reservation .page_block .image {
	display: block;
	width: 740px;
	max-width: 100%;
	float: left;
}

.xplan-reservation .page_block .image img { width: 100%; }

.xplan-reservation .page_block .text {
	display: block;
	width: calc(100% - 740px);
	max-width: 100%;
	float: left;
	margin: 0;
	padding: 20px 40px;
}

.xplan-reservation .page_block .text h2 {
	display: block;
	color: #21699e;
	font-size: 17px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.025em;
	margin: 0;
	padding: 0 0 10px 0;
	text-align: left;
}

.xplan-reservation .page_block .text p {
	display: block;
	color: #4c4c4c;
	font-size: 13px;
	font-weight: 400;
	line-height: 19px;
	letter-spacing: 0.025em;
	margin: 0;
	padding: 0 0 5px 0;
	text-align: left;
}

.xplan-reservation .page_block .text ul {
	padding-left: 20px;
	padding-bottom: 10px;
}

.xplan-reservation .page_block .text ul li {
	color: #4c4c4c;
	font-size: 13px;
	font-weight: 400;
	line-height: 19px;
	letter-spacing: 0.025em;
	margin: 0;
	padding: 0 0 3px 0;
	text-align: left;
	list-style: disc;
}

.xplan-reservation .page_block .text .cta {
	margin-top: 15px;
}

.xplan-reservation .page_block .text .cta a {
	background: transparent;
}

.xplan-reservation .cta_top_pages {
	display: block;
	padding: 40px 0 20px 0;
	text-align: center;
}

.xplan-reservation .cta_top_pages .btn.blue {
	margin-left: 10px;
}


/* 4.3 - Massages  */

.xplan-reservation .fees_wrap,
.xplan-reservation .products_list_wrap {
	display: block;
	width: 100%;
	padding: 40px 0;
}

.xplan-reservation .fees,
.xplan-reservation .products_list {
	padding: 0 0 60px 0;
}

.xplan-reservation .fees .infos,
.xplan-reservation .products_list .infos {
	padding-right: 80px;
}

.xplan-reservation .fees .infos h2,
.xplan-reservation .products_list .infos h2 {
	display: block;
	font-size: 24px;
	line-height: 30px;
	font-weight: 500;
	padding-bottom: 20px;
}

.xplan-reservation .fees.blue .infos h2,
.xplan-reservation .products_list.blue .infos h2 {
	color: #21699e;
}

.xplan-reservation .fees.gold .infos h2,
.xplan-reservation .products_list.gold .infos h2 {
	color: #9e7e28;
}

.xplan-reservation .fees .infos .info_important,
.xplan-reservation .products_list .infos .info_important {
	padding: 15px 15px 10px 15px;
}

.xplan-reservation .fees.blue .infos .info_important,
.xplan-reservation .products_list.blue .infos .info_important {
	border: var(--main--border-width) solid var(--main--border-color);
	border-radius:var(--main--border-radius);
}

.xplan-reservation .fees.gold .infos .info_important,
.xplan-reservation .products_list.gold .infos .info_important {
	border: var(--main--border-width) solid var(--main--border-color);
}

.xplan-reservation .fees .infos h3,
.xplan-reservation .products_list .infos h3 {
	font-size: 15px;
	line-heigt: 20px;
	text-transform: uppercase;
	font-weight: 500;
	padding-bottom: 3px;
}

.xplan-reservation .fees .infos h3.margtop,
.xplan-reservation .products_list .infos h3.margtop {
	padding-top: 20px;
	text-transform: none;
	padding-bottom: 5px;
}

.xplan-reservation .products_list .infos h3.nocaps {
	text-transform: none;
	padding-bottom: 5px;
}

.xplan-reservation .fees .infos p,
.xplan-reservation .products_list .infos p {
	font-size: 14px;
	line-height: 18px;
	margin: 0;
	padding: 0 0 5px 0;
}

div.xplan-reservation.mobile .infos{
	padding-top:10px;
	padding-bottom:30px;
}

.xplan-reservation .fee,
.xplan-reservation .product_list {
	margin-bottom: 8px;
}

.xplan-reservation .fee .toggle,
.xplan-reservation .product_list .toggle {
	cursor: pointer;
}

.xplan-reservation .fee.hotel .toggle {
	cursor: auto;
}

.xplan-reservation .fee .toggle .plusminus,
.xplan-reservation .product_list .toggle .plusminus {
	display: block;
	width: 50px;
	height: 50px;
	color: #fff;
	font-size: 14px;
	text-align: center;
	line-height: 50px;
	float: left;
}

.xplan-reservation .fees.blue .fee .toggle .plusminus,
.xplan-reservation .products_list.blue .product_list .toggle .plusminus {
	background: #21699e;
}

.xplan-reservation .fees.gold .fee .toggle .plusminus,
.xplan-reservation .products_list.gold .product_list .toggle .plusminus {
	background: #9e7e28;
}

.xplan-reservation .fee .toggle .plusminus .dashicons-minus,
.xplan-reservation .product_list .toggle .plusminus .dashicons-minus {
	display: none;
}

.xplan-reservation .fee.active .toggle .plusminus .dashicons-minus,
.xplan-reservation .product_list.active .toggle .plusminus .dashicons-minus {
	display: inline-block;
}

.xplan-reservation .fee.active .toggle .plusminus .dashicons-plus,
.xplan-reservation .product_list.active .toggle .plusminus .dashicons-plus {
	display: none;
}

.xplan-reservation .fee .toggle .text,
.xplan-reservation .product_list .toggle .text {
	display: block;
	width: calc(100% - 50px);
	float: left;
	padding: 0 20px;
}

.xplan-reservation .fees.blue .fee .toggle .text,
.xplan-reservation .products_list.blue .product_list .toggle .text {
	background: #e8f0f5;
}

.xplan-reservation .fees.gold .fee .toggle .text,
.xplan-reservation .products_list.gold .product_list .toggle .text {
	background: #f5f2e9;
}

.xplan-reservation .fee .toggle .text h4,
.xplan-reservation .product_list .toggle .text h4 {
	display: inline-block;
	width: auto;
	height: 50px;
	text-align: left;
	font-size: 17px;
	line-height: 50px;
	font-weight: 500;
	letter-spacing: 0.025em;
	float: left;
}

.xplan-reservation .fees.blue .fee .toggle .text h4,
.xplan-reservation .products_list.blue .product_list .toggle .text h4 {
	color: #21699e;
}

.xplan-reservation .fees.gold .fee .toggle .text h4,
.xplan-reservation .products_list.gold .product_list .toggle .text h4 {
	color: #9e7e28;
}

.xplan-reservation .fees .toggle .text .info,
.xplan-reservation .product_list .toggle .text .info {
	display: inline-block;
	width: auto;
	height: 50px;
	text-align: right;
	letter-spacing: 0.025em;
	float: right;
}

.xplan-reservation .fee .toggle .text .info span.surface,
.xplan-reservation .fee .toggle .text .info span.capacity,
.xplan-reservation .product_list .toggle .text .info span.duration {
	font-weight: 400;
	color: #4c4c4c;
	line-height: 50px;
}

.xplan-reservation .fee .toggle .text .info span.sepv,
.xplan-reservation .product_list .toggle .text .info span.sepv {
	font-weight: 400;
	color: #21699e;
	line-height: 50px;
	padding: 0 5px 0 20px;
}

.xplan-reservation .fee .toggle .text .info span.price,
.xplan-reservation .product_list .toggle .text .info span.price {
	font-weight: 700;
	line-height: 50px;
	width: auto;
	min-width: 110px;
	display: none;
}

.xplan-reservation .fee .toggle .text .info span.price.display,
.xplan-reservation .product_list .toggle .text .info span.price.display {
	display: inline-block;
}

.xplan-reservation .fee.seminar .toggle .text .info span.price {
	min-width: 160px;
}

.xplan-reservation .fee.seminar .toggle .text .info span.capacity {
	min-width: 150px;
	display: inline-block;
}

.xplan-reservation .fees.blue .fee .toggle .text .info span.price
.xplan-reservation .products_list.blue .product_list .toggle .text .info span.price {
	color: #21699e;
}

.xplan-reservation .products_list.gold .product_list .toggle .text .info span.price {
	color: #9e7e28;
}

.xplan-reservation .products_list.blue .product_list .toggle .text .info span.price del,
.xplan-reservation .products_list.gold .product_list .toggle .text .info span.price del {
	color: #999;
	font-weight: 400;
}

.xplan-reservation .product_list .toggle .text .info span.price ins {
	text-decoration: none !important;
}

.xplan-reservation .product_list .description {
	display: none;
}

.xplan-reservation .product_list .description.item_1 {
	display: block;
}

.xplan-reservation .product_list .description .title {
	padding: 30px 20px 10px 20px;
}

.xplan-reservation .product_list .description .title p {
	font-size: 17px;
	line-height: 22px;
	font-weight: 500;
	margin: 0;
}

.xplan-reservation .product_list .description .text {
	/* padding: 0 20px 30px 20px; */
	padding: 30px 20px 10px 20px;
}

.xplan-reservation .product_list .description .text p {
	margin: 0;
	padding: 0 0 5px 0;
	font-size: 15px;
	line-height: 20px;
	font-weight: 400;
}

.xplan-reservation .product_list .description .cta-cart {
	padding: 0 20px 30px 20px;
	text-align: left;
}

.xplan-reservation .product_list .description .cta-cart .added_to_cart {
	display: block;
	padding-top: 5px;
}
.xplan-reservation div.photo_description.row{
	margin-bottom:20px;
}
.xplan-reservation div.photo_description.row p, .xplan-reservation div.photo_description.row ul li{
	/*display:flex; */
	flex-wrap:nowrap;
	width:100%;
	max-width:100%;
	min-width:100%;
}
.xplan-reservation .products_list.blue .cta-cart .button {
	border: 2px solid #21699e;
	color: #21699e;
}

.xplan-reservation .instructions {
	display: block;
	margin-bottom: 60px;
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
}

.xplan-reservation .instructions .inner {
	min-height: 500px;
}

.xplan-reservation .instructions .text {
	columns: 2;
	column-fill: balance;
	-moz-column-fill: balance;
	-webkit-column-fill: balance;
	-moz-columns: 2;
	-webkit-columns: 2;
	column-gap: 30px;
	-moz-column-gap: 30px;
	-webkit-column-gap: 30px;
	display: inline-block;
	height: auto;
	padding: 30px;
	width: 980px;
	max-width: 100%;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: calc(50% - 480px);
}

.xplan-reservation .instructions.infocart .text {
	top: 0;
	bottom: inherit;
}

.xplan-reservation .instructions .text p {
	font-size: 14px;
	line-height: 20px;
	margin: 0;
	padding: 0 0 10px 0;
	display: block;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

.xplan-reservation .popupopen {
	display: inline-block;
	width: auto;
	height: 40px;
	padding: 0 20px;
	text-transform: upercase;
	font-weight: 500;
	font-size: 15px;
	line-height: 40px;
	text-transform: uppercase;
	transition: all ease-in 0.2s;
	-webkit-transition: all ease-in 0.2s;
	-ms-transition: all ease-in 0.2s;
	-o-transition: all ease-in 0.2s;
	cursor: pointer;
	margin-top: 15px;
}

.xplan-reservation .blue .popupopen {
	border: 1px solid #21699e;
	background: #21699e;
	color: #fff;
}

.xplan-reservation .gold .popupopen {
	border: 1px solid #9e7e28;
	background: #9e7e28;
	color: #fff;
}

/* 4.4 - Tarifs  */

.xplan-reservation .money_exchange {
	display: inline-block;
	width: auto;
	height: 40px;
	padding: 0 20px;
	text-transform: upercase;
	font-weight: 500;
	font-size: 15px;
	line-height: 40px;
	text-transform: uppercase;
	transition: all ease-in 0.2s;
	-webkit-transition: all ease-in 0.2s;
	-ms-transition: all ease-in 0.2s;
	-o-transition: all ease-in 0.2s;
	cursor: pointer;
	margin-top: 20px;
}

.xplan-reservation .external_shop {
	margin-top: 20px;
}

.xplan-reservation .blue .money_exchange {
	border: 1px solid #21699e;
	color: #21699e;
}

.xplan-reservation .gold .money_exchange {
	border: 1px solid #9e7e28;
	color: #9e7e28;
}

.xplan-reservation .money_exchange:hover {
	border: 1px solid #4c4c4c !important;
	color: #4c4c4c !important;
}

.xplan-reservation .money_exchange span {
	display: inline-block;
}

.xplan-reservation .money_exchange span.chf_rate {
	display: none;
}


.xplan-reservation .fee .description {
	display: none;
	padding: 10px 30px 10px 70px;
}

.xplan-reservation .fee .description.hotel {
	padding: 10px 30px 30px 70px;
}

.xplan-reservation .fee.hotel .description {
	display: block;
}

.xplan-reservation .fee .description.item_1 {
	display: block;
}

.xplan-reservation .fee .description .fee_block {
	padding: 20px 0;
}

.xplan-reservation .fees.blue .fee .description .fee_block {
	border-bottom: 1px solid #21699e;
}

.xplan-reservation .fees.gold .fee .description .fee_block {
	border-bottom: 1px solid #9e7e28;
}

.xplan-reservation .fee .description .fee_block.last {
	border-bottom: none !important;
}

.xplan-reservation .fee .description .fee_block .text {
	display: block;
	width: 65%;
	float: left;
}

.xplan-reservation .product_list .description .text ul,
.xplan-reservation .fee .description .fee_block .text ul {
	padding: 0 0 15px 20px;
}

.xplan-reservation .product_list .description .text ul li,
.xplan-reservation .fee .description .fee_block .text ul li {
	list-style: disc;
}

.xplan-reservation .fee .description .fee_block .text h2,
.xplan-reservation .fee .description .fee_block .text h3,
.xplan-reservation .fee .description .fee_block .text h4 {
	display: block;
	font-size: 15px;
	line-height: 20px;
	font-weight: 500;
	margin: 0;
	padding: 0 0 8px 0;
	text-transform: uppercase;
}

.xplan-reservation .fees.blue .fee .description .fee_block .text h2,
.xplan-reservation .fees.blue .fee .description .fee_block .text h3,
.xplan-reservation .fees.blue .fee .description .fee_block .text h4 {
	color: #21699e;
}

.xplan-reservation .fees.gold .fee .description .fee_block .text h2,
.xplan-reservation .fees.gold .fee .description .fee_block .text h3,
.xplan-reservation .fees.gold .fee .description .fee_block .text h4 {
	color: #9e7e28;
}

.xplan-reservation .fee .description .fee_block .text p {
	display: block;
	font-size: 15px;
	line-height: 20px;
	font-weight: 400;
	margin: 0;
	padding: 0 0 5px 0;
}

.xplan-reservation .fee .description .fee_block .text p strong {
	font-weight: 700;
}

.xplan-reservation .fee .description .fee_block .info {
	display: block;
	width: 35%;
	float: left;
	text-align: right;
}

.xplan-reservation .fee .description .info_sup {
	display: block;
	padding: 15px 0;
	margin-bottom: 5px;
	border-bottom: 1px solid #eee;
}

.xplan-reservation .fee .description .illustration {
	display: block;
	padding: 15px 0;
}

.xplan-reservation .fee .description .fee_block .info .info_line {
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0 0 5px 0;
}

.xplan-reservation .fee .description .fee_block .info .info_line span.duration {
	display: inline-block;
	font-size: 15px;
	line-height: 20px;
	font-weight: 400;
	margin: 0 15px 0 0;
	padding: 0 15px 0 0;
}

.xplan-reservation .fees.blue .fee .description .fee_block .info .info_line span.duration {
	border-right: 1px solid #21699e;
}

.xplan-reservation .fees.gold .fee .description .fee_block .info .info_line span.duration {
	border-right: 1px solid #9e7e28;
}

.xplan-reservation .fee .description .fee_block .info .info_line span.duration.hotel {
	border: none !important;
}

.xplan-reservation .fee .description .fee_block .info .info_line span.sepv {
	display: inline-block;
	height: 100%;
	width: 1px;
	background: #21699e;
}

.xplan-reservation .fee .description .fee_block .info .info_line span.price {
	display: none;
	font-size: 15px;
	line-height: 20px;
	font-weight: 700;
	margin: 0;
	padding: 0;
	width: auto;
	min-width: 85px;
}

.xplan-reservation .fee .description .fee_block .info .info_line span.price.display {
	display: inline-block;
}

.xplan-reservation .fees.blue .fee .description .fee_block .info .info_line span.price {
	color: #21699e;
}

.xplan-reservation .fees.gold .fee .description .fee_block .info .info_line span.price {
	color: #9e7e28;
}

/* 4.6 - Plan d'acces */

.xplan-reservation .gmap {
	height: 500px;
	display: block;
	width: 100%;
	margin-bottom: 20px;
}

.xplan-reservation .openning_times.access {
	padding: 30px 50px;
}

.xplan-reservation .openning_times.access h2 {
	font-size: 18px;
	line-height: 22px;
	padding: 5px 0;
	text-align: left;
}

.xplan-reservation .openning_times.access .time_table.full {
	padding: 0;
}

.xplan-reservation .openning_times.access .time_table.full .times .car {
	padding: 20px 0 10px 0;
	margin-bottom: 20px;
	border-bottom: 1px solid #eee;
}

.xplan-reservation .openning_times.access .time_table.full .times p {
	color: #4c4c4c;
	text-align: left;
	padding: 0 0 10px 0
}

.xplan-reservation .openning_times.access .time_table.full .times h3 {
	font-size: 16px;
	line-height: 22px;
	padding: 0 0 10px 0;
	text-align: left;
	font-weight: 700;
}

/* 4.7 - Reservation */

.xplan-reservation #dates-people label.error {
	display: none;
}

ul.xplan-reservation-admin{
	display:none;
	position: absolute;
	z-index:9;
}
ul.xplan-reservation-admin li{
	background-color:#23282D;
	color:#FFF;
	z-index:9;
	text-align:center;
	height:40px;
	margin:0px;
	padding:10px;
}
ul.xplan-reservation-admin li a, ul.xplan-reservation-admin li a:visited{
	color:#FFF;
}

.xplan-reservation form#checkout p select{
	width:10vw;
}
.xplan-reservation.mobile form#checkout p select{
	width:295px;
}
.xplan-reservation form#checkout p.radio-selection{
	/*display:inline-block;*/
	overflow:none;
}
.xplan-reservation form#checkout p.radio-selection label{
	display:inline-block;
	padding:5px;
}
.xplan-reservation.mobile form#checkout p.radio-selection{
	margin:0px;
	padding:0px;
	padding-left:5px;
}

.xplan-reservation.mobile div.customer-form form.xplan.login a.forgotten{
	margin-top:10px;
	display:block;
}
.xplan-reservation.mobile div.customer-form form.xplan.login input{
	width:100%;
	margin-bottom:10px;
}

.xplan-reservation form#checkout p.newsletter{
    position: relative;
    top: 30px;
    left: 5px;
}
.xplan-reservation p#login-feedback.negative{
	color:var(--global--color-red);
	font-weight:bold;
}
.xplan-reservation p#login-feedback.positive{
	color:var(--global--color-green);
	font-weight:bold;
}

.xplan-reservation div.side_recap #xplan_payment_methods_popup button.close{
	width:20%;
}
.xplan-reservation div.side_recap button{
	width:100%;
	/*margin-bottom:10px;*/
}
.xplan-reservation div.productgroup-blocks{
	margin:10px;
	display:table-row;
	text-align:center;
}
.xplan-reservation div.productgroup-blocks div{
	position:relative; 
	float:left;
	width:15vw;
	height:15vw;
	border:1px solid #000;
	margin:5px;
	margin-bottom:50px;
	text-align:center;
}
.xplan-reservation div.productgroup-blocks div span{
	display:block;
	text-align:center;
}
.xplan-reservation div.productgroup-blocks div button{
	position:absolute; 
	bottom:10px;
	left:5vw;
}
.xplan-reservation div.productgroup-blocks div h3{
	cursor:pointer;
}
.xplan-reservation div.productgroup-blocks div span.block-price{
	position:absolute; 
	left:6vw;
	bottom:60px;
	font-size:20px;
}
.xplan-reservation table.productgroup-table tr.productgroup-row th, 
.xplan-reservation table.productgroup-table tr.productgroup-row td{
	border:0px;
}
.xplan-reservation table.productgroup-table tr.productgroup-row.info{
	display:none;
}
.xplan-reservation table.productgroup-table tr.productgroup-row.info td.product-image{
	width:10vw;
}
.xplan-reservation table.productgroup-table tr.productgroup-row.info td.product-description{
	width:40vw;
}
.xplan-reservation table.productgroup-table tr.productgroup-row.title:hover{
	background-color:#E8E8E8;
}
.xplan-reservation table.productgroup-table tr.productgroup-row.title.more:hover{
	cursor:pointer;
	/*text-decoration:underline;*/
	/*border-bottom:1px solid #000;*/
}
.xplan-reservation a:hover{
	text-decoration:none;
}
/* .xplan-reservation form.single-product div div span{
	display:block;
	padding-bottom:20px;
} */
.xplan-reservation form.single-product div div span.giftcard input{
	position:absolute;
	left:200px;
}
.xplan-reservation form.single-product div div span.giftcard textarea{
	width:400px;
	display:block;
}
.xplan-reservation form.single-product div div span.giftcard.value input{
	width:100px;
	padding:5px;
}
.xplan-reservation form.single-product div div span button{
	position:absolute;
	left:500px;
}
.xplan-reservation div.xplan-mobile-cart{
	position:fixed;
	font-size:30px;
	color:#FFF;
	height:50px;
	width:50px;
	border-radius:25px;
	padding:10px;
	background-color:var(--global--color-primary);
	top: 200px;
	right: 0;
}
.xplan-reservation div.xplan-mobile-cart div{
	background-color:var(--global--color-primary);
	border-radius:5px;
	width:5px;
	height:5px;
	border:5px solid orange;
	position:absolute;
	right:2px;
	top:2px;
}
#xplan_detailed_cart_button{
	background-color:var(--global--color-primary);
}
.xplan-reservation div.single-prod.content.mob div.product-image, 
.xplan-reservation div.single-prod.content.mob div.product-text,
.xplan-reservation div.single-prod.content.mob div.product-description,
.xplan-reservation.mobile div.single-prod.content.mob div.product-options{
	display:inline; 
	width: 100%;
	padding-bottom:10px;
}

.xplan-reservation div.single-prod.content div.product-image,
.xplan-reservation div.single-prod.content div.product-description,
.xplan-reservation div.single-prod.content div.product-options input,
.xplan-reservation div.single-prod.content div.product-options select,
.xplan-reservation div.single-prod.content div.product-options textarea,
.xplan-reservation div.single-prod.content div.product-options button 
{
	margin-bottom:15px!important;
}

.xplan-reservation div.single-prod.content div.product-image{
	float:left; 
	display:block; 
	width: 33%;
	padding-top:30px;
}
.xplan-reservation div.product-group div.product-image img{
	float:left; 
	display:block; 
	width: 20%;
	margin:30px;
}
.xplan-reservation div.product-group div.product-image img.product-group-img{
	width: 100%;
	margin-left:0px
}
.xplan-reservation div.product-group p.product-cat-description{
	padding:30px;
}
.xplan-reservation div.single-prod.content div.product-text{
	float:left; 
	display:block; 
	/*width: 66%;*/
	padding-top:20px;
}
.xplan-reservation div.single-prod.content div.product-image{
	padding-right:30px;
}
.xplan-reservation div.single-prod.content div.product-text.full{
	width:100%;
}
.xplan-reservation div.single-prod.content div.product-description{
	display:inline-table;
}
.xplan-reservation div.single-prod.content div.product-text h3{
	border-bottom:1px solid #000;
}
.xplan-reservation div.single-prod.content div.product-text span.prod-price{
	float:right;
}
.xplan-reservation div.single-prod.content.mob form#dates-people div.people{
	width:100%;
}
.xplan-reservation div.single-prod.content form#dates-people div.date div.input-group.date{
	width:150px;
}
.xplan-reservation div.single-prod.content form#dates-people div.people.open{
	float:none;
}
.xplan-reservation div.single-prod.content form#dates-people div.people{
	float:right;
}
.xplan-reservation div.single-prod.content div.product-options{
	display:block;
	width:600px;
}
.xplan-reservation div.single-prod.content select{
	height:35px;
}
.xplan-reservation div.single-prod.content div.single.product.options div.col-5{
	display:none;
}
.xplan-reservation div.single-prod.content div.single.product.options .toggle.single-person{
	margin-bottom:10px;
}
.xplan-reservation div.single-prod.content div.single.product.options input.treatment-time{
	margin-top:15px;
}
.xplan-reservation form.single-entry div.single-person.entry{
	width:200px;
	padding:10px;
	z-index:5;
}
div.xplan-reservation div.product-group h2 div.treatment-all.sort select{
	padding: 10px;
    font-size: 14px;
}
div.xplan-reservation div.product-group h2 div.treatment-all.sort{
	float:right;
}
#primary .entry-content div.xplan-reservation div.product-group h2{
	border-bottom:1px solid #000;
	font-size:40px;
	padding:20px 0px;
}
.xplan-reservation div.col-sm-4.summary div.infos.right{
	margin-bottom:20px;
}
.xplan-reservation input.btn, 
.xplan-reservation button,
input[type="button"].login.btn.xplan-login-pop,
button.xplan-reservation-portal,
.xplan-reservation .reservation_back a.availability.btn{
	background-color:var(--button--color-background)!important;
	border:1px solid var(--button--color-border)!important;
	color:var(--button--color-text)!important;
	Height:auto;
}
.xplan-reservation input.btn:hover, 
.xplan-reservation button:hover,
input[type="button"].login.btn.xplan-login-pop:hover,
button.xplan-reservation-portal:hover,
.xplan-reservation .reservation_back a.availability.btn:hover{
	background-color:var(--button--color-background-hover)!important;
	border:1px solid var(--button--color-border-hover)!important;
	color:var(--button--color-text-hover)!important;
}

/* .xplan-reservation .xplan_button_navigation{
	position: sticky;
} */
.xplan-reservation .xplan_button_navigation button.btn, .xplan-reservation .xplan_button_navigation input.btn{
	margin-right:20px;
}
.xplan-reservation.mobile .xplan_button_navigation button.btn, .xplan-reservation.mobile .xplan_button_navigation input.btn{
	margin-top:3px!important;
	margin-bottom:3px!important;
	padding-left:0px!important;
	padding-right:0px!important;
	margin-left:0px!important;
	margin-right:0px!important;
}

.xplan-reservation.mobile .reservation_back a.availability.btn{
	margin-bottom:20px;
}

.xplan-reservation.mobile input.btn, .xplan-reservation.mobile button.btn{
	width:100%!important;
}
.xplan-reservation.mobile input.grouplessons.btn{
	margin:10px 0px;
}

.xplan-reservation.mobile button.cancel.reservation.btn{
	margin-left:0px!important;
}

.xplan-reservation form#checkout input.error,
.xplan-reservation form#checkout input.error,
.xplan-reservation form#checkout select.error, 
.xplan-reservation form#checkout textarea.error{
	background-color:#FFCCCC!important;
	border:1px solid #F00!important;
}

.xplan-reservation input[type="text"], 
.xplan-reservation input[type="email"], 
.xplan-reservation input[type="url"], 
.xplan-reservation input[type="password"], 
.xplan-reservation input[type="search"], 
.xplan-reservation input[type="number"], 
.xplan-reservation input[type="tel"], 
.xplan-reservation input[type="range"], 
.xplan-reservation input[type="date"], 
.xplan-reservation input[type="month"], 
.xplan-reservation input[type="week"], 
.xplan-reservation input[type="time"], 
.xplan-reservation input[type="datetime"], 
.xplan-reservation input[type="datetime-local"], 
.xplan-reservation select, 
.xplan-reservation input[type="color"], 
.xplan-reservation textarea{
	background-color:var(--form--color-background)!important;
	border:1px solid var(--form--border-color)!important;
	color:var(--form--color-text)!important;
/* 	border: 1px solid black!important;
	box-shadow: 1px 1px 5px 0.5px;
	border-radius: 3px; */
	display: flex;
	/*width: 295px;*/
	/*-webkit-appearance:none;*/
}

.xplan-reservation input[type='radio'],.xplan-reservation input[type='checkbox']{
	accent-color: var(--form--color-checked);
}

.xplan-reservation form.checkout.ing input[type="text"], 
.xplan-reservation form.checkout.ing input[type="email"], 
.xplan-reservation form.checkout.ing input[type="url"], 
.xplan-reservation form.checkout.ing input[type="password"], 
.xplan-reservation form.checkout.ing input[type="search"], 
.xplan-reservation form.checkout.ing input[type="number"], 
.xplan-reservation form.checkout.ing input[type="tel"], 
.xplan-reservation form.checkout.ing input[type="range"], 
.xplan-reservation form.checkout.ing input[type="date"], 
.xplan-reservation form.checkout.ing input[type="month"], 
.xplan-reservation form.checkout.ing input[type="week"], 
.xplan-reservation form.checkout.ing input[type="time"], 
.xplan-reservation form.checkout.ing input[type="datetime"], 
.xplan-reservation form.checkout.ing input[type="datetime-local"], 
.xplan-reservation form.checkout.ing select, 
.xplan-reservation form.checkout.ing textarea{
	display: flex!important;
}

.xplan-reservation input, .xplan-reservation select{
	width:auto;
	height:auto;
	appearance: auto;
}

.xplan-reservation.mobile form.checkout input.btn{
	margin-bottom:10px;
}

/* Custom fixes */

/*Bootstrap conflict*/

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: auto!important;
    -ms-flex-positive: auto!important;
    flex-grow: inherit!important;
    max-width: inherit!important;
	box-sizing: initial!important;
	margin-right:0px!important;
}

/* *, ::after, ::before {
    box-sizing: initial!important;
} */

/* Portal styles */

.xplan-reservation-portal{
	border-radius: 5px !important;
	padding-right: 22px;
}

ul.xplan-reservation-portal{
	display:none;
	position: absolute;
	z-index:9;
}
ul.xplan-reservation-portal li{
	background-color:#23282D;
	color:#FFF;
	z-index:9;
	text-align:center;
	height:40px;
	margin:0px;
	padding:10px;
}

ul.xplan-reservation-portal li a, ul.xplan-reservation-portal li a:visited{
	color:#FFF;
}

/* Terms and conditions booking checkbox */
.xplan-reservation input[type="checkbox"] + label::before{
    margin-top: 5px;
}

.xplan-reservation .xplan-login-feedback{
	color: blue;
	font-weight: bold;
}

.xplan-reservation .xplan-reservation-admin{
	border-radius: 5px;
}

.xplan-reservation .xplan-reservation-admin :hover{
	background: #e0858c !important;
}

.xplan-reservation input.login.btn{
	border-radius: 5px;
    margin-top: 2px;
    margin-left: 4px;
    /* margin-bottom: 41px; */
    padding-bottom: 25px;
    padding-right: 31px;
    padding-top: 24px;
    margin-bottom: -18px;
	}

.xplan-reservation input.login.btn :hover{
	background:#e0858c !important;
	}
	
.xplan-reservation div.modal-content{
	background-color: #ffffff;
    border-width: 5px;
	max-width: 355px;
    min-height: 360px;
}	
	
.xplan-reservation form#xplan-portal-customer-form input{
	border-radius: 5px;
	/* box-shadow: 1px 2px 5px 1px; */
	/* height: 30px; */
	/* display: flex; */
	/* width: 280px; */
    padding-right: 80px;
}

.xplan-reservation form#xplan-portal-customer-form a{
	margin-left: 11px;
    margin-top: 5px;
}

.xplan-reservation form#xplan-portal-customer-form a:hover{
	text-decoration: underline !important; /*hover forgot password*/
}

.xplan-reservation form#xplan-portal-customer-form .checkbox{
	display: flex;
    flex-direction: initial;
 }
 
.xplan-reservation form#xplan-portal-customer-form input[type="submit"]{
	 background: #4e95a9;
	 width: 0px;
	 margin-left: 12px;
 }
 
.xplan-reservation .xplan-reservation-portal{
	border-radius: 5px !important;
	padding-right: 22px;
}

.xplan-reservation ul.xplan-reservation-portal{
	display:none;
	position: absolute;
	z-index:9;
}
.xplan-reservation ul.xplan-reservation-portal li{
	background-color:#23282D;
	color:#FFF;
	z-index:9;
	text-align:center;
	height:40px;
	margin:0px;
	padding:10px;
}

.xplan-reservation ul.xplan-reservation-portal li a, 
.xplan-reservation ul.xplan-reservation-portal li a:visited{
	color:#FFF;
}

/* customer details */
.xplan-reservation form#xplan-portal-customer-form label{
	font-size: 15px;
}

.xplan-reservation form#xplan-portal-customer-form input[type=checkbox]{
	margin-bottom: 7px;
	margin-right: 185px;
}

.xplan-reservation form#xplan-portal-customer-form .submit_customer_details{
	border-radius: 3px;
	margin-left: 230px;
}

.xplan-reservation form#xplan-portal-customer-form #birthday{
	font-size: 15px;
	display: flex;
    flex-direction: row-reverse;
}


/* succes message submit customer form */

.xplan-reservation .alertsuccessubmit {
    background-color: #e0f2bf;
    color: #468a2b;
	border-radius: 5px;
	margin: 1px 0;
	padding: 6px;
	margin-right: 45px;
    padding-left: 10px;
    padding-top: 6px;
	margin-bottom: 15px;
    transition: all .4s;
	display: none;
}

.xplan-reservation .alerterrorsubmit {
	background-color: var(--global--font-primary);
    color: #D8000C;
	border-radius: 5px;
	margin: 1px 0;
	padding: 6px;
	margin-right: 45px;
    padding-left: 10px;
    padding-top: 6px;
	margin-bottom: 15px;
	display: none;
}

/* succes message submit email forgotten*/

.xplan-reservation .alertsuccessforgotten {
    background-color: #e0f2bf;
    color: #468a2b;
	border-radius: 5px;
	margin: 1px 0;
	padding: 6px;
	margin-right: 45px;
    padding-left: 10px;
    padding-top: 6px;
	margin-bottom: 15px;
    transition: all .4s;
	display: none;
}

.xplan-reservation .alerterrorforgotten {
	background-color: var(--global--font-primary);
    color: #D8000C;
	border-radius: 5px;
	margin: 1px 0;
	padding: 6px;
	margin-right: 45px;
    padding-left: 10px;
    padding-top: 6px;
	margin-bottom: -29px;
	display: none;
}

/* Cancel your reservation button */
button.cancel.reservation.btn{
	/* border-radius: 20px; */
	color: red!important;
    border-color: red!important;
	/* margin-left: 25px!important; */
}

button.cancel.reservation.btn:hover{
	color: #D8000C!important;
    background-color: #FFBABA!important;
    border: solid 1px #D8000C!important;
}

/* Newly added styles */

.xplan-reservation #reservation_review .person .product_info .product .prodtime{
	padding:0px;
	padding-left:20px;
	font-style:italic;
}
.xplan-reservation #reservation_review .person .product_info .product .prodname{
	margin:0px;
}
.xplan-reservation.mobile #reservation_review .person .product_info .product .prodname{
	margin:0px;
	width:50vw;
}
.xplan-reservation #reservation_review .total .value{
	text-align:right;
	margin-left:30px;
}

.xplan-reservation.mobile #reservation_review .row.date, .xplan-reservation.mobile #reservation_review .row.time{
	margin:10px 0px;
	width:100%;
}
.xplan-reservation.mobile #reservation_review .row.date div, .xplan-reservation.mobile #reservation_review .row.time div{
	display:contents;
}

.xplan-reservation.mobile #reservation_review .row.date div p, .xplan-reservation.mobile #reservation_review .row.time div p{
	padding-right:5px;
}

.xplan-reservation.mobile #reservation_review .col-sm-4{
	width:auto!important;
	left:70%;
	bottom:25px;
}
.xplan-reservation.mobile #reservation_review .row.person p.person-highlight{
	padding:10px 0px;
}

.xplan-reservation.mobile #reservation_review .row.collection{
	margin:0px;
	padding:0px;
	height:auto;
}
.xplan-reservation.mobile #reservation_review .row.collection p.collprice{
	position:relative;
	bottom:25px;
	font-weight:500;
	display:contents;
}
.xplan-reservation.mobile #reservation_review .row.collection p.collname{
	width: 50vw!important;
	/*text-overflow: ellipsis;*/
	overflow: hidden;
	font-weight:500;
	/*white-space: nowrap;*/
}
.xplan-reservation.mobile #reservation_review .row.collection.product p{
	font-weight:normal;
	position:relative;
	bottom:35px;
}

.xplan-reservation.mobile #reservation_review .row.product .col-sm-4 .prodprice{
	position:relative;
	bottom:25px;
	display:contents;
}

.xplan-reservation.mobile #reservation_review .total .value{
	position:relative;
	right:10%;
	bottom:25px;
}

.xplan-reservation #reservation_review .redeem .row div{
	vertical-align:middle;
	padding-top:0px;
}

/* .xplan-reservation div#xplan_payment_methods_popup button.close{
	position:absolute;
	right:220px;
} */

/* .xplan-reservation div#xplan_payment_methods_popup{
	text-align:center;
	padding-right:50%;
} */

.xplan-reservation div#xplan-login-popup .modal-content input[type='email'], .xplan-reservation div#xplan-login-popup .modal-content input[type='password']{
	min-width:300px;
}
.xplan-reservation div#xplan_payment_methods_popup .modal-content, .xplan-reservation div#cart-popup .modal-content{
	height:auto;
	min-height:auto;
}

.xplan-reservation div#xplan_payment_methods_popup form#form-stripe-payment{
	margin:0px;
	min-width:98%;
}
.xplan-reservation div#xplan_payment_methods_popup div.redeem{
	padding:5px 0px;
}
.xplan-reservation div#xplan_payment_methods_popup button.small.giftcard-redeem.btn,
.xplan-reservation div#xplan_payment_methods_popup #form-stripe-payment,
.xplan-reservation div#xplan_payment_methods_popup #form-stripe-payment button
{
	min-width:100%;
	border-radius:5px;
}
.xplan-reservation div#xplan_payment_methods_popup table, .xplan-reservation div#xplan_payment_methods_popup table tr, .xplan-reservation div#xplan_payment_methods_popup table tr td{
	border:0px;
}
.xplan-reservation div#xplan_payment_methods_popup table tr td.field{
	width:60%;
}
/* .xplan-reservation div#xplan_payment_methods_popup button{
	width: auto!important;
} */
.xplan-reservation div#xplan_payment_methods_popup #ogone_form button{
	margin-left:0px!important;
	width: auto!important;
}
.xplan-reservation div#xplan_payment_methods_popup .redeem input{
	width:100%!important;
	height:35px;
}
.xplan-reservation .treatment-all div.person.option div.toggle.single-person div.text,
.xplan-reservation .treatment-all div.person.option.active div.toggle.single-person div.text{
	width:150px;
}
.xplan-reservation.mobile .treatment-all div.person.option div.toggle.single-person div.text,
.xplan-reservation.mobile .treatment-all div.person.option.active div.toggle.single-person div.text{
	width:auto;
}
.xplan-reservation .treatment-all div.person.option.active.no-time div.options,
.xplan-reservation .product.option.single-treatment div.person.option.active.no-time div.options{
	display:none!important;
}

.xplan-reservation .treatment-all div.product.option input.availability.btn{
	margin-top:10px;
	margin-bottom:10px!important;
}

input.login.btn.xplan-login-pop{
	/*margin-right:200px!important;*/
}

div.xplan-reservation-header button, div.xplan-reservation-header input{
	float:left;
	margin-right:20px;
}
div.xplan-reservation-header.admin, div.xplan-reservation-header.portal{
	margin-bottom:20px;
	display:inline-block;
}
div.xplan-reservation-header.mobile{
	display:inline-block;
}
button.xplan-reservation-admin{
	margin-bottom: 15px;
    border-radius: 25px;
    font-size: 13px;
    box-shadow: 0px 0px 5px 0px black;
}

div#style-settings button{
	border-style:outset;
	border-width:2px;
	border-color:#000;
}
div#style-settings div#modal-of-style{
	border-style:outset;
	border-width:3px;
	background-color:lightgrey;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
div#style-settings div#style-settings-class{
	font-weight:bold;
	border:5px groove grey;
	font-size:18px;
}
div#style-settings div#style-settings-class:hover{
	cursor:grab;
}
div#style-settings a#clear-style{
	position:absolute;
	top:0px;
	right:0px;
}
div#style-settings div#style-settings-edit.modal-body input, div#style-settings div#style-settings-edit.modal-body select{
	/* width:50%; */
	float:none;
	padding:5px;
}
div#style-settings div#style-settings-edit.modal-body input[type=color]{
	margin-right: 0;
	width: 0px;
    background-image: url(../img/palette.png);
    background-repeat: no-repeat;
    /* text-indent: 20px; */
    background-color: inherit;
    border: none;
	padding:10px;
}

div#style-settings div#style-settings-edit.modal-body{
	overflow-y: scroll;
	height:500px;
}
div#style-settings div#style-settings-edit.modal-body p span{
	display:table-cell;
	font-weight:bold;
}

div#style-settings td{
	border-left: none!important;
	border-right: none!important;
}

.cursor-not-allowed{
	cursor: not-allowed!important;
}

@media all and (max-width: 800px){
	div.datepicker.datepicker-dropdown.dropdown-menu.datepicker-orient-bottom{
		left:0px!important;
	}
	button.xplan-reservation-admin{
		display:none;
	}
}
div.product-group table.productgroup-table tr.productgroup-row.info td.product-description{
	margin-left:0px;
}
div.product-group table.productgroup-table button{
	padding:10px;
}

.xplan-reservation .modal button.close:hover{
	/*background-color: red!important;*/
	color: #FFF!important;
}

.xplan-reservation .modal button.close:before, .xplan-reservation .modal button.close:after{
	position: unset;
}

.xplan-reservation .modal button.close{
	position:absolute;
	left:300px;
	top: 20px;
	border-radius: 30px!important;
	padding-top: 3px!important;
    padding-bottom: 32px!important;
    width: 40px!important;
    height: 40px!important;
    padding-left: 11px!important;
	
}

.xplan-reservation.mobile .modal button.close{
    margin-top: -10px!important;
	margin-left: 29px!important;
	left: 270px!important;
}
/* .xplan-reservation.mobile .modal button.close span{
    position: relative;
	left: 2px;
    top: 3px;
} */

/* .xplan-reservation #xplan_payment_methods_popup button.close{
	position:absolute;
	left:-200px;
} */

.xplan-reservation #xplan_payment_methods_popup form#form-mollie-payment button, .xplan-reservation #xplan_payment_methods_popup form#form-stripe-payment button{
	width:300px;
}

.xplan-reservation input.retail.amount{
	width:60px;
	display:inline;
	padding:0px;
	text-align:center;
}

.xplan-reservation .modal.fade.show{
	opacity: 1.0!important;
}

.datepicker table tr td.disabled-date{
	background-color:#FFBDBD!important;
}
.xplan-reservation form#dates-people div.memo{
	padding-bottom:20px;
}

.xplan-reservation .col-sm-3 {
    max-width: 31%;
}

.xplan-reservation.mobile .productgroup-row.title.more{
	display: grid;
    width: 335px;
}

/* Buy a giftCard*/
.xplan-reservation.mobile .productgroup-row.title{
	display: grid;
}

.xplan-reservation.mobile .productgroup-row.info td{
	display:table-row!important;
	width:50vw!important;
}
.xplan-reservation.mobile .productgroup-row.info td img{
	width:70vw;
	margin:20px;
}
.xplan-reservation .portal.reservations.overview .reservation-dets{
	display:none;
}
.xplan-reservation .portal.reservations.overview{
	display:block;
}
.portal.reservations.overview li{
    list-style: none!important;
	display:block;
}

#modal-of-style{
  overflow-x:hidden;
  overflow-y:auto;
  min-height:200px;
  max-height:650px;
}

#xplan_detailed_cart_button{
	position: relative;
}

.cart_numberbadge{
	width: 15px;
    height: 15px;
    position: absolute;
    right: -5px;
    bottom: -5px;
    border: red;
    border-style: solid;
    border-radius: 10px;
    background-color: red;
}

.cart_numberbadge_number{
	position: absolute;
    color: white;
    font-size: 10px;
    bottom: -3px;
    right: 2px;
}

/*New datepicker style*/
div.xplan-reservation.mobile div.container-fluid{
	padding:0px!important;
	margin:0px!important;
}
div#datepicker-calendar{
	border:1px solid var(--form--border-color)!important;
	/*display:none;*/
}
div#datepicker-calendar .datepicker-inline {
    width: 100%;
}
.xplan-reservation td.day{
	border: 3px solid #FFF!important;
	border-radius:10px;
}
.xplan-reservation td.day:after{
	display: inline-block;
	vertical-align: top;
	position: relative;
	bottom: 5px;
	left: 15px;
}
/* .xplan-reservation.mobile td.day:after{
	display: inline-block;
	vertical-align: top;
	position: inherit;
} */
.xplan-reservation td.day.disabled{
	cursor:not-allowed!important;
}
.xplan-reservation div.date-legenda{
	margin:20px;
}
.xplan-reservation div.date-legenda span{
	padding:2px 5px;
	margin-right:10px;
	font-weight:bold;
	border-radius:20px;
	font-size:15px;
}
.xplan-reservation div.date-legenda span:after{
	font-family: dashicons;
	content: "\f14c";
	display: inline-block;
	vertical-align: right;
}
.xplan-reservation div.date-legenda p.leg{
	font-size:10px;
}

.xplan-reservation span.cal-small{
	font-size:10px!important;
	position: fixed;
	overflow: hidden;
	color:#000;
	width:50px;
	background-color:transparent;
}

/* Membership styles */
.xplan-reservation div.col.membership, #portal-content{
	width:90%!important;
	color:var(--global--color-primary);
	border-color:var(--global--color-primary);
}
#xplan-portal-customer-form p{
	padding:0px!important;
}

/* Quick flow styles */
.xplan-reservation .quicktreatments.overview .group{
	display:none;
}
.xplan-reservation .quicktreatments.overview .group.active{
	display:block;
}
.xplan-reservation .quicktreatments.overview .product{
	border:1px solid var(--main--border-color);
	padding:5px;
	margin-bottom:5px;
}
.xplan-reservation .quicktreatments.overview .product:hover{
	color:var(--global--color-primary);
	border-color:var(--global--color-primary);
	cursor:pointer;
}
.xplan-reservation .quicktreatments.overview .product h3{
	font-size:20px!important;
}
.xplan-reservation .quicktreatments.overview .product h3 span.productprice{
	float:right;
}
.xplan-reservation .quicktreatments.overview .product p.description{
	color:inherit!important;
	white-space: nowrap;
	overflow: hidden;
   display: -webkit-box;
	-webkit-line-clamp: 2; /* number of lines to show */
		   line-clamp: 2; 
	-webkit-box-orient: vertical;
	max-width: 80%;
	/*text-overflow: ellipsis;*/
}

.xplan-reservation table.direct-payment.overview, .xplan-reservation table.direct-payment.overview tr, .xplan-reservation table.direct-payment.overview tr td{
	border:0px;
}

.xplan-reservation table.direct-payment.overview, .xplan-reservation table.direct-payment.overview tr.line-top{
	border-top:1px solid #dee2e6;
}

.xplan-reservation table.direct-payment.overview td.person{
	font-weight:bold;
}

.xplan-reservation div.direct-payment button.btn.payment{
	margin-top:20px;
	padding:10px;
}

.xplan-reservation p.prodprice{
	display: flex;
	justify-content: flex-end;
	gap: 4px;
	font-variant-numeric: tabular-nums;
}

.xplan-reservation span.symbol{
	flex-shrink: 0;
}
.xplan-reservation span.price{
	min-width: 50px;
	text-align: right;
}

.password-wrapper {
	position: relative;
	width: 100%;
}


.toggle-password {
	display: block;
	width: 100%;
    position: absolute;
    top: 30px;
    right: -70px;
    cursor: pointer;
}

.toggle-password svg {
	height: 1.2em;
	width: 1.2em;
	fill: #666;
}