html
{
	overflow-x: hidden;
}

body,
body > [id="app"],
.front-page,
.auth-page,
.back-page
{
	position: absolute;

	line-height: 1.5em;
	min-height: 100%;
	width: 100%;

	margin: 0;
	top: 0;
	right: auto;
	left: 0;
	bottom: auto;

	font-family: "Noto Sans", sans-serif;
	font-weight: 400;
	font-size: 16px;
}

.front-page
{
	display: flex;

	flex-direction: column;

	padding-top: 0;
}

.front-page-header
{
	position: relative;

	width: 100%;
}

.back-page
{
	background-color: #F5F5F5;
}

.auth-page
{
	display: flex;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.front-page
	{
		flex-wrap: wrap;
	}

	.auth-page
	{
		flex-wrap: wrap;
	}
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.front-page
	{
		padding-top: 74px;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.front-page
	{
		padding-top: 66px;
	}

	.direct-booking-page
	{
		padding-top: 0;

		background-image: none!important;
	}
}

.page-content
{
	padding-top: 84px;
	padding-bottom: 20px;
}

.page-bottom
{
	width: 100%;

	flex-grow: 1;
}

.page-container + .page-bottom:empty
{
	display: none;
}

html
{
	box-sizing: border-box;
}

*,
:before,
:after
{
	box-sizing: inherit;
}
button
{
	line-height: 1em;

	padding: 0;

	background: none;

	font-family: inherit;
	font-size: inherit;

	cursor: pointer;
	-webkit-user-select: none;
	 -khtml-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;

	border: none;

	box-shadow: none;

	overflow: visible;

	-webkit-appearance: none;
	-webkit-touch-callout: none;
}

button:disabled
{
	cursor: default;
}

button:focus
{
	outline: none;
}

img
{
	display: block;
}
a:not([class]),
.c-link
{
	position: relative;
	display: inline-flex;

	line-height: 1em;

	padding: 2px 3px;

	color: inherit;
	text-decoration: none;

	overflow: hidden;

	transition: color 240ms;

	box-sizing: content-box;

	z-index: 0;
}

a:not([class]):focus,
a:not([class]):active,
a:not([class]):hover,
.c-link:hover,
.c-link:focus,
.c-link:active
{
	color: #FFF;

	outline: none;

	transition: color 220ms ease 20ms;
}

a:not([class]):before,
.c-link:before
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-color: #163768;

	content: "";

	transition: transform 220ms ease 20ms;
	transform: scaleY(0) scaleX(1.2);
	transform-origin: bottom;

	z-index: -1;
}

a:not([class]):focus:before,
a:not([class]):active:before,
a:not([class]):hover:before,
.c-link:hover:before,
.c-link:focus:before,
.c-link:active:before
{
	transition: transform 240ms ease;
	transform: scaleY(1) scaleX(1.2);
}

a:not([class]):after,
.c-link:after
{
	position: absolute;

	height: 2px;
	width: 100%;

	left: 0;
	bottom: -1px;

	background-color: #163768;

	content: "";

	z-index: -1;
}

.c-link--cgu
{
	position: relative;
	display: inline;

	height: auto;
	line-height: unset;
	min-height: 0;
	width: auto;

	margin: 0;
	top: 1px;
	padding: 0 1px;

	font-size: 1em;

	cursor: pointer;
	text-transform: none;
	word-break: break-word;

	border-radius: 0;
	border: none;
	border-bottom: 1px solid currentColor;

	overflow: auto;

	transition: background-color 240ms ease, color 240ms ease, border-color 240ms ease;
}

.c-link--cgu:hover
{
	background-color: #003565;

	border-radius: 4px;
	border-color: #003565;
}

.c-link--cgu:before,
.c-link--cgu:after
{
	display: none;
}

strong
{
	font-weight: 600;
}

input
{
	font-family: inherit !important;
}

select
{
	font-family: inherit !important;
}

h2:not([class])
{
	line-height: 1.3em;
}

@font-face
{
	font-family: 'Google Sans';
	font-weight: 400;
	font-style: normal;

	src: url(//fonts.gstatic.com/s/googlesans/v14/4UaGrENHsxJlGDuGo1OIlL3Owps.ttf) format('truetype');
}
@font-face
{
	font-family: 'Google Sans';
	font-weight: 500;
	font-style: normal;

	src: url(//fonts.gstatic.com/s/googlesans/v14/4UabrENHsxJlGDuGo1OIlLU94YtzCwM.ttf)format('truetype');
}

ul
{
	margin: 0;
	padding-left: 0;

	list-style: none;
}

ul:not([class])
{
	margin: 10px 0;
	padding-left: 40px;

	list-style: disc;
}
:root,
::after,
::before
{
	--primary: #163768;
	--orange: #F86E2F;
	--black-lighter: #7A7A7A;
}

.o-content
{
	padding: 0 15px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.o-content
	{
		padding: 0 10px;
	}
}

.o-detailed-availability
{
	display: flex;

	flex-wrap: wrap;

	margin-bottom: 25px;
}

.o-detailed-availability__heading
{
	position: relative;

	width: 370px;
	max-width: 100%;

	margin-right: 25px;
	margin-bottom: 25px;

	flex-shrink: 0;
	flex-grow: 0;
}

.o-detailed-availability__special-txt
{
	display: block;

	line-height: 1.3;
	width: 100%;

	margin-top: 16px;

	font-style: italic;
	font-size: .9rem;
	color: #4CAF50;
}

.o-detailed-availability__content
{
	min-height: 280px; /* prevent scroll jump for date btn */

	flex-shrink: 0;
}

.o-detailed-availability__picker
{
	position: relative;
	display: flex;

	justify-content: center;
}

.o-detailed_availability__infos
{
	position: relative;

	min-width: 280px; /* prevent date btn width jump */
}

/* -------------- Mobile (small) -------------- */
@media (max-width: 424px)
{
	.o-detailed_availability__infos
	{
		width: 280px;
		min-width: 0;
		max-width: 100%;
	}
}

.o-front-header
{
	position: absolute;
	display: flex;

	width: 100%;

	top: 0;
	left: 0;
	padding: 10px 30px 4px;

	border-width: 8px 0 0 0;

	z-index: 100;

	align-items: center;
}

.o-front-header--inline
{
	position: relative;

	padding-bottom: 8px;

	background-color: #0D3768;
}

/* ----------------- Desktop ------------------ */
@media (min-width: 1537px)
{
	.o-front-header
	{
		margin: auto;

		justify-content: center;
	}
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.o-front-header
	{
		position: fixed;

		width: 100%;

		top: 0;
		left: 0;
		padding: 4px 10px 4px;

		background-color: #0D3768;

		border-width: 0 0 4px 0;

		z-index: 20;

		align-items: center;
		justify-content: space-between;
	}
}

/* ------------- Laptop & Desktop ------------- */
@media (min-width: 1201px)
{
	.o-front-header--fixed
	{
		width: 100%;

		top: 0;
		padding: 13px 25px 15px;

		border-bottom: 1px solid #163768;

		animation-name: header-appear;
		animation-duration: 320ms;
	}
}

.o-front-header--simple
{
	position: relative;

	padding: 15px 0;

	justify-content: center;
}

.o-front-header__logo-link:focus,
.o-front-header__logo-link:visited
{
	text-decoration: none;

	outline: none;
}

.o-front-header__logo
{
	display: block;

	height: 74px;
	width: auto;

	transition: height 320ms ease;

	flex-shrink: 0;
}

.o-front-header--direct-booking .o-front-header__logo
{
	height: 87px;

	transform: translate3d(0, 0, 0);
}

/* ------------- Laptop & Desktop ------------- */
@media (min-width: 1201px)
{
	.o-front-header--fixed .o-front-header__logo
	{
		height: 100px;
	}
}

.o-front-header__logo-link
{
	display: flex;

	flex-direction: column;

	margin-top: 6px;

	align-items: center;
}

.o-front-header--simple .o-front-header__logo-link
{
	margin-right: 0;
}

.o-front-header__logo-baseline
{
	font-size: .8em;
	color: #163768;

	text-align: center;
	text-transform: uppercase;
}

/* ----------------- Laptop ------------------- */
@media (min-width: 1201px) and (max-width: 1536px)
{
	.o-front-header__logo-link
	{
		margin-right: 80px;
	}
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.o-front-header__logo-link
	{
		margin-top: 0;
		margin-right: 12px;
	}

	.o-front-header__logo
	{
		height: 66px;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.o-front-header__logo
	{
		height: 58px;
	}
}

.o-front-header--simple .o-front-header__logo
{
	height: 60px;
	width: auto;

	margin: 0 auto;
}

.o-front-header__content
{
	flex-grow: 1;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.o-front-header__content
	{
		position: absolute;
		visibility: hidden;
		opacity: 0;

		width: 100%;

		top: 100%;
		margin-top: 0;
		left: 0;
		padding-bottom: 12px;

		background-color: #003768;

		border-bottom: 2px solid #FFF;

		transition: visibility 420ms ease, transform 420ms ease, opacity 320ms ease;
		transform: translateY(15px);
	}

	.o-front-header--open .o-front-header__content
	{
		visibility: visible;
		opacity: 1;

		transform: translateY(0);
	}
}

.o-front-header__top
{
	display: flex;

	padding-right: 0;
	padding-bottom: 25px;

	border-bottom: 1px solid #E3CEA9;

	transition: padding 320ms ease;

	justify-content: flex-end;
}

/* ------------- Laptop & Desktop ------------- */
@media (min-width: 1201px)
{
	.o-front-header--fixed .o-front-header__top
	{
		padding-bottom: 15px;
	}
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.o-front-header__top
	{
		flex-direction: column;

		padding-top: 0;
		padding-bottom: 0;
	}
}

.o-front-header__bottom
{
	display: flex;

	justify-content: flex-end;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.o-front-header__bottom
	{
		padding-top: 0;
		padding-bottom: 0;
	}
}

.o-front--header__welcome-txt
{
	font-weight: 400;
	font-size: 1.2rem;
	color: #FFF;

	text-align: right;

	align-self: center;
	flex-grow: 1;
	justify-content: flex-end;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.o-front--header__welcome-txt
	{
		font-size: 1rem;
	}
}

.o-front-header__navbar
{
	display: block;

	width: auto;

	margin: 0;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.o-front-header__navbar
	{
		width: 100%;
	}
}

.o-front-header__actions
{
	display: flex;

	margin: 0;
}

.o-front-header__toggle
{
	position: relative;
	display: flex;

	margin-right: 10px;

	color: #FFF;

	border-radius: 0;

	align-items: center;
}

.o-front-header__toggle-label
{
	display: flex;

	height: 36px;

	margin-right: 6px;
	padding: 0 5px;

	font-weight: 500;

	align-items: center;
}

.o-front-header__toggle-icon
{
	height: 1em;
	width: 1em;

	font-size: 32px;
}

/* ------------- Laptop & Desktop ------------- */
@media (min-width: 1201px)
{
	.o-front-header__toggle
	{
		display: none;
	}
}

@keyframes header-appear
{
	0%
	{
		transform: translate3d(0, -100%, 0);
	}

	100%
	{
		opacity: 1;

		transform: translate3d(0, 0, 0);
	}
}

.o-grid
{
	display: flex;

	flex-wrap: wrap;
	gap: var(--gap-w);
	--row-gap: calc(var(--gap-w) * var(--gaps) + 1px);

	--item-width: calc(100% / var(--i-count));
	--i-count: 4;
	--base-item-w: calc(100% / var(--i-count));
	--gaps: calc(var(--i-count) - 1);
	--gap-w: 30px;
}

/* ----------------- Laptop ------------------- */
@media (min-width: 1201px) and (max-width: 1536px)
{
	.o-grid
	{
		--i-count: 3;
	}
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.o-grid
	{
		--i-count: 2;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.o-grid
	{
		--i-count: 1;
	}
}

.o-grid__item
{
	width: calc(var(--item-width) - calc(var(--row-gap) / var(--i-count)));
}

/*
	$green       : #42A343;
	$light_green : #BDD261;

	$blue       : #0a587f;
	$light_blue : #51B2CA;
	$dark_blue  : #4D728E;

	$red : #E5433B;
	$pink: #E983B4;
*/

.o-header
{
	display: flex;

	height: 64px;
	width: calc(100% - 265px);

	margin-left: auto;

	font-size: 1em;

	justify-content: space-between;
}

.o-header--full
{
	width: 100%;
}

.o-header__menu-actions
{
	display: flex;

	align-items: center;
}

.o-header__center
{
	display: flex;

	gap: 6px 12px;

	align-items: center;
}

.o-header__menu-actions svg
{
	color: #003768;
}

.o-header__title
{
	display: flex;

	padding-right: 10px;

	font-size: 1.4em;
	color: #003768;

	align-items: center;
	flex-shrink: 0;
}

.o-header__title-txt
{
	position: relative;
	display: flex;

	margin-right: 20px;

	align-items: center;
	flex-shrink: 0;
}

.o-header__logo
{
	display: flex;
}

.o-header__logout
{
	font-size: 1.4em;
	color: #003768;

	cursor: pointer;

	align-self: center;
}

.o-header__action-btn
{
	position: relative;
	display: flex;

	padding: 0 15px;

	color: #003768;

	align-items: center;
}

.o-header__action-btn:before
{
	position: absolute;
	display: block;

	height: 30px;
	width: 2px;

	left: -1px;

	background-color: currentColor;

	content: "";
}

.o-header__hotel-selection-container
{
	position: fixed;

	height: 0;
	width: 0;

	top: 0;
	top: 0;
	left: 0;
	left: 0;

	z-index: 2000;
}

.o-header__hotel-selection
{
	position: absolute;
	display: block;
	visibility: hidden;
	opacity: 0;

	width: 80vw;
	max-width: 90vw;

	top: 100px;
	margin-top: 6px;
	left: 10vw;
	padding: 20px 15px;

	background-color: #FFF;

	border-radius: 7px;

	box-shadow: 0 0 10px 0 rgb(0 0 0 / 10%);

	transition: visibility 320ms ease, opacity 240ms ease 80ms, transform 320ms ease;
	transform: translateY(10px);

	z-index: 2;

	align-items: center;
}

.o-header__hotel-selection:not(.is-visible) *
{
	visibility: hidden;
}

.o-header__hotel-selection.is-visible
{
	visibility: visible;
	opacity: 1;

	transition: visibility 320ms ease, opacity 240ms ease, transform 320ms ease;
	transform: translateY(0);
}

.o-header__hotel-selection__bg
{
	position: fixed;
	visibility: hidden;
	opacity: 0;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-color: #9A8C8CBF;

	transition: opacity 200ms ease 140ms;
	transform: translateZ(0);
	animation: cover-animation 320ms ease;

	z-index: 1;
}

.o-header__hotel-selection__bg.is-visible
{
	visibility: visible;
	opacity: 1;
}

.o-header__hotel-switcher
{
	width: 100%;
}

.o-header__hotel-info-title
{
	margin-top: -5px;
	margin-bottom: 12px;

	font-weight: 500;
	font-size: 1.4em;
	color: #252242;
}

.o-img-slider
{
	position: relative;

	height: 400px;
	width: 100%;

	overflow: hidden;
}

.o-img-slider--show-overflow
{
	overflow: visible;
}

.o-img-slider--auto
{
	height: 550px;
}

.o-img-slider--service
{
	height: 240px;

	border-radius: 20px;

	box-shadow: 0 5px 5px 0 rgb(224 224 224);
}

.o-img-slider--fill-height
{
	height: 100%;
}

.o-img-slider--darkened:after
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-color: rgba(0, 0, 0, .4);

	content: "";

	z-index: 1;
}

.o-img-slider--news
{
	position: relative;

	height: 700px;
	max-height: 70vh;
	width: 50%;
	width: 100%;

	z-index: -2;

	flex-grow: 1;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.o-img-slider--news
	{
		width: 100%;
	}
}

.o-img-slider--with-captions
{
	position: relative;
}

.o-img-slider__custom-content
{
	position: absolute;
	display: flex;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	z-index: 3;
}

.o-img-slider__translate
{
	position: absolute;
	display: flex;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	overflow: visible;

	transition: transform 600ms ease;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.o-img-slider__translate
	{
		transition-duration: 420ms;
	}
}

/* --------------- Touchscreens --------------- */
@media (hover: none) and (pointer: coarse)
{
	.o-img-slider__translate
	{
		transition-duration: 420ms;
	}
}

.o-img-slider__img
{
	position: static;
	display: block;

	height: 100%;
	width: 100%;

	font-family: "object-fit: cover; object-position: center;";

	flex-shrink: 1;
	object-fit: cover;
	object-position: center;
}

.o-img-slider__element .o-img-slider__img
{
	height: auto;
}

.o-img-slider--cover .o-img-slider__img
{
	font-family: "object-fit: cover;";

	object-fit: cover;
}

.o-img-slider__img + .o-img-slider__img
{
	display: none;
}

.o-img-slider--ready .o-img-slider__img + .o-img-slider__img
{
	display: block;
}

.o-img-slider--auto .o-img-slider__img
{
	height: 50px;
	width: calc(100% - 68px - 68px);

	flex-grow: 1;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.o-img-slider--auto .o-img-slider__img
	{
		width: 100%;
	}
}

.o-img-slider--cover .o-img-slider__img
{
	width: 100%;
}

.o-img-slider__element
{
	position: relative;
	display: flex;

	flex-direction: column;

	height: 100%;
	width: 100%;

	padding: 0;

	align-items: center;
	justify-content: center;
}

.o-img-slider__img-title
{
	display: flex;

	width: auto;

	margin: 0 0 0;
	padding: 4px 20px;

	background-color: #113565;

	font-size: 1.05rem;
	color: #FFF;

	text-align: center;
	text-indent: 0;

	border-bottom-right-radius: 6px;
	border-bottom-left-radius: 6px;

	flex-grow: 0;
	flex-shrink: 0;
	align-self: center;
	align-items: center;
	justify-content: center;
}

.o-img-slider__left,
.o-img-slider__right
{
	position: absolute;
	opacity: .95;

	height: 1em;
	width: 1em;
	min-width: 0;

	margin: 0;
	top: 50%;
	margin-top: -.5em;
	right: 0;
	bottom: 0;
	padding: 0;

	background-color: #F5F5F5;

	font-size: 48px;
	color: #1E58BB;

	border-radius: 50%;

	box-shadow: 0 0 8px 2px rgb(0 0 0 / 30%);

	transition: background-color 320ms ease, color 240ms ease;

	z-index: 10;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.o-img-slider__left,
	.o-img-slider__right
	{
		display: none;
	}
}

/* --------------- Touchscreens --------------- */
@media (hover: none) and (pointer: coarse)
{
	.o-img-slider__left,
	.o-img-slider__right
	{
		display: none;
	}
}

.o-img-slider--first .o-img-slider__left,
.o-img-slider--first .o-img-slider__left:hover,
.o-img-slider--last .o-img-slider__right,
.o-img-slider--last .o-img-slider__right:hover
{
	background-color: #C2C2C2;

	color: #858585;

	cursor: default;

	box-shadow: 0 0 8px 2px rgb(0 0 0 / 30%);
}

.o-img-slider__left
{
	left: 10px;

	transition: background-color 320ms ease, color 240ms ease 120ms;
}

.o-img-slider__right
{
	right: 10px;
}

.o-img-slider__left:hover,
.o-img-slider__right:hover
{
	background-color: hsl(0, 0%, 27%);

	color: #FFF;
}

.o-img-slider__left:hover,
.o-img-slider__right:hover
{
	background-color: hsl(218deg 73% 44%);

	color: #FFF;
}

.o-img-slider__left:after,
.o-img-slider__right:after
{
	position: absolute;

	height: 1em;
	width: 1em;

	left: 50%;

	font-size: 12px;

	content: "";

	border-width: 0;
	border-style: solid;
	border-color: currentColor;

	transform: none;
}

.o-img-slider__right:after
{
	margin-left: -8px;

	border-width: 2px 2px 0 0;

	transform: rotate(45deg);
}

.o-img-slider__left:after
{
	margin-left: -4px;

	border-width: 0 0 2px 2px;

	transform: rotate(45deg);
}

.o-img-slider__fullscreen-toggle
{
	position: absolute;
	display: flex;

	right: 6px;
	bottom: 6px;

	font-weight: 700;
	color: #FFF;

	text-transform: none;

	text-shadow: 1px 1px 2px rgba(0, 0, 0, .3);
}

.o-img-slider__fullscreen-toggle-icon
{
	height: 1em;
	width: 1em;

	margin-right: 6px;

	font-size: 18px;
}

.o-img-slider__fullscreen-img
{
	height: 100%;
	width: auto;

	align-self: center;
}

.o-img-slider__progress
{
	position: absolute;
	display: flex;

	left: 50%;
	bottom: 20px;

	transform: translateX(-50%);

	z-index: 10;

	align-items: center;
}

.o-img-slider__outside-progress
{
	position: absolute;

	max-width: none;

	left: 50%;
	bottom: 0;

	transform: translateX(-50%) translateY(100%);
}

.o-img-slider__progress.is-outside
{
	position: relative;

	max-width: none;

	top: 0;
	right: auto;
	left: 0;
	bottom: auto;

	transition: transform 120ms ease;
	transform: translateX(0);

	will-change: transform;
}

.o-img-slider__progress-control
{
	display: block;
	opacity: .7;

	height: 1em;
	width: 1em;

	background-color: #FFF;

	font-size: 10px;

	border-radius: 50%;

	z-index: 1;
}

.o-img-slider__progress.is-outside .o-img-slider__progress-control
{
	opacity: 1;

	height: auto;
	width: auto;

	padding: 10px 8px 0;

	background: none;
}

.o-img-slider__progress-control + .o-img-slider__progress-control
{
	margin-left: 8px;
}

.o-img-slider__progress.is-outside .o-img-slider__progress-control + .o-img-slider__progress-control
{
	margin-left: 0;
}

.o-img-slider__progress-control.active
{
	opacity: 1;

	font-size: 14px;
}

.o-img-slider__progress-img-container
{
	position: relative;

	overflow: hidden;
}

.o-img-slider__progress-img
{
	display: block;

	height: .9em;
	width: 1em;

	font-size: 85px;

	border: 2px solid transparent;

	object-fit: cover;
	object-position: center;
	filter: brightness(.8);
}

.o-img-slider__progress-control.active .o-img-slider__progress-img
{
	border-color: #FFF;

	filter: none;
}

.o-img-slider--service .o-img-slider__left
{
	left: 10px;
}

.o-img-slider--service .o-img-slider__right
{
	right: 10px;
}

.o-img-slider--service .o-img-slider__left,
.o-img-slider--service .o-img-slider__right
{
	top: 50%;
}


.slick-next,
.slick-prev
{
	position: absolute;
	opacity: .95;

	height: 48px;
	width: 48px;
	min-width: 0;

	margin: 0;
	top: 42%;
	right: 0;
	bottom: 0;
	padding: 0;

	background-color: #F5F5F5;

	color: #1E58BB;

	text-indent: -200px;

	border-radius: 50%;

	box-shadow: 0 0 8px 2px rgb(0 0 0 / 70%);

	overflow: hidden;

	transition: background-color 320ms ease, color 240ms ease;
	transform: translateY(-50%);

	z-index: 10;
}

.slick-prev
{
	margin-right: 110px;
	left: 40px;

	transition: background-color 320ms ease, color 240ms ease 120ms;
}

.slick-next
{
	right: 40px;
}


.slick-next:after,
.slick-prev:after
{
	position: absolute;

	height: 1em;
	width: 1em;

	top: 50%;
	margin-top: -6px;
	left: 50%;

	font-size: 12px;

	content: "";

	border-width: 0;
	border-style: solid;
	border-color: currentColor;

	transform: none;
}

.slick-next:after
{
	margin-left: -8px;

	border-width: 2px 2px 0 0;

	transform: rotate(
	45deg
	);
}

.slick-prev:after
{
	margin-left: -4px;

	border-width: 0 0 2px 2px;

	transform: rotate(45deg);
}

.slick-prev:hover,
.slick-next:hover,
.slick-prev:focus,
.slick-next:focus
{
	background-color: hsl(218deg 73% 44%);

	color: #FFF;
}

.slick-next:before,
.slick-prev:before
{
	content: none;
}
/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.slick-prev,
	.slick-next
	{
		display: none;
	}
}

/* --------------- Touchscreens --------------- */
@media (hover: none) and (pointer: coarse)
{
	.slick-prev,
	.slick-next
	{
		display: none;
	}
}

.o-img-slider__caption
{
	position: absolute;
	display: block;

	left: 0;
	bottom: 10px;
	padding: 8px 15px;

	background-color: #113565;

	font-weight: 500;
	font-size: 1rem;
	color: #FFF;
}

.o-img-slider__caption:empty
{
	display: none;
}

.o-news-block__list
{
	justify-content: space-around;
}

.o-page-part--booking-left:not(.o-page-part--white-label-booking)
{
	width: calc(100% - 480px);
	max-width: 70%;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.o-page-part--booking-left:not(.o-page-part--white-label-booking)
	{
		width: 100%;
		max-width: 100%;
	}
}

.o-page-part--booking-left.o-page-part--white-label-booking
{
	flex-basis: 50%;
	flex-grow: 1;
}

.o-page-part--cart
{
	width: auto;

	margin-top: 200px;
	padding-left: 80px;

	flex-shrink: 0;
}

.o-page-part--cart.o-page-part--white-label-booking
{
	margin-top: -25px;
	padding-left: 40px;
}

.o-page-part--back-booking
{
	width: 100%;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.o-page-part--booking-left,
	.o-page-part--cart
	{
		width: 100%;
		max-width: none;

		margin-top: 0;
		padding-left: 0;
	}

	.o-page-part--cart
	{
		margin-top: 25px;
	}

	.o-page-part--booking-left:first-child
	{
		order: -1;
	}
}

.o-section
{
	width: 100%;

	padding: 40px 0;
}

.o-section--spaces-types-block
{
	padding-right: 15px;
	padding-left: 15px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.o-section--spaces-types-block
	{
		padding-right: 8px;
		padding-left: 8px;
	}
}

.o-section--map
{
	padding: 40px 15px 0 15px;
}

.o-section--map-subscriptions
{
	padding: 30px 15px 0 15px;
}

.o-section--booking
{
	padding-top: 3em;
}

.o-section__grid
{
	display: flex;

	flex-wrap: wrap;

	width: 1500px;
	max-width: 100%;

	margin-right: auto;
	margin-left: auto;
}

.o-section--booking .o-section__grid
{
	gap: 30px;
}

.o-section--spaces-types-block .o-section__grid
{
	justify-content: space-between;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.o-section--spaces-types-block .o-section__grid
	{
		justify-content: center;
	}
}

.o-section--places .o-section__grid
{
	gap: 30px;
}

.o-section__header
{
	width: 1500px;
	max-width: 100%;

	margin-right: auto;
	margin-left: auto;
	margin-bottom: 25px;
	padding: 0 15px;
}

.o-section__header--news
{
	display: flex;

	flex-wrap: wrap;
}

.o-section__header--news .c-title
{
	flex-grow: 1;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.o-section__header
	{
		text-align: center;
	}
}

.o-separator
{
	height: 1px;
	width: 100%;

	margin: 30px 0;

	background-color: #CFCFCF;

	border: none;
}

/*
	$green       : #42A343;
	$light_green : #BDD261;

	$blue       : #0a587f;
	$light_blue : #51B2CA;
	$dark_blue  : #4D728E;

	$red : #E5433B;
	$pink: #E983B4;
*/

.o-sidebar
{
	position: fixed;
	display: inline-flex;

	height: 100%;
	width: auto;
	width: 265px;

	top: auto;
	right: 100%;
	left: auto;
	bottom: 0;

	background-color: #003768;

	box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14),
	0 1px 10px 0 rgba(0, 0, 0, .12);

	overflow-y: auto;

	z-index: 1200;
}

.o-sidebar > ul
{
	width: 100%;
}

.o-sidebar--open
{
	right: auto;
	left: 0;
}

.o-sidebar--open + .page-content
{
	padding-left: 265px;
}

.o-sidebar__logo
{
	display: block;

	width: 180px;

	margin: auto;
}

.o-space-availability
{
	display: flex;

	width: 100%;

	align-items: flex-start;
	justify-content: center;
}

.o-space-availability__content
{
	display: flex;

	flex-wrap: wrap;

	width: 100%;
}

.o-space-availability--b_seminar .o-space-availability__content,
.o-space-availability--c_open_coworking_space .o-space-availability__content
{
	width: auto;
}

.o-space-availability--b_seminar .o-space-availability__content,
.o-space-availability--c_open_coworking_space .o-space-availability__content
{
	flex-direction: column;
}

.o-space-availability__column
{
	display: flex;

	flex-direction: column;

	width: 50%;

	margin: auto;

	flex-grow: 1;
	align-items: center;
}

.o-space-availability__column:empty
{
	display: none;
}

.o-spaces-block
{
	position: relative;

	width: 100%;

	padding: 0;
}

.o-spaces-block--slider
{
	max-width: 100%;
}

.o-spaces-block--list
{
	padding-top: 0;
}

.o-spaces-block--etablishment
{
	padding-top: 10px;
}

.o-spaces-block--home
{
	padding-top: 60px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.o-spaces-block--home
	{
		margin-top: -85px;
		padding-top: 0;
	}
}

.o-spaces-block--search-results
{
	--row-gap: 15px;

	padding-bottom: 30px;

	--col-gap: 30px;
}

.o-spaces-block--search-results
{
	width: 50%;

	padding-top: 0;

	flex-grow: 1;
}

.o-spaces-block--etablishment:after
{
	position: absolute;

	height: 2px;
	width: 30px;

	left: 50%;
	margin-left: -15px;
	bottom: -25px;

	background-color: #0D3768;

	content: "";
}

.o-spaces-block--search-results:after
{
	display: none;
}

.o-spaces-block__top
{
	display: flex;

	flex-wrap: wrap;

	max-width: 1500px;

	margin-right: auto;
	margin-left: auto;
	padding: 0 15px;

	justify-content: space-between;
	align-items: center;
}

.o-spaces-block__children
{
	width: 100%;
}

.o-spaces-block__header
{
	display: block;

	width: 100%;

	margin-bottom: 35px;
}

.o-spaces-block--search-results .o-spaces-block__header
{
	display: flex;

	min-height: 72px;

	align-items: center;
	justify-content: space-between;
}

/* ----------------- Laptop ------------------- */
@media (min-width: 1326px) and (max-width: 1399px)
{
	.o-spaces-block__header
	{
		margin-left: 30px;
	}
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1325px)
{
	.o-spaces-block__header
	{
		margin-left: 0;
		margin-bottom: 25px;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.o-spaces-block__header
	{
		text-align: center;
	}
}

.o-spaces-block__slider
{
	width: 100%;
}

.o-spaces-block__link
{
	display: block;

	margin-bottom: 25px;

	flex-shrink: 0;
}

.o-spaces-block__list
{
	display: flex;

	flex-wrap: wrap;

	width: 100%;
	max-width: 1500px;

	margin: 0 auto;
}

.o-spaces-block--list .o-spaces-block__list
{
	display: flex;

	align-items: flex-start;
}

.o-spaces-block--search-results .o-spaces-block__list
{
	gap: var(--row-gap) var(--col-gap);

	padding: 0 15px;
}

.o-spaces-block__slider-container
{
	height: 400px;
	width: calc(100% - 100px);

	margin-right: auto;
	margin-left: auto;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.o-spaces-block__slider-container
	{
		width: calc(100% - 50px);
	}
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.o-spaces-block__slider-container
	{
		height: 360px;
	}
}

.o-spaces-block__slide
{
	display: flex;

	width: 100%;
}

.o-spaces-block--search-results-back
{
	width: 100%;
}

.o-spaces-block__slider-placeholder
{
	display: flex;

	width: 100%;

	padding: 0 60px 67px;
}

.o-user-menu
{
	position: relative;

	margin-left: 15px;

	background-color: #F5F5F5;

	border-radius: 35px;

	z-index: 1;
}

.o-user-menu__btn
{
	position: relative;

	min-width: 200px;

	padding: 12px 30px;

	font-weight: 600;
	font-size: 1em;

	text-transform: capitalize;

	border-radius: 35px;
}

.o-user-menu__btn-icon
{
	position: relative;

	height: 1em;
	width: 1em;

	margin-left: 10px;

	font-size: 10px;

	transition: transform 320ms ease;
}

.o-user-menu--open .o-user-menu__btn-icon
{
	transform: rotate(180deg);
}

.o-user-menu__ul
{
	position: absolute;
	visibility: hidden;
	opacity: 0;

	width: 100%;

	top: 100%;
	margin-top: -30px;
	right: 0;
	padding-top: 35px;

	background-color: #F5F5F5;

	border-bottom-right-radius: 20px;
	border-bottom-left-radius: 20px;

	transition: opacity 200ms ease 60ms, transform 260ms ease, visibility 260ms ease;
	transform: translate3d(0, 12px, 0);

	z-index: -1;
}

.o-user-menu--open .o-user-menu__ul
{
	visibility: visible;
	opacity: 1;

	transition: opacity 200ms ease, transform 260ms ease, visibility 260ms ease;
	transform: translate3d(0, 0, 0);
}

.o-user-menu__item
{
	position: relative;
	display: flex;

	flex-direction: column;
}

.o-user-menu__item:last-child
{
	padding-bottom: 12px;

	overflow: 'hidden';
}

.o-user-menu__link
{
	position: relative;

	width: 100%;

	padding: 8px 15px;

	font-size: .9em;

	text-transform: none;

	border-radius: 0;

	justify-content: flex-start;
}

.o-user-menu__btn-user-icon
{
	margin-left: 20px;
	padding: 5px 13px;

	background-color: #3C888A;

	font-weight: 300;
	color: #FFF;

	border-radius: 50%;
}

.o-wrapper-link
{
	text-decoration: none;
}
.c-advantage-card
{
	width: 100%;

	padding: 20px 18px;

	background-color: #FFF;

	border-radius: 16px;

	box-shadow: 1px 2px 40px 0 rgba(0, 0, 0, .1);

	overflow: hidden;
}

.c-advantage-card__icon
{
	display: flex;

	height: var(--size);
	width: var(--size);

	margin: 0;

	color: var(--orange);

	border-radius: 50%;
	border: 1px solid currentColor;

	--size: 60px;
	align-items: center;
	justify-content: center;
}

.c-advantage-card__svg
{
	display: block;

	height: 1em;
	width: 1em;

	font-size: 30px;
}

.c-advantage-card--bigger-icon .c-advantage-card__svg
{
	font-size: 40px;
}

.c-advantage-card__title
{
	margin: 15px 0 12px 0;

	font-weight: 700;
	font-size: 1.4rem;
	color: var(--primary);
}

.c-advantage-card__text
{
	margin: 12px 0 0;

	font-size: 1rem;
	color: var(--black-lighter);
}

.c-advantages
{
	position: relative;

	margin: 50px 0 60px;

	background-image: url(/images/theme/rounds-bg-two.png);
	background-repeat: no-repeat;
	background-position: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-advantages
	{
		margin: 20px 0;
	}
}

.c-advantages__container
{
	display: flex;

	flex-wrap: wrap;
	gap: 40px 35px;

	margin-right: auto;
	margin-left: auto;

	align-items: center;
}

.c-advantages__title
{
	line-height: 1.2;
	width: 100%;

	margin: 0;
	margin-top: 0;
	margin-bottom: 20px;

	font-weight: 700;
	font-size: 2.3rem;
	color: var(--primary);
}

.c-advantages__text
{
	margin: .5rem 0;

	color: var(--black-lighter);
}

.c-advantages__head
{
	display: flex;

	flex-direction: column;

	width: 100%;
	max-width: 100%;

	align-self: center;
	flex-grow: 0;
	flex-shrink: 0;
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.c-advantages__head
	{
		flex-grow: 1;
	}
}

.c-advantages__link
{
	margin-top: 20px;
}

.c-advantages__grid
{
	width: 30%;

	--i-count: 4;
	flex-grow: 1;
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.c-advantages__grid
	{
		width: 100%;

		--i-count: 2;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-advantages__grid
	{
		--i-count: 1;
	}
}

.c-advantages__item
{
	display: flex;
}

.c-arrow-btn
{
	padding: 6px 4px;

	font-size: .9em;

	text-transform: none;
}

.c-arrow-btn--big
{
	padding: 8px 15px;
}

.c-arrow-btn__arrow
{
	margin-right: 4px;

	font-size: 16px;
}

.c-autocompleted-field
{
	position: relative;

	width: 100%;

	z-index: 1;
}

.c-autocompleted-field .react-autosuggest__container > div:first-child:before,
.c-autocompleted-field .react-autosuggest__container > div:first-child:after
{
	position: absolute;

	top: 0;
	left: 8px;

	font-size: 16px;
	color: #C3C3C3;

	content: "";
}

.c-autocompleted-field .react-autosuggest__container > div:first-child:before
{
	height: 1em;
	width: 1em;

	top: 50%;
	margin-top: -.6em;

	border-radius: 50%;
	border: 2px solid currentColor;
}

.c-autocompleted-field .react-autosuggest__container > div:first-child:after
{
	height: 2px;
	width: .7em;

	top: 50%;
	margin-top: .45em;
	margin-left: .75em;

	background-color: currentColor;

	transform: rotateZ(45deg);
}

.c-autocompleted-field__input
{
	height: 28px;
	line-height: 28px;

	padding: 8px 12px 6px 36px;
}

.c-autocompleted-field__input-container:before,
.c-autocompleted-field__input-container:after
{
	display: none;
}

.c-autocompleted-field__results
{
	position: absolute;

	width: 100%;

	top: 100%;
	margin-top: 0;

	box-shadow: 0 5px 3px -3px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .12);

	z-index: -1;
}

.c-autocompleted-field__results > ul
{
	margin-top: 8px;
	margin-bottom: 8px;
}

.c-availability
{
	position: relative;
	display: flex;

	padding: 4px 12px;

	color: #4CAF50;

	align-items: center;
}

.c-availability--a_calm_coworking_space
{
	color: #000;
}

.c-availability--reserved,
.c-availability--too-little-seats
{
	color: #E91E63;
}

.c-availability--expired
{
	color: #B0B0B0;
}

.c-availability__start,
.c-availability__end
{
	font-weight: 600;
	font-size: .9em;
}

.c-availability__start
{
	width: 30px;

	color: #000;

	text-align: right;
}

.c-availability--b_seminar .c-availability__start,
.c-availability--c_open_coworking_space .c-availability__start
{
	width: auto;
	min-width: 85px;

	margin-right: 6px;

	font-weight: 400;
	font-size: 1em;

	text-align: right;

	flex-shrink: 0;
}

.c-availability__end
{
	width: 50px;

	color: #000;

	text-align: left;
}

.c-availability__status
{
	display: flex;

	width: auto;

	font-weight: 600;
	font-size: 1em;
	color: inherit;

	align-items: center;
}

.c-availability--expired .c-availability__status
{
	color: #B0B0B0;
}

.c-availability__status:before
{
	display: block;

	height: 18px;
	width: 2px;

	margin-right: 8px;

	background-color: #1E5AC2;

	content: "";
}

.c-availability__end:before
{
	margin: 0 4px;

	content: "-";
}

.c-availability__seats
{
	position: relative;
	display: flex;

	font-weight: 600;
	font-size: .9em;
	color: #4CAF50;

	align-items: center;
}

.c-availability--expired .c-availability__seats
{
	color: inherit;
}

.c-availability--too-little-seats .c-availability__seats
{
	color: #E91E63;
}

.c-availability__seats:before
{
	display: block;

	height: 20px;
	width: 2px;

	margin-right: 8px;

	background-color: #1E5AC2;

	content: "";
}

.c-availability--expired .c-availability__seats:before
{
	background-color: currentColor;
}

.c-availability__people-icon
{
	margin-left: 4px;

	font-size: 14px;
}

.c-booking-auth
{
	display: flex;

	flex-wrap: wrap;

	justify-content: space-between;
}

.c-booking-auth--oauth-register
{
	justify-content: center;
}

.c-booking-auth__step
{
	position: relative;
	display: flex;

	flex-direction: column;

	width: calc(50% - 50px);
}

.c-booking-auth--oauth-register .c-booking-auth__step
{
	width: auto;

	margin-right: auto;
	margin-left: auto;
}

/* ----------------- Laptop ------------------- */
@media (min-width: 1201px) and (max-width: 1536px)
{
	.c-booking-auth__step
	{
		width: calc(50% - 30px);
	}
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-booking-auth__step
	{
		margin-bottom: 35px;
	}
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.c-booking-auth__step
	{
		width: calc(50% - 20px);
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-booking-auth__step
	{
		width: 100%;
	}
}

.c-booking-auth__step:first-child::after
{
	position: absolute;
	display: block;

	height: 100%;
	width: 2px;

	top: 0;
	right: -49px;

	background-color: #EDF1F6;

	content: "";
}

.c-booking-auth--oauth-register .c-booking-auth__step::after
{
	display: none;
}

/* ----------------- Laptop ------------------- */
@media (min-width: 1201px) and (max-width: 1536px)
{
	.c-booking-auth__step:first-child::after
	{
		right: -29px;
	}
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.c-booking-auth__step:first-child::after
	{
		right: -19px;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-booking-auth__step:first-child::after
	{
		display: none;
	}
}

.c-booking-auth__title
{
	width: 100%;

	font-size: 1.15rem;
	color: #163768;

	text-align: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-booking-auth__title
	{
		margin-top: 0;
		margin-bottom: 0;
	}
}

.c-booking-auth__subtitle
{
	display: flex;

	min-height: 40px;
	width: 100%;
	width: 100%;

	margin-top: 0;
	margin-bottom: 20px;

	font-weight: 600;
	font-size: 1rem;
	color: #0052B8;

	text-align: center;

	align-items: center;
	justify-content: center;
}

.c-booking-auth__subtitle.with-margin-top
{
	margin-top: 20px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-booking-auth__subtitle.with-margin-top
	{
		margin-top: 0;
	}
}

.c-booking-auth__txt
{
	min-height: 96px;
	width: 100%;

	margin-bottom: 0;

	color: #163768;

	text-align: left;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-booking-auth__txt
	{
		min-height: 0;

		margin-bottom: 12px;
	}
}

.c-booking-auth__buttons
{
	display: flex;

	flex-direction: column;

	width: 100%;

	margin-top: 20px;
	padding: 0 20px;

	flex-grow: 1;
	justify-content: flex-start;
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.c-booking-auth__buttons
	{
		padding-right: 0;
		padding-left: 0;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-booking-auth__buttons
	{
		margin-top: 0;
	}
}

.c-booking-auth--with-form .c-booking-auth__buttons
{
	justify-content: flex-start;
}

.c-booking-auth__form
{
	display: flex;

	flex-direction: column;

	margin: auto;
}

.c-booking-auth__services-top
{
	display: flex;

	flex-wrap: wrap;
	gap: 14px 35px;

	width: 100%;

	padding-left: 10px;

	align-items: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-booking-auth__services-top
	{
		padding-left: 0;
	}
}

.c-booking-auth__services
{
	display: flex;

	flex-wrap: wrap;
	gap: 25px 10px;

	width: 100%;

	margin-bottom: 25px;
}

.c-booking-category
{
	position: relative;
	display: flex;

	flex-wrap: wrap;

	flex-basis: 26%;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-booking-category
	{
		display: flex;

		flex-direction: column;

		max-width: 100%;

		margin-right: auto;
		margin-left: auto;

		align-items: center;
	}
}

/* ------------ Tablet (portrait) ------------- */
@media (min-width: 600px) and (max-width: 900px)
{
	.c-booking-category
	{
		display: inline-flex;

		width: auto;
	}
}

.c-booking-category__title
{
	width: 100%;

	margin-top: 25px;
	margin-bottom: 25px;
	padding-left: 10px;

	font-size: 1.7em;

	text-align: left;
}

.c-booking-category__title:empty
{
	display: none;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-booking-category__title
	{
		display: block;

		margin-top: 20px;
		margin-bottom: 20px;

		text-align: center;

		align-self: center;
	}
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-booking-category__title
	{
		position: relative;

		width: 100%;

		margin-top: 10px;
		margin-bottom: 30px;
		padding-top: 30px;

		text-align: center;
	}

	.c-booking-category__title::before
	{
		position: absolute;
		display: none;

		height: 2px;
		width: 60%;

		top: 0;
		left: 20%;

		background-color: #0D3768;

		content: "";
	}

	.c-booking-category + .c-booking-category .c-booking-category__title::before
	{
		display: block;
	}
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.c-booking-category__title::before
	{
		width: 260px;

		left: 50%;
		margin-left: -130px;
	}
}

.c-booking-category__services
{
	display: flex;

	flex-wrap: wrap;
	column-gap: 10px;

	flex-grow: 1;
	justify-content: space-between;
}

.c-booking-category--white-label-booking .c-booking-category__services
{
	column-gap: 25px;
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.c-booking-category__services
	{
		display: inline-flex;

		column-gap: 25px;

		width: auto;

		justify-content: center;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-booking-category__services
	{
		column-gap: 15px;

		width: 100%;
	}
}

.c-booking-category--with-widget .c-booking-category__services
{
	width: 50%;

	flex-grow: 1;
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.c-booking-category--with-widget .c-booking-category__services
	{
		width: 100%;
	}
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 600px) and (max-width: 1200px)
{
	.c-booking-category--with-widget .c-booking-category__services
	{
		margin-right: 0;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-booking-category--with-widget .c-booking-category__services
	{
		width: auto;

		margin-right: 0;
	}
}

.c-booking-category__widget
{
	margin-top: -270px;
}

.c-booking-category--white-label-booking .c-booking-category__widget
{
	margin-top: -135px;
}

.c-booking-infos-card
{
	position: relative;

	border-radius: 30px;

	box-shadow: 0 3px 10px 1px rgb(0 0 0 / 20%);

	z-index: -1;
}

.c-booking-infos-card__img
{
	position: relative;

	height: 100%;
	max-height: 200px;
	width: 100%;

	top: 0;
	left: 0;
	margin-bottom: 16px;

	font-family: "object-fit: cover; object-position: contain";

	border-top-left-radius: 30px;
	border-top-right-radius: 30px;

	transition: transform 420ms ease;
	transform: scale(1);

	z-index: 0;

	object-fit: cover;
	object-position: center;
}

.c-booking-infos-card__title
{
	line-height: 1.3em;

	margin-top: 0;
	margin-bottom: 8px;
	padding: 0 22px;

	font-weight: 700;
	font-size: 1.2em;
	color: #163768;
}

.c-booking-infos-card__element
{
	display: flex;

	padding: 0 22px 16px;

	color: #000;

	align-items: center;
}

.c-booking-infos-card__element.is-discount-code
{
	display: flex;

	flex-wrap: wrap;

	padding-top: 16px;
	padding-top: 12px;
	padding-bottom: 12px;

	background-color: #ECFBF5;

	font-weight: 600;
	font-size: .9em;
	color: #000;

	align-items: center;
}

.c-booking-infos-card__element.is-discount-code strong
{
	padding: 0 6px;

	font-size: 1.05rem;
	color: #147A63;
}

.c-booking-infos-card__element.is-services
{
	margin-bottom: 0;
	padding-bottom: 9px;
}

.c-booking-infos-card__element.is-service
{
	gap: 0 8px;

	padding-left: 35px;
	padding-bottom: 8px;

	align-items: center;
}

.c-booking-infos-card__element.is-service:nth-last-child(2)
{
	padding-bottom: 16px;
}

.c-booking-infos-card__element.is-service::before
{
	display: block;

	height: 6px;
	width: 6px;

	background-color: #0D3768;

	content: "";

	border-radius: 50%;

	flex-shrink: 0;
}

.c-booking-infos-card__element.is-subscription
{
	display: flex;

	flex-wrap: wrap;

	padding-top: 16px;
	padding-top: 12px;
	padding-bottom: 12px;

	background-color: #FBF7EC;

	align-items: center;
}

.c-booking-infos-card__element.is-subscription strong
{
	padding: 0 6px;

	font-size: 1.05rem;
	color: currentColor;
}

.c-booking-infos-card__element-label
{
	display: block;

	line-height: 1.15em;

	margin-top: 0;
	margin-bottom: 0;
	padding-right: 5px;

	font-weight: 600;
	font-size: .9em;
	color: #000;
}

.c-booking-infos-card__element.is-service .c-booking-infos-card__element-label
{
	font-weight: 400;
}

.c-booking-infos-card__footer
{
	flex-direction: column;

	padding: 15px 25px;

	background-color: #EDF1F6;

	border-bottom-right-radius: 30px;
	border-bottom-left-radius: 30px;

	align-items: flex-start;
}

.c-booking-infos-card__price
{
	display: block;

	line-height: 1.15em;

	margin-top: 0;
	margin-bottom: 8px;
	padding-right: 5px;

	font-weight: 700;
	font-size: 1.1em;
	color: #163768;
}

.c-booking-infos-card__cancel-conditions
{
	display: block;

	line-height: 1.15em;

	margin-top: 0;
	margin-bottom: 0;
	padding-right: 5px;

	font-weight: 600;
	font-size: .9em;
}

.c-booking-range
{
	position: relative;

	width: 100%;

	margin-top: 12px;
	margin-bottom: 12px;
}

.c-booking-range__content
{
	display: flex;

	width: 100%;

	justify-content: space-between;
}

.c-booking-range__element
{
	display: flex;

	flex-direction: column;

	width: calc(50% - 6px);
}

.c-booking-range__element:only-child
{
	width: 100%;
}

.c-booking-range__label
{
	display: block;

	line-height: 1.15em;

	margin-top: 0;
	margin-bottom: 0;
	padding: 2px 4px;

	font-weight: 600;
	font-size: .95rem;

	text-align: center;
	text-transform: none;

	border-radius: 0;
}

.c-booking-range__select
{
	position: relative;
}

.c-booking-range__select > div
{
	width: 100%;

	border: none;
}

.c-booking-range__select > div > div
{
	border: none;
}

.c-booking-range__select > div > div:before,
.c-booking-range__select > div > div:after
{
	display: none;
}

.c-booking-range__select.mui-select select
{
	position: relative;
	display: flex;

	height: 34px;

	padding-top: 0;
	padding-left: 15px;
	padding-bottom: 0;

	font-weight: 600;
	font-size: .9em;
	color: #1E5AC2;

	border-radius: 8px;
	border: 2px solid #EBEDF0;

	transition: border-color 320ms ease;

	align-items: center;
}

.c-booking-range__select.disabled select
{
	color: #B2B2B2;
}

.c-booking-range__select.mui-select select:focus
{
	border-color: #1E5AC2;
}

.c-booking-range__select.mui-select select option
{
	font-weight: 600;
	font-size: 1em;
	color: #1E5AC2;
}

.c-booking-range__b_seminar-range
{
	position: relative;
	display: block;

	flex-wrap: wrap;

	margin-top: 10px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 6px;

	justify-content: center;
}

.c-booking-range--layout .c-booking-range__b_seminar-range
{
	display: flex;
}

.c-booking-range__b_seminar-range:before
{
	position: absolute;

	height: 2px;
	width: 1em;

	margin: 0 auto;
	top: -6px;
	left: 50%;
	margin-left: -.5em;

	background-color: #1E5AC2;

	font-size: 50px;

	content: "";
}

.c-booking-range__radio-container
{
	display: flex;

	margin: 2px 0;

	font-size: .9em;

	align-items: center;
}

.c-booking-range__radio
{
	margin-right: 4px;
	padding: 2px;
}

.c-booking-range__label .MuiButton-label
{
	display: flex;
}

.c-booking-range__label.is-expired
{
	color: #B0B0B0;
}

.c-booking-range__label.is-disabled
{
	color: #B0B0B0;
}

.c-booking-range__label.is-disabled:hover
{
	background-color: transparent;

	cursor: default;
}

.c-booking
{
	display: flex;

	flex-wrap: wrap;

	width: 100%;

	font-size: 14px;
}

.c-booking-row
{
	display: flex;

	width: 100%;

	align-items: center;
}

.c-booking-row--header
{
	padding: 5px 0;

	font-weight: 700;

	border-bottom: 2px solid;
}

.c-booking-row__col
{
	position: relative;

	width: 20%;

	padding: 5px;

	text-align: center;
}

.c-direct-booking_filters
{
	display: flex;

	gap: 20px 40px;

	margin: 20px;
	padding: 20px 15px;

	background-color: #EDF1F6;

	border-radius: 15px;

	justify-content: center;
	align-items: center;
}

.c-direct-booking_filters .c-widget__element.choice
{
	width: 30%;

	flex-grow: 0;
}

.c-direct-booking_filters .c-widget__element.radius
{
	width: 120px;

	flex-grow: 0;
	flex-shrink: 0;
}

.c-direct-booking_filters .c-widget__element.date
{
	display: flex;

	width: auto;

	align-items: flex-start;
}

.c-direct-booking_filters .c-side-widget__element.people
{
	display: flex;

	flex-direction: column;

	width: 150px;

	margin-bottom: 0;

	justify-content: center;
	align-items: stretch;
}

.c-direct-booking_filters  .c-widget__element.date .c-form-element
{
	text-align: center;
}


.c-direct-booking_filters .c-side-widget__element.people .c-side-widget__input input
{
	background-color: #FFF;
}

.c-direct-booking_filters .c-widget__element.choice > div
{
	background-color: #FFF;
}

.c-direct-booking_header
{
	display: flex;

	width: 100%;

	margin: 20px;
	padding: 20px 15px;

	background-color: #EDF1F6;

	border-radius: 15px;

	justify-content: space-between;
	align-items: center;
}

.c-direct-booking_header:empty
{
	display: none;
}

.c-direct-booking_header--white-label-booking
{
	margin-top: -25px;
	margin-right: 0;
	margin-left: 0;
}

.c-direct-booking_header--services-mobile
{
	display: none;
}

@media (max-width: 767px)
{
	.c-direct-booking_filters
	{
		flex-direction: column;
	}

	.c-direct-booking_filters .c-widget__element.choice
	{
		width: 100%;
	}

	.c-direct-booking_header
	{
		margin: 20px 0;
	}

	.c-direct-booking_header--services
	{
		position: relative;

		flex-direction: column;

		width: 100%;
	}

	.c-direct-booking_header--services .c-link
	{
		margin-bottom: 7px;
	}

	.c-direct-booking_header--services-mobile
	{
		display: flex;
	}
}

.direct-booking__top-header-hotel
{
	font-size: .9em;
}

.direct-booking__top-header-address
{
	font-size: .9em;
}

.direct-booking__top-header-phone
{
	font-size: .9em;
}

.c-breadcrumb
{
	position: relative;

	width: 100%;

	padding: 12px 0;
}

.c-breadcrumb--search-results
{
	left: 0;
	margin-bottom: 10px;
	padding-top: 0;
}

.c-breadcrumb__content
{
	display: flex;

	flex-wrap: wrap;
	gap: 10px 12px;

	margin: 0;
	padding: 0;

	list-style: none;
}

.c-breadcrumb--cart .c-breadcrumb__content
{
	padding-left: 30px;
}

.c-breadcrumb--no-padding .c-breadcrumb__content
{
	padding-right: 0;
	padding-left: 0;
}

.c-breadcrumb__item
{
	position: relative;
	display: flex;

	flex-shrink: 0;
	align-items: center;
}

.c-breadcrumb__item:after
{
	display: inline-flex;

	height: 1em;
	width: 1em;

	margin-left: 6px;

	font-size: 9px;
	color: #1B3A5F;

	content: "";

	border: 2px solid currentColor;
	border-width: 2px 2px 0 0;

	transform: rotate(45deg);
}

.c-breadcrumb--white .c-breadcrumb__item:after
{
	color: #FFF;
}

.c-breadcrumb__item:last-child
{
	margin-right: 0;
}

.c-breadcrumb__item:last-child:after
{
	display: none;
}

.c-breadcrumb__link
{
	position: relative;
	display: inline-flex;

	border-bottom: 2px solid transparent;

	transition: border-color 320ms ease, color 320ms ease;
}

.c-breadcrumb__link,
.c-breadcrumb__link:focus,
.c-breadcrumb__link:hover,
.c-breadcrumb__link:visited
{
	color: #1B3A5F;
	text-decoration: none;

	outline: none;
}

.c-breadcrumb--white .c-breadcrumb__link,
.c-breadcrumb--white .c-breadcrumb__link:focus,
.c-breadcrumb--white .c-breadcrumb__link:hover,
.c-breadcrumb--white .c-breadcrumb__link:visited
{
	color: #FFF;
}

a.c-breadcrumb__link
{
	color: #1B3A5F;

	border-color: currentColor;
}

.c-breadcrumb--white a.c-breadcrumb__link
{
	color: #FFF;
}

a.c-breadcrumb__link:hover
{
	border-color: transparent;
}

.c-breadcrumb__label
{
	display: inline-flex;

	font-size: .9em;

	align-items: center;
}

/* ------------------------------------------------ *\
|* ---------------- # c-flat-btn # ---------------- *|
\* ------------------------------------------------ */

.c-flat-btn
{
	position: relative;
	display: inline-flex;

	height: auto;
	min-width: 115px;

	padding: 5px 10px;

	background: #1F1F1F;

	font-family: inherit;
	font-weight: 500;
	color: #FFF;
	text-decoration: none;

	text-transform: initial;

	border-radius: 10px;
	border: 0;

	box-shadow: 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.06);

	overflow: hidden;

	transition: all 240ms ease;

	align-items: center;
	justify-content: center;
}

.c-flat-btn--disabled
{
	cursor: default;
}

.c-flat-btn--front-search
{
	min-width: 150px;
}

.c-flat-btn--v2
{
	display: inline-flex;

	width: auto;

	padding-right: 20px;
	padding-left: 20px;

	border-radius: 4em;

	flex-basis: 300px;
	align-items: center;
}

.c-flat-btn--cart-step
{
	flex-basis: auto;
	flex-shrink: 0;
}

.c-flat-btn--cart-step-wider
{
	min-width: 230px;

	flex-basis: auto;
	flex-shrink: 0;
}

.c-flat-btn--blue
{
	min-height: 2.5em;

	background: #1E5AC2;
}

.c-flat-btn--white-blue
{
	background-color: #FFF;

	color: #1E5AC2;

	border: 1px solid #1E5AC2;
}

.c-flat-btn--green
{
	background: #3CBB62;

	color: #FFF;
}

.c-flat-btn--green:disabled
{
	background: #BBB;

	color: #F0F0F0;
}

.c-flat-btn--primary
{
	padding: 9px 10px;

	background-color: #003768;

	color: #FFF;
}

.c-flat-btn:hover
{
	background-color: #1F1F1F;

	color: #FFF;

	box-shadow: 0 0 0 -2px rgba(0, 0, 0, 0);

	transform: translate3d(3px, 3px, 0);
}

.c-flat-btn--blue:hover
{
	background-color: #3480EA;
}

.c-flat-btn--white-blue:hover
{
	background-color: #3480EA;

	border: 1px solid #3480EA;
}

.c-flat-btn--green:hover
{
	background-color: #3CBB62;
}

.c-flat-btn--primary:hover
{
	background-color: #FFF;

	color: #003768;
}

.c-flat-btn--google
{
	display: flex;

	height: 40px;
	width: 100%;

	margin: auto;
	padding: 0 12px;

	background-color: #FFF;

	font-family: inherit;
	font-weight: 500;
	font-size: 14px;

	cursor: pointer;
	letter-spacing: .25px;

	border-radius: 4px;
	border: 1px solid #DADCE0;

	box-shadow: none;

	transition: background-color .218s;

	align-items: center;
	justify-content: flex-start;
}

.c-flat-btn--google,
.c-flat-btn--google:hover
{
	color: #3C4043;
}

.c-flat-btn--google:hover
{
	background-color: #F8FAFF;

	border-color: #D2E3FC;

	box-shadow: none;

	transform: none;
}

.c-flat-btn--google:focus
{
	background-color: #ECF3FE;
}

.c-flat-btn__google-icon
{
	display: block;

	height: 1em;
	width: 1em;

	font-size: 18px;
}

.c-flat-btn--linkedin
{
	display: flex;

	height: 40px;
	width: 100%;

	margin: auto;
	padding: 0 12px;

	background-color: #FFF;

	font-family: inherit;
	font-weight: 500;
	font-size: 14px;

	cursor: pointer;
	letter-spacing: .25px;

	border-radius: 4px;
	border: 1px solid #DADCE0;

	box-shadow: none;

	align-items: center;
	justify-content: flex-start;
}

.c-flat-btn--linkedin,
.c-flat-btn--linkedin:hover
{
	color: #3C4043;
}

.c-flat-btn--linkedin.c-flat-btn--blue,
.c-flat-btn--linkedin.c-flat-btn--blue:hover
{
	background-color: #0075B1;

	color: #FFF;

	border-color: #0075B1;
}

.c-flat-btn--linkedin.c-flat-btn--blue:hover
{
	background-color: #FFF;

	color: #0075B1;
}

.c-flat-btn--linkedin.c-flat-btn--blue:active,
.c-flat-btn--linkedin.c-flat-btn--blue:focus
{
	background-color: #ECF3FE;

	color: #0075B1;
}

.c-flat-btn--linkedin:hover
{
	background-color: #F8FAFF;

	border-color: #D2E3FC;

	box-shadow: none;

	transform: none;
}

.c-flat-btn--google:focus,
.c-flat-btn--google:active,
.c-flat-btn--white:focus,
.c-flat-btn--white:active,
.c-flat-btn--linkedin:focus,
.c-flat-btn--linkedin:focus
{
	background-color: #ECF3FE;
}

.c-flat-btn__linkedin-icon
{
	display: block;

	height: 1em;
	width: 1em;

	font-size: 18px;
	color: #0075B1;

	transition: color 320ms ease;
}

.c-flat-btn--linkedin.c-flat-btn--blue .c-flat-btn__linkedin-icon
{
	color: #FFF;
}

.c-flat-btn--linkedin.c-flat-btn--blue:hover .c-flat-btn__linkedin-icon,
.c-flat-btn--linkedin.c-flat-btn--blue:active .c-flat-btn__linkedin-icon,
.c-flat-btn--linkedin.c-flat-btn--blue:focus .c-flat-btn__linkedin-icon
{
	color: #0075B1;
}

.c-simple-button
{
	height: auto;
	min-height: 0;
	min-width: 115px;

	padding: 6px 10px;

	border-radius: 0;
	border: 0;
}




/* ------------------------------------ */
/* ---------- flat-btn--round --------- */
/* ------------------------------------ */
.c-flat-btn--round
{
	border-radius: 20px / 50%;
	border: 1px solid currentColor;

	transform: none;
}

.c-flat-btn--round.c-flat-btn--primary
{
	border-color: #003565;
}

.c-flat-btn--round:hover,
.c-flat-btn--round:focus,
.c-flat-btn--round:active
{
	transform: none;
}




/* ------------------------------------ */
/* ---------- flat-btn--red ----------- */
/* ------------------------------------ */

.c-flat-btn--red
{
	background: #E93339;
}

.c-flat-btn--red:hover
{
	background-color: #E93339;
}

.c-flat-btn--red:disabled
{
	background: #C0C0C06B;

	color: #A7A7A7;

	cursor: not-allowed;
}




/* ------------------------------------ */
/* --------- flat-btn--delete --------- */
/* ------------------------------------ */

.c-flat-btn--delete
{
	height: 1em;
	width: auto;
	width: 1em;
	min-width: 0;

	padding: 0;

	background: #E93339;

	font-size: 38px;

	border-radius: 50%;

	flex-shrink: 0;
	flex-grow: 0;
	align-self: flex-end;
}

.c-flat-btn--delete::after
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	content: "";

	z-index: 2;
}

.c-flat-btn--delete:hover
{
	background-color: #E93339;
}

.c-flat-btn--delete:disabled
{
	background: #C0C0C06B;

	color: #A7A7A7;

	cursor: not-allowed;
}




/* ------------------------------------ */
/* --------- flat-btn--white ---------- */
/* ------------------------------------ */

.c-flat-btn--white
{
	min-height: 40px;

	padding: 0 12px;

	background: #FFF;

	color: #000;
	color: #0D56BD;

	border-radius: 4px;
	border: 1px solid #0D56BD;

	box-shadow: none;
}

.c-flat-btn--white:hover
{
	background-color: #F8FAFF;

	color: #0D56BD;

	box-shadow: none;

	transform: none;
}

.c-flat-btn--white.c-flat-btn--no-border,
.c-flat-btn--white.c-flat-btn--no-border:hover,
.c-flat-btn--white.c-flat-btn--no-border:focus
{
	border-color: transparent;
}


/* ---------------------------------- */
/* -------- flat-btn--small --------- */
/* ---------------------------------- */

.c-flat-btn--small
{
	padding: 4px 10px;
}


/* ---------------------------------- */
/* -------- flat-btn--medium -------- */
/* ---------------------------------- */

.c-flat-btn--medium
{
	padding: 8px 16px;
}


/* --------------------------------- */
/* --------- flat-btn--big --------- */
/* --------------------------------- */

.c-flat-btn--big
{
	padding: 10px 20px;

	font-size: 1rem;
}


/* --------------------------------- */
/* -------- flat-btn--front -------- */
/* --------------------------------- */
.c-flat-btn--front
{
	padding: 8px 25px;

	border-radius: 20px / 50%;
}


/* --------------------------------- */
/* -------- flat-btn--orange -------- */
/* --------------------------------- */
.c-flat-btn--orange
{
	min-height: 2.5em;

	background: #F86E2F;
}


/* --------------------------------- */
/* --------- flat-btn--myWO -------- */
/* --------------------------------- */
.c-flat-btn--myWO
{
	min-height: 40px;

	padding: 0 12px;

	background-color: #0D56BD;

	border-radius: 4px;
	border: 1px solid #0D56BD;
}

.c-flat-btn--myWO:hover
{
	background-color: #FFF;

	color: #0D56BD;

	border-color: #0D56BD;

	box-shadow: none;

	transform: none;
}


/* --------------------------------- */
/* ------ flat-btn--full-width ----- */
/* --------------------------------- */
.c-flat-btn--full-width
{
	width: 100%;
}


/* --------------------------------- */
/* ---- flat-btn--strong-shadow ---- */
/* --------------------------------- */

.c-flat-btn--strong-shadow
{
	box-shadow: 6px 6px 0 -2px rgba(0, 0, 0, .6);
}

.c-flat-btn--strong-shadow:hover
{
	box-shadow: 0 0 0 -2px rgba(0, 0, 0, 0);
}

/* --------------------------------- */
/* -------- flat-btn--date --------- */
/* --------------------------------- */

.c-flat-btn--date
{
	position: relative;

	min-width: 0;

	padding: 7px 10px;
}

/* --------------------------------- */
/* -- flat-btn--side-widget-date --- */
/* --------------------------------- */

.c-flat-btn--side-widget-date
{
	position: relative;
	display: flex;

	width: 100%;
	min-width: 0;

	padding: 8px 10px;

	background: none;

	font-weight: 600;
	font-size: .9em;
	color: #1E5AC2;

	border-radius: 8px;
	border: 2px solid #EBEDF0;

	box-shadow: none;

	transition: background-color 320ms ease, border-color 320ms ease;

	justify-content: flex-start;
}

.c-flat-btn--side-widget-date:hover
{
	background-color: #EBEDF0;

	color: #1E5AC2;

	box-shadow: none;

	transform: none;
}

.c-flat-btn--side-widget-date:focus
{
	border-color: #1E5AC2;
}


/* --------------------------------- */
/* -- flat-btn--space-availability - */
/* --------------------------------- */

.c-flat-btn--space-availability
{
	padding: 6px 12px;

	background-color: #EBEDF0;

	font-weight: 600;
	color: #1E5AC2;

	border-radius: 20px;

	box-shadow: 3px 5px 15px -9px #616161;
}

.c-flat-btn.c-flat-btn--disabled
{
	background-color: #D1D1D1;

	color: #848484;

	transform: none;
}

.c-btn--booking
{
	padding: 0;
}

/* ------------------------------------ */
/* --------- btn--less & more --------- */
/* ------------------------------------ */
.c-btn--less,
.c-btn--more
{
	position: relative;
	display: flex;

	min-height: 1em;
	max-height: 1em;
	min-width: 1em;
	min-width: 0;
	max-width: 1em;

	padding: 0;

	background-color: #FFF;

	font-size: 28px;
	color: #1E5AC2;

	white-space: nowrap;
	text-indent: 1000px;

	border-radius: 50%;
	border: 2px solid currentColor;

	overflow: hidden;

	transition: background-color 320ms ease;

	flex-shrink: 0;
	flex-grow: 0;
}

.c-btn--less:hover,
.c-btn--more:hover
{
	background-color: #EBEDF0;
}

.c-btn--less
{
	position: relative;
}

.c-btn--more
{
	position: relative;
}

.c-btn--less:before,
.c-btn--more:before,
.c-btn--less:after,
.c-btn--more:after
{
	position: absolute;

	top: 50%;
	left: 50%;

	background-color: currentColor;

	content: "";
}

.c-btn--less:before,
.c-btn--more:before
{
	height: 60%;
	width: 2px;

	top: calc(50% - 30%);
	margin-top: 0;
	margin-left: -1px;
}

.c-btn--less:after,
.c-btn--more:after
{
	height: 2px;
	width: 60%;

	margin-top: -1px;
	left: calc(50% - 30%);
	margin-left: 0;
}

.c-btn--less:before
{
	display: none;
}

.c-flat-btn--spaces-types-block
{
	margin-top: 15px;
}

.c-flat-btn--payment-back-home
{
	display: inline-flex;

	background-color: #EDF1F6;

	color: #1B3A5F;

	border: 1px solid #1B3A5F;
}

.c-flat-btn--map-details-btn
{
	box-shadow: 4px 4px 5px 0 #C5C5C5;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-flat-btn--v2
	{
		min-height: 3em;
		min-width: 0;
		max-width: 100%;
	}

	.c-flat-btn--map-details-btn
	{
		min-width: 75%;

		margin-right: auto;
		margin-left: auto;

		text-align: center;

		flex-basis: 0;
		justify-content: center;
	}
}

.c-flat-btn--widget
{
	gap: 17px;

	min-height: 2.5em;

	padding: 8px 12px;

	border-radius: 20px / 50%;
}

.c-flat-btn--widget > span
{
	display: flex;

	gap: 5px;

	align-items: center;
}

.c-flat-btn--widget:hover
{
	background-color: #3480EA;
}

.c-flat-btn__icon
{
	position: absolute;
	display: block;

	height: 1em;
	width: 1em;

	left: 12px;

	font-size: 26px;
	color: currentColor;

	z-index: 1;
}

.c-flat-btn--delete .c-flat-btn__icon
{
	position: static;

	left: auto;
}

.c-flat-btn--widget .c-flat-btn__icon
{
	position: static;

	margin: 0;
	left: 0;

	transition: none;
}

.c-card
{
	position: relative;
	display: flex;

	flex-direction: column;

	max-width: 100%;

	margin: 0;
	padding: 0;

	z-index: 1;

	flex-basis: 320px;
	flex-grow: 0;
	order: 1;
	justify-content: flex-start;
	--radius: 20px;
}

.c-card--service
{
	min-width: 298px;
}

.c-card--white-label-booking
{
	flex-basis: calc(calc(100% - 25px - 25px) / 3);
}

/* ------------ Tablet (landscape) ------------ */
@media (min-width: 901px) and (max-width: 1200px)
{
	.c-card
	{
		min-width: 26%; /* 3 items max */
	}
}

/* ------------ Tablet (portrait) ------------- */
@media (min-width: 600px) and (max-width: 900px)
{
	.c-card:not(.c-card--service)
	{
		min-width: 35%; /* 2 items max */
	}
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-card
	{
		width: 400px;
		max-width: 100%;

		margin-right: auto;
		margin-left: auto;

		flex-grow: 0;
	}
}

.c-card:empty
{
	height: 0 !important;

	margin: 0 !important;
	padding: 0 !important;
}

.c-card__highlight
{
	display: inline-flex;

	gap: 6px;

	width: 100%;

	margin-bottom: 0;
	padding: 4px 16px 7px;

	background-color: var(--orange);

	font-weight: 600;
	font-size: .95rem;
	color: #FFF;

	white-space: nowrap;

	border-radius: 0;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border: none;

	align-items: center;
	justify-content: center;
}

.c-card__highlight-icon
{
	display: block;

	height: 1em;
	width: 1em;

	font-size: 27px;
}

.c-card__wrapper
{
	position: relative;
	display: flex;

	flex-direction: column;

	flex-grow: 1;
}

.c-card--is-custom-fee .c-card__wrapper
{
	margin-top: -38px;

	border-radius: var(--radius);
	border: 4px solid var(--orange);
}

.c-card__wrapper:before
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	content: "";

	border-radius: 20px;

	box-shadow: 0 5px 8px 0 rgb(220 222 225);

	z-index: -1;
}

.c-card--is-custom-fee .c-card__wrapper:before
{
	display: none;
}

.c-card__title
{
	position: relative;
	display: flex;

	width: 100%;

	margin: 15px 0 0 0;

	font-size: 1.3em;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-card--service .c-card__title
	{
		text-align: center;

		justify-content: center;
	}
}

.c-card__img-container
{
	position: relative;
	display: block;

	border-radius: 20px;

	box-shadow: 0 5px 5px 0 rgb(224 224 224);

	z-index: 3;
}

.c-card--service .c-card__img-container
{
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;

	box-shadow: none;

	overflow: hidden;
}

.c-card__img-container::before
{
	display: block;

	width: 100%;

	padding-top: 65%;

	content: "";
}

.c-card--service .c-card__img-container::before
{
	padding-top: 60%;
}

.c-card__img
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	font-family: "object-fit: cover; object-position: center;";

	border-radius: 20px;

	object-fit: cover;
}

.c-card__img.default-logo-img
{
	padding: 20px 25px;

	object-fit: contain;
}

.c-card__img--services
{
	position: absolute;

	height: 100%;
	max-height: none;
	width: 100%;

	top: 0;
	left: 0;

	font-family: inherit;

	border-radius: 0;

	object-fit: cover;
}

.c-card__content
{
	display: flex;

	flex-direction: column;

	padding: 10px 15px 35px;

	z-index: 3;

	flex-grow: 1;
}

.c-card--service .c-card__content
{
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 14px;

	background-color: #FFF;

	border-bottom-right-radius: var(--radius);
	border-bottom-left-radius: var(--radius);

	flex-grow: 1;
}

.c-card--home .c-card__content:before
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	content: "";

	border-radius: 20px;

	box-shadow: 0 5px 8px 0 rgb(220 222 225);

	z-index: -1;
}

.c-card__text
{
	width: 100%;

	font-size: .9em;

	flex-grow: 1;
}

.c-card--service .c-card__text
{
	flex-grow: 0;
}

.c-card__text--service-price
{
	margin-top: 8px;
}

.c-card__text--service-price:empty
{
	display: none;
}

.c-card--max-h .c-card__text--service
{
	max-height: 135px;

	overflow: hidden;
}

button.c-card__see-more
{
	width: 80%;

	margin: 4px auto 8px;
	padding: 3px 6px;

	background-color: #F4F4F4;

	font-weight: 600;
	font-size: .85rem;
	color: #113565;

	box-shadow: 0 -7px 15px 15px white;
}

button.c-card__see-more:hover
{
	background-color: #E2DFDF;
}

.c-card__special-txt
{
	display: block;
}

.c-card__text--news p
{
	line-height: 1em;
}

.c-card__link-container
{
	display: flex;

	align-items: center;
	justify-content: center;
}

/**** Services ****/
.c-card-action__input input
{
	display: flex;

	height: 100%;

	padding-left: 5px;

	border-radius: 8px;
	border: 2px solid #EBEDF0;

	transition: border-color 320ms ease;

	box-sizing: border-box;

	align-items: center;
}

.c-card-action__input > div > div:before,
.c-card-action__input > div > div:after
{
	display: none;
}

.c-card-action__container
{
	display: flex;

	width: 50px;

	align-items: center;
}

.c-card-action__input
{
	display: flex;

	width: 20px;

	padding-top: 0;
	padding-right: 10px;
	padding-left: 0;
	padding-bottom: 0;

	font-weight: 600;
	font-size: .9em;
	color: #1E5AC2;

	border-radius: 0;

	flex-grow: 1;
}

.c-card-action__input--select
{
	min-width: 80px;
}

.c-card-action__element
{
	display: flex;

	gap: 12px;

	align-items: center;
}

.c-card-action__label
{
	padding-right: 0;

	font-weight: 700;
	font-size: .9em;
	color: #163768;
}

.c-card_price
{
	padding: 3px 8px;

	background-color: rgb(244 244 244);

	font-weight: 700;
	color: #163768;

	border-radius: 5px;
}

.c-card__link-container--service
{
	position: relative;
	display: flex;

	flex-direction: column;
	gap: 12px;

	margin-top: 42px;

	justify-content: flex-end;
	flex-grow: 1;
	align-items: flex-start;
}

.c-card__link-container--service::before
{
	position: absolute;

	height: 5px;
	width: 1em;

	top: -26px;
	left: 50%;
	margin-left: -.5em;

	background-color: #CCD7E5;

	font-size: 50px;

	content: "";

	border-radius: 8px;
}

.c-card__service-category
{
	height: auto;
	width: 100%;

	margin-top: 25px;
	margin-bottom: 25px;
	padding-left: 10px;

	font-size: 1.7em;

	text-align: left;

	flex-grow: 0;
}

.c-card--is-custom-fee .c-card__service-category
{
	visibility: hidden;
	opacity: 0;

	color: transparent;
}

/* 3 cols */
@media (min-width: 1505px)
{
	.c-card:not(:nth-child(3n+1)) .c-card__service-category[aria-hidden="true"]
	{
		visibility: hidden;
		opacity: 0;

		color: transparent;
	}
}

/* 2 cols */
@media (min-width: 1201px) and (max-width: 1504px)
{
	.c-card:not(:nth-child(2n+1)) .c-card__service-category[aria-hidden="true"]
	{
		visibility: hidden;
		opacity: 0;

		color: transparent;
	}
}

/* 3 cols */
@media (min-width: 1025px) and (max-width: 1200px)
{
	.c-card:not(:nth-child(3n+1)) .c-card__service-category[aria-hidden="true"]
	{
		visibility: hidden;
		opacity: 0;

		color: transparent;
	}
}

/* 2 cols */
@media (min-width: 695px) and (max-width: 1024px)
{
	.c-card:not(:nth-child(2n+1)) .c-card__service-category[aria-hidden="true"]
	{
		visibility: hidden;
		opacity: 0;

		color: transparent;
	}
}

/* 1 col */
@media (max-width: 694px)
{
	.c-card .c-card__service-category[aria-hidden="true"]
	{
		display: none;
	}
}

.c-card__service-price
{
	font-weight: 600;
	font-size: .95rem;
	color: #000;
}

.c-card__service-qty
{
	display: flex;

	width: 100%;

	align-items: center;
	justify-content: space-between;
}

.c-cart-discount-code
{
	width: 100%;

	margin-top: 2px;
	margin-bottom: 10px;
}

.c-cart-discount-code__switch
{
	position: relative;

	left: -7px;
}

.c-cart-discount-code__container
{
	display: flex;

	gap: 10px;

	margin-top: 8px;

	align-items: center;
}

.c-cart-discount-code__input-wrapper
{
	width: 50%;

	flex-grow: 1;
}

.c-cart-discount-code__indicator
{
	position: relative;
	display: flex;

	height: 56px;
	width: 48px;

	flex-shrink: 0;
	align-self: flex-start;
	align-items: center;
	justify-content: center;
}

.c-cart-discount-code--has-code .c-cart-discount-code__indicator
{
	order: -1;
}

.c-cart-discount-code__indicator-border
{
	display: flex;

	height: 38px;
	width: 38px;

	color: #003768;

	border-radius: 50%;
	border: 3px solid currentColor;

	align-items: center;
	justify-content: center;
}

.c-cart-discount-code__error
{
	width: calc(100% - 20px);

	margin-right: auto;
	margin-left: 10px;
	padding: 4px 10px;

	background-color: #FCEAEA;

	color: #000;

	text-align: center;

	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
}

.c-cart-discount-code--error .c-cart-discount-code__icon
{
	color: #EE2A2A;
}

.c-cart-discount-code__icon
{
	display: block;

	height: 1em;
	width: 1em;

	margin-top: -6px;

	font-size: 34px;
}

.c-cart-discount-code--has-code .c-cart-discount-code__icon
{
	margin: 0;

	font-size: 23px;
	color: inherit;
}

.c-cart-discount-code__delete-btn
{
	width: 56px;
	min-width: 0;

	background-color: #FCEAEA;

	color: #000;

	transition: background-color 240ms ease, color 240ms ease;

	align-self: stretch;
}

.c-cart-discount-code__delete-btn:hover
{
	background-color: #0D3768;

	color: #FFF;
}

/*
	$green       : #42A343;
	$light_green : #BDD261;

	$blue       : #90a652;
	$light_blue : #51B2CA;
	$dark_blue  : #4D728E;

	$red : #E5433B;
	$pink: #E983B4;
*/

.c-chart-legend
{
	position: relative;
	display: flex;

	padding: 8px 12px;

	color: #757575;

	align-items: center;
}

.c-chart-legend--primary .c-chart-legend__txt:before
{
	color: #003768;
}

.c-chart-legend--secondary .c-chart-legend__txt:before
{
	color: #5EAF00;
}

.c-chart-legend--terciary .c-chart-legend__txt:before
{
	color: #D5D5D5;
}

.c-chart-legend--quaternary .c-chart-legend__txt:before
{
	color: #51B2CA;
}

.c-chart-legend--quinary .c-chart-legend__txt:before
{
	color: #E94F2C;
}

.c-chart-legend__icon
{
	margin-right: 10px;

	font-size: 32px !important;
	color: inherit;
}

.c-chart-legend__txt
{
	display: flex;

	color: inherit;

	align-items: center;
}

.c-chart-legend__txt:before
{
	display: block;

	height: 1em;
	width: 1em;

	margin-right: 8px;

	background-color: currentColor;

	font-size: 10px;

	content: "";

	border-radius: 50%;
}

.c-chip
{
	display: inline-flex;

	padding: 4px 12px;

	background-color: #E0E0E0;

	font-weight: 400;
	font-size: 1rem;

	border-radius: 6px;
}

.c-chip:empty
{
	display: none;
}

.c-chip--no-bottom-radius
{
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.c-chip--green
{
	background-color: #42A343;

	color: #FFF;
}

.c-chip--red
{
	background-color: #E93339;

	color: #FFF;
}

.c-chip__label
{
	font-weight: 600;
	font-size: 1rem;
	color: #FFF;
}

.c-close-frequently-legend
{
	position: relative;
	display: inline-flex;

	margin: 0 0 0 20px;

	align-items: center;
}

.c-close-frequently-legend:before
{
	position: static;
	display: block;

	height: auto;
	width: auto;

	margin-right: 16px;

	font-weight: 700;
	font-size: 10px;

	content: 'Fermé';
	white-space: nowrap;
}

.c-cluster-icon
{
	display: flex;

	background-color: #1B3A5F;
	background-image: none;

	font-weight: 400;
	font-size: 20px;
	color: #FFF;

	border-radius: 100%;

	align-items: center;
}

.c-cluster-icon--orange
{
	background-color: #F90;

	box-shadow: 0 0 0 4px rgb(255 153 0 / 70%);
}

.c-cluster-icon--red
{
	background-color: #FF6969;

	box-shadow: 0 0 0 4px hsl(0deg 100% 71% / 70%);
}

.c-cluster-icon::before,
.c-cluster-icon::after
{
	position: absolute;
	display: block;
	opacity: 1;

	height: 96%;
	width: 96%;

	top: 50%;
	left: 50%;

	color: #1B3A5F;

	content: '';

	border-radius: 100%;

	transform: translate(-50%, -50%);

	z-index: -1;
}

.c-cluster-icon--orange::before,
.c-cluster-icon--orange::after
{
	color: #FF9B00;
}

.c-cluster-icon--red::before,
.c-cluster-icon--red::after
{
	color: #FF6969;
}

.c-cluster-icon::before
{
	opacity: 1;

	padding: 19px;

	box-shadow: 0 0 0 5px #254E6A;

	z-index: 2;
}

.c-cluster-icon::after
{
	opacity: .45;

	padding: 24px;

	box-shadow: 0 0 0 7px currentColor;
}

.c-coworking-space-prices
{
	margin-bottom: 10px;
	padding-top: 20px;

	overflow-x: auto;
	overflow-y: hidden;
}

.c-coworking-space
{
	display: flex;

	flex-wrap: wrap;
}

.c-coworking-space--row:before
{
	position: absolute;

	height: 2px;
	width: 100%;

	left: 0;
	bottom: 0;

	background-color: #000;

	content: "";
}

.c-coworking-space--row
{
	position: relative;

	margin-bottom: 0;
}

.c-coworking-space-prices--schedule
{
	display: flex;

	flex-direction: column;

	align-items: flex-start;
}

.c-coworking-space__price
{
	display: flex;

	flex-direction: column;
	flex-wrap: wrap;

	width: 87%;
}

.c-coworking-space__price--schedule
{
	width: 100%;

	flex-grow: 0;
}

.c-coworking-space__price__row
{
	position: relative;
	display: flex;

	justify-content: space-around;
}

.c-coworking-space__price__row--schedule
{
	height: 100%;

	justify-content: flex-start;
}

.c-coworking-space__price__row:last-child::before
{
	position: absolute;

	height: 2px;
	width: 100%;

	left: 0;
	bottom: 0;

	background-color: #000;

	content: "";
}

.c-coworking-space__price__row__col
{
	position: relative;
	display: flex;

	flex-direction: column;

	min-height: 52px;
	width: 90px;

	padding: 10px 0;

	text-align: center;

	flex-grow: 1;
	justify-content: center;
	align-items: center;
}

.c-coworking-space__price__row__col--title
{
	position: relative;
	display: flex;

	width: 160px;

	align-items: center;
	justify-content: center;
}

.c-coworking-space__name
{
	position: relative;
	display: flex;

	width: 13%;

	padding: 0 4px;

	text-align: center;

	border-right: 1px solid;
	border-bottom: 1px solid;

	align-items: center;
	justify-content: center;
}

.c-coworking-space__name--date
{
	border-right: none;
}

.c-coworking-space__price__row__col:before
{
	position: absolute;

	height: 100%;
	width: 1px;

	top: 0;
	right: 0;

	background-color: #000;

	content: "";
}

.c-coworking-space__price__row__col:after,
.c-coworking-space__name:after
{
	position: absolute;

	height: 1px;
	width: 100%;

	left: 0;
	bottom: 0;

	background-color: #000;

	content: "";
}

.c-coworking-space__price__row__col--date
{
	position: relative;
	display: flex;

	flex-direction: column;
}

.c-coworking-space__price__row__col--weekend
{
	background-color: rgb(119 119 119 / 30%);
}

.c-coworking-space__price__row__col--weekend:before
{
	width: 2px;
}

.c-coworking-space__price__row__col--seminaire
{
	display: flex;

	flex-direction: column;
}

.c-coworking-space__price__row__col--schedule
{
	width: 160px;

	flex-grow: 0;
}

.c-coworking-space__price__row__col--seminar
{
	position: relative;
	display: flex;

	flex-direction: column;

	min-height: calc(52px * 2);

	padding: 0;

	align-items: center;
	justify-content: space-around;
}

.c-coworking-space__price__row__col--seminar span:first-child:before
{
	position: absolute;

	height: 1px;
	width: 100%;

	top: 50%;
	left: 0;

	background-color: #000;

	content: "";
}

.c-coworking-space__seminar-title
{
	position: relative;
	display: flex;

	flex-direction: column;

	height: 100%;
	width: 5.5em;

	margin-right: -4px;
	margin-left: auto;

	font-size: 1em;

	border-left: 1px solid;

	align-items: center;
	flex-grow: 0;
	flex-shrink: 0;
	justify-content: center;
}

.c-coworking-space__seminar-title span
{
	display: flex;

	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: 50%;
	align-items: center;
}

.c-coworking-space__seminar-title span:first-child:before
{
	position: absolute;

	height: 1px;
	width: 100%;

	top: 50%;
	margin-top: .5px;
	left: 0;

	background-color: #000;

	content: "";
}

.c-close-info
{
	font-size: .8em;
}

.c-dashboard
{
	position: relative;
	display: block;

	min-height: 50px;

	font-size: .95em;
}

.c-dashboard--booking
{
	font-size: .9em;
}

.c-dashboard__row
{
	display: flex;

	width: 100%;

	border-bottom: 1px solid #E0E0E0;
}

.c-dashboard--head
{
	min-height: 0;

	font-size: .95em;
	color: #64748B;

	text-transform: uppercase;

	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
}

.c-dashboard__row.sortable
{
	font-weight: 600;
}

.c-dashboard__cell
{
	position: relative;
	display: flex;

	flex-wrap: wrap;

	line-height: 1.25em;
	width: auto;

	word-break: break-word;

	flex-basis: 20px;
	flex-grow: 2;
	align-items: center;
	flex-shrink: 0;
}

.c-dashboard__row:hover .c-dashboard__cell
{
	background-color: #EFEFEF;
}

.c-dashboard--head .c-dashboard__cell,
.c-dashboard--head:hover .c-dashboard__cell
{
	background-color: #F8FAFC;
}

.c-dashboard__row.Booking-paid .c-dashboard__cell
{
	background-color: transparent;
}

.c-dashboard__row.Booking-pending .c-dashboard__cell
{
	background-color: #D5E3F8;
}

.c-dashboard__row.Booking-canceled .c-dashboard__cell
{
	background-color: #FFF2F2;
}

.c-dashboard__cell-content
{
	display: flex;

	flex-grow: 1;
}

.c-dashboard__sort
{
	width: 100%;
	min-width: 0;

	padding: 0;

	font-size: 1em;

	text-align: left;

	border-radius: 0;

	justify-content: inherit;
}

.c-dashboard__sort span
{
	display: flex;

	align-items: center;
}

.c-dashboard__cell:not(.sortable):not(.selection):not(.is-btn),
.c-dashboard__sort,
.c-dashboard__cell-btn
{
	padding: 8px 10px;
}

.c-dashboard__cell-btn
{
	width: 100%;

	padding-top: 4px;
	padding-bottom: 4px;

	font-size: 1.65rem;
	color: #003768;
}

.c-dashboard__sort-icon
{
	margin-left: 2px;
	margin-bottom: 1px;

	font-size: 18px;
	color: #003768;

	transform: scale(1.2) translateX(4px);
}

.c-dashboard__cell.selection
{
	position: relative;

	width: 46px;
	min-width: 0;

	padding: 0;

	border-radius: 0;

	flex-basis: auto;
	flex-grow: 0;
	flex-shrink: 0;
}

.c-dashboard--head .c-dashboard__cell.selection:before,
.c-dashboard__cell.selection.invisible:before
{
	display: none;
}

.c-dashboard__cell.selection:before
{
	position: absolute;

	height: 100%;
	height: 1em;
	width: 100%;
	width: 1em;

	top: 50%;
	margin-top: -.5em;
	left: 50%;
	margin-left: -.5em;

	font-size: 22px;

	content: "";

	border: 1px solid #BCBCBC;
}

.c-dashboard__checked-cell
{
	position: absolute;

	height: 1em;
	width: 1em;

	top: 50%;
	margin-top: -.5em;
	left: 50%;
	margin-left: -.5em;
	padding: 3px;

	font-size: 26px;
	color: #4CC732;

	border-radius: 50%;
	border: 2px solid currentColor;
}

.c-dashboard__selected
{
	font-size: 16px;
	color: #E93339;
}

.c-dashboard__long-text
{
	display: block;

	width: 10px;
	min-width: 0;

	white-space: nowrap;
	text-overflow: ellipsis;

	overflow: hidden;

	align-items: center;
	flex-grow: 1;
}

.c-dashboard__pdf-link
{
	display: flex;
}

.c-dashboard__pdf-icon
{
	font-size: 32px;
}


.c-dashboard__cell.is-btn
{
	display: flex;

	flex-grow: 0;
	flex-shrink: 0;
	align-items: stretch;
}

.c-dashboard__cell.Contract-title,
.c-dashboard__cell.Contract-category,
.c-dashboard__cell.Contract-title,
.c-dashboard__cell.Contract-client_name,
.c-dashboard__cell.Quote-title,
.c-dashboard__cell.Quote-client_name,
.c-dashboard__cell.Bill-title,
.c-dashboard__cell.Bill-client_name,
.c-dashboard__cell.Payment-client_name
{
	display: flex;

	flex-basis: 170px;
	flex-grow: 10;
	align-items: center;
}


/* ------------------------------------ */
/* ----------- Quote fields ----------- */
/* ------------------------------------ */

.c-dashboard__cell.Quote-number
{
	flex-basis: 170px;
	flex-grow: 1;
}

.c-dashboard__cell.Quote-created_at
{
	flex-basis: 170px;
	flex-grow: 1;
}

.c-dashboard__cell.Quote-validity_end
{
	flex-basis: 220px;
	flex-grow: 0;
}

.c-dashboard__cell.Quote-grand_total
{
	flex-basis: 135px;
	flex-grow: 0;
}

.c-dashboard__cell.Quote-status
{
	flex-basis: 190px;
	flex-grow: 0;
}


/* ------------------------------------ */
/* ------------ Bill fields ----------- */
/* ------------------------------------ */

.c-dashboard__cell.Bill-number
{
	flex-basis: 170px;
	flex-grow: 1;
}

.c-dashboard__cell.Bill-bill_date
{
	flex-basis: 135px;
	flex-grow: 1;
}

.c-dashboard__cell.Bill-payment
{
	flex-basis: 170px;
	flex-grow: 0;
}

.c-dashboard__cell.Bill-grand_total
{
	flex-basis: 145px;
	flex-grow: 0;
}

.c-dashboard__cell.Bill-payment_status
{
	flex-basis: 140px;
	flex-grow: 0;
}


/* ------------------------------------ */
/* ---------- Contract fields --------- */
/* ------------------------------------ */

.c-dashboard__cell.Contract-created_at
{
	flex-basis: 175px;
	flex-grow: 1;
}


/* ------------------------------------ */
/* ---------- Payment fields ---------- */
/* ------------------------------------ */


.c-dashboard__cell.Payment-term_date
{
	flex-basis: 170px;
	flex-grow: 10;
}

.c-dashboard__cell.Payment-amount
{
	flex-basis: 120px;
	flex-grow: 0;
}

.c-dashboard__cell.Payment-date
{
	flex-basis: 180px;
	flex-grow: 1;
}

.c-dashboard__cell.Payment-bill_number
{
	flex-basis: 170px;
	flex-grow: 10;
}

.c-dashboard__cell.Payment-actions
{
	flex-basis: 165px;
	align-items: center;
}

@media(max-width:1024px)
{
	.dashboard-wrapper
	{
		overflow-x: auto;
	}

	.c-dashboard
	{
		width: 1020px;
	}
}

.c-dashboard--head .c-dashboard__cell,
.c-dashboard--head .MuiButton-root
{
	color: #64748B;
}

.c-dashboard__cell.Etablishment-phone_number
{
	text-align: center;

	flex-grow: 0;
	justify-content: center;
	flex-shrink: 0;
	flex-basis: 160px;
}

.c-dashboard__cell.Etablishment-status
{
	text-align: center;

	flex-grow: 0;
	justify-content: center;
	flex-shrink: 0;
	flex-basis: 120px;
}

.c-dashboard__cell.Etablishment-payment_kit
{
	text-align: center;

	flex-grow: 0;
	justify-content: center;
	flex-shrink: 0;
	flex-basis: 120px;
}

.c-dashboard__cell.Etablishment-has_lib,
.c-dashboard__cell.Etablishment-has_lounge,
.c-dashboard__cell.Etablishment-has_meeting
{
	text-align: center;

	flex-grow: 0;
	justify-content: center;
	flex-shrink: 0;
	flex-basis: 90px;
}

.c-dashboard__cell.Etablishment-_forfait
{
	text-align: center;

	flex-grow: 0;
	justify-content: center;
	flex-shrink: 0;
	flex-basis: 100px;
}

.c-dashboard__cell.Etablishment-qr_code
{
	flex-grow: 0;
	flex-shrink: 0;
	justify-content: center;
	flex-basis: 85px;
}

.c-dashboard__cell.Etablishment-actions
{
	flex-grow: 1;
	justify-content: flex-end;
}

.c-dashboard__cell.Booking-hours
{
	flex-grow: 1;
}

.c-dashboard__cell.Booking-number_of_people
{
	flex-basis: 110px;
	flex-grow: 0;
}

.c-dashboard__cell.Booking-amount
{
	flex-grow: 1;
}

.front-page .c-dashboard--booking
{
	min-width: 900px;
}


.c-dashboard__cell.Booking-coworking_space_name
{
	min-width: 110px;

	flex-grow: 3;
}

.c-dashboard__cell.Booking-coworking_space_type
{
	min-width: 100px;

	flex-grow: 2;
	justify-content: flex-start;
}

.c-dashboard__cell.Booking-customer_lastname
{
	min-width: 105px;
}

.c-dashboard__cell.Booking-created_at
{
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 105px;
	justify-content: flex-start;
}

.c-dashboard__cell.Booking-date
{
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 105px;
	justify-content: flex-start;
}

.c-dashboard__cell.Booking-number_of_people
{
	text-align: center;

	justify-content: center;
}

.c-dashboard__cell.Booking-amount
{
	text-align: right;

	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 100px;
	justify-content: flex-end;
}

.c-dashboard__cell.Booking-service
{
	flex-direction: column;
}

.c-dashboard__cell.Booking-status
{
	text-align: center;

	flex-basis: 160px;
	flex-grow: 0;
	flex-shrink: 0;
	justify-content: center;
}

.c-dashboard__cell.Booking-PDF
{
	text-align: center;

	flex-basis: 55px;
	flex-grow: 0;
	flex-shrink: 0;
	justify-content: center;
}

.c-dashboard__cell.Booking-source
{
	text-align: center;

	flex-basis: 125px;
	flex-grow: 0;
	flex-shrink: 0;
	justify-content: center;
}

.c-dashboard__cell.Booking-comment
{
	flex-basis: 130px;
	flex-grow: 0;
	flex-shrink: 0;
}

.c-dashboard__cell.Booking-amount_ht,
.c-dashboard__cell.Booking-amount_ttc
{
	text-align: center;

	flex-basis: 90px;
	flex-grow: 0;
	flex-shrink: 0;
	justify-content: flex-end;
}

.c-dashboard__cell.Booking-actions
{
	text-align: center;

	flex-basis: 140px;
	flex-grow: 0;
	flex-shrink: 0;
	justify-content: center;
}

.c-dashboard__cell.Booking-comment_icon
{
	font-size: 1em;
	color: inherit;
}

.c-dashboard__cell.Etablishment-images
{
	justify-content: center;
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 100px;
}

.c-dashboard__cell.Etablishment-id_property
{
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 115px;
}

.cutomer-bookings .c-pagination
{
	text-align: center;

	justify-content: center;
}

.cutomer-bookings .c-pagination .c-pagination__left
{
	flex-basis: 0;
}

.cutomer-bookings .c-pagination .c-pagination__infos
{
	flex-basis: unset;
}

.c-dashboard__cell.pack-order-qty
{
	flex-wrap: nowrap;

	align-items: center;
}

/* ------------------------------------ */
/* ----------- User fields ----------- */
/* ------------------------------------ */

.c-dashboard__cell.User-actions
{
	flex-grow: 1;
}

/* ------------------------------------ */
/* -------- DiscountCode fields ------- */
/* ------------------------------------ */

.c-dashboard__cell[class*="DiscountCode-"]
{
	flex-grow: 0;
	flex-basis: 10px;
}

.c-dashboard__cell.DiscountCode-code
{
	flex-grow: 1;
}

.c-dashboard__cell.DiscountCode-type
{
	flex-grow: 4;
	flex-basis: 80px;
}

.c-dashboard__cell.DiscountCode-title
{
	flex-grow: 3;
	flex-basis: 80px;
}

.c-dashboard__cell.DiscountCode-start,
.c-dashboard__cell.DiscountCode-booking_start
{
	flex-basis: 200px;
}

.c-dashboard__cell.DiscountCode-offered_hours
{
	flex-basis: 140px;
	justify-content: center;
}

.c-dashboard__cell.DiscountCode-max_use
{
	flex-basis: 240px;
}


/* ------------------------------------ */
/* ------ SubscriptionBill fields ----- */
/* ------------------------------------ */


.c-dashboard__cell[class*="SubscriptionBill-"]
{
	flex-grow: 0;
}

.c-dashboard__cell.SubscriptionBill-date
{
	flex-basis: 120px;
}

.c-dashboard__cell.SubscriptionBill-number
{
	flex-basis: 170px;
}

.c-dashboard__cell.SubscriptionBill-total_price
{
	flex-basis: 170px;
	justify-content: flex-end;
}

.c-dashboard__cell.SubscriptionBill-PDF
{
	flex-basis: 90px;
	justify-content: flex-end;
}

.c-dashboard__cell.SubscriptionBill-title
{
	flex-grow: 1;
}

/*
	$green       : #42A343;
	$light_green : #BDD261;

	$blue       : #90a652;
	$light_blue : #51B2CA;
	$dark_blue  : #4D728E;

	$red : #E5433B;
	$pink: #E983B4;
*/

.c-donut
{
	position: relative;

	width: 100%;

	background-color: #FFF;

	color: #757575;
}

.c-donut--primary
{
	color: #003768;
}

.c-donut--secondary
{
	color: #42A343;
}

.c-donut--terciary
{
	color: #E94F2C;
}

.c-donut__title
{
	display: flex;

	padding: 20px 25px;

	font-weight: 500;
	font-size: 1.2em;
	color: inherit;

	border-bottom: 2px solid #E6E6E6;

	align-items: center;
}

.c-donut__title-icon
{
	margin-right: 10px;
}

.c-donut__body
{
	position: relative;

	padding: 15px 20px;
}

.c-donut__chart
{
	position: relative;

	height: 180px;
	width: 180px;

	margin: auto;
}

.c-donut--circle .c-donut__chart
{
	height: 115px;
	width: 115px;
}

/* ------ Tablette ------ */
@media (min-width: 640px) and (max-width: 991px)
{
	.c-donut__chart
	{
		height: 110px;
		width: 110px;
	}

	.c-donut--circle .c-donut__chart
	{
		height: 90px;
		width: 90px;
	}
}

/* -------- Mobile -------- */
@media (max-width: 639px)
{
	.c-donut__chart
	{
		height: 100px;
		width: 100px;
	}

	.c-donut--circle .c-donut__chart
	{
		height: 80px;
		width: 80px;
	}
}

.c-donut__top-txt
{
	margin-bottom: 12px;

	font-weight: 500;
	font-size: 1.1em;
	color: #757575;

	text-align: center;
}

.c-donut__center-value
{
	position: absolute;
	display: flex;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	font-weight: 600;
	font-size: 1.6em;
	color: #404040;

	align-items: center;
	justify-content: center;
}

.c-donut--circle .c-donut__center-value
{
	font-size: 1.4em;
}

.c-donut__bottom-txt
{
	margin-top: 12px;

	font-size: 1.1em;
	color: #757575;

	text-align: center;
}

.c-donut__legend
{
	display: flex;

	flex-wrap: wrap;

	margin-top: 20px;

	justify-content: center;
}

.c-donut__circle
{
	position: relative;

	height: 0;
	width: 100%;

	padding-top: 100%;

	background: #51B2CA;
	background: linear-gradient(left top, #51B2CA 0%, #0F498C 100%);

	border-radius: 1000px;
}

.c-donut--green .c-donut__circle
{
	background: #42A343;
	background: linear-gradient(left top, #42A343 0%, #BDD261 100%);
}

.c-donut--red .c-donut__circle
{
	background: #E33E86;
	background: linear-gradient(left top, #E33E86 0%, #E94F2C 100%);
}

.c-donut__circle:before
{
	position: absolute;

	height: calc(100% - 1em);
	width: calc(100% - 1em);

	top: .5em;
	left: .5em;

	background-color: #FFF;

	font-size: 16px;

	content: "";

	border-radius: 50%;

	box-sizing: content-box;
}

.c-establishment-navigation-tabs
{
	position: static;

	padding-top: 14px;
}

.c-establishment-navigation-tabs__list
{
	display: flex;

	flex-wrap: wrap;
	gap: 18px;

	padding-top: 6px;
	padding-bottom: 6px;

	background-color: #FFF;

	align-items: stretch;
}

.c-establishment-navigation-tabs--fixed .c-establishment-navigation-tabs__list
{
	position: fixed;

	top: 0;

	z-index: 3;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-establishment-navigation-tabs--fixed .c-establishment-navigation-tabs__list
	{
		position: static;
	}
}

.c-establishment-navigation-tabs__item
{
	display: flex;

	min-height: 42px;
}

.c-establishment-navigation-tabs__link
{
	position: relative;
	display: flex;

	gap: 10px;

	padding: 6px 20px;

	background-color: #0D3768;

	border-radius: 36px;

	overflow: hidden;

	transition: transform 240ms ease;

	align-items: center;
}

.c-establishment-navigation-tabs__link::after
{
	position: absolute;
	display: block;

	height: 100%;
	width: 100%;

	top: 0;
	right: 0;
	left: 0;
	bottom: 0;

	content: "";

	z-index: 1;
}

.c-establishment-navigation-tabs__link,
.c-establishment-navigation-tabs__link:visited,
.c-establishment-navigation-tabs__link:hover
{
	color: #FFF;
}

.c-establishment-navigation-tabs__link,
.c-establishment-navigation-tabs__link:hover,
.c-establishment-navigation-tabs__link:focus
{
	text-decoration: none;
}

.c-establishment-navigation-tabs__link:hover
{
	transform: translate3d(3px, 3px, 0);
}

.c-establishment-navigation-tabs__icon
{
	display: block;

	height: 1em;
	width: 1em;

	font-size: 22px;
	color: currentcolor;
}

.c-establishment-navigation-tabs__icon.icon-myWO
{
	width: 1.1em;

	margin-left: 2px;
	margin-bottom: 2px;

	font-size: 28px;

	transform: scale(1.4) translateY(4px);

	order: 2;
}

.c-etablishment-recap
{
	position: relative;

	margin-top: 30px;
	padding-top: 30px;

	transition: opacity 200ms ease 140ms;
	transform: translateZ(0);
	animation: cover-animation 320ms ease;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-etablishment-recap
	{
		display: flex;

		flex-direction: column;

		margin-top: 0;
		margin-bottom: 30px;
		padding-top: 0;
		padding-bottom: 0;

		order: -1;
	}
}

.c-etablishment-recap:before
{
	position: absolute;
	display: block;

	height: 2px;
	width: calc(100% + 20px);

	top: 0;
	right: 0;
	left: -12px;

	background-color: #D9D9D9;

	content: "";

	border-radius: 4px;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-etablishment-recap:before
	{
		top: auto;
		bottom: 0;
	}
}

.c-etablishment-recap__img
{
	display: block;

	max-height: 200px;
	width: 100%;

	font-family: "object-fit: cover; object-position: center";

	object-fit: cover;
	object-position: center;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-etablishment-recap__img
	{
		margin-bottom: 20px;
	}
}

.c-etablishment-recap__title
{
	margin-top: 10px;

	font-weight: 600;
	font-size: 1.6em;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-etablishment-recap__title
	{
		order: -1;
	}
}

.c-etablishment-recap__title-link
{
	color: inherit;
	text-decoration: none;

	transition: color 240ms ease;
}

.c-etablishment-recap__title-link:hover
{
	display: block;

	width: 100%;

	color: #1E5AC2;
	text-decoration: none;
}

.c-etablishment-recap__infos
{
	display: flex;

	flex-wrap: wrap;
	gap: 20px 30px;
}

.c-etablishment-recap__row
{
	width: 100%;
}

.c-etablishment-recap__column
{
	width: 34%;

	flex-grow: 1;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-etablishment-recap__column
	{
		width: 100%;
	}
}

.c-etablishment-recap__subtitle
{
	margin: 0 0 12px 0;

	font-weight: 600;
	font-size: 1.1em;
	color: #69A3B9;

	text-transform: uppercase;
}

.c-etablishment-recap__services
{
	display: flex;

	flex-wrap: wrap;
	gap: 10px 15px;
}

.c-etablishment-recap__spaces-types
{
	display: flex;

	flex-wrap: wrap;
	gap: 10px 15px;

	margin-top: -4px;
}

.c-etablishment-recap__space-type
{
	padding: 2px 15px;

	background-color: #F16C30;

	color: #FFF;

	border-radius: 2em;
}

.c-etablishment-recap__galerie
{
	display: block;

	margin-top: -48px;
	margin-bottom: 30px;
	padding-left: 15px;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-etablishment-recap__galerie
	{
		margin-top: -70px;
	}
}

.c-etablishment-recap__galerie-btn
{
	background-color: rgba(0, 0, 0, .4);

	color: #FFF;
}

@keyframes recap-appear
{
	0%
	{
		opacity: 0;
	}

	100%
	{
		opacity: 1;
	}
}

/* -------- Etablishments page --------- */

.gm-style-iw button > span
{
	height: 40px !important;
	width: 40px !important;

	margin: 0 !important;
}

.map-popup.c-etablishment-recap
{
	max-width: 400px;

	margin-top: 0;
	padding: 20px;

	@media (max-width: 900px)
	{
		padding: 0;
	}
}

.map-popup.c-etablishment-recap:before
{
	display: none;
}

.map-popup__phone-icon
{
	margin-right: 10px !important;

	color: red !important;
}

.c-field-msg
{
	width: 100%;

	margin: 8px 0 10px;
	padding-left: 8px;

	border-left: 3px solid currentColor;
}

.c-field-msg--cb
{
	margin-left: 11px;
}

.c-field-msg--red
{
	color: #E93339;
}

.c-field-msg--green
{
	color: #4A736A;
}

.c-field-msg--blue
{
	color: #003768;
}

/* -------------------------------------- *\
|* -------- # c-file-thumbnail # -------- *|
\* -------------------------------------- */

.c-file-thumbnail
{
	position: relative;
	display: flex;

	width: 100%;

	margin-top: 8px;
	margin-bottom: 8px;
	padding: 0 1em;

	font-size: 10px;

	z-index: 1;

	justify-content: space-between;
	flex-grow: 1;
}

.c-file-thumbnail:last-child
{
	margin-bottom: 12px;
}

.c-file-thumbnail:before
{
	position: absolute;

	height: calc(100%);
	width: calc(100% - 1em);

	top: 0;
	left: 0;

	background-color: #FDFAF7;

	content: "";

	border: 2px solid #DDD;
}

.c-file-thumbnail__preview
{
	height: 32px;
	width: 64px;

	margin: .6em 0 .6em;
	margin-right: 12px;

	font-family: "object-fit: contain;";

	z-index: 1;

	object-fit: contain;
	flex-shrink: 0;
}

/* -------- file-thumbnail__icon -------- */

.c-file-thumbnail__icon
{
	position: relative;
	display: block;

	margin: 6px 0;
	margin-right: 12px;

	font-size: 36px;

	z-index: 1;

	flex-shrink: 0;
}

/* -------- file-thumbnail_title -------- */

.c-file-thumbnail__title
{
	display: flex;

	width: 100%;

	margin-right: 15px;

	font-size: 14px;

	z-index: 1;

	align-items: center;
}

.c-file-thumbnail__file-name
{
	min-width: 200px;

	margin-right: 12px;
}

.c-file-thumbnail__delete
{
	position: relative;

	min-height: 34px;
	width: 42px;

	color: #E74A41;

	flex-shrink: 0;
}

.c-file-thumbnail__delete-icon
{
	position: relative;

	height: 1em;
	width: 1em;

	margin: auto;

	font-size: 22px;

	cursor: pointer;

	border-radius: 50%;
	border: 2px solid currentColor;
}

.c-file-thumbnail__delete-icon:before,
.c-file-thumbnail__delete-icon:after
{
	position: absolute;

	height: .5em;
	width: 2px;

	top: 50%;
	margin-top: -.25em;
	left: 50%;
	margin-left: -1px;

	background-color: currentColor;

	content: "";

	border-radius: 4px;

	transform-origin: center;
}

.c-file-thumbnail__delete-icon:before
{
	transform: rotate(-45deg);
}

.c-file-thumbnail__delete-icon:after
{
	transform: rotate(45deg);
}

.c-file-thumbnail__link
{
	display: flex;

	z-index: 1;

	align-items: center;
	justify-content: center;
}

.c-filters
{
	display: inline-flex;

	flex-wrap: wrap;
	gap: 15px 15px;

	margin-bottom: 20px;
	padding: 5px 15px;

	background-color: #FFF;

	border-radius: 15px;

	box-shadow: 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.06);

	z-index: 2;

	align-items: center;
	flex-grow: 1;
}

.c-filters--admin-establishments
{
	align-items: flex-end;
}

.c-filters--price-dashboard
{
	gap: 15px 20px;

	padding-top: 20px;
	padding-bottom: 15px;
}

.c-filters--admin-bookings-stats
{
	gap: 20px 40px;
}

.c-filters--batches
{
	flex-wrap: wrap;
}

.c-filters--module-booking
{
	box-shadow: none;
}

.c-filters__row
{
	display: flex;

	flex-wrap: wrap;

	width: 100%;

	align-items: flex-end;
}

.c-filters__row + .c-filters__row
{
	margin-top: 7px;
}

.c-filters__element
{
	position: relative;

	width: 300px;
}

.c-filters--bookings .c-filters__element:nth-child(4)
{
	margin-right: calc(20% - 15px);
}

.c-filters--bookings .c-filters__element
{
	width: calc(20% - 15px);
}

.c-filters__element.is-date
{
	display: flex;

	width: auto;

	margin: 0;

	align-items: flex-end;
	flex-shrink: 0;
}

.c-filters__element.is-date:not(:last-child)
{
	margin-right: 0;
}

.c-filters__element-word
{
	margin-right: 15px;
	margin-left: 15px;
	margin-bottom: 8px;

	font-weight: 600;
	font-size: 1rem;

	flex-shrink: 0;
}

.c-filters__element.search
{
	min-width: 320px;
}

.c-filters__element.picker
{
	min-width: 240px;
}

.c-filters--batches .c-filters__element.picker
{
	min-width: 240px;

	flex-grow: 1;
}

.c-filters__element.large
{
	min-width: 330px;
}

.c-filters__element.date-picker
{
	min-width: 295px;
}

.c-filters__element.date-picker:before
{
	position: absolute;

	height: 70%;
	width: 10px;

	top: 0;
	left: 2px;

	content: "";

	border-width: 0 0 2px 2px;
	border-style: solid;
	border-color: #434343;

	z-index: -1;
}

.c-filters__dates-row
{
	display: flex;

	padding-left: 15px;

	color: #867537;

	align-items: center;
}

.c-filters__dates-from
{
	margin-right: 6px;
	margin-left: 15px;

	font-size: .95em;
}

.c-filters__dates-to
{
	margin-right: 6px;
	margin-left: 5px;

	font-size: .95em;
}

.c-filters__element-label
{
	line-height: 1em;

	padding-bottom: 4px;

	background-color: #FFF;

	font-weight: 700;
	font-size: .9em;
	color: #434343;

	letter-spacing: .02em;
	text-transform: uppercase;
}

.c-filters__element--date
{
	display: flex;

	white-space: nowrap;

	flex-shrink: 0;
	align-items: center;
}

.c-filters__element--type
{
	width: 23%;
}

.c-filters__element__date-input
{
	margin-top: -15px;
	padding-left: 10px;
}

.c-filters__element--grouped
{
	display: inline-flex;

	width: auto;

	white-space: nowrap;

	align-items: center;
	flex-shrink: 0;
	flex-basis: 23%;
	justify-content: flex-start;
}

.c-filters__element--price-configuration
{
	display: flex;

	flex-wrap: wrap;
	gap: 15px 0;

	width: 100%;
}

.c-footer
{
	display: block;

	width: 100%;

	padding: 15px 0 0;

	background-color: #EDF1F6;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer
	{
		display: flex;

		flex-direction: column;

		overflow: hidden;

		align-items: center;
		justify-content: center;
	}
}

.c-footer--simple
{
	margin-top: 0;
	padding-top: 0;
}

.c-footer__content
{
	display: flex;

	flex-wrap: wrap;

	max-width: 1500px;

	margin-right: auto;
	margin-left: auto;
	padding-bottom: 30px;

	align-items: flex-start;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__content
	{
		flex-direction: column;

		align-items: center;
	}
}

.c-footer__intro
{
	margin-top: 0;
	margin-bottom: 0;

	font-size: 1em;
}

.c-footer__left
{
	display: flex;

	flex-direction: column;

	width: auto;

	margin-top: 15px;
	margin-bottom: 15px;
	padding: 0 15px;

	flex-grow: 1;
	align-items: flex-start;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__left
	{
		width: 100%;

		align-items: center;
	}
}

.c-footer__logo
{
	width: 235px;

	margin-top: 12px;
}


/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__logo
	{
		order: -1;
	}
}

.c-footer__links
{
	display: flex;

	max-width: 100%;

	margin-top: 15px;
	margin-bottom: 15px;
	padding-left: 15px;

	flex-grow: 1;
	align-items: flex-start;
	flex-shrink: 0;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__links
	{
		max-width: 100%;

		align-items: center;
		justify-content: flex-start;
	}
}

.c-footer__links-content
{
	display: flex;

	flex-wrap: wrap;

	justify-content: space-between;
	flex-grow: 1;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__links-content
	{
		flex-direction: column;

		justify-content: flex-start;
	}
}

.c-footer__link-item
{
	margin-right: 15px;
	margin-bottom: 15px;

	font-weight: 700;
	color: #0D3768;

	white-space: nowrap;
	word-break: break-word;

	flex-shrink: 0;
	flex-grow: 0;
}

.c-footer__link-item:first-child
{
	margin-right: 45px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__link-item:first-child
	{
		margin-right: 15px;
	}
}

.c-footer__link-item:nth-child(2)
{
	width: auto;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__link-item
	{
		width: auto;
		min-width: 150px;

		flex-grow: 0;
	}
}

.c-footer__link,
.c-footer__link:active,
.c-footer__link:visited,
.c-footer__link:focus,
.c-footer__link:hover
{
	color: inherit;
	text-decoration: none;

	outline: none;
}

.c-footer__link-txt
{
	padding: 6px 0;
}

.c-footer__link
{
	position: relative;
	display: flex;

	padding: 6px 0;

	font-weight: 600;
	font-size: 1em;

	white-space: normal;

	align-items: center;
}

.c-footer__link:before
{
	position: absolute;
	opacity: 0;

	height: 2px;
	width: 0;

	left: 0;
	bottom: 0;

	background-color: currentColor;

	content: "";

	transition: .5s;
}

.c-footer__link:hover::before,
.c-footer__link:focus::before
{
	position: absolute;
	opacity: 1;

	height: 2px;
	width: 100%;

	left: 0;
	bottom: 0;

	background-color: currentColor;

	content: "";
}

.c-footer__link.with-icon::before
{
	display: none;
}

.c-footer__social-link-item
{
	width: auto;

	margin-right: 10px;

	flex-shrink: 0;
}

.c-footer__link-icon,
.c-footer__link-icon:visited,
.c-footer__link-icon:active,
.c-footer__link-icon:focus,
.c-footer__link-icon:hover
{
	color: inherit;
	text-decoration: none;
}

.c-footer__link-icon
{
	position: relative;
	display: block;

	height: 1em;
	width: 1em;

	margin-right: 8px;
	padding: 8px;

	background-color: #FFF;

	font-size: 38px;
	color: #0D3768;

	border-radius: 50%;

	box-shadow: 3px 5px 8px 0 rgb(197 197 197);

	overflow: hidden;

	transition: background-color 240ms ease;
}

.c-footer__link:hover .c-footer__link-icon
{
	background-color: #0D3768;
}

.c-footer__link-svg
{
	display: block;

	height: 1em;
	width: 1em;

	font-size: calc(1em - 16px);
	color: #0D3768;

	transition: transform 320ms ease;
}

.c-footer__link-mask
{
	position: absolute;

	height: 1em;
	width: 1em;

	top: 50%;
	margin-top: 0;
	left: 50%;
	margin-left: 0;

	font-size: inherit;
	font-size: calc(1em - 16px);
	color: #FFF;

	transition: transform 320ms ease;
	transform: translate3d(-50%, 90%, 0);
}

.c-footer__link:hover .c-footer__link-svg
{
	transform: translateY(-150%);
}

.c-footer__link:hover .c-footer__link-mask
{
	transform: translate3d(-50%, -50%, 0);
}

.c-footer__social
{
	display: flex;

	flex-direction: column;

	width: 320px;

	margin-top: 15px;
	margin-bottom: 15px;
	padding: 0 15px;

	flex-basis: 30%;
	flex-grow: 1;
	justify-content: flex-start;
	align-items: flex-start;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__social
	{
		width: auto;
	}
}

.c-footer__social-part
{
	display: flex;

	flex-direction: column;

	padding-right: 15px;
	padding-left: 15px;

	align-items: flex-start;
	justify-content: flex-start;
}

.c-footer__social-txt
{
	width: auto;
	min-width: 120px;

	margin: 0 15px 0 0;

	font-weight: 700;
	color: #1B3A5F;
}

.c-footer__social-links
{
	display: flex;

	flex-direction: row;

	align-items: flex-start;
	flex-grow: 1;
	justify-content: flex-start;
}

.c-footer__social-link-item
{
	width: auto;

	margin-top: 8px;

	flex-shrink: 0;
}

.c-footer__social-link,
.c-footer__social-link:visited,
.c-footer__social-link:active,
.c-footer__social-link:focus,
.c-footer__social-link:hover
{
	color: inherit;
	text-decoration: none;
}

.c-footer__social-link
{
	position: relative;
	display: block;

	height: 1em;
	width: 1em;

	padding: 8px;

	background-color: #FFF;

	font-size: 42px;
	color: #0D3768;

	border-radius: 50%;

	box-shadow: 3px 5px 8px 0 rgb(197 197 197);

	overflow: hidden;

	transition: background-color 240ms ease;
}

.c-footer__social-link:hover
{
	background-color: #0D3768;
}

.c-footer__social-icon
{
	display: block;

	height: 1em;
	width: 1em;

	font-size: calc(1em - 16px);
	color: #0D3768;

	transition: transform 320ms ease;
}

.c-footer__social-icon-mask
{
	position: absolute;

	height: 1em;
	width: 1em;

	top: 50%;
	margin-top: 0;
	left: 50%;
	margin-left: 0;

	font-size: inherit;
	font-size: calc(1em - 16px);
	color: #FFF;

	transition: transform 320ms ease;
	transform: translate3d(-50%, 90%, 0);
}

.c-footer__social-link:hover .c-footer__social-icon
{
	transform: translateY(-150%);
}

.c-footer__social-link:hover .c-footer__social-icon-mask
{
	transform: translate3d(-50%, -50%, 0);
}

.c-footer__bottom
{
	position: relative;
	display: flex;

	flex-wrap: wrap;

	width: 100%;

	font-size: .9em;
	color: #353535;

	z-index: 0;
}

.c-footer__bottom::before
{
	position: absolute;

	height: 1px;
	width: 100%;

	top: 0;
	left: 0;

	background-color: #CFCFCF;

	content: "";

	z-index: -1;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__bottom
	{
		display: flex;

		flex-direction: column;

		width: auto;

		margin-right: auto;
		margin-left: auto;

		flex-grow: 0;
	}

	.c-footer__bottom::before
	{
		width: 100vw;

		left: 50%;
		margin-left: -50vw;
	}
}

.c-footer__copyright
{
	margin: 12px 0;
	padding: 0 15px;

	text-transform: uppercase;

	flex-grow: 1;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__copyright
	{
		display: inline-block;

		width: auto;

		text-align: left;
	}
}

.c-footer__legal-links
{
	display: flex;

	flex-wrap: wrap;

	padding-left: 15px;

	align-items: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-footer__legal-links
	{
		display: inline-block;

		width: auto;

		margin: 0 auto;
	}
}

.c-footer__legal-item
{
	display: block;

	margin-top: 12px;
	margin-right: 15px;
	margin-bottom: 12px;
}

.c-footer__legal-link
{
	padding: 4px 6px;

	text-transform: uppercase;
}

.c-footer__legal-link,
.c-footer__legal-link:visited,
.c-footer__legal-link:hover,
.c-footer__legal-link:active,
.c-footer__legal-link:focus
{
	color: inherit;
	text-decoration: none;

	outline: none;
}

.c-footer__legal-link:hover,
.c-footer__legal-link:focus
{
	color: #858585;
}

.c-footer__legal-conditions
{
	width: 100%;

	margin: 0;
	padding: 12px 15px;

	font-style: italic;
	font-size: .9rem;
	color: #353535;

	border-top: 1px solid #CFCFCF;
}

.c-form-section
{
	position: relative;

	width: 100%;

	margin: 25px 0 0 0;
	padding: 12px 15px 8px;

	z-index: 0;
}

.c-form-section:before
{
	position: absolute;

	height: calc(100% - 2px);
	width: calc(100% - 2px);

	top: 2px;
	left: 2px;

	content: '';

	border: 2px solid #C2C2C2;

	z-index: -1;
}

.c-form-section__title
{
	position: absolute;

	line-height: 1em;

	top: 0;
	margin-top: -.3em;
	left: 15px;
	padding: 0 8px;

	background-color: #FFF;

	font-weight: 400;
	font-size: 1em;
	color: #0D3768;

	text-transform: uppercase;
}

.c-form-section__table-container
{
	width: 100%;
}

.c-form-section__table
{
	display: table;

	width: 100%;

	margin-top: 15px;
}

.c-form-separator
{
	height: 4px;
	width: 80px;

	margin: 20px auto;

	background-color: #E93339;
}

.c-form--booking-centered
{
	width: 60%;

	margin-right: auto;
	margin-left: auto;
}

@media(max-width:1024px)
{
	.c-form--booking-centered
	{
		width: 100%;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-form--booking-centered
	{
		margin-bottom: 30px;
	}
}

/* -------------------------------------- *\
|* --------- # c-form-element # --------- *|
\* -------------------------------------- */

.c-form-element
{
	position: relative;

	width: 100%;

	margin-bottom: 12px;

	text-align: left;
}

.c-form-element:last-child,
.c-form-element--sub-billing
{
	margin-bottom: 0;
}

.c-form-element--inline
{
	display: flex;

	margin-right: 15px;
	margin-bottom: 0;

	align-items: center;
	justify-content: flex-start;
}

/* -------- Mobile -------- */
@media (max-width: 639px)
{
	.c-form-element--inline
	{
		flex-wrap: wrap;

		width: 100%;

		margin-right: 0;
	}

	.c-form-element--inline.c-form-element--radio
	{
		flex-wrap: nowrap;

		width: auto;

		margin-right: 0;
	}

	.c-form-element--inline.c-form-element--radio
	{
		margin-right: 20px;
	}
}

.c-form-element--in-cell
{
	position: absolute;
	display: flex;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	align-items: stretch;
}

.c-form-element--in-cell:not(.c-form-element--disabled):hover
{
	background-color: rgb(225 249 235);
}

.c-form-element--info:before
{
	position: absolute;

	height: calc(100% + 8px);
	width: calc(100% + 16px);

	top: -4px;
	left: -8px;

	background-color: #EAF7EB;

	content: "";

	z-index: 0;
}

.c-form-element--error:before
{
	position: absolute;

	height: calc(100% + 8px);
	width: calc(100% + 16px);

	top: -4px;
	left: -8px;

	background-color: #FAEBE9;

	content: "";

	z-index: 0;
}

.c-form-element--column
{
	flex-direction: column;

	width: 100%;

	margin-top: 0;

	align-items: flex-start;
}

.c-form-element--date
{
	position: relative;
}

.c-form-element--date.c-form-element--auto
{
	width: auto;

	margin: 0;
}

.c-form-element--date.c-form-element--filter
{
	width: auto;

	margin-bottom: 0;
}

.c-form-element--short-date
{
	min-width: 60px;
}

/* ----------------------------------- */
/* ---------- form__submit ----------- */
/* ----------------------------------- */

.c-form__submit
{
	position: relative;
	display: inline-block;

	line-height: 1em;

	margin-top: 20px;
	padding: 8px 18px;

	background-color: #A7D9C9;

	font-size: 16px;
	color: #FFF;

	cursor: pointer;

	border: 2px solid #A7D9C9;

	box-shadow: none;

	transition: background-color 400ms ease 40ms, color 320ms ease;
}

.c-form__submit:hover,
.c-form__submit:focus,
.c-form__submit:active
{
	background-color: transparent;

	color: #A7D9C9;

	outline: none;

	transition: background-color 300ms ease 20ms, color 320ms ease;
}

.c-form__submit:focus
{
	box-shadow: 0 0 0 3px rgba(179, 219, 205, .6);
}

.c-form__submit + .c-form__submit
{
	margin-left: 20px;
}

.c-form__submit.file
{
	margin-top: 0;
}


/* ---------------------------------------- *\
|* ----------- # c-form-label # ----------- *|
\* ---------------------------------------- */

.c-form-label
{
	position: relative;
	display: flex;

	width: 100%;

	font-weight: normal;
	font-size: 1em;
	color: #666;

	cursor: pointer;
	text-align: left;

	z-index: 1;

	align-items: center;
}

.c-form-label--file
{
	margin-top: 15px;
	margin-bottom: 12px;

	font-size: .9em;
	color: #003768;
}

.c-form-label--error,
.c-form-label--warning,
.c-form-label--info
{
	display: block;

	padding-left: 6px;

	cursor: default;

	border-left: 2px solid currentColor;
}

.c-form-label--error
{
	margin-top: 5px;

	color: #CC2B17;
}

.c-form-label--warning
{
	margin-top: 5px;

	font-size: 16px;
	color: #86AADA;
}

.c-form-label--info
{
	margin-top: 6px;

	color: #2EB619;
}

/* ------------------------------------ */
/* -------- form-element__file -------- */
/* ------------------------------------ */

.c-form-element__file
{
	position: absolute;

	height: 0;
	width: 0;

	font-size: 0;

	overflow: hidden;

	z-index: 1;
}

/* ------- form-element__file-loader ------- */

.c-form-element__file-loader
{
	position: relative;

	height: 34px;
	width: 50px;

	margin-left: 15px;
}

/* ---------- form-element__date ---------- */
.c-form-element__date
{
	min-width: 0;

	padding: 6px 2px;

	font-family: inherit;
	font-weight: inherit;
	font-size: 1rem;
	color: inherit;

	text-align: center;
}

.c-form-element--short-date .c-form-element__date
{
	width: 100%;

	font-size: .85em;
}

/* -------- form-element__date-icon -------- */
.c-form-element__date-icon
{
	margin-right: 6px;
}

.c-form-element--short-date .c-form-element__date-icon
{
	margin-right: 0;
}

/* ---------- form-element__label ---------- */
.c-form-element__label
{
	font-size: .9em;
}

.c-form-element--date .c-form-element__label
{
	margin-bottom: 6px;
	padding-left: 4px;

	color: #003768;
}

.c-form-element--date.c-form-element--filter .c-form-element__label
{
	margin-bottom: 0;
}

.c-form-element--reservation
{
	display: block;

	width: 100%;

	margin: 12px auto;
}

.c-form--reservation
{
	display: flex;

	flex-direction: column;

	align-items: center;
}

@media(max-width:1024px)
{
	.c-form-element--reservation
	{
		width: 100%;
	}
}

.c-form-element--custom-checkbox
{
	display: block;

	margin-top: 0;
	margin-bottom: 8px;

	font-size: .85em;
}

.c-form-element--custom-checkbox label
{
	display: inline;

	margin-right: 0;
}

.c-form-element--in-cell label
{
	display: flex;

	width: 100%;
	min-width: 0;

	margin: 0;

	align-items: center;
	justify-content: center;
}

.c-form-element--in-cell label span
{
	margin: 0;
}

.c-form-element--custom-checkbox span
{
	font-size: 1em;
}

.c-form-element--uppercase input
{
	text-transform: uppercase;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.subscription-billing-fields .switch-label
	{
		text-align: center;
	}
}

.c-form-element__html-wrapper
{
	position: relative;
	display: inline-flex;

	line-height: 1.1876em;
	width: 100%;

	font-family: inherit;
	font-weight: 400;
	font-size: 1rem;
	color: rgba(0, 0, 0, .87);

	cursor: text;

	box-sizing: border-box;

	align-items: center;
}

.c-form-element__html-wrapper::before
{
	position: absolute;

	right: 0;
	left: 0;
	bottom: 0;

	content: "\00a0";
	pointer-events: none;

	border-bottom: 1px solid rgba(0, 0, 0, .42);

	transition: border-bottom-color 200ms cubic-bezier(.4, 0, .2, 1) 0ms;
}

.c-form-element__html-input
{
	display: block;

	height: 1.1876em;
	width: 100%;
	min-width: 0;

	margin: 0;
	padding: 6px 0 7px;

	background: none;

	font: inherit;
	color: currentColor;

	letter-spacing: inherit;

	border: 0;

	animation-name: mui-auto-fill-cancel;
	animation-duration: 10ms;

	box-sizing: content-box;

	-webkit-tap-highlight-color: transparent;
}

.c-form-element__html-input:focus
{
	outline: none;
}

.c-front-booking
{
	display: flex;

	flex-wrap: wrap;

	margin-bottom: 30px;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-front-booking
	{
		text-align: center;
	}
}

.c-front-booking--white-label-booking
{
	position: relative;
}

.c-front-booking--back
{
	align-items: flex-start;
}

.c-front-booking__cart
{
	position: relative;
	display: block;
	float: right;
}

.c-front-booking--back .c-front-booking__cart
{
	width: 35%;
}

.c-front-booking__customer
{
	display: flex;

	flex-wrap: wrap;

	gap: 30px;
}

.c-front-booking--back .c-front-booking__customer
{
	padding-right: 15px;
	padding-left: 15px;

	flex-grow: 1;
	flex-basis: 50%;
}

@media (max-width:1024px)
{
	.c-front-booking
	{
		flex-direction: column;
	}
}

@media (max-width: 767px)
{
	.c-front-booking--white-label-booking
	{
		padding-top: 5px;
	}
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-front-booking__next
	{
		margin-bottom: 40px;

		order: -1;
	}
}

.c-front-navbar
{
	display: flex;

	margin: 0;
}

.c-front-navbar:empty
{
	display: none;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-front-navbar
	{
		flex-direction: column;

		width: 100%;
	}
}

.c-front-navbar__item
{
	display: flex;

	margin-left: 10px;

	align-items: center;
}

/* ------------- Laptop & Desktop ------------- */
@media (min-width: 1201px)
{
	.c-front-navbar__item:first-child
	{
		margin-left: 0;
	}

	.c-front-navbar__item:last-child
	{
		margin-right: 0;
	}

	.c-front-navbar__link:before
	{
		position: absolute;
		opacity: 0;

		height: 2px;
		width: 0;

		left: 0;
		bottom: 0;

		background-color: currentColor;

		content: "";

		transition: .5s;
	}

	.c-front-navbar__link:hover,
	.c-front-navbar__link:focus
	{
		background-color: transparent;

		text-decoration: none;

		transition: .3s ease-in;
	}

	.c-front-navbar__link:hover::before,
	.c-front-navbar__link:focus::before
	{
		position: absolute;
		opacity: 1;

		height: 2px;
		width: calc(100% - 24px);

		left: 12px;
		bottom: 0;

		background-color: currentColor;

		content: "";
	}
}

.c-front-navbar__link
{
	position: relative;
	display: block;

	padding: 6px 12px;

	font-weight: 400;
	font-size: 1.05em;
	color: #FFF;
	text-decoration: none;

	letter-spacing: .05em;
	text-transform: none;
}

.c-front-navbar__link--blue
{
	color: #497AA5;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-front-navbar__link
	{
		position: relative;

		width: 100%;

		padding: 10px 15px;

		font-size: 1em;
	}

	.c-front-navbar__link:after
	{
		position: absolute;

		height: 1px;
		width: 30px;

		left: 15px;
		bottom: 100%;

		background-color: currentColor;

		content: "";
	}

	.c-front-navbar__item:first-child .c-front-navbar__link:after
	{
		display: none;
	}
}

.c-front-navbar__special-btn
{
	margin-right: 10px;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-front-navbar
	{
		flex-direction: column;
		gap: 16px;

		width: 100%;

		align-items: center;
	}
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-front-navbar__item
	{
		margin: 0;
	}
}

/* ------------- Laptop & Desktop ------------- */
@media (min-width: 1201px)
{
	.c-front-navbar__item:first-child
	{
		margin-left: 0;
	}

	.c-front-navbar__item:last-child
	{
		margin-right: 0;
	}

	.c-front-navbar__link:before
	{
		position: absolute;
		opacity: 0;

		height: 2px;
		width: 0;

		left: 0;
		bottom: 0;

		background-color: currentColor;

		content: "";

		transition: .5s;
	}

	.c-front-navbar__link:hover,
	.c-front-navbar__link:focus
	{
		background-color: transparent;

		text-decoration: none;

		transition: .3s ease-in;
	}

	.c-front-navbar__link:hover::before,
	.c-front-navbar__link:focus::before
	{
		position: absolute;
		opacity: 1;

		height: 2px;
		width: calc(100% - 24px);

		left: 12px;
		bottom: 0;

		background-color: currentColor;

		content: "";
	}
}

.c-front-navbar__link
{
	position: relative;
	display: block;

	padding: 6px 12px;

	font-weight: 400;
	font-size: 1.05em;
	color: #FFF;
	text-decoration: none;

	letter-spacing: .05em;
}

.c-front-navbar__link--blue
{
	color: #497AA5;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-front-navbar__link
	{
		position: relative;

		width: 100%;

		padding: 10px 15px;

		font-size: 1em;
	}

	.c-front-navbar__link:after
	{
		position: absolute;

		height: 1px;
		width: 30px;

		left: 15px;
		bottom: 100%;

		background-color: currentColor;

		content: "";
	}

	.c-front-navbar__item:first-child .c-front-navbar__link:after
	{
		display: none;
	}
}

.c-front-navbar__button-link
{
	display: inline-flex;

	padding: 8px 15px;

	color: #FFF;

	text-transform: none;

	border-radius: 25px / 50%;
	border: 1px solid currentColor;

	align-items: center;
}

.c-front-navbar__button-link:hover
{
	background-color: rgba(255, 255, 255, .2);
}

.c-front-navbar__button-link,
.c-front-navbar__button-link:focus,
.c-front-navbar__button-link:active
{
	color: #FFF;
	text-decoration: none;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-front-navbar__button-link
	{
		margin-right: 12px;
		margin-left: 10px;
		padding: 8px 20px;
	}
}

.c-front-page-intro
{
	position: relative;
	display: flex;

	flex-direction: column;

	width: 100%;

	padding-top: 100px;
}

.c-front-page-intro--primary-bg
{
	background-color: #0D3768;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1325px)
{
	.c-front-page-intro
	{
		padding-top: 100px;
	}

	.c-front-page-intro--home,
	.c-front-page-intro--primary-bg
	{
		padding-top: 0;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro
	{
		padding-top: 15px;
	}

	.c-front-page-intro--search-results-page
	{
		padding-top: 30px;
	}
}

.c-front-page-intro--home
{
	min-height: 78vh;

	justify-content: flex-end;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1325px)
{
	.c-front-page-intro--home
	{
		min-height: 70vh;
	}
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-front-page-intro--discount-code
	{
		justify-content: flex-start;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro--home
	{
		min-height: calc(100vh - 66px + 10px);

		padding-top: 0;
		padding-bottom: 110px;

		justify-content: flex-start;
	}
}

@media (max-width: 425px)
{
	.c-front-page-intro--home
	{
		padding-top: 0;
	}
}

.c-front-page-intro--etablishment
{
	min-height: 63vh;

	padding-bottom: 70px;

	background-color: #1B3A5F;

	justify-content: flex-end;
}

.c-front-page-intro--condensed
{
	min-height: 40vh;

	padding: 0;

	justify-content: center;
}

.c-front-page-intro--space
{
	min-height: 60vh;

	padding-bottom: 80px;

	background-color: #1B3A5F;

	justify-content: flex-end;
}

.c-front-page-intro--direct-booking
{
	min-height: 0;

	padding-top: 160px;
	padding-bottom: 0;

	background-color: #1B3A5F;

	justify-content: flex-end;
}

.c-front-page-intro--search-results-page
{
	min-height: 30vh;

	justify-content: flex-end;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-front-page-intro--search-results-page
	{
		height: auto;
	}
}

.c-front-page-intro--concept
{
	padding-bottom: 300px;
}

.c-front-page-intro--place
{
	padding-top: 120px;
	padding-bottom: 250px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro--place
	{
		padding-top: 30px;
	}
}

.c-front-page-intro--lounge-subscription
{
	padding-bottom: 240px;
}

.c-front-page-intro--offre-entreprise
{
	padding-bottom: 240px;
}

.c-front-page-intro--static-page
{
	padding-bottom: 300px;
}

.c-front-page-intro__content
{
	display: flex;

	flex-wrap: wrap;

	width: 1030px;
	max-width: 100%;

	margin-right: auto;
	margin-left: auto;
	padding: 0 15px;
}

.c-front-page-intro--place .c-front-page-intro__content
{
	width: 1400px;
	max-width: 100%;

	align-items: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro--place .c-front-page-intro__content
	{
		flex-direction: column-reverse;
	}
}

.c-front-page-intro--lounge-subscription .c-front-page-intro__content
{
	width: 1200px;
}

.c-front-page-intro__content--offre-entreprise
{
	min-height: 300px;
	width: 1300px;
	max-width: 100%;

	margin-right: auto;
	margin-left: auto;
}

.c-front-page-intro__bg
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-image: url(/images/home_presentation_img_2021.jpg);
	background-position: center;
	background-size: cover;

	font-family: "object-fit: cover; object-position: center";

	z-index: 0;

	object-position: center;
	object-fit: cover;
}

.c-front-page-intro--discount-code .c-front-page-intro__bg
{
	object-position: top;
}

img.c-front-page-intro__bg
{
	background: none;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro__bg
	{
		background-repeat: no-repeat;
		background-position: center top;
		background-size: contain;

		object-fit: cover;
		object-position: center;
	}

	.c-front-page-intro--home .c-front-page-intro__bg
	{
		position: static;
	}

	.c-front-page-intro--discount-code .c-front-page-intro__bg
	{
		height: 250px;
	}
}

.c-front-page-intro--concept .c-front-page-intro__bg,
.c-front-page-intro--place .c-front-page-intro__bg
{
	background-color: #163768;
	background-image: none;

	z-index: -1;
}

.c-front-page-intro--lounge-subscription .c-front-page-intro__bg
{
	background-color: #163768;
	background-image: none;

	z-index: -1;
}

.c-front-page-intro--static-page .c-front-page-intro__bg
{
	background-color: #163768;
	background-image: none;

	z-index: -1;
}

.c-front-page-intro__slider-container
{
	position: absolute;
	display: flex;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	z-index: 0;

	align-items: stretch;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-front-page-intro__slider-container
	{
		top: -40px;
	}
}

.c-front-page-intro__filter
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-color: rgba(0, 0, 0, .4);

	z-index: 0;
}

.c-front-page-intro--discount-code .c-front-page-intro__filter
{
	background-color: rgba(0, 0, 0, .25);
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro__filter,
	.c-front-page-intro--discount-code .c-front-page-intro__filter
	{
		background-color: transparent;
	}
}

.c-front-page-intro--etablishment .c-front-page-intro__bg
{
	background-image: none;
}

.c-front-page-intro--etablishment .c-front-page-intro__filter
{
	background-color: rgba(0, 0, 0, .5);
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.c-front-page-intro--home .c-front-page-intro__bg
	{
		filter: brightness(.6);
	}
}

.c-front-page-intro--search-results-page .c-front-page-intro__bg
{
	background-image: url(/images/home_presentation_img_2021.jpg);
	background-position: center;
	background-size: cover;
}

.c-front-page-intro__left
{
	position: relative;

	width: 400px;

	margin-top: 15px;
	margin-right: 80px;
	margin-bottom: 15px;

	font-size: .9em;

	flex-grow: 1;
}

.c-front-page-intro--static-page .c-front-page-intro__left
{
	margin-right: 0;
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 768px) and (max-width: 1200px)
{
	.c-front-page-intro--place .c-front-page-intro__left
	{
		width: 30%;

		flex-grow: 1;
		flex-shrink: 0;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro__left
	{
		min-width: 0;

		margin-right: 0;
	}

	.c-front-page-intro--place .c-front-page-intro__left
	{
		width: 100%;
	}
}

.c-front-page-intro__slider-texts
{
	display: flex;

	flex-direction: column;

	width: 100%;

	padding-bottom: 80px;

	justify-content: flex-end;
}

.c-front-page-intro--condensed .c-front-page-intro__slider-texts
{
	padding-bottom: 0;
}

.c-front-page-intro__discount-banner
{
	display: block;

	width: auto;

	margin: 0 auto 0 0;
	padding: 14px 25px 18px 40px;

	background-color: #FF8532;

	font-family: "Now";
	font-weight: 700;
	font-size: 27px;
	color: #FFF;

	z-index: 1;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-front-page-intro__discount-banner
	{
		width: 100%;

		padding-right: 20px;
		padding-left: 20px;
	}
}

.c-front-c-front-page-intro__discount-date
{
	padding: 6px 6px 4px;

	background-color: #0F3A5D;

	font-family: inherit;
	font-weight: 500;
	font-size: 16px;

	text-transform: uppercase;
}

.c-front-page-intro__discount-code
{
	padding: 6px 6px 2px;

	background-color: #0F3A5D;

	font-size: 1em;

	border-radius: 12px;
}

.c-front-page-intro__discount-infos
{
	display: block;

	line-height: 1.3em;
	width: 100%;

	margin-top: 4px;

	font-weight: 500;
	font-size: 20.5px;

	text-transform: none;

	text-shadow: none;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-front-page-intro__discount-infos
	{
		line-height: 1.45em;

		font-size: 18px;
	}
}

.c-front-page-intro__title
{
	line-height: 1.3em;
	width: 1500px;
	max-width: 100%;

	margin: 0 auto;
	padding-right: 12px;
	padding-left: 12px;

	font-family: "Noto Sans";
	font-weight: 700;
	font-size: 62px;
	color: #FFF;

	z-index: 1;
}

.c-front-page-intro--discount-code .c-front-page-intro__title
{
	line-height: 1.7em;
	width: auto;

	margin: 8px 0 0 0;
	padding: 0;

	font-family: inherit;
	font-size: 27px;

	text-transform: uppercase;

	text-shadow: 1px -1px 2px rgb(0 0 0 / 18%);
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-front-page-intro--discount-code .c-front-page-intro__title
	{
		font-size: 22px;
	}
}

.c-front-page-intro--concept .c-front-page-intro__title,
.c-front-page-intro--place .c-front-page-intro__title
{
	padding: 0;

	font-size: 2em;
}

.c-front-page-intro--lounge-subscription .c-front-page-intro__title
{
	padding: 0;

	font-size: 2em;
}

.c-front-page-intro--static-page .c-front-page-intro__title
{
	padding: 0;

	font-size: 3.8em;
}

.c-front-page-intro--concept .c-front-page-intro__presentation
{
	line-height: 1.4em;

	font-size: 1em;
	color: #FFF;
}

.c-front-page-intro--place .c-front-page-intro__presentation
{
	line-height: 1.8em;

	font-size: 1.05em;
	color: #FFF;
}

.c-front-page-intro--lounge-subscription .c-front-page-intro__presentation
{
	line-height: 1.6;

	font-size: 1rem;
	color: #FFF;
}

.c-front-page-intro--static-page .c-front-page-intro__presentation
{
	line-height: 1.4em;

	font-size: 1em;
	color: #FFF;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro__title
	{
		font-size: 2.8em;
	}

	.c-front-page-intro--home .c-front-page-intro__title
	{
		margin-top: -125px;

		font-size: 2.2em;
	}

	.c-front-page-intro--discount-code .c-front-page-intro__title
	{
		margin-top: 10px;

		font-size: 22px;
	}
}

/* -------------- Mobile (small) -------------- */
@media (max-width: 424px)
{
	.c-front-page-intro__title
	{
		font-size: 1.8em;
	}

	.c-front-page-intro--home .c-front-page-intro__title
	{
		margin-top: -95px;

		font-size: 1.7em;
	}

	.c-front-page-intro--discount-code .c-front-page-intro__title
	{
		margin-top: 10px;

		font-size: 20px;
	}

	.c-front-page-intro--static-page .c-front-page-intro__title
	{
		font-size: 2.3rem;
	}
}

.c-front-page-intro__side-img
{
	display: block;

	height: 380px;
	max-height: 40vh;
	width: 400px;
	max-width: 100%;

	font-family: "object-fit: cover;";

	border-radius: 20px;

	object-fit: cover;
	flex-shrink: 0;
}

.c-front-page-intro--lounge-subscription .c-front-page-intro__side-img
{
	height: 300px;
}

.c-front-page-intro--place .c-front-page-intro__side-img
{
	height: 580px;
	max-height: 32vh;
	width: 580px;
	max-width: 100%;

	flex-shrink: 0;
}

/* ------ Tablet (portrait & landscape) ------- */
@media (min-width: 768px) and (max-width: 1200px)
{
	.c-front-page-intro--place .c-front-page-intro__side-img
	{
		height: 390px;
		width: 48%;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro--place .c-front-page-intro__side-img
	{
		height: 260px;
		width: 440px;
		max-width: 100%;
	}
}

.c-front-page-intro__address
{
	display: flex;

	width: 1500px;
	max-width: 100%;

	margin-top: 30px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 12px;
	padding-left: 12px;

	font-style: normal;
	font-size: 1.3em;
	color: #FFF;

	text-transform: none;

	z-index: 1;

	align-items: center;
}

.c-front-page-intro__address + .c-front-page-intro__address
{
	margin-top: 1.1em;
}

.c-front-page-intro__galerie
{
	display: flex;

	width: 1500px;
	max-width: 100%;

	margin-top: 30px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 12px;
	padding-left: 22px;

	text-transform: none;

	z-index: 1;

	justify-content: flex-start;
	align-items: center;
}

.c-front-page-intro__btn
{
	margin-left: -12px;
	padding-right: 12px;
	padding-left: 12px;

	background-color: rgba(46, 107, 191, .79);

	font-style: normal;
	font-size: 1.3em;
	color: #FFF;

	text-transform: none;

	border-radius: 1em;
}

.c-front-page-intro__btn:hover
{
	background-color: #1C3B60;
}

.c-front-page-intro__btn--direct-booking
{
	background-color: #1C3B60;

	font-size: 1em;
}

.c-front-page-intro__btn--direct-booking:hover
{
	background-color: #1C3B60;
}

.c-front-page-intro__widget
{
	width: 1200px;
	max-width: 100%;

	margin: 60px auto -15px;
	padding-right: 10px;
	padding-left: 10px;

	z-index: 1;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-front-page-intro__widget
	{
		margin-top: 12px;
	}
}

.c-front-page-intro__address-icon
{
	margin-right: 8px;

	font-size: 24px;
	color: inherit;
}

.c-front-space-schedule
{
	display: inline-flex;

	flex-wrap: wrap;
	gap: 8px 15px;

	margin-top: 0;
}

.c-front-space-schedule__day
{
	display: flex;

	margin-bottom: 0;
	padding: 0;

	align-items: center;
}

.c-front-space-schedule__day-label
{
	margin-right: 4px;

	font-weight: 700;
	color: #1B3A5F;
}

.c-front-space-schedule__separator
{
	margin: 0 .4em;
}

.c-gallery
{
	position: relative;
	display: flex;

	flex-wrap: wrap;
	--gap: 40px;
	gap: var(--gap);
}

.c-gallery__element
{
	width: calc(50% - calc(var(--gap) / 2));
	min-width: 0;

	padding: 0;

	border-radius: 0;

	align-items: stretch;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-gallery__element
	{
		width: 100%;
	}

	.c-gallery__element:not(:first-child):not(.is-gallery-element)
	{
		display: none;
	}
}

.c-gallery__element::before
{
	display: block;

	width: 100%;

	padding-top: 66.666%;

	content: "";
}

.c-gallery__element.is-gallery-element
{
	display: flex;

	width: 100%;

	margin-top: calc(-1 * var(--gap));
	margin-bottom: calc(-1 * var(--gap));

	text-align: center;

	justify-content: center;
	align-items: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-gallery__element.is-gallery-element
	{
		margin-top: 0;
		margin-bottom: -15px;

		order: 10;
	}
}

.c-gallery__element.is-gallery-element::before
{
	display: none;
}

.c-gallery__img
{
	position: absolute;
	display: block;

	height: 100%;
	width: 100%;

	top: 0;
	right: 0;
	left: 0;
	bottom: 0;

	border-radius: 12px;

	object-fit: cover;
	object-position: center;
}

.c-gmap
{
	height: 100%;
	width: 100%;
}

.c-gmap .gm-style > div:last-child
{
	display: none !important;
}

.c-gmap a[href^="https://maps.google.com"]
{
	display: none !important;
}

.c-gmap--home,
.c-gmap--subscriptions
{
	display: block;

	height: 600px;
	max-height: 70vh;
	width: calc(50% - 18px);

	flex-grow: 0;
	flex-shrink: 0;
}

.c-gmap--subscriptions
{
	height: var(--map-height);
	width: 100%;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-gmap--home,
	.c-gmap--subscriptions
	{
		height: 600px;
		max-height: 65vh;
		width: 100%;
	}
}

.c-gmap--establishment
{
	height: 340px;
	width: 100%;

	margin-bottom: 30px;
}

.c-gmap__tooltip
{
	display: flex;

	gap: 8px;

	padding-top: 17px;
	padding-right: 28px;
	padding-bottom: 5px;

	font-family: inherit;
	font-weight: 600;
	font-size: 16px;

	align-items: center;
}

.c-gmap__tooltip-logo
{
	position: relative;
	display: block;

	height: 20px;
	width: 35px;

	top: 5px;

	object-fit: contain;
	object-position: center;
}

.gm-style-iw-chr
{
	position: absolute !important;

	height: 100% !important;

	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	padding: 0 !important;
}

.gm-style-iw button
{
	position: absolute !important;

	height: 40px !important;
	width: 40px !important;

	margin: 0 !important;
	top: 50% !important;
	right: 0 !important;

	text-align: center;

	border: none;

	transform: translateY(-50%) !important;
}

.c-gmap__anchor
{
	height: 1px;
	width: 100%;

	margin-top: -1px;
}

.c-hotel-selection
{
	padding: 25px 25px;

	border-radius: 15px;

	box-shadow: 0 3px 10px 1px rgb(0 0 0 / 20%);
}

.c-hotel-selection--back
{
	width: 100%;

	margin-bottom: 30px;
	padding: 0;

	border-radius: 0;

	box-shadow: none;
}

.c-hotel-selection__search
{
	position: relative;

	width: 100%;

	z-index: 2;
}

.c-hotel-selection__search-element.has-popup
{
	position: relative;

	z-index: 2;
}

.c-hotel-selection__search-label
{
	display: flex;

	width: 100%;

	font-weight: 600;
	font-size: 1.1rem;
	color: #003768;

	cursor: pointer;

	flex-grow: 1;
}

.c-hotel-selection__or
{
	position: relative;
	display: flex;

	gap: 20px;

	width: 210px;
	max-width: 100%;

	margin: 16px auto;
	padding: 0;

	align-items: center;
}

.c-hotel-selection__or::before,
.c-hotel-selection__or::after
{
	display: flex;

	height: 4px;
	width: 10px;

	background-color: #1E5AC2;

	content: "";

	border-radius: 6px;

	flex-grow: 1;
}

.c-hotel-selection__results
{
	display: flex;

	flex-wrap: wrap;
	gap: 35px 0;

	margin-top: 20px;

	justify-content: space-between;
}

.c-infos-label
{
	position: relative;
	display: flex;
}

.c-infos-label,
.c-infos-label:focus,
.c-infos-label:hover,
.c-infos-label:visited,
.c-infos-label:active
{
	font-weight: inherit;
	color: inherit;
	text-decoration: inherit;

	outline: none;
}

.c-infos-label--phone-number
{
	display: inline-flex;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-infos-label--phone-number
	{
		display: inline-flex;

		padding: 8px 15px;

		background-color: #EDF1F6;

		border-radius: 20px;
	}
}

.c-infos-label--schedule
{
	display: block;
}

.c-infos-label__title
{
	display: flex;

	font-weight: 700;
	color: #0D3768;

	align-items: center;
}

.c-infos-label--schedule .c-infos-label__title
{
	float: left;

	margin-right: .2rem;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-infos-label--phone-number .c-infos-label__title-txt
	{
		display: none;
	}

	.c-infos-label--phone-number .c-infos-label__title:after
	{
		content: attr(data-mobile-label);
	}
}


.c-infos-label__icon
{
	display: block;

	margin-right: 6px;

	font-size: 16px;
}

.c-infos-label__txt,
.c-infos-label__txt:focus,
.c-infos-label__txt:hover,
.c-infos-label__txt:visited,
.c-infos-label__txt:active
{
	color: inherit;
	text-decoration: inherit;

	outline: none;
}

.c-infos-label__txt
{
	display: block;

	margin-left: 4px;

	font-weight: inherit;
}

.c-infos-label__txt:before
{
	margin-right: 4px;

	content: ":";
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-infos-label--phone-number .c-infos-label__txt
	{
		display: none;
	}
}

.c-input-counter
{
	display: flex;

	gap: 8px;

	align-items: center;
	flex-grow: 1;
	justify-content: center;
}

.c-input-counter--max-error
{
	position: relative;

	padding-top: 1.2em;
	padding-bottom: 1.2em;
}

.c-input-counter__input
{
	display: flex;

	height: 38px;
	width: 20px;

	padding-top: 0;
	padding-left: 0;
	padding-bottom: 0;

	font-weight: 600;
	font-size: .9em;
	color: #1E5AC2;

	border-radius: 0;

	flex-grow: 1;
}

.c-input-counter--pick-service .c-input-counter__input
{
	width: 50px;

	flex-grow: 0;
}

.c-input-counter__input input
{
	display: flex;

	height: 100%;

	padding-right: 4px;
	padding-left: 4px;

	text-align: center;

	border-radius: 8px;
	border: 2px solid #EBEDF0;

	transition: border-color 320ms ease;

	box-sizing: border-box;

	align-items: center;
	justify-content: center;
}

.c-input-counter--max-error .c-input-counter__input input
{
	background-color: #F46A6A;

	color: #FFF;

	border-color: #F46A6A;
}

.c-input-counter__input input:focus
{
	border-color: #1E5AC2;
}

.c-input-counter__input > div,
.c-input-counter__input > div > div
{
	display: flex;

	height: 100%;

	align-items: stretch;
}

.c-input-counter__input > div > div:before,
.c-input-counter__input > div > div:after
{
	display: none;
}

.c-input-counter__max-error
{
	position: absolute;

	top: 100%;
	margin-top: -.9em;

	font-weight: 600;
	color: red;
}

.c-legend
{
	position: relative;

	padding-top: 0;
	padding-left: 38px;
}

.c-legend:before
{
	position: absolute;

	height: 18px;
	width: 25px;

	top: 50%;
	left: 5px;

	content: "";

	border-radius: 5px;

	transform: translateY(-50%);
}

.c-legend--tarif:before
{
	background-color: #A2AFC3;
}

.c-legend--close:before,
.c-legend--closed:before
{
	background-color: rgb(255 17 0 / 40%);
}

.c-legend--open:before
{
	background-color: rgb(76 175 80 / 40%);
}

.c-legend--canceled-service:before
{
	background-color: #FDEDED;
}

.c-legend--round
{
	display: inline-flex;

	margin-top: 6px;
	margin-left: 20px;
	margin-bottom: 4px;
	padding: 4px 6px;
	padding-left: 0;

	font-weight: 600;
	font-size: 14px;

	border-radius: 10px;

	align-items: center;
	flex-grow: 0;
	align-self: flex-start;
}

.c-legend--round:before
{
	position: static;
	display: block;

	height: 1em;
	width: 1em;

	margin-right: 6px;

	font-size: 10px;

	border-radius: 1em;

	transform: none;
}

.c-legend--manual:before
{
	height: 2em;
	width: 3em;

	border-radius: 10px;
}

.c-loader
{
	position: absolute;
	display: flex;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-color: transparent;

	font-size: 20px;
	color: inherit;

	cursor: default;

	z-index: 2;

	align-items: center;
	justify-content: center;
}

.c-loader--big
{
	display: flex;

	flex-direction: column;

	font-size: 42px;

	align-items: center;
	justify-content: center;
}

.c-loader--medium
{
	display: flex;

	flex-direction: column;

	font-size: 26px;

	justify-content: center;
	align-items: center;
}

.c-loader--page
{
	display: flex;

	flex-direction: column;

	font-size: 64px;

	align-items: center;
	justify-content: center;
}

.c-loader--header
{
	padding-left: 50px;

	justify-content: flex-start;
}

.c-loader--h-300
{
	height: 300px;
}

.c-loader--medium.c-loader--header
{
	align-items: flex-start;
	justify-content: center;
}

/* ---------- Couleur du loader ---------- */

.c-loader--white
{
	color: #FFF;
}

.c-loader--primary
{
	color: #003768;
}

.c-loader--blue
{
	color: #1E5AC2;
}

.c-loader--secondary
{
	color: #42A343;
}

.c-loader--red
{
	color: #E93339;
}

.c-loader--google
{
	color: #3C4043;
}

/* ---------- Couleur du fond ---------- */

.c-loader--bg-white
{
	background-color: #FFF;
}

.c-loader--bg-primary
{
	background-color: #003768;
}

.c-loader--bg-blue
{
	background-color: #1E5AC2;
}

.c-loader--bg-orange
{
	background-color: #F86E2F;
}

.c-loader--bg-secondary
{
	background-color: #42A343;
}

.c-loader--bg-light
{
	background-color: #BDD261;
}

.c-loader--bg-red
{
	background-color: #E93339;
}

.c-loader--bg-google
{
	background-color: #ECF3FE;
}

.c-loader--bg-linkedin
{
	background-color: #ECF3FE;
}

.c-loader--bg-linkedin-blue
{
	background-color: #0075B1;
}

.c-loader--bg-back
{
	background-color: #F5F5F5;
}

.c-loader__txt
{
	font-weight: 500;
	font-size: .85em;
}

.c-loader--big .c-loader__txt
{
	margin-top: 5px;

	font-size: .85em;
}

.c-loader--medium .c-loader__txt
{
	margin-top: 4px;

	font-size: .8em;
}

.c-loader__svg
{
	position: relative;
	display: block;

	height: 1em;
	width: 2em;

	margin-right: 8px;

	flex-shrink: 0;
}

.c-loader--big .c-loader__svg,
.c-loader--medium .c-loader__svg
{
	top: 0;
	margin-right: 0;
}

.c-loader--DataList
{
	position: static;

	padding-top: 15px;
	padding-bottom: 15px;
}

.c-map-details-block
{
	position: relative;
	display: block;

	width: calc(50% - 18px);

	margin-left: auto;
	padding: 35px 40px;

	border-radius: 6px;

	box-shadow: 1px 2px 40px 0 rgba(0, 0, 0, .1);

	flex-grow: 0;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-map-details-block
	{
		display: flex;

		flex-direction: column;

		width: 100%;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-map-details-block
	{
		width: 100%;

		padding: 30px 20px;
	}
}

.c-map-details-block__title
{
	line-height: 1.2em;

	margin-top: 0;
	margin-bottom: 0;

	font-size: 1.6em;
}

.c-map-details-block__search
{
	display: flex;

	margin-top: 30px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-map-details-block__search
	{
		flex-direction: column;

		align-items: center;
	}
}

.c-map-details-block__cities
{
	position: relative;
	display: flex;

	flex-wrap: wrap;
	gap: 10px 50px;

	width: 100%;
	max-width: 450px;

	margin-top: 30px;
	left: -10px;
	padding: 0;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-map-details-block__cities
	{
		gap: 10px 15px;
	}
}

.c-map-details-block__city
{
	flex-basis: 34%;
	flex-grow: 1;
}

.c-map-details-block__city-btn
{
	width: 100%;
	min-width: 0;

	padding: 6px 10px;

	background-color: transparent;

	font-weight: 600;
	font-size: .95em;
	color: #0D3768;

	text-align: left;
	text-transform: none;

	border-radius: 2em;

	transition: background-color 320ms ease, color 240ms ease 120ms;

	justify-content: flex-start;
}

.c-map-details-block__city-btn:hover
{
	background-color: #F16C30;

	color: #FFF;

	transition: background-color 320ms ease, color 240ms ease;
}

.c-media
{
	position: relative;
	display: block;

	width: 30%;
	min-width: 325px;
	max-width: 100%;

	margin-bottom: 15px;
	padding: 0 15px;

	flex-grow: 1;
}

.c-media--space
{
	position: relative;

	padding-bottom: 5px;
}

.c-media--search-results
{
	width: calc(var(--usable-width) / 3);

	margin: 0;
	padding: 0;

	--total-gap: calc(var(--col-gap) * 2);
	--usable-width: calc(100% - var(--total-gap));
	flex-grow: 0;
}

.c-media--space:before
{
	position: absolute;

	height: 1px;
	width: 100%;

	left: 0;
	bottom: 18px;

	background-color: #CFCFCF;

	content: "";
}

.c-media--space.c-media--side:last-child:before
{
	display: none;
}

.c-media--space-page:before
{
	display: none;
}

/* -------------- Mobile (small) -------------- */
@media (max-width: 424px)
{
	.c-media
	{
		width: 100%;
		min-width: 0;
	}
}

/* -------------- Mobile (small) -------------- */
@media (max-width: 424px)
{
	.c-media--slider
	{
		padding-right: 6px;
		padding-left: 6px;
	}
}

.c-media--side
{
	width: auto;
	min-width: 600px;

	margin-bottom: 0;
	padding-bottom: 30px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-media--side
	{
		width: auto;
		min-width: 0;
		max-width: 100%;

		margin-right: auto;
		margin-left: auto;
		margin-bottom: 50px;
	}
}

.c-media--slider
{
	margin-bottom: 0;
}

.c-media,
.c-media:hover,
.c-media:visited,
.c-media:focus,
.c-media:active
{
	color: inherit;
	text-decoration: none;

	outline: none;
}

.c-media:empty
{
	height: 0 !important;

	margin: 0 !important;
}

.c-media:empty:before
{
	display: none;
}

.c-media__content
{
	position: relative;
	display: flex;

	flex-direction: column;

	height: 100%;
	width: 100%;

	overflow: hidden;

	align-items: center;
}

.c-media--side .c-media__content
{
	flex-direction: row;
	flex-wrap: nowrap;
}

/* ------------ Tablet (portrait) ------------- */
@media (min-width: 768px) and (max-width: 1023px)
{
	.c-media--side .c-media__content
	{
		flex-wrap: wrap;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-media--side .c-media__content
	{
		flex-direction: column;

		align-items: center;
	}
}

.c-media__img-container
{
	position: relative;
	display: block;

	width: 100%;

	border-radius: 20px;

	overflow: hidden;
}

.c-media--side .c-media__img-container
{
	width: 250px;

	align-self: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-media--side .c-media__img-container
	{
		width: 400px;
		max-width: 100%;
	}
}

.c-media__img-container:before
{
	display: block;

	width: 100%;

	padding-top: 65%;

	content: "";
}

.c-media--side .c-media__img-container:before
{
	padding-top: 85%;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-media--side .c-media__img-container:before
	{
		padding-top: 65%;
	}
}

.c-media__color-label
{
	position: absolute;

	top: 8px;
	right: 8px;
	padding: 4px 12px;

	background-color: #FF7436;

	font-weight: 700;
	font-size: .9em;
	color: #FFF;

	border-radius: 20px;

	z-index: 1;
}

.c-media__img
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	font-family: "object-fit: cover; object-position: contain";

	transition: transform 420ms ease;
	transform: scale(1);

	z-index: 0;

	object-fit: cover;
	object-position: center;
}

.c-media__img.is-myWO-logo
{
	padding: 20px;

	object-fit: contain;
}

.c-media:hover .c-media__img
{
	transform: scale(1.08);
}

.c-media--side:hover .c-media__img
{
	transform: scale(1);
}

.c-media--side .c-media__img-container:hover .c-media__img
{
	transform: scale(1.08);
}

.c-media__texts
{
	display: block;

	width: 100%;

	padding: 6px 20px;

	color: #000;

	z-index: 2;

	flex-grow: 1;
}

.c-media--side .c-media__texts
{
	width: 430px;
	max-width: 100%;
}

.c-media__title
{
	line-height: 1.3em;

	font-family: "Noto Sans";
	font-weight: 600;
	font-size: 1.3em;
	color: inherit;

	transition: color 320ms ease;
}

.c-media__title-link,
.c-media__title-link:focus,
.c-media__title-link:hover,
.c-media__title-link:visited
{
	color: inherit;
	text-decoration: none;

	outline: none;
}

.c-media__title-link:hover
{
	color: #1E5AC2;
}

.c-media__with-sub-txt
{
	display: inline-flex;

	margin-bottom: 4px;
	padding: 2px 15px;

	background-color: var(--orange);

	font-size: .9rem;
	color: #FFF;
	text-decoration: none;

	border-radius: 12px;
}

.c-media__subtitle
{
	margin-top: 4px;

	font-style: italic;
}

.c-media__description
{
	margin-top: 12px;

	font-weight: 500;
	font-size: 1em;
	color: inherit;
}

.c-media__icons
{
	display: flex;

	flex-wrap: wrap;
	gap: 0 12px;

	margin-top: 8px;
}

.c-media__icon
{
	position: relative;
	display: flex;

	margin-bottom: 2px;

	align-items: center;
}

.c-media__icon[data-hover]:before
{
	position: absolute;
	display: flex;
	visibility: hidden;
	opacity: 0;

	line-height: 1.1em;
	min-height: 100%;
	min-width: 100%;

	left: 50%;
	bottom: 100%;
	padding: 4px 7px;

	background-color: rgb(241 108 48);

	font-weight: 400;
	font-size: .8em;
	color: #FFF;

	content: attr(data-hover);
	white-space: nowrap;

	border-radius: 20px;

	transition: opacity 320ms ease, visibility 320ms ease, transform 320ms ease;
	transform: translateX(-50%) scale(.9);

	z-index: 10;

	justify-content: center;
	align-items: center;
}

.c-media__icon[data-hover]:hover:before
{
	visibility: visible;
	opacity: 1;

	transform: translateX(-50%) scale(1);
}

.c-media__icon-svg
{
	display: inline-block;

	height: 1em;
	width: 1em;

	margin-right: 8px;

	font-size: 18px;
	color: #F16C30;

	flex-shrink: 0;
}

.c-media__icon-label
{
	font-size: .9em;
	color: inherit;
}

.c-media__seats-icon
{
	margin-right: 4px;

	font-weight: 400;
	font-size: 18px;
	color: #F16C30;
}

.c-media__seats-icon.u
{
	font-weight: 700;
}

.c-media__footer
{
	display: flex;

	flex-wrap: wrap;

	margin-top: 10px;

	align-items: center;
	justify-content: space-between;
}

.c-media__price-infos
{
	display: flex;

	flex-wrap: wrap;
	gap: 0 6px;

	line-height: 1.2em;

	margin: 12px 15px 0 0;

	font-size: 1.2em;

	align-items: center;
}

/* -------------- Mobile (small) -------------- */
@media (max-width: 424px)
{
	.c-media__price-infos
	{
		width: 100%;
	}
}

.c-media__price-value
{
	font-weight: 700;
	font-size: 1.2em;
}

.c-media__price-asterix
{
	position: relative;

	line-height: 1em;

	top: -4px;

	font-weight: 400;
	font-size: 1rem;
}

.c-media__price-small-info
{
	display: block;

	width: 100%;

	margin-top: 12px;

	font-style: italic;
	font-size: .8rem;
}

.c-media__availability
{
	position: relative;
	display: flex;

	flex-direction: column;

	width: 320px;
	max-width: 100%;

	margin: 0 auto;
	padding: 10px 10px 10px 10px;

	text-align: center;

	align-self: stretch;
	flex-shrink: 0;
	flex-grow: 0;
	align-items: center;
}

/* ------------ Tablet (portrait) ------------- */
@media (min-width: 768px) and (max-width: 1023px)
{
	.c-media__availability
	{
		margin-bottom: 40px;
		padding-top: 5px;
		padding-bottom: 0;
	}
}

.c-media__date-picker
{
	margin-bottom: 5px;
}

.c-media__availability-content
{
	position: relative;
	display: flex;

	flex-direction: column;
	flex-wrap: wrap;

	width: 100%;

	flex-grow: 1;
	align-items: center;
	justify-content: center;
}

.c-media__availability-content:before
{
	position: absolute;

	height: 180px;
	max-height: 80%;
	width: 2px;

	top: 50%;
	left: -10px;

	background-color: #1E5AC2;

	content: "";

	transform: translateY(-50%);
}

.c-media--space-in-page .c-media__availability-content:before
{
	display: none;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.c-media__availability-content:before
	{
		display: none;
	}
}

.c-media__special-title
{
	margin-bottom: 15px;

	font-weight: 600;
	font-size: 1.2em;
	color: #1E5AC2;

	text-align: center;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.c-media__special-title
	{
		margin-top: 10px;
	}
}

.c-media__img--cart
{
	position: relative;

	max-height: 200px;

	margin-bottom: 10px;

	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
}

.c-media__special-txt
{
	display: block;

	line-height: 1.3;
	width: 100%;

	font-style: italic;
	font-size: .9rem;
	color: #4CAF50;
}

/*
	$green       : #42A343;
	$light_green : #BDD261;

	$blue       : #003768;
	$light_blue : #51B2CA;
	$dark_blue  : #4D728E;

	$red : #E5433B;
	$pink: #E983B4;
*/

.c-message
{
	display: flex;

	width: 100%;

	margin-top: 15px;
	margin-bottom: 15px;
	padding: 15px 12px;

	background-color: #FDFAF7;

	align-items: center;
}

.c-message--icon
{
	padding: 8px 12px;
}

.c-message--v2
{
	display: flex;

	padding: 14px 15px;

	border-radius: 8px;
	border: none;

	align-items: center;
	justify-content: flex-start;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-message--v2
	{
		text-align: center;
	}

	.c-message--align-left
	{
		text-align: left;
	}
}

.c-message--auto
{
	display: inline-flex;

	width: auto;
}

.c-message--green
{
	background-color: #E7F1EF;

	color: #147A63;
}

.c-message--no-margins
{
	margin-top: 0;
	margin-left: 0;
}

.c-message--green.c-message--v2
{
	background-color: #E4FBF3;

	color: #000;
}

.c-message--red
{
	background-color: #F4DDDD;

	color: #C00506;
}

.c-message--red.c-message--v2
{
	background-color: #FCEAEA;

	color: #000;
}

.c-message--red.c-message--v2:before
{
	display: inline-flex;

	height: 1.3em;
	width: 1.3em;

	margin-right: 15px;

	font-weight: 700;
	font-size: 24px;
	color: #E32C2B;

	content: "!";
	text-align: center;

	border-radius: 50%;
	border: 2px solid currentColor;

	flex-shrink: 0;
	flex-grow: 0;
	justify-content: center;
	align-items: center;
}

.c-message--v2.c-message--i:before
{
	display: inline-flex;

	height: 1.3em;
	width: 1.3em;

	margin-right: 15px;

	font-weight: 700;
	font-size: 24px;
	color: inherit;

	content: "i";
	text-align: center;

	border-radius: 50%;
	border: 2px solid currentColor;

	flex-shrink: 0;
	flex-grow: 0;
	justify-content: center;
	align-items: center;
}

.c-message--green.c-message--i:before
{
	color: #147A63;
}

.c-message--orange
{
	background-color: #FFF6E5;

	color: #DC8C00;
}

.c-message--orange.c-message--v2
{
	background-color: #FFF6E5;

	color: #000;
}

.c-message--orange.c-message--v2:before
{
	display: inline-flex;

	height: 1.3em;
	width: 1.3em;

	margin-right: 15px;

	font-weight: 700;
	font-size: 24px;
	color: #FFB35A;

	content: "!";
	text-align: center;

	border-radius: 50%;
	border: 2px solid currentColor;

	flex-shrink: 0;
	flex-grow: 0;
	justify-content: center;
	align-items: center;
}

.c-message--v2.c-message--info-icon:before
{
	display: inline-flex;

	height: 1.3em;
	width: 1.3em;

	margin-right: 15px;

	font-weight: 700;
	font-size: 24px;
	color: #FFB35A;

	content: "!";
	text-align: center;

	border-radius: 50%;
	border: 2px solid currentColor;

	flex-shrink: 0;
	flex-grow: 0;
	justify-content: center;
	align-items: center;
}

.c-message--v2.c-message--info-icon.c-message--blue:before
{
	color: #003666;
}

.c-message--v2.c-message--info-icon.c-message--orange:before
{
	color: #FFB35A;
}

.c-message--v2.c-message--info-icon.c-message--red:before
{
	color: #E32C2B;
}

.c-message--v2.c-message--info-icon.c-message--green:before
{
	color: #147A63;
}

.c-message--primary
{
	background-color: #79B6EB;

	color: #003768;
}

.c-message--blue
{
	background-color: #E4F6FF;

	color: #003666;
}

.c-message--grey
{
	padding: 6px 8px;

	background-color: #EDF1F6;

	color: #18395D;

	border-radius: 4px;
}

.c-message--centered
{
	display: inline-flex;

	width: auto;

	margin-right: auto;
	margin-left: auto;

	text-align: center;

	flex-grow: 0;
}

.c-message__content
{
	margin: 0;

	font-weight: 400;
	color: inherit;
}

.c-message--grey .c-message__content
{
	font-weight: 600;
}

.c-message__icon
{
	margin-right: 12px;

	font-size: 26px;
}

.c-message--v2 .c-message__icon
{
	display: block;

	height: 1em;
	width: 1em;

	padding: 4px;

	font-size: 36px;

	border-radius: 50%;
	border: 2px solid currentColor;
}

.c-message--green.c-message--v2 .c-message__icon
{
	color: #00A98F;
}

.c-message__link
{
	margin: 0 8px;

	font-weight: 600;
	color: inherit;
	text-decoration: none;

	box-shadow: transparent 0 0 0 0, transparent 0 0 0 0, currentColor 0 2px 0 0;

	transition: box-shadow 320ms ease;
}

.c-message__link:hover
{
	text-decoration: none;

	box-shadow: none;
}

.c-message__underlined
{
	display: inline;

	box-shadow: transparent 0 0 0 0, transparent 0 0 0 0, currentColor 0 2px 0 0;
}

.c-modal-cover2
{
	position: fixed;
	display: flex;

	flex-direction: column;

	height: 100%;
	max-height: none;
	width: 100%;
	max-width: none;

	margin: 0;
	top: 0;
	left: 0;
	padding: 0;

	background: none;

	border: none;

	outline: none;

	z-index: 200;

	justify-content: center;
	align-items: center;
}

.c-modal-cover2:before
{
	position: absolute;
	opacity: 1;

	height: 100%;
	width: 100%;

	right: 0;
	left: 0;

	background-color: rgb(51 49 59 / 80%);

	content: "";

	transition: opacity 420ms ease;
	transform: translateZ(0);
	animation: cover-animation 340ms ease;

	z-index: 0;
}

.c-modal-cover2--image:before
{
	background-color: rgb(51 49 59 / 40%);
}

.c-modal-cover2--fade:before
{
	opacity: 0;
}

.c-modal2
{
	position: relative;
	display: flex;

	flex-direction: column;

	height: auto;
	max-height: 100%;
	width: 700px;
	max-width: 100%;

	top: 0;
	left: 0;

	background-color: #FFF;

	border-radius: 4px;

	box-shadow: 10px 10px 0 0 #9C99A2;

	overflow: hidden;

	z-index: 1;
}

.c-modal2--simple
{
	box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .35);
}

.c-modal2--large
{
	width: 1600px;
}

.c-modal2--image
{
	height: 100vh;
	width: calc(100vw - 2em);
}

.c-modal2--medium
{
	width: 650px;
}

.c-modal2--intermediate
{
	width: 1050px;
}

.c-modal2--fullscreen
{
	width: 100%;
}

.c-modal2--full-width
{
	width: 100%;
}

.c-modal2--fullscreen
{
	min-height: 100vh;
}

.c-modal2--fade
{
	opacity: 0;

	transition: transform 420ms ease, opacity 420ms ease;
	transform: translate3d(-10px, -6px, 0);
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-modal2
	{
		max-width: 100%;
	}
}

@media screen and (min-width: 767px)
{
	.c-modal2
	{
		max-height: calc(100% - 3em);

		animation: box-animation 340ms ease;
	}

	.c-modal2--image
	{
		max-height: calc(100% - 2em);
	}

	.c-modal2--editor
	{
		max-height: calc(100vh - 30px);
	}

	.c-modal2--files
	{
		max-height: calc(100vh - 200px);
	}
}

@media screen and (max-width: 639px)
{
	.c-modal2
	{
		animation: mobile-box-animation 320ms ease;
	}

	.c-modal2--fade
	{
		opacity: 0;

		transition: opacity 320ms ease, transform 320ms ease;
		transform: scale(.9);
	}
}

/* ------------ Tablet (portrait) ------------- */
@media (min-width: 768px) and (max-width: 1023px)
{
	.c-modal2--large,
	.c-modal2--intermediate
	{
		max-width: 90%;
	}

	.c-modal2--medium
	{
		max-width: 80%;
	}
}

/* ------------ Tablet (landscape) ------------ */
@media (min-width: 1024px) and (max-width: 1325px)
{
	.c-modal2--large,
	.c-modal2--intermediate
	{
		max-width: 80%;
	}
}

/* ----------------- Laptop ------------------- */
@media (min-width: 1326px) and (max-width: 1399px)
{
	.c-modal2--large,
	.c-modal2--intermediate
	{
		max-width: 85%;
	}

	.c-modal2--medium
	{
		max-width: 70%;
	}
}

.c-modal2__header
{
	position: relative;
	display: flex;

	min-height: 45px;
	width: 100%;

	margin-bottom: 0;
	padding: 12px 20px;
	padding-right: 46px;

	background-color: hsla(240, 5%, 95%, 1);

	font-weight: 700;
	color: #000;

	text-transform: uppercase;

	flex-shrink: 0;
	align-items: center;
}

.c-modal2__close
{
	position: absolute;
	display: flex;

	height: 45px;
	width: 46px;

	top: 0;
	right: 0;

	background: transparent;

	color: #E93339;

	cursor: pointer;

	transition: background-color 320ms ease;

	align-items: center;
	justify-content: center;
}

.c-modal2--floating-close .c-modal2__close
{
	top: 6px;
	right: 8px;

	background-color: #FFF;

	border-radius: 50%;
}

.c-modal2__close:hover,
.c-modal2__close:focus
{
	background-color: #E4E4E7;
}

.c-modal2__close:focus:before
{
	position: absolute;
	display: block;

	height: 2px;
	width: 1.4em;

	top: 50%;
	margin-top: .7em;
	left: 50%;
	margin-left: -.7em;

	content: "";

	border: 2px solid #E93339;
	border-width: 0 0 2px 2px;
}

.c-modal2__close-icon
{
	height: 1em;
	width: 1em;

	font-size: 32px;

	fill: transparent;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 3px;
}

.c-modal2__body
{
	width: 100%;

	padding: 20px 25px 5px;

	overflow-y: auto;

	flex-grow: 1;
}

.c-modal2__body:nth-last-child(2)
{
	padding-bottom: 20px;
}

.c-modal2__body:empty
{
	display: none;
}

.c-modal2--center .c-modal2__body
{
	text-align: center;

	justify-content: center;
	align-items: center;
}

.c-modal2--fullscreen .c-modal2__body
{
	display: flex;

	flex-direction: column;

	padding-bottom: 15px;
}

.c-modal2--image .c-modal2__body
{
	padding: 0;
}

@media screen and (min-width: 640px)
{
	.c-modal2--image .c-modal2__body
	{
		display: flex;

		flex-direction: column;

		height: 100%;

		overflow-y: auto;
	}
}

@media screen and (max-width: 639px)
{
	.c-modal2__body
	{
		padding: 10px 10px 0;
	}
}

.c-modal2__img
{
	display: block;

	height: 100%;
	max-height: 100%;
	width: 100%;

	font-family: "object-fit: contain; object-position: center";

	object-fit: contain;
	object-position: center;
}

.c-modal2__controls
{
	display: flex;

	flex-wrap: wrap;
	gap: 15px 25px;

	padding: 20px 25px;

	align-items: center;
	justify-content: flex-end;
	flex-shrink: 0;
}

.c-modal2__controls:empty
{
	display: none;
}

@media screen and (max-width: 639px)
{
	.c-modal2__controls
	{
		padding: 12px 10px;
	}
}

.c-modal2__controls-close
{
	order: -1;
}

.c-modal-cover
{
	position: fixed;
	display: flex;

	flex-direction: column;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	z-index: 1200;

	align-items: center;
	justify-content: center;
}

.c-modal-cover--cart
{
	align-items: flex-end;
	justify-content: stretch;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-modal-cover--cart
	{
		align-items: center;
		justify-content: center;
	}
}

.c-modal-cover:before
{
	position: absolute;
	opacity: 1;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-color: rgba(154, 140, 140, .75);

	content: "";

	transition: opacity 200ms ease 140ms;
	transform: translateZ(0);
	animation: cover-animation 320ms ease;

	z-index: 0;
}

.c-modal-cover--slider-fullscreen:before
{
	background-color: rgb(140 146 154 / 95%);
}

.c-modal-cover--fade:before
{
	opacity: 0;
}

.c-modal
{
	position: relative;
	display: flex;

	flex-direction: column;

	height: auto;
	max-height: 100%;
	width: 100%;

	top: 0;
	margin-top: auto;
	left: 0;
	margin-bottom: auto;

	background-color: #FFF;

	z-index: 1;
}

.c-modal--simple
{
	box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, .35);
}

.c-modal--Payment
{
	min-height: 90vh;
}

.c-modal--fullscreen
{
	min-height: 90vh;
	min-width: 90%;
}

.c-modal--slider-fullscreen
{
	min-height: calc(100vh - 130px);
	max-height: calc(100% - 40px);
	width: 100%;
	max-width: calc(100% - 60px);

	margin-top: 20px;

	background-color: transparent;

	box-shadow: none;
}

@media screen and (min-width: 768px)
{
	.c-modal
	{
		max-height: calc(100% - 1em);
		max-width: 30em;

		animation: box-animation 440ms ease;
	}

	.c-modal--cart
	{
		max-height: 100%;

		animation: side-animation 440ms ease;

		flex-grow: 1;
	}

	.c-modal--slider-fullscreen
	{
		animation: box-animation-no-translate 320ms ease;
	}

	.c-modal--large
	{
		max-width: 80%;
	}

	.c-modal--medium
	{
		max-width: 60%;
	}

	.c-modal--model-picker
	{
		max-width: 80%;
	}

	.c-modal--fade
	{
		opacity: 0;

		transition: transform 320ms ease, opacity 320ms ease;
		transform: translate3d(-10px, -6px, 0);
	}

	.c-modal--slider-fullscreen
	{
		max-width: calc(100% - 100px);
	}
}

@media screen and (min-width: 1439px)
{
	.c-modal--medium
	{
		max-width: 60%;
	}
}

@media screen and (min-width: 1800px)
{
	.c-modal--medium
	{
		max-width: 1000px;
	}
}

@media screen and (max-width: 768px)
{
	.c-modal
	{
		animation: mobile-box-animation 440ms ease;
	}

	.c-modal--slider-fullscreen
	{
		height: calc(100vw * calc(12/16));
		min-height: 0;

		margin-top: auto;
		margin-bottom: auto;
	}

	.c-modal--fade
	{
		opacity: 0;

		transition: opacity 320ms ease, transform 320ms ease;
		transform: scale(.9);
	}
}

.c-modal__header
{
	position: relative;

	width: 100%;

	margin-bottom: 0;
	padding: 12px 20px;
	padding-right: 46px;

	background-color: hsla(240, 5%, 95%, 1);

	font-weight: 600;
	color: #000;

	text-transform: uppercase;

	flex-shrink: 0;
}

.c-modal__header:empty
{
	display: none;
}

.c-modal--Payment .c-modal__header
{
	background-color: transparent;
}

.c-modal__close
{
	position: absolute;

	height: 43px;
	width: 46px;

	top: 0;
	right: 1px;

	background: #F1F1F3;

	color: #E93339;

	cursor: pointer;

	transition: background-color 320ms ease;
}

.c-modal-cover--slider-fullscreen .c-modal__close
{
	height: 52px;
	width: 52px;

	border-radius: 50%;
}

.c-modal-cover--slider-fullscreen .c-modal__close:hover,
.c-modal-cover--slider-fullscreen .c-modal__close:focus
{
	background-color: #113565;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-modal-cover--slider-fullscreen .c-modal__close
	{
		top: 50%;
		margin-top: -50vh;
		right: -20px;

		transform: translateY(12px);
	}
}

.c-modal--Payment .c-modal__close
{
	visibility: hidden;
}

.c-modal__close:hover
{
	background-color: #E4E4E7;
}

.c-modal__close-icon
{
	height: 1em;
	width: 1em;

	font-size: 32px;

	fill: transparent;
	stroke: #163768;
	stroke-linecap: round;
	stroke-width: 3px;
}

.c-modal-cover--slider-fullscreen .c-modal__close-icon
{
	font-size: 36px;
	color: #163768;

	transition: color 240ms ease;

	stroke: currentColor;
}

.c-modal-cover--slider-fullscreen .c-modal__close:hover .c-modal__close-icon,
.c-modal-cover--slider-fullscreen .c-modal__close:focus .c-modal__close-icon
{
	color: #FFF;
}

.c-modal__body
{
	display: block;

	width: 100%;

	padding: 20px 25px 5px;

	overflow-x: hidden;
	overflow-y: auto;

	flex-grow: 1;
}

.c-modal--Payment .c-modal__body
{
	padding-top: 0;
	padding-bottom: 24px;
}

.c-modal--cart .c-modal__body
{
	padding: 15px 20px 0;
}

@media screen and (max-width: 639px)
{
	.c-modal__body
	{
		padding: 0 10px 15px;
	}
}

.c-modal__img
{
	display: block;

	height: 100%;
	max-height: 100%;
	width: 100%;

	http: //localhost:1101/styles/components/_arrow-btn.css
	font-family: "object-fit: contain; object-position: center";
	object-fit: contain;
	object-position: center;
}

.c-modal__controls
{
	display: flex;

	margin-top: 15px;
	margin-bottom: 15px;
	padding: 0 15px;

	text-align: right;

	align-items: center;
	justify-content: flex-end;
	flex-shrink: 0;
}

@media screen and (max-width: 639px)
{
	.c-modal__controls
	{
		padding: 0 10px;
	}
}

.c-modal__controls-close
{
	padding: 12px 15px;

	order: -1;
	justify-content: center;
}

.c-modal__body .o-img-slider__img
{
	object-fit: contain;
	object-position: center;
}

.c-modal--spaces .c-modal__header
{
	background-color: #FFF;
}

@media (max-width:425px)
{
	.c-modal--fullscreen
	{
		min-height: 90vw;
	}
}

@keyframes box-animation
{
	0%
	{
		opacity: 0;

		transform: translate3d(0, 0, 0);
	}

	20%
	{
		opacity: 0;

		transform: translate3d(-10px, -6px, 0);
	}

	100%
	{
		opacity: 1;

		transform: translate3d(0, 0, 0);
	}
}

@keyframes box-animation-no-translate
{
	0%
	{
		opacity: 0;

		transform: translate3d(0, 0, 0);
	}

	20%
	{
		opacity: 0;

		transform: translate3d(0, 0, 0);
	}

	100%
	{
		opacity: 1;

		transform: translate3d(0, 0, 0);
	}
}

@keyframes side-animation
{
	0%
	{
		opacity: 0;

		transform: translate3d(100%, 0, 0);
	}

	10%
	{
		opacity: 0;

		transform: translate3d(100%, 0, 0);
	}

	20%
	{
		opacity: .2;

		transform: translate3d(100%, 0, 0);
	}

	100%
	{
		opacity: 1;

		transform: translate3d(0, 0, 0);
	}
}

@keyframes mobile-box-animation
{
	0%
	{
		opacity: 0;

		transform: scale(.9);
	}

	20%
	{
		opacity: 0;

		transform: scale(.9);
	}

	100%
	{
		opacity: 1;

		transform: scale(1);
	}
}

@keyframes cover-animation
{
	0%
	{
		opacity: 0;
	}

	100%
	{
		opacity: 1;
	}
}

.c-model-infos
{
	position: relative;

	width: 100%;

	margin-top: 30px;
	margin-bottom: 30px;
}

.c-model-infos__name
{
	display: inline-flex;

	padding: 2px 8px;

	background-color: #163768;

	color: #FFF;

	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

.c-model-infos__row,
.c-model-infos__header
{
	display: flex;
}

.c-model-infos__header
{
	background-color: #F2F2F3;

	font-weight: 700;
}

.c-model-infos__cell
{
	display: flex;

	width: 100px;

	padding: 4px 12px;

	border: 1px solid #F2F2F3;

	align-items: center;
	flex-grow: 1;
}

.c-month-picker
{
	position: relative;
}

.c-month-picker__separator
{
	height: 2px;
	width: 80%;

	margin: auto;

	background-color: #D5D5D5;
}


/* ------------------------------------- *\
|* ------- # c-pickable-month # -------- *|
\* ------------------------------------- */

.c-pickable-month,
.c-pickable-year
{
	position: relative;

	width: 100%;

	padding: 10px 15px;

	background-color: #EBEBEB;

	color: #454545;

	border: 2px solid transparent;

	transition: border-color 240ms ease;

	z-index: 0;
}

.c-pickable-month:hover,
.c-pickable-year:hover
{
	border-color: #003768;
}

.c-pickable-month--active,
.c-pickable-year--active
{
	color: #FFF;

	border-color: transparent;
}

.c-pickable-month:before,
.c-pickable-year:before
{
	position: absolute;
	opacity: 0;

	height: 100%;
	width: 100%;

	top: -2px;
	left: -2px;
	padding: 2px;

	background: linear-gradient(left top, #51B2CA 0%, #0F498C 100%);

	content: "";

	transition: opacity 240ms ease;

	box-sizing: content-box;

	z-index: -1;
}

.c-pickable-month--active:before,
.c-pickable-year--active:before
{
	opacity: 1;
}

.c-my-subscription__content
{
	position: relative;
	display: flex;

	flex-wrap: wrap;
	gap: 20px;

	min-height: 54px;

	justify-content: space-between;
}

.c-my-subscription__infos
{
	position: relative;
	display: flex;

	flex-direction: column;
	gap: 15px 20px;

	min-height: 54px;

	flex-grow: 1;
}

.c-my-subscription__infos-line
{
	display: flex;

	flex-wrap: wrap;
	gap: 8px;

	align-items: center;
}

.c-my-subscription__card
{
	flex-shrink: 0;
	flex-grow: 0;
}

.c-my-subscription__actions
{
	display: flex;

	gap: 20px;

	min-height: 42px;

	margin-top: 5px;
}

.c-my-subscription__actions-info
{
	display: flex;

	flex-wrap: wrap;

	width: 100%;
}

.c-news__image
{
	max-height: 470px;
	width: 100%;

	margin: 10px 0;

	object-fit: contain;
}

.o-news-block__link
{
	text-align: center;
}

.c-news__scope
{
	margin-top: 8px;

	font-weight: 600;
	font-style: italic;
	color: #1E5AC2;
}

.c-news__scope--dark
{
	color: #1B3A5F;
}

.c-open-date
{
	display: inline-flex;

	padding: 4px 6px;

	background-color: transparent;

	font-weight: 600;
	font-size: 14px;

	border-radius: 10px;

	align-items: center;
}

.c-open-date:after
{
	display: none;
}

.c-open-date:not(.c-open-date--manual):after
{
	height: 1em;
	width: 1em;

	margin-right: 4px;

	font-size: 10px;

	content: '';

	border-radius: 1em;

	order: -1;
}

.c-open-date--open:after
{
	display: block;

	background-color: rgb(76 175 80 / 40%);
}

.c-open-date--closed:after
{
	display: block;

	background-color: rgb(255 17 0 / 40%);
}

.c-open-date--manual:after
{
	display: none;

	content: none;
}

.c-open-date--open.c-open-date--manual
{
	background-color: rgba(76 175 80 / 40%);
}

.c-open-date--closed.c-open-date--manual
{
	background-color: rgb(255 17 0 / 40%);
}

.c-open-space-info
{
	width: 100%;

	margin: 0;
	margin-bottom: 12px;

	font-size: 1em;
	color: #47A621;
}

.c-open-space-info__condition
{
	font-size: .8em;
}

.c-open-space-info--side-widget
{
	font-weight: 700;
	font-size: .9em;
}

.c-open-space-info--places-availability
{
	color: #1E5AC2;
}

.c-pagination
{
	display: flex;

	margin-top: 15px;
	padding: 0 15px;

	justify-content: space-between;
	align-items: center;
	flex-grow: 1;
	flex-basis: 10px;
}

.c-pagination--spaces-block
{
	justify-content: center;
}

.c-pagination__left
{
	flex-basis: 130px;
}

.c-pagination--front .c-pagination__left:empty
{
	display: none;
}

.c-pagination__infos
{
	margin-left: 15px;

	font-weight: 400;
	font-size: .95em;

	text-align: right;

	flex-basis: 130px;
}

.c-pagination__pages
{
	display: flex;

	margin: -6px 0 0 0;

	justify-content: center;
	flex-basis: 10px;
	flex-grow: 1;
}

.c-pagination__page
{
	position: relative;

	margin-top: 6px;
	margin-right: 5px;
}

.c-pagination__page:last-child
{
	margin-right: 0;
}

.c-pagination__page-btn
{
	position: relative;

	min-width: 0;
	min-width: 32px;

	padding: 4px 8px;

	background-color: #EBEBEB;

	border-radius: 50%;
}

.c-pagination__page-btn.active
{
	background-color: #0D3768;

	color: #FFF;
}

.c-pagination__suspension
{
	display: flex;

	margin: 6px 0 0;

	align-items: center;
}

.c-pagination__suspension:nth-child(2)
{
	margin-right: 8px;
}

.c-pagination__suspension:nth-child(n-2)
{
	margin-right: 6px;
}

.c-pagination--empty
{
	margin-top: 0;

	flex-grow: 0;
	justify-content: center;
}

.c-pagination__infos--empty
{
	margin-left: 0;

	text-align: center;
}

.c-pagination--empty .c-pagination__left
{
	display: none;
}

.c-paper
{
	padding: 25px;

	background-color: #FFF;

	border-radius: 15px;

	box-shadow: 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.06);
}

.c-paper--front
{
	line-height: 2em;
}

.c-paper--display-none
{
	display: none;
}

.c-pay-subscription
{
	position: relative;
	display: flex;

	flex-wrap: wrap;
	gap: 12px;
}

.c-pay-subscription__content
{
	min-height: 440px;

	flex-grow: 1;
	flex-basis: 400px;
}

.c-pay-subscription__right
{
	flex-basis: 320px;
	align-self: flex-start;
}

.c-pay-subscription__sticky
{
	top: 0;
	padding: 12px;

	background-color: #FFF;

	border-bottom-right-radius: 15px;
	border-bottom-left-radius: 15px;
}

/* ------------- Laptop & Desktop ------------- */
@media (min-width: 1201px)
{
	.c-pay-subscription__sticky.is-fixed
	{
		position: fixed;
	}
}

.c-pay-subscription__title
{
	line-height: 1.2;

	margin-top: 10px;
	margin-bottom: 15px;

	font-weight: 700;
	font-size: 2rem;
	color: #003766;
}

.c-pay-subscription__establishments-title
{
	line-height: 1.2;

	margin-top: 15px;
	margin-bottom: 0;

	font-weight: 600;
	color: #003766;
}

.c-pay-subscription__establishments
{
	display: flex;

	flex-direction: column;
	flex-wrap: wrap;
	gap: 15px 15px;

	width: 100%;
	max-width: 100%;

	margin-top: 15px;

	flex-grow: 1;
}

.c-pay-subscription__establishments:empty
{
	display: none;
}

.c-pay-subscription__requirement
{
	display: flex;

	width: 100%;

	margin-top: 10px;

	color: #9A9A9A;
}

.c-pay-subscription__go-back
{
	display: flex;

	width: 100%;

	margin-top: 20px;
	padding: 10px 0;
	padding-right: 12px;
	padding-left: 12px;

	background-color: #EDF1F6;

	font-weight: 600;
	color: #003768;
	text-decoration: none;

	text-align: left;

	align-items: center;
	justify-content: flex-start;
}

.c-pay-subscription__go-back svg
{
	margin-right: 10px;
}

.c-pay-subscription__change-text
{
	display: block;

	width: 100%;

	margin-top: 15px;

	font-size: 1rem;
}

.c-payment-form
{
	width: 100%;

	padding-right: 15px;
	padding-bottom: 15px;

	overflow: hidden;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-payment-form
	{
		padding-right: 0;
	}
}

.c-payment-form__content
{
	position: relative;

	width: 100%;
}

.c-payment-form--success .c-payment-form__content
{
	display: flex;

	flex-wrap: wrap;

	align-items: center;
}

.c-payment-form__row
{
	display: flex;

	flex-wrap: wrap;

	width: calc(100% + 30px);

	margin-left: -15px;
}

.c-payment-form__item
{
	width: 10%;

	margin-bottom: 20px;
	padding: 0 15px;

	flex-grow: 1;
}

.c-payment-form__item.small
{
	width: 150px;

	flex-grow: 0;
}

.c-payment-form__field
{
	height: 38px;
	width: 100%;
}

.c-payment-form__row iframe
{
	width: 100% !important;
}

.c-payment-form__actions
{
	width: calc(100% + 30px);

	margin-top: 10px;
	margin-left: -15px;
	padding: 0 15px;

	text-align: center;
}

.c-payment-form__redirect-iframe
{
	height: calc(100% - 10px);
	width: 100%;

	margin: 0;
	padding: 0;
}

.c-payment-form__success-icon,
.c-payment-form__failure-icon
{
	margin-right: 20px;
	padding: .15em;

	font-size: 50px;
	color: #63998D;

	border-radius: 50%;
	border: 2px solid currentColor;
}

.c-payment-form__failure-icon
{
	color: #B65252;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-payment-form__item.small,
	.c-payment-form__item
	{
		width: 100%;
	}
}

.payment-form__title
{
	display: flex;

	flex-direction: column;

	line-height: 1.1em;
	width: 100%;

	margin-bottom: 10px;

	font-weight: 600;
	font-size: 2em;
	color: #163768;

	justify-content: flex-start;
	align-self: flex-start;
}

.payment-form__subtitle
{
	line-height: initial;

	margin-top: 15px;
	padding-top: 0;
	padding-bottom: 10px;

	font-weight: 500;
	font-size: 1rem;
	color: #000;

	border-color: #0D3768;
	border-bottom: 1px solid;
}

.payment-form__cc
{
	width: 100%;
}

.payment-form__cc-title
{
	margin-bottom: 1.2em;

	font-weight: 600;
	font-size: 1.6em;
	color: #000;
}

.payment-form__cc-text
{
	font-size: 1rem;
	color: #000;
}

.payment-form__cc-icon
{
	display: inline-flex;

	height: 1.5em;
	width: 2.3em;

	margin-top: 10px;
	margin-right: 12px;

	font-size: 25px;

	border-radius: 2em;
	border: 1px solid #D0CED4;
}

.c-payment-kit
{
	position: relative;

	min-height: 240px;

	flex-grow: 1;
}

.c-payment-kit__iframe
{
	opacity: 0;

	height: 2px;
	width: calc(100% + 160px);

	margin: 0;
	padding: 0;

	border: none;

	transform: translateX(-80px);
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-payment-kit__iframe
	{
		width: 100%;

		transform: none;
	}
}

.c-payment-kit__iframe.is-visible
{
	opacity: 100%;

	height: 350px;

	margin-top: 0;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 650px)
{
	.c-payment-kit__iframe.is-visible
	{
		height: 510px;
	}
}

.c-picked-establishment
{
	display: flex;

	gap: 6px;

	padding: 8px 12px;

	background-color: #FFF;

	border-radius: 6px;

	box-shadow: 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.06);

	align-items: center;
}

.c-picked-establishment__name
{
	font-size: 1rem;
}

.c-picked-establishment__zipcode
{
	font-size: 1rem;
}

.c-picked-establishment__remove
{
	position: relative;
}

.c-picked-establishment__remove::after
{
	position: absolute;
	display: block;

	height: 100%;
	width: 100%;

	content: "";
}

.c-picker-tool
{
	position: relative;
	display: flex;

	align-items: center;
	justify-content: center;
}

.c-picker-tool--space-page
{
	margin-bottom: 20px;
}

.c-picker-tool__less,
.c-picker-tool__more
{
	position: relative;
	display: flex;

	min-height: 1em;
	max-height: 1em;
	min-width: 1em;
	min-width: 0;
	max-width: 1em;

	padding: 0;

	background-color: #FFF;

	font-size: 32px;
	color: #1E5AC2;

	text-indent: 100px;

	border-radius: 0;

	overflow: hidden;

	flex-shrink: 0;
	flex-grow: 0;
}

.c-picker-tool__less
{
	position: relative;
}

.c-picker-tool--tomorrow .c-picker-tool__less
{
	color: #BCBCBC;
}

.c-picker-tool__more
{
	position: relative;
}

.c-picker-tool__less:before,
.c-picker-tool__more:before
{
	position: absolute;

	height: 40%;
	width: 40%;

	top: 30%;
	margin-top: 0;
	left: 30%;
	margin-left: 0;

	background-color: transparent;

	content: '';

	border: 2px solid currentColor;
	border-width: 2px 2px 0 0;

	transform: rotate(45deg);
}

.c-picker-tool__less:before
{
	margin-left: 3px;

	border-width: 0 0 2px 2px;
}

.c-picker-tool__more:before
{
	margin-left: -2px;
}

.c-picker-tool__btn
{
	position: relative;

	width: 145px;

	font-weight: 700;
	font-size: .9em;
	color: #1E5AC2;

	border-radius: 0;
}

.c-place-item
{
	width: 360px;
}

.c-place-item__title
{
	position: relative;
	display: flex;

	width: 100%;

	margin: 0;
	padding-top: 15px;

	font-weight: 600;
	font-size: 1.3em;
	color: var(--primary);

	transition: transform 330ms ease;
	transform: translateX(0);
}

.c-place-item__title-link:hover .c-place-item__title
{
	transform: translateX(4px);
}

.c-place-item__img-link
{
	display: flex;

	text-decoration: none;

	border-radius: 15px;

	overflow: hidden;
}

.c-place-item__title-link
{
	display: flex;

	text-decoration: none;
}

.c-place-item__img
{
	display: block;

	height: 280px;
	width: 400px;
	max-width: 100%;

	transition: transform 330ms ease;
	transform: scale(1);

	object-fit: cover;
	object-position: center;
}

.c-place-item__img-link:hover .c-place-item__img
{
	transform: scale(1.08);
}

.c-place
{
	display: inline-block;

	padding: 6px;

	font-weight: 600;
	font-size: 14px;

	border-radius: 10px;
}

.c-place--red
{
	background-color: rgb(255 17 0 / 60%);
}

.c-place--orange
{
	background-color: rgb(255 152 0 / 40%);
}

.c-place--green
{
	background-color: rgb(76 175 80 / 40%);
}

.c-radio-group
{
	flex-direction: row;
}

.c-radio-group__label
{
	flex-wrap: wrap;

	width: 100%;

	margin-bottom: 0;

	font-weight: 500;
	font-size: 1rem;
	color: #252242;
}

.c-radio-group__infos
{
	width: 100%;

	margin-top: -6px;
}

.c-radio-group__infos-label
{
	float: left;

	margin-right: 4px;

	font-weight: 600;
	font-size: .9rem;
}

.c-radio-group__infos-value
{
	margin-bottom: 5px;

	font-size: .9rem;
}

.c-radio-group__infos-value.is-placeholder
{
	font-style: italic;
	color: #D42941;
}

.checkmark__circle
{
	animation: stroke .6s cubic-bezier(.65, 0, .45, 1) forwards;

	stroke-dasharray: 166;
	stroke-dashoffset: 166;
	stroke-width: 2;
	stroke-miterlimit: 10;
	stroke: #7AC142;
	fill: none;
}

.checkmark
{
	display: block;

	height: 56px;
	width: 56px;

	margin: 10% auto;

	border-radius: 50%;

	box-shadow: inset 0 0 0 #7AC142;

	animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;

	stroke-width: 2;
	stroke: #FFF;
	stroke-miterlimit: 10;
}

.checkmark__check
{
	transform-origin: 50% 50%;
	animation: stroke .3s cubic-bezier(.65, 0, .45, 1) .8s forwards;

	stroke-dasharray: 48;
	stroke-dashoffset: 48;
}

@keyframes stroke
{
	100%
	{
		stroke-dashoffset: 0;
	}
}

@keyframes scale
{
	0%,
	100%
	{
		transform: none;
	}50%
	{
		transform: scale3d(1.1, 1.1, 1);
	}
}

@keyframes fill
{
	100%
	{
		box-shadow: inset 0 0 0 30px #7AC142;
	}
}

.c-schedule-config
{
	position: relative;
	display: flex;

	gap: 15px 20px;

	padding: 8px 0;

	justify-content: space-between;
}

.c-schedule-config:nth-child(even):not(.c-schedule-config--header)
{
	background-color: #F8FBFF;
}

.c-schedule-config--header
{
	font-weight: 600;
}

.c-schedule-config__item
{
	display: flex;

	text-align: right;

	justify-content: end;
	align-items: center;
	flex-basis: 10px;
	flex-grow: 4;
	flex-shrink: 0;
}

.c-schedule-config__item.day
{
	flex-shrink: 0;
	flex-grow: 2;
	flex-basis: 85px;
}

.c-schedule-config__item.open
{
	text-align: center;

	flex-basis: 125px;
	justify-content: center;
	flex-grow: 1;
}

.c-schedule-config__item.from,
.c-schedule-config__item.to
{
	text-align: center;

	flex-basis: 70px;
	justify-content: center;
}

.c-schedule-config__item.from,
.c-schedule-config__item.to
{
	text-align: center;

	flex-basis: 70px;
	justify-content: center;
}

.c-schedule-config__item.half
{
	position: relative;

	font-weight: 600;

	text-align: center;

	flex-basis: 60px;
	justify-content: flex-end;
	flex-grow: 0;
}

.c-schedule-config__item.half:nth-child(7)
{
	flex-basis: 120px;
}

.c-schedule-config__item.sep
{
	position: relative;

	flex-basis: 2px;
	flex-shrink: 0;
	flex-grow: 1;
}

.c-schedule-config__item.sep:before
{
	display: block;

	height: 20px;
	width: 2px;

	background-color: #003565;

	content: "";
}

.c-schedule-config--header .c-schedule-config__item.sep:before
{
	display: none;
}

.c-selectable-establishment
{
	position: relative;

	max-width: 100%;

	flex-basis: calc(50% - 12px);
}

.c-selectable-establishment::after
{
	position: absolute;
	display: block;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	content: "";

	z-index: 1;
}

.c-selectable-establishment__thumb
{
	position: relative;

	border-radius: 15px;
	border: 6px solid #EDF1F6;

	overflow: hidden;
}

.c-selectable-establishment--selected .c-selectable-establishment__thumb
{
	border-color: #00931D;
}

.c-selectable-establishment__thumb::before
{
	display: block;

	width: 100%;

	padding-top: 85%;

	content: "";
}

.c-selectable-establishment__thumb-img
{
	position: absolute;
	display: block;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	transition: transform 240ms ease;

	object-fit: cover;
	object-position: center;
}

.c-selectable-establishment:hover:not(:disabled) .c-selectable-establishment__thumb-img
{
	transform: scale(1.08);
}

.c-selectable-establishment__no-select-text
{
	position: absolute;
	display: flex;
	opacity: 1;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-color: #EFF8FFDB;

	font-weight: 700;
	font-size: 1.1rem;
	color: #000;

	align-items: center;
	justify-content: center;
}

.c-selectable-establishment__title
{
	display: flex;

	gap: 14px;

	line-height: 1.2;

	margin: 10px 0 0 0;

	font-weight: 600;
	font-size: 1.3rem;
	color: #0A3767;

	text-align: left;

	align-items: center;
}

.c-selectable-establishment__indicator
{
	display: flex;

	height: 1em;
	width: 1em;

	background-color: #EDF1F6;

	font-size: 20px;

	border-radius: 4px;

	flex-shrink: 0;
	flex-grow: 0;
}

.c-selectable-establishment__indicator-icon
{
	position: relative;
	display: none;

	height: 1em;
	width: 1em;

	top: -6px;
	left: 2px;

	font-size: 28px;
	color: #049300;

	flex-shrink: 0;
	flex-grow: 0;
}

.c-selectable-establishment--selected .c-selectable-establishment__indicator-icon
{
	display: block;
}

.c-selectable-service
{
	display: flex;

	min-height: 42px;

	border-bottom: 2px solid #003666;

	--cell-padding-x: 12px;
	--cell-padding-y: 6px;
	align-items: stretch;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-selectable-service
	{
		position: relative;

		flex-wrap: wrap;

		margin: 0;
		padding-left: var(--select-w);

		--select-w: 80px;
	}
}

tbody .c-selectable-service:last-child
{
	border-bottom: none;
}

.c-selectable-service__cell
{
	display: flex;

	padding: var(--cell-padding-y) var(--cell-padding-x);

	background-color: #FFF;

	border-right: 2px solid #003666;

	align-items: center;
}

.c-selectable-service__cell:last-child
{
	border: none;
}

thead .c-selectable-service__cell
{
	background-color: #EDF1F6;

	font-weight: 600;
	color: #003666;
}

.c-selectable-service--canceled .c-selectable-service__cell
{
	background-color: #FDEDED;
}

.Service-select
{
	min-width: 55px;
}

.c-selectable-service__cell.Service-select
{
	position: relative;
	display: flex;

	padding: 0;
}

.c-selectable-service__cell.Service-title
{
	width: 80%;
}

.c-selectable-service__cell.Service-qty
{
	min-width: 100px;

	text-align: right;

	justify-content: flex-end;
}

.c-selectable-service__cell.Service-cost
{
	min-width: 110px;

	text-align: right;

	justify-content: flex-end;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-selectable-service__cell.Service-select
	{
		position: absolute;

		height: 100%;
		width: var(--select-w);
		min-width: 0;

		top: 0;
		left: 0;

		justify-content: center;
	}

	.c-selectable-service__cell.Service-qty
	{
		width: 50%;
		min-width: 0;

		justify-content: center;
	}

	.c-selectable-service__cell.Service-title
	{
		width: 100%;

		border-right: none;
		border-bottom: 2px solid #003666;
	}

	.c-selectable-service__cell.Service-cost
	{
		width: 50%;

		flex-grow: 1;
	}
}

.c-selectable-space
{
	position: relative;
	display: flex;

	gap: 20px;

	width: 100%;
	max-width: 100%;

	text-align: left;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-selectable-space
	{
		flex-direction: column;
	}
}

.c-selectable-space__thumb
{
	position: relative;

	width: 290px;

	border-radius: 15px;
	border: none;

	overflow: hidden;

	flex-shrink: 0;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.c-selectable-space__thumb
	{
		height: 200px;
		width: 100%;
	}
}

.c-selectable-space__thumb::before
{
	display: block;

	width: 100%;

	padding-top: 62.5%;

	content: "";
}

.c-selectable-space__thumb-img
{
	position: absolute;
	display: block;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	transition: transform 240ms ease;

	object-fit: cover;
	object-position: center;
}

.c-selectable-space__no-select-text
{
	position: absolute;
	display: flex;
	opacity: 1;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-color: #EFF8FFDB;

	font-weight: 700;
	font-size: 1.1rem;
	color: #000;

	align-items: center;
	justify-content: center;
}

.c-selectable-space__title
{
	display: flex;

	gap: 14px;

	line-height: 1.2;

	margin: 10px 0 0 0;

	font-weight: 600;
	font-size: 1.3rem;
	color: #0A3767;

	text-align: left;

	align-items: center;
}

.c-selectable-space__establishment
{
	display: flex;

	gap: 14px;

	line-height: 1.2;

	margin: 10px 0 0 0;

	font-weight: 600;
	font-size: 1.3rem;
	color: #0A3767;

	text-align: left;

	align-items: center;
}

.c-selectable-space__indicator
{
	display: flex;

	height: 1em;
	width: 1em;

	background-color: #EDF1F6;

	font-size: 20px;

	border-radius: 4px;

	flex-shrink: 0;
	flex-grow: 0;
}

.c-selectable-space__indicator-icon
{
	position: relative;
	display: none;

	height: 1em;
	width: 1em;

	top: -6px;
	left: 2px;

	font-size: 28px;
	color: #049300;

	flex-shrink: 0;
	flex-grow: 0;
}

.c-selectable-space--selected .c-selectable-space__indicator-icon
{
	display: block;
}

.c-selectable-space__schedule
{
	display: flex;

	flex-wrap: wrap;
	gap: 15px 10px;

	width: 100%;
}

.c-selectable-space__schedule-label
{
	position: relative;

	box-shadow: 0 1.5px 0 0 #000;
}

.c-selected-chip
{
	position: relative;
	display: flex;

	gap: 8px;

	min-height: 36px;

	padding: 6px 10px;

	background-color: #0059BF;

	color: #FFF;

	border-radius: 4px;

	transition: background-color 240ms ease, color 200ms ease 40ms;

	align-items: center;
}

.c-selected-chip:disabled
{
	cursor: default;
}

.c-selected-chip:not(:disabled):hover,
.c-selected-chip:not(:disabled):focus
{
	background-color: #F4DDDD;

	color: #C00506;

	transition: background-color 240ms ease, color 240ms ease;
}

.c-selected-chip::after
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	content: "";

	z-index: 1;
}

.c-selected-chip__label
{
	line-height: 1.3;

	color: inherit;

	text-align: left;
}

.c-selected-chip__remove-icon
{
	height: 1em;
	width: 1em;

	font-size: 22px;
	color: inherit;
}

.c-selected-establishment
{
	display: flex;

	flex-wrap: wrap;

	width: 300px;
	max-width: 100%;

	align-items: center;
}

.c-selected-establishment__thumb
{
	display: block;

	height: 220px;
	width: 100%;

	margin-bottom: 8px;
}

.c-selected-establishment__thumb-img
{
	display: block;

	height: 100%;
	width: 100%;

	border-radius: 12px;

	object-fit: cover;
}

.c-selected-establishment__title
{
	width: 50%;

	padding-left: 6px;

	font-weight: 600;
	font-size: 1.2rem;
	color: black;

	flex-grow: 1;
}

.c-separator
{
	position: relative;
	display: flex;

	column-gap: 20px;

	width: 100%;

	padding: 0;

	text-align: center;

	align-items: center;
}

.c-separator:empty
{
	column-gap: 0;
}

.c-separator:before,
.c-separator:after
{
	display: block;

	height: 2px;
	width: 30px;

	background-color: #EDF1F6;

	content: "";

	flex-grow: 1;
}

.c-separator--light
{
	column-gap: 14px;

	min-height: 40px;

	font-style: italic;
	font-size: .9rem;
	color: #828282;
}

.c-separator--delete-account
{
	min-height: 40px;

	margin-top: 25px;

	font-style: italic;
	font-size: .9rem;
	color: #D93C3C;
}

.c-services-icons
{
	display: flex;

	flex-wrap: wrap;
	gap: 20px 12px;

	margin-top: 20px;
}

.c-services-icons--v2
{
	margin-top: 0;
}

.c-services-icons__item
{
	display: flex;

	margin-bottom: 0;
	padding: 0;

	align-items: center;
	flex-basis: calc(calc(100% - 24px) / 3);
}

.c-services-icons__svg
{
	display: block;

	height: 1em;
	width: 1em;

	margin-right: 10px;

	font-size: 1.5rem;
	color: #F16C30;

	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;

	flex-shrink: 0;
}

.c-services-icons__label
{
	font-size: 1em;
	color: #000;
}

.c-side-item
{
	display: flex;

	flex-wrap: wrap;

	align-items: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-side-item
	{
		display: block;
	}
}

.c-side-item + .c-side-item
{
	margin-top: 60px;
}

.c-side-item__content
{
	display: block;
}

.c-side-item__content
{
	display: flex;

	flex-direction: column;

	width: 10%;

	margin-right: 50px;

	font-size: .9em;

	justify-content: center;
	flex-grow: 1;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-side-item__content
	{
		width: 100%;

		margin-right: 0;
		margin-bottom: 15px;
	}
}

.c-side-item--inverted .c-side-item__content
{
	margin-right: 0;
	margin-left: 50px;

	order: 1;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-side-item--inverted .c-side-item__content
	{
		margin-left: 0;
	}
}

.c-side-item__title
{
	display: block;

	line-height: 1.2em;

	margin-top: 0;
	margin-bottom: 12px;

	font-weight: 400;
	font-size: 2.2em;
}

.c-side-item__txt
{
	display: flex;
}

.c-side-item--place .c-side-item__txt
{
	display: -webkit-box;

	overflow: hidden;

	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
}

.c-side-item--place .c-side-item__txt > p > br:only-child
{
	display: none;
}

.c-side-item__more
{
	display: flex;

	width: 100%;

	justify-content: flex-end;
}

.c-side-item__more-link
{
	display: flex;

	flex-direction: row;
	gap: 8px;

	width: auto;

	margin-top: 20px;
	padding: 10px 0;

	font-size: 1rem;
	color: #003768;
	text-decoration: none;

	transition: color 240ms ease;

	align-items: center;
}

.c-side-item__more-link:hover
{
	color: #000;
}

.c-side-item__more-link svg
{
	font-size: 24px;

	transition: transform 240ms ease;
	transform: translateX(0);
}

.c-side-item__more-link:hover svg
{
	transform: translateX(4px);
}

.c-side-item__highlighted
{
	display: block;

	margin-left: 4px;

	font-weight: 700;
	color: #0D3768;
}

.c-side-item__img
{
	display: block;

	height: 260px;
	width: 380px;
	max-width: 100%;

	transition: transform 440ms ease;
	transform: scale(1);
}

.c-side-item__img-link
{
	position: relative;
	display: flex;

	border-radius: 20px;

	overflow: hidden;
}

.c-side-item__img-link:hover .c-side-item__img
{
	transform: scale(1.08);
}

.c-side-widget
{
	position: absolute;

	top: 0;
	margin-top: -100px;
	right: 0;
}

.c-side-widget,
.c-side-widget__content
{
	width: 400px;
	max-width: 100%;
}

/* ----------------- Laptop ------------------- */
@media (min-width: 1201px) and (max-width: 1536px)
{
	.c-side-widget,
	.c-side-widget__content
	{
		width: 360px;
		max-width: 100%;
	}
}

.c-side-widget--cart
{
	position: relative;

	max-width: 400px;

	margin-top: 0;
	margin-right: 0;

	flex-grow: 1;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-side-widget
	{
		position: static;

		margin-top: 30px;
		margin-right: auto;
		margin-left: auto;
	}

	.c-side-widget--cart
	{
		margin-top: 0;
		margin-bottom: 30px;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-side-widget
	{
		max-width: calc(100% - 8px);
	}
}

.c-side-widget__content
{
	top: 30px;
	padding: 30px 20px;

	background-color: #FFF;

	border-radius: 30px;

	box-shadow: 0 3px 10px 1px rgb(0 0 0 / 20%);
}

.c-side-widget--cart .c-side-widget__content
{
	width: 100%;

	padding: 0;
}

/* ------------- Laptop & Desktop ------------- */
@media (min-width: 1201px)
{
	.c-side-widget--fixed .c-side-widget__content
	{
		position: fixed;
	}
}

.c-side-widget__title
{
	margin-top: 0;
	margin-bottom: 15px;

	font-weight: 700;
}

.c-side-widget--cart .c-side-widget__title
{
	margin-bottom: 8px;
}

.c-side-widget__title--blue
{
	line-height: 1.3em;

	margin-bottom: 0;
	padding: 0 25px;

	font-size: 1.2em;
	color: #163768;
}

.c-side-widget__element
{
	margin-bottom: 18px;
}

.c-side-widget__element--cart
{
	display: flex;

	color: #1E5AC2;

	align-items: center;
}

.c-side-widget__element--cart .c-side-widget__label
{
	margin-bottom: 0;
	padding-right: 5px;

	font-weight: 600;
	font-size: .9em;
}

.c-side-widget__element.validate
{
	margin-bottom: 0;
}

.c-side-widget__label
{
	display: block;

	line-height: 1.15em;

	margin-top: 0;
	margin-bottom: 8px;

	font-weight: 600;
	font-size: .9em;
	color: #000;

	align-self: center;
}

.c-side-widget__element--cart
{
	padding: 0 25px;

	color: #000;
}

.c-side-widget__element--cart:last-child
{
	margin-bottom: 0;
}

.c-side-widget__item-name
{
	margin: 0;

	font-weight: 600;
	font-size: 1em;
	color: #1E5AC2;
}

.c-side-widget__select
{
	position: relative;
}

.c-side-widget__select > div
{
	border: none;
}

.c-side-widget__select > div > div
{
	border: none;
}

.c-side-widget__select > div > div:before,
.c-side-widget__select > div > div:after
{
	display: none;
}

.c-side-widget__select.mui-select select
{
	position: relative;
	display: flex;

	height: 42px;

	padding-top: 0;
	padding-left: 15px;
	padding-bottom: 0;

	font-weight: 600;
	font-size: .9em;
	color: #1E5AC2;

	border-radius: 8px;
	border: 2px solid #EBEDF0;

	transition: border-color 320ms ease;

	align-items: center;
}

.c-side-widget__select.mui-select select:focus
{
	border-color: #1E5AC2;
}

.c-side-widget__select.mui-select select option
{
	font-weight: 600;
	font-size: 1em;
	color: #1E5AC2;
}

.c-side-widget__input
{
	display: flex;

	height: 42px;
	width: 20px;

	padding-top: 0;
	padding-left: 0;
	padding-bottom: 0;

	font-weight: 600;
	font-size: .9em;
	color: #1E5AC2;

	border-radius: 0;

	flex-grow: 1;
}

.c-side-widget__input input
{
	display: flex;

	height: 100%;

	padding-left: 15px;

	border-radius: 8px;
	border: 2px solid #EBEDF0;

	transition: border-color 320ms ease;

	box-sizing: border-box;

	align-items: center;
}

.c-side-widget__input input:focus
{
	border-color: #1E5AC2;
}

.c-side-widget__input > div,
.c-side-widget__input > div > div
{
	display: flex;

	height: 100%;

	align-items: stretch;
}

.c-side-widget__input > div > div:before,
.c-side-widget__input > div > div:after
{
	display: none;
}

.c-side-widget__container
{
	display: flex;

	align-items: center;
}

.free-info
{
	width: 100%;

	margin: 0;

	font-weight: 700;
	font-size: .9em;
	color: #47A621;
}

.c-side-widget__element--cart-price
{
	flex-direction: column;

	padding: 15px 25px;

	background-color: #EDF1F6;

	border-bottom-right-radius: 30px;
	border-bottom-left-radius: 30px;

	align-items: flex-start;
}

.c-side-widget__label.c-side-widget__label--price
{
	margin-bottom: 8px;

	font-weight: 700;
	font-size: 1.1em;
	color: #163768;
}

.c-side-widget__element--service
{
	margin-bottom: 7px;
}

.c-space-closed
{
	margin-top: 0;

	font-weight: 600;
	font-size: 1em;
	color: #E91E63;

	text-align: center;
	text-transform: uppercase;
}

.c-space-closed:before,
.c-space-closed:after
{
	content: '-';
}

.c-space-closed:before
{
	margin-right: 4px;
}

.c-space-closed:after
{
	margin-left: 4px;
}

.c-stats
{
	display: flex;

	flex-wrap: wrap;
	gap: 10px;

	margin-bottom: 20px;

	justify-content: center;
}

.c-stats__item
{
	position: relative;
	display: flex;

	min-height: 135px;
	width: calc(calc(100% - 40px) / 5);

	margin: 0;
	padding: 20px 14px 25px;

	background-color: #FFF;

	text-align: center;

	border-radius: 15px;

	box-shadow: 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.06);

	overflow: hidden;

	flex-flow: wrap;
	justify-content: center;
}

/* ----------------- Laptop ------------------- */
@media (min-width: 1201px) and (max-width: 1536px)
{
	.c-stats__item
	{
		width: 24%;
	}
}

/* ------------ Tablet (landscape) ------------ */
@media (min-width: 901px) and (max-width: 1200px)
{
	.c-stats__item
	{
		width: 32%;
	}
}

/* ------------ Tablet (portrait) ------------- */
@media (min-width: 600px) and (max-width: 900px)
{
	.c-stats__item
	{
		width: 48%;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-stats__item
	{
		width: 80%;
	}
}

/* -------------- Mobile (small) -------------- */
@media (max-width: 369px)
{
	.c-stats__item
	{
		width: 90%;
	}
}

.c-stats__item-title
{
	position: relative;

	width: 100%;

	margin-top: 0;
	margin-bottom: 1.2em;

	font-weight: 600;
	font-size: 1em;
	color: #003768;

	text-align: center;
}

.c-stats__item-title--standalone
{
	display: inline-flex;

	margin: 0;
	margin-right: auto;
	margin-left: auto;
	padding: 10px 20px;

	background-color: #FFF;

	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
}

.c-stats__item-result
{
	font-weight: 700;
	font-size: 2em;
}

.stats-table
{
	display: flex;

	flex-wrap: wrap;

	max-width: 80%;

	margin-right: auto;
	margin-left: auto;

	background-color: #FFF;

	border-top: 1px solid;
	border-right: 1px solid;
}

table.stats-table
{
	display: table;

	border-collapse: collapse;
}

.stat-cell
{
	width: 50%;

	padding: 5px;

	text-align: center;

	border-bottom: 1px solid;
	border-left: 1px solid;
}

th.stat-cell,
td.stat-cell
{
	width: auto;
}

.stats-tr:nth-child(even)
{
	background-color: #F8F8F8;
}

.c-steps
{
	display: flex;

	gap: 0 5px;

	width: 100%;

	margin-top: 30px;
	margin-bottom: 60px;
	padding: 28px 25px;

	color: #163768;

	border-radius: 15px;

	box-shadow: rgb(224 224 224) 6px 5px 5px 1px, rgb(224 224 224 / 86%) 1px 0 5px 2px;

	justify-content: center;
	align-items: stretch;
}

.c-steps--condensed
{
	margin-top: 30px;
	margin-bottom: 30px;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.c-steps
	{
		margin-bottom: 40px;
		padding-right: 10px;
		padding-left: 10px;
	}

	.c-steps--condensed
	{
		margin-bottom: 30px;
	}
}

.c-steps__step
{
	position: relative;
	display: flex;

	flex-direction: column;

	max-width: 290px;

	font-size: 16px;

	text-align: center;

	z-index: 1;

	flex-basis: 60px;
	flex-grow: 1;
	justify-content: flex-start;
	align-items: center;
}

.c-steps__step:before
{
	display: flex;

	height: 2.5rem;
	width: 2.5rem;

	margin-bottom: .5rem;

	background-color: #CCD7E5;

	font-size: .9rem;
	color: #FFF;

	content: attr(data-step);
	text-align: center;

	border-radius: 50%;

	z-index: 2;

	flex-shrink: 0;
	justify-content: center;
	align-items: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-steps__step:before
	{
		height: 2.25rem;
		width: 2.25rem;
	}
}

.c-steps__step.is-active:before
{
	background-color: #163768;
}

.c-steps__step.is-past:before
{
	font-size: 1.2rem;

	content: "✓";
}

.c-steps__step:after
{
	position: absolute;
	display: block;

	height: 4px;
	width: 100%;

	top: 1.25rem;
	margin-top: -2px;
	left: 50%;

	background-color: #CCD7E5;

	content: "";

	z-index: 1;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-steps__step:after
	{
		top: 1.125rem;
	}
}

.c-steps__step:last-child:after
{
	display: none;
}

.c-steps__step.is-past:before,
.c-steps__step.is-past:after
{
	background-color: #1F5AC2;
}

.c-steps__step-label
{
	font-size: 1rem;

	z-index: 2;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-steps__step-label
	{
		font-size: .9em;
	}
}

.c-stripe-field
{
	display: flex;

	padding: 9px 12px;

	background-color: #FFF;

	font-size: 1rem;
	color: #555;

	cursor: text;

	border-radius: 20px;
	border: 2px solid #D0CED4;

	transition: border-color ease 240ms;

	align-items: center;
	flex-grow: 1;
	flex-basis: auto;
}

.c-stripe-field--focus
{
	border-color: #1E5AC2;
}

.c-stripe-field--invalid
{
	border-color: #E32C2B;
}

.c-stripe-field > *
{
	width: 100%;
}

.c-stripe-form
{
	position: relative;

	min-height: 160px;
	width: 100%;

	font-size: 1rem;
}

.c-stripe-form__fields
{
	display: flex;

	flex-wrap: wrap;
	gap: 26px 20px;

	margin-top: 15px;
}

.c-stripe-form__field-container
{
	position: relative;

	width: 100%;
}

.c-stripe-form__field-container.field-cc-exp,
.c-stripe-form__field-container.field-cc-code
{
	flex-basis: 34%;
	flex-grow: 1;
}

.c-stripe-form__field-popup
{
	position: absolute;
	display: flex;

	height: 1em;
	width: 1em;

	top: 10px;
	right: 12px;
	padding: 0;

	background-color: #838089;

	font-family: inherit;
	font-weight: 400;
	font-style: normal;
	font-size: 22px;
	color: #FFF;

	cursor: pointer;
	text-align: center;

	border-radius: 50%;
	border: none;

	box-shadow: none;

	outline: none;

	align-items: center;
	justify-content: center;
}

.c-stripe-form__field-popup.icon-lock
{
	background-color: transparent;
}

.c-stripe-form__field-popup:active .c-stripe-form__field-popup-txt,
.c-stripe-form__field-popup:focus .c-stripe-form__field-popup-txt
{
	visibility: visible;
	opacity: 1;

	transform: translateY(0px);
}

.c-stripe-form__field-popup::before
{
	position: absolute;
	display: block;

	height: 100%;
	line-height: 1.2em;
	width: 100%;

	left: 1px;

	font-family: inherit;
	font-size: inherit;
	font-size: .8em;

	content: "?";
	text-align: center;
}

.c-stripe-form__field-popup.icon-lock::before
{
	left: 0;

	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICA8cGF0aCBmaWxsPSIjODM4MDg5IiBkPSJNNDM3LjMgMTkyaC0zMnYtNDIuN0M0MDUuMyA2NyAzMzguMyAwIDI1NiAwUzEwNi43IDY3IDEwNi43IDE0OS4zVjE5MmgtMzJjLTYgMC0xMC43IDQuOC0xMC43IDEwLjd2MjY2LjZhNDIuNyA0Mi43IDAgMCAwIDQyLjcgNDIuN2gyOTguNmE0Mi43IDQyLjcgMCAwIDAgNDIuNy00Mi43VjIwMi43YzAtNi00LjgtMTAuNy0xMC43LTEwLjd6TTI4OCA0MTQuOGExMC43IDEwLjcgMCAwIDEtMTAuNiAxMS45aC00Mi42YTEwLjcgMTAuNyAwIDAgMS0xMC42LTExLjlsNi43LTYwLjVhNDIuNyA0Mi43IDAgMSAxIDUwLjQgMGw2LjcgNjAuNXpNMzQxLjMgMTkySDE3MC43di00Mi43YTg1LjQgODUuNCAwIDAgMSAxNzAuNiAwVjE5MnoiLz4KPC9zdmc+Cg==);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;

	content: "";
}

.c-stripe-form__field-popup-txt
{
	position: absolute;
	visibility: hidden;
	opacity: 0;

	line-height: 1.7em;
	width: 200px;

	right: -85px;
	bottom: 37px;
	padding: 15px 12px;

	background-color: #838089D4;

	font-size: 14px;

	text-align: left;
	letter-spacing: -.2px;

	border-radius: 10px;

	transition: opacity 240ms ease, transform 240ms ease, visibility 240ms ease;
	transform: translateY(-6px);
}

.c-stripe-form__field-popup-txt::after
{
	position: absolute;

	height: 0;
	width: 0;

	top: 100%;
	left: 50%;
	margin-left: -4px;

	content: "";

	border-top: 8px solid #838089D4;
	border-right: 8px solid #0000;
	border-left: 8px solid #0000;
}

.c-stripe-form__field-popup.direction-down .c-stripe-form__field-popup-txt::after
{
	top: -8px;

	transform: rotate(180deg);
}

.c-stripe-form__field-popup.direction-down .c-stripe-form__field-popup-txt
{
	top: 40px;
	bottom: initial;

	z-index: 10;
}

.c-stripe-form__actions
{
	width: 100%;

	text-align: center;
}

.c-subscribe-block
{
	position: relative;

	max-width: 100%;
}

.c-subscribe-block:before,
.c-subscribe-block:after
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	content: '';
}

.c-subscribe-block:before
{
	background-image: url('/images/front/myWO_concept_background.jpg');
	background-position: top;
	background-size: cover;

	z-index: -2;
}

/* ----------------- Desktop ------------------ */
@media (min-width: 1400px)
{
	.c-subscribe-block--ratio--1\.5:before,
	.c-subscribe-block--ratio--2:before
	{
		background-image: url('/images/front/2x/myWO_concept_background.jpg');
	}
}

.c-subscribe-block:after
{
	background-color: rgb(27 58 95 / 80%);

	z-index: -1;
}

.c-subscribe-block__content
{
	display: flex;

	max-width: 100%;

	padding: 0 15px;

	color: #FFF;

	align-items: center;
	justify-content: space-between;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.c-subscribe-block__content
	{
		flex-direction: column;
	}
}

.c-subscribe-block__left
{
	display: flex;

	flex-direction: column;

	width: 770px;
	max-width: 100%;

	justify-content: space-between;
}

.c-subscribe-block__header
{
	position: relative;

	margin-top: 30px;
	margin-bottom: 100px;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.c-subscribe-block__header
	{
		margin-bottom: 40px;
	}
}

.c-subscribe-block__top-title
{
	margin: 0;

	font-weight: 700;
	font-size: 1.6em;
	color: #CFCFCF;
}

.c-subscribe-block__title
{
	line-height: .9em;

	margin-top: 10px;
	margin-bottom: 0;

	font-size: 2.6em;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-subscribe-block__title
	{
		font-size: 2.2em;
	}
}

/* -------------- Mobile (small) -------------- */
@media (max-width: 424px)
{
	.c-subscribe-block__title
	{
		white-space: normal;
		word-break: break-word;
	}
}

.c-subscribe-block__text
{
	position: relative;

	margin-bottom: 25px;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.c-subscribe-block__text
	{
		margin-bottom: 10px;
	}
}

.c-subscribe-block__big-txt
{
	margin-top: 0;
	margin-bottom: 8px;

	font-size: 1.2em;
	color: #F1F1F1;
}

.c-subscribe-block__small-txt
{
	line-height: 1.35em;

	margin: 0;

	font-size: .75em;
	color: #C7C7C7;
}

.c-subscribe-block__highlight
{
	display: flex;

	flex-direction: column;

	max-width: 100%;

	margin: 20px 0;
	padding: 30px 50px;

	background-color: #FFF;

	color: #1B3A5F;

	text-align: center;

	border-radius: 40px;

	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

.c-subscribe-block__price
{
	font-weight: 700;
	font-size: 1.5em;
}

.c-subscribe-block__price-value
{
	display: block;

	line-height: .9em;

	font-size: 4em;

	text-align: center;
}

.c-subscribe-block__link,
.c-subscribe-block__link:hover,
.c-subscribe-block__link:visited,
.c-subscribe-block__link:focus,
.c-subscribe-block__link:active
{
	position: relative;

	line-height: 1.1em;

	margin-top: 15px;
	padding-bottom: 2px;

	font-weight: 700;
	font-size: .8em;
	color: #1E5AC2;
	text-decoration: none;

	outline: none;
}

.c-subscribe-block__link:after
{
	position: absolute;
	opacity: 0;

	height: 2px;
	width: 100%;

	top: 100%;
	left: 0;

	background-color: currentColor;

	content: '';

	transition: opacity 240ms ease;
}

.c-subscribe-block__link:hover:after
{
	opacity: 1;
}

.c-subscription-card
{
	position: relative;
	display: flex;

	flex-direction: column;

	width: 100px;
	max-width: 100%;

	margin-top: var(--highlight-height);

	background-color: #FFF;

	border-radius: 15px;

	box-shadow: 0 3px 10px 1px rgb(0 0 0 / 10%);

	overflow: hidden;

	flex-basis: 260px;
	flex-grow: 1;
	--highlight-height: 38px;
}

.c-subscription-card--with-highlight
{
	margin-top: 0;
}

.c-subscription-card--my-subscription
{
	width: 300px;
}

.c-subscription-card--pay-subscription-side
{
	width: 100%;
}

.c-subscription-card__top
{
	display: flex;

	gap: 2px;

	line-height: 1;
	width: 100%;

	margin: 0;
	margin-top: 0;
	padding-top: 0;

	font-weight: 600;
	font-size: 2.2rem;
	color: #0A3767;

	text-align: center;
	text-transform: uppercase;

	border-radius: 0;

	align-items: flex-end;
	justify-content: center;
}

.c-subscription-card--pay-subscription-side
{
	--highlight-height: 0;
}

.c-subscription-card__highlight
{
	position: static;
	display: flex;

	height: var(--highlight-height);
	width: 100%;

	margin: 0;

	background-color: #FFF1AE;

	font-weight: 700;
	font-size: 1rem;
	color: #000;

	text-align: center;
	text-transform: uppercase;

	border-radius: 0;

	align-items: center;
	justify-content: center;
}

.c-subscription-card--pay-subscription-side .c-subscription-card__highlight
{
	display: none;
}

.c-subscription-card__title
{
	position: relative;
	display: flex;

	line-height: 1.4;
	width: 100%;

	margin: 12px 0 0 0;
	padding: 16px 20px;

	font-size: 1.2rem;
	color: #0A3767;

	text-align: center;

	flex-grow: 0;
	align-items: flex-end;
	justify-content: center;
}

.c-subscription-card__title::before
{
	position: absolute;

	height: 1px;
	width: 100%;

	left: 0;
	bottom: 0;

	background-color: #000;

	content: "";
}

.c-subscription-card__list
{
	display: flex;

	flex-direction: column;
	gap: 10px;

	width: 100%;

	margin-bottom: 20px;
}

.c-subscription-card__list li
{
	position: relative;
	display: block;

	padding-left: calc(var(--bullet-size) + 8px);

	--bullet-size: 17px;
}

.c-subscription-card__content
{
	display: flex;

	flex-direction: column;
	gap: 0;

	padding: 18px 20px;

	align-items: center;
	flex-grow: 1;
}

.c-subscription-card__footer,
.c-subscription-card__footer-link
{
	display: flex;

	padding: 12px 15px;

	background-color: #0A3767;

	font-weight: 600;
	font-size: 1.4rem;
	color: #FFF;

	text-align: center;

	border-radius: 0;

	align-items: center;
	justify-content: center;
}

.c-subscription-card__footer-link
{
	gap: 8px;

	background-color: #F86E2F;

	font-size: 1.05rem;
	text-decoration: none;

	transition: background-color 320ms ease;
}

.c-subscription-card__footer-link:hover,
.c-subscription-card__footer-link:focus
{
	background-color: hsl(19 93% 42% / 1);
}

.c-subscription-card__footer-link-icon
{
	font-size: 26px;
}

.c-subscription-card__list-icon
{
	position: absolute;

	top: 6px;
	margin-top: calc(-1 * var(--size) / 2);
	left: 0;

	font-size: var(--bullet-size);
	color: #000;

	content: "";

	border-radius: 50%;
}

.c-subscription-card__unit
{
	position: relative;

	top: -2px;

	font-size: 1.1rem;
}

.c-subscriptions__main-title
{
	line-height: 1.2;

	margin-top: 0;
	margin-bottom: 30px;

	font-size: 2.3rem;
	color: var(--primary);

	text-align: left;
}

.c-subscriptions__groups
{
	position: relative;

	z-index: 0;

	--i-count: 2;
	--gap-w: 30px;
}

.c-subscriptions__group
{
	position: relative;
	display: flex;

	flex-direction: column;

	width: 300px;
	max-width: 100%;

	padding: 40px 38px;

	flex-grow: 1;
}

/* ------------ Tablet (portrait) ------------- */
@media (min-width: 600px) and (max-width: 900px)
{
	.c-subscriptions__group
	{
		width: 100%;
	}
}

.c-subscriptions__group::before
{
	position: absolute;
	display: block;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	background-color: #EDF6FC;

	content: "";

	z-index: -1;
}

.c-subscriptions__title
{
	display: flex;

	flex-wrap: wrap;
	gap: 12px;

	line-height: 1.2;
	width: 100%;

	margin-top: 0;

	font-size: 2rem;
	color: #0A3767;

	text-align: center;

	align-items: center;
	justify-content: center;
}

.c-subscriptions__title-icon
{
	display: block;

	height: 1em;
	width: 1em;

	font-size: 55px;
}

.c-subscriptions__title-highlight
{
	color: #F86E2F;
}

.c-subscriptions__intro
{
	width: 100%;

	margin-bottom: 30px;
}

.c-subscriptions__grid
{
	width: 100%;

	margin-top: 30px;

	--i-count: 2;
	--gap-w: 35px;
	align-self: flex-end;
	flex-grow: 1;
}

.c-tab
{
	position: relative;

	margin: 0;
	padding: 0;

	background-color: hsl(0, 0%, 88%);

	color: #6B6B6B;

	border-width: 0 0 2px 0;
	border-style: solid;
	border-color: #E0E0E0;
}

.c-tab--active
{
	background-color: #FFF;

	color: #1F1F1F;

	border-color: #E93339;
}

.c-tab__button
{
	display: block;

	min-width: 0;

	padding: 6px 15px;

	font-weight: 600;
	font-size: .95em;
	color: inherit;

	text-transform: uppercase;

	border-radius: 0;
}

.c-title
{
	display: block;

	line-height: 1.2em;

	margin: 0;

	font-weight: 700;
	font-size: 2.2em;
	color: #000;
}

.c-title--primary
{
	color: var(--primary);
}

.c-title--direct-booking
{
	margin-top: 10px;

	font-size: 2em;
	color: #003768;

	text-align: left;
}

.c-title--cart-services
{
	display: inline-flex;

	width: auto;

	margin-top: 0;
	margin-right: 0;
	margin-bottom: 4px;

	color: #003768;

	align-items: center;
}

.c-title--sub
{
	width: 100%;

	font-weight: 400;
	font-size: 1.5em;
	color: #003768;

	text-align: center;
}

.c-title--pack
{
	width: 100%;

	font-size: 1.5em;
	color: #003768;

	text-align: center;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 767px)
{
	.c-title
	{
		font-size: 1.8em;
	}

	.c-title--direct-booking
	{
		margin-bottom: 10px;

		text-align: center;
	}
}

.c-title--front-subtitle
{
	position: relative;

	margin: 0;
	padding: 0;

	font-weight: 700;
	color: #0D3768;
}

.c-title--front-subtitle.c-title--gmap
{
	margin-bottom: 25px;
}

.c-widget
{
	position: relative;
	display: flex;

	flex-wrap: wrap;
	gap: 20px 35px;

	padding: 25px 20px 50px 25px;

	background-color: #FFF;

	border-radius: 12px;

	box-shadow: 0 6px 18px rgba(79,83,157,.16);

	justify-content: space-between;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.c-widget
	{
		flex-direction: column;

		padding: 15px 12px;

		justify-content: center;
	}
}

.c-widget__element
{
	position: relative;
	display: flex;

	flex-direction: column;

	width: 20%;

	margin: 0;

	justify-content: flex-end;
}

.c-widget__element.text
{
	max-width: 100%;

	flex-grow: 1;
}

.c-widget__element.choice,
.c-widget__element.city
{
	max-width: 100%;

	flex-grow: 1;
}

.c-widget__element.radius
{
	width: 120px;

	flex-shrink: 0;
	flex-grow: 0;
}

.c-widget__city-element
{
	position: relative;
	visibility: visible;
	opacity: 1;

	width: 100%;

	transition: transform 320ms ease, opacity 200ms ease 120ms, visibility 320ms ease;
	transform: translate3d(0, 0, 0);

	z-index: 2;

	will-change: transform;
}

.c-widget--hide-city .c-widget__city-element
{
	visibility: hidden;
	opacity: 0;

	transition: transform 320ms ease, opacity 200ms ease, visibility 320ms ease;
	transform: translate3d(0, -20, 0);
}

.c-widget__around-me
{
	position: absolute;

	top: 100%;
	margin-top: 6px;

	transition: transform 320ms ease;
	transform: translate3d(0, 0, 0);

	z-index: 1;

	will-change: transform;
}

.c-widget--hide-city .c-widget__around-me
{
	transform: translate3d(0, -39px, 0);
}

.c-widget__subscriptions-cb
{
	position: absolute;

	top: 100%;
	margin-top: 6px;

	transition: transform 320ms ease;
	transform: translate3d(0, 0, 0);

	z-index: 1;

	will-change: transform;
}

.c-widget__element.date
{
	display: inline-flex;

	flex-wrap: wrap;
	gap: 11px;

	width: auto;
	max-width: 100%;

	flex-grow: 0;
	flex-shrink: 0;
}

.c-widget__element.validate
{
	width: auto;
	max-width: 100%;

	margin-right: auto;
	margin-left: auto;

	align-items: center;
	flex-grow: 0;
	flex-shrink: 0;
	justify-content: flex-end;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 1023px)
{
	.c-widget__element
	{
		width: 100%;

		margin-right: 0;
		margin-bottom: 15px;
	}

	.c-widget__element.text,
	.c-widget__element.choice,
	.c-widget__element.validate
	{
		width: 100%;
	}

	.c-widget__element.text
	{
		width: 100%;
	}

	.c-widget__element.city
	{
		margin-top: -20px;
		margin-bottom: 30px;
	}

	.c-widget__element.validate
	{
		margin-top: 20px;
		margin-bottom: 0;

		align-items: center;
	}
}

.c-widget__label
{
	display: block;

	padding-bottom: 11px;

	font-weight: 500;
	font-size: 1.1em;

	cursor: pointer;
}

.c-widget__element.choice .c-widget__label
{
	padding-left: 8px;
}

.c-widget__element.date .c-widget__label
{
	padding-left: 10px;
	padding-bottom: 0;
}

.c-widget__text
{
	display: flex;

	height: 48px;
	line-height: 1em;

	padding: 0 8px;

	font-weight: 500;
	font-size: 1.1em;

	letter-spacing: -.4px;

	border-radius: 12px;
	border: 2px solid #CCC;

	transition: border-color 320ms ease;

	align-items: center;
}

.c-widget__text[value=""],
.c-widget__text:not([value])
{
	font-size: .9em;

	letter-spacing: 0;
}

.c-widget__text,
.c-widget__text:focus
{
	color: #003768;

	outline: none;
}

.c-widget__text:focus
{
	border-color: #76AEDF;
}

.c-widget__select select
{
	min-height: 38.5px;

	box-sizing: border-box;
}

.c-widget__element--radius
{
	width: 10%;
}

.c-widget__searched
{
	position: relative;
}

.c-widget__searched input
{
	min-height: 38.5px;

	font-weight: 400;
	font-size: 1.05rem;
	color: #000;

	box-sizing: border-box;
}

.c-widget--city-selected .c-widget__searched input
{
	font-weight: 600;
	color: #003768;
}

.c-widget__searched.is-from-map-details-block
{
	position: relative;

	min-width: 200px;

	margin-right: 25px;

	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: 100px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-widget__searched.is-from-map-details-block
	{
		width: 100%;

		margin-bottom: 15px;

		flex-basis: 0;
	}
}

.c-widget-select__placeholder
{
	position: absolute;

	top: 50%;
	left: 0;
	padding-left: 3px;

	font-family: inherit;
	color: #BFBFBF;

	transform: translateY(-50%);

	z-index: -1;
}

.c-widget__cities-wrapper
{
	position: absolute;
	visibility: hidden;
	opacity: 0;

	min-width: 100%;
	max-width: 150%;

	top: 100%;
	left: 0;

	background-color: #FFF;

	border-radius: 8px;

	box-shadow: 0 6px 18px rgb(79 83 157 / 16%);

	overflow: hidden;

	transition: all 240ms ease;
	transform: translateY(6px);

	z-index: 1;
}

.c-hotel-selection__search .c-widget__cities-wrapper
{
	max-height: 400px;

	overflow: auto;
}

.c-widget__cities-wrapper.is-visible
{
	visibility: visible;
	opacity: 1;

	transform: translateY(0);
}

.c-widget__cities
{
	display: block;

	padding: 0;
}

.c-widget__city-btn
{
	position: relative;

	height: auto;
	line-height: 1em;
	min-height: 0;
	max-height: none;
	width: 100%;
	min-width: 0;
	max-width: none;

	padding: 14px 12px;

	text-align: left;

	overflow: initial;

	z-index: 0;

	justify-content: flex-start;
}

.c-widget__city-btn:hover
{
	background-color: transparent;
}

.c-widget__city:first-child .c-widget__city-btn
{
	padding-top: 14px;
}

.c-widget__city:last-child .c-widget__city-btn
{
	padding-bottom: 14px;
}

.c-widget__city-btn > span
{
	width: max-content;
}

.c-widget__city-btn:before
{
	position: absolute;

	top: 1px;
	right: 0;
	left: 0;
	bottom: 0;

	background-color: transparent;

	content: "";

	transition: background-color 240ms ease;

	z-index: -1;
}

.c-widget__city-btn:hover:before,
.c-widget__city-btn.is-active:before
{
	background-color: #F0F0F0;
}

.c-widget__city-btn:after
{
	position: absolute;

	height: 1px;
	width: 70%;

	top: 100%;
	left: 12px;

	background-color: #949494;

	content: "";
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.c-widget__city-btn:after
	{
		width: calc(100% - 24px);
	}
}

.c-widget__city:last-child .c-widget__city-btn:after
{
	display: none;
}

.c-widget__select
{
	min-height: 38.5px;
}

.front-etablishment-description
{
	display: block;

	margin: 15px 0;
	padding: 0;

	font-size: 1em;

	word-break: break-word;
}

.front-etablishment-description__wrapper
{
	overflow: hidden;
}

.front-etablishment-description__content p:empty
{
	height: 0;

	margin: 5px 0;
}

.front-etablishment-description__content p
{
	margin: 10px 0;
}

.front-etablishment-description__content p:first-child,
.front-etablishment-description__content p:last-child
{
	margin-top: 0;
}

.front-etablishment-description__content p:first-child
{
	padding-top: 10px;
}

.front-etablishment-description__content p:last-child
{
	padding-bottom: 10px;
}

.etablisments-map-page__map-container
{
	padding: 30px 50px;

	@media (max-width: 900px)
	{
		padding: 15px;
	}
}

.front-space-description
{
	display: block;

	margin: 15px 0;
	padding: 0;

	font-size: 1em;

	word-break: break-word;
}

/*
	$green       : #42A343;
	$light_green : #BDD261;

	$blue       : #003768;
	$light_blue : #51B2CA;
	$dark_blue  : #4D728E;

	$red : #E5433B;
	$pink: #E983B4;
*/

.login-page__left
{
	display: flex;

	flex-direction: column;
	flex-wrap: wrap;

	width: 40%;

	padding: 0 100px;

	justify-content: center;
}

/* -------- Laptop -------- */
@media (min-width: 992px) and (max-width: 1399px)
{
	.login-page__left
	{
		padding: 0 75px;
	}
}

/* -- Mobile & Tablette -- */
@media (max-width: 991px)
{
	.login-page__left
	{
		width: 100%;

		flex-grow: 1;
		order: 1;
	}
}

/* ------ Tablette ------ */
@media (min-width: 640px) and (max-width: 991px)
{
	.login-page__left
	{
		padding: 0 90px;
	}
}

/* -------- Mobile -------- */
@media (max-width: 639px)
{
	.login-page__left
	{
		padding: 0 15px;
	}
}

.login-page__content
{
	display: flex;

	flex-direction: column;

	width: 100%;

	align-items: center;
	justify-content: center;
	flex-grow: 1;
}

/* ------------------------------------ */
/* --------- login-page__right -------- */
/* ------------------------------------ */

.login-page__right
{
	display: flex;

	width: 60%;

	background: #046296;
	background: linear-gradient(to bottom, #51B2CA 0%, #003768 100%);
	background-image: url(/images/home_background.jpg);
	background-position: center;
	background-size: cover;

	align-items: center;
}

/* -- Mobile & Tablette -- */
@media (max-width: 991px)
{
	.login-page__right
	{
		width: 100%;

		order: 0;
		flex-grow: 0;
	}
}

/* ------------------------------------ */
/* --------- login-page__title -------- */
/* ------------------------------------ */

.login-page__title
{
	line-height: 1.2em;

	margin: 0;
	padding: 15px 100px;

	background-color: rgb(0 55 104 / .6);

	font-weight: 900;
	font-size: 3.0em;
	color: #FFF;

	letter-spacing: .05em;
}

/* -------- Laptop -------- */
@media (min-width: 992px) and (max-width: 1399px)
{
	.login-page__title
	{
		padding: 0 60px;

		font-size: 2.4em;
	}
}

/* -- Mobile & Tablette -- */
@media (max-width: 991px)
{
	.login-page__title
	{
		text-align: center;
	}
}

/* ------ Tablette ------ */
@media (min-width: 640px) and (max-width: 991px)
{
	.login-page__title
	{
		padding: 0 60px;

		font-size: 2em;
	}
}

/* -------- Mobile -------- */
@media (max-width: 639px)
{
	.login-page__title
	{
		padding: 0 15px;

		font-weight: 600;
		font-size: 1.25em;
	}
}

/* ------------------------------------ */
/* --------- login-page__form --------- */
/* ------------------------------------ */

.login-page__form
{
	width: 100%;

	margin: 30px 0 0;
	margin-right: auto;
	margin-left: auto;
}

.login-page__form--front
{
	margin: 30px auto ;
}

/* -------- Desktop -------- */
@media (min-width: 1400px)
{
	.login-page__form
	{
		width: 400px;
	}

	.login-page__form--front
	{
		width: 50%;
	}
}

.c-login-grid
{
	display: flex;

	flex-wrap: wrap;

	padding-bottom: 15px;

	justify-content: space-around;
}

.c-login-grid__item
{
	display: flex;

	flex-direction: column;

	line-height: 1.5em;
	width: 30%;

	padding: 30px;

	background-color: #FFF;

	color: #163768;
	text-decoration: none;

	text-align: center;

	border-radius: 15px;
	border: 1px solid #163768;

	transition: .3s ease;

	align-items: center;
}

.c-login-grid__item-title
{
	margin-bottom: 9px;

	font-weight: 700;
}

.c-login-grid__item-subtitle
{
	font-size: .95em;
}

.c-login-grid__item:hover
{
	background-color: #163768;

	color: #FFF;
}

.home-link
{
	display: flex;

	width: 100%;

	margin-top: 20px;
	padding: 10px 0;

	color: #003768;
	text-decoration: none;
}

.c-login-grid__item-icon
{
	margin-bottom: 10px;

	font-size: 35px;
}

.project-status-page
{
	display: flex;

	width: 100%;

	align-items: center;
	justify-content: center;
}

.simple-page
{
	display: flex;

	flex-wrap: wrap;

	width: 100%;

	align-items: center;
	justify-content: center;
	flex-grow: 1;
}

.simple-page + .page-bottom
{
	display: none;
}

.satisfaction-page__radio-grp
{
	display: flex;

	flex-direction: row;

	width: 100%;

	margin-top: 8px;
	margin-bottom: 30px;

	align-items: center;
}

.satisfaction-page__why
{
	margin-top: -35px;
	margin-bottom: 30px;
}

.satisfaction-page__content
{
	margin: 0 auto;
}

button.delete-btn
{
	background-color: #F44336;
}

button.delete-btn:hover
{
	background-color: #DA190B;
}

.btn__icon
{
	margin-right: 8px;
}

.localebutton {
	display: flex;
	flex-direction: row;
	align-items: center;
	border: 1px solid black;
	margin: 10px 5px;
}

.localebutton_image {
	height: 40px;
}

.localebutton_selected {
	background-color: rgba(109, 49, 49, 0.472);
}
.localebuttongroup
{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
.dashboard-table
{
	width: 100%;
	max-width: 100%;

	overflow-x: auto;
}

.table-cell
{
	position: relative;

	height: 38px;

	padding: 4px 5px;
}

.mui-input-centered input
{
	text-align: center;
}

.model-infos-label
{
	display: block;

	width: 100%;

	margin-bottom: 4px;

	font-weight: 700;
	font-size: .9em;
	color: #E6B708;

	text-transform: uppercase;
}

.dashboard-page
{
	display: flex;

	flex-wrap: wrap;
	gap: 0 20px;

	justify-content: space-between;
}

.dashboard-right
{
	display: inline-flex;

	margin-bottom: 20px;

	flex-shrink: 0;
	align-items: flex-start;
	order: 10;
}

.dashboard-table
{
	position: relative;

	width: 100%;

	order: 100;
}

.dashboard-wrapper
{
	overflow: auto;
}

.switch-label[for]
{
	cursor: pointer;
}

.switch-label.top
{
	line-height: 1.1em;
	width: 100%;

	padding-left: 0;

	font-size: .75em;
	color: #003768;
}

.switch-label.left
{
	margin-right: 2px;
}

.switch-label.right
{
	margin-left: 0;
}

.mui-switch
{
	display: flex;

	height: 38px;

	align-items: center;
}

.mui-switch-centered
{
	justify-content: center;
}

.switch-label.top + .mui-switch
{
	margin-top: 0;
}

.modal-info-box
{
	display: inline-flex;

	margin: 12px auto;
	padding: 8px 15px;

	font-weight: 700;
	color: #1F1F1F;

	border: 2px solid currentColor;
}

.cell-alinea
{
	display: inline-block;

	height: 1px;
	width: 25px;
}

.mui-select select
{
	padding-right: 8px;
	padding-left: 8px;
}

.mui-select.mui-centered select
{
	padding-right: 8px;

	text-align: center;
}

.mui-alert
{
	position: fixed;

	top: auto;
	right: auto;
	left: 10px;
	bottom: 10px;

	cursor: pointer;

	z-index: 1000;
}

.mui-alert div
{
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;

	-webkit-touch-callout: none;
}

.reset-mui-date
{
	position: absolute;

	width: 100%;

	right: 0;
	left: 0;
	bottom: 0;

	background-color: #E93339;

	color: #FFF;

	border-radius: 0;

	transition: background-color 240ms ease;
}

.reset-mui-date:hover
{
	background-color: #E9595E;
}

.MuiAppBar-colorPrimary
{
	background-color: #FFF!important;
}

.MuiList-root
{
	outline: none;
}

.MuiFormLabel-root
{
	color: #003768;
}

.mui-alt-textinput-color label,
.mui-alt-textinput-color label.Mui-focused
{
	color: #9E9E9E;
}

.mui-alt-textinput-color .mui-textinput:before,
.mui-alt-textinput-color .mui-textinput:hover:not(.Mui-disabled):before,
.mui-alt-textinput-color .mui-textinput:after,
.mui-alt-textinput-color .mui-textinput:hover:not(.Mui-disabled):after
{
	border-bottom-color: #9E9E9E;
}

.MuiFormHelperText-root
{
	color: #003768;
}

.mui-textinput-bold-helper .MuiFormHelperText-root,
.mui-alt-textinput-color .MuiFormHelperText-root
{
	font-weight: 600;
}

.back-title
{
	width: 100%;

	margin-top: 12px;
	margin-bottom: 8px;

	color: #003768;
}

.o-sidebar .MuiSvgIcon-root
{
	font-size: 1.8rem;
}

.back-image
{
	height: 70px;
	width: 70px;

	font-family: "object-fit: contain;";

	border-radius: 35px;

	object-fit: cover;
}

.custom-editor .ql-editor
{
	min-height: 400px;
}

/* --- Tablet (landscape), Laptop & Desktop --- */
@media (min-width: 901px)
{
	.custom-editor .ql-editor
	{
		min-height: 200px;
	}
}

.sidebar-title
{
	position: relative;

	margin: 10px 0 6px;
	padding: 8px 8px;

	font-weight: 500;
	color: #FFF;

	text-align: center;
}

.sidebar-title:before
{
	position: absolute;

	height: 1px;
	width: 100%;

	left: 50%;
	bottom: 0;

	background-color: #FFF;

	content: "";

	transform: translateX(-50%);
}
.sidebar-title:after
{
	position: absolute;

	height: 1px;
	width: 100%;

	top: 0;
	left: 50%;

	background-color: #FFF;

	content: "";

	transform: translateX(-50%);
}

.etablishment-description
{
	width: 100%;
}

.etablishment-image
{
	display: flex;

	flex-wrap: wrap;

	width: 100%;
}

.etablishment-description p
{
	margin: 0 0 5px 0;
}

.CoworkingSpace-images
{
	width: 20px;

	flex-basis: 20px;
	flex-grow: 1;
	justify-content: center;
}

.back-image--form
{
	height: 160px;
	width: 160px;

	border-radius: 80px;
}

.react-date-picker__calendar
{
	z-index: 10;
}

.c-modified-price
{
	padding: 6px;

	background-color: rgb(22 55 104 / 40%);

	border-radius: 10px;
}

.c-price__filter-container
{
	display: flex;

	flex-wrap: wrap;

	width: 100%;

	align-items: center;
}

.c-price__filter-row-container
{
	display: flex;

	flex-wrap: wrap;
	gap: 0 20px;

	width: 100%;

	align-items: flex-end;
}

.c-price__filter-container__title
{
	width: 100%;

	margin-top: 6px;
	margin-bottom: 4px;

	font-weight: 700;
}

.c-filters__element-radios
{
	display: flex;

	flex-wrap: wrap;
	gap: 10px 20px;

	align-items: center;
}

.c-filters__element-radio
{
	display: flex;

	align-items: center;
}

.c-filters__element-radio.is-disabled
{
	color: #A0A0A0;
}

.c-filters__element-radio span:last-child
{
	padding-left: 8px;

	cursor: pointer;
}

.reset-mui-date
{
	display: none;
}

.cutom-date-picker .reset-mui-date
{
	display: block;
}

.c-back-recap
{
	display: flex;

	flex-direction: column;
}

.back-booking-header
{
	display: flex;

	width: 100%;

	align-items: center;
}

.back-booking-header .c-link
{
	margin-right: 10px;
}

.back-booking-header .c-flat-btn--primary
{
	margin-right: auto;
	margin-left: auto;
}

.o-sidebar .menu-icon
{
	display: inline-block;

	height: 1em;
	width: 1em;
	min-width: 0 !important;

	font-size: 1.8rem;

	user-select: none;

	transition: fill 200ms cubic-bezier(.4, 0, .2, 1) 0ms;

	fill: currentColor;
	flex-shrink: 0;
}

.mui-radio
{
	margin-right: 0;
	padding: 0;
}

.space-shedule-config-container
{
	max-width: 100%;

	overflow: auto;
}

.discount-form-picked-establishments
{
	display: flex;

	flex-wrap: wrap;
	gap: 15px;
}

.back-selected-ests
{
	display: flex;

	flex-wrap: wrap;
	gap: 25px;

	width: 100%;

	margin-bottom: 30px;
}

.front-logo-text
{
	font-size: .9em;
	color: #767678;
}

.page-container
{
	position: relative;

	width: 1500px;
	max-width: 100%;

	margin-right: auto;
	margin-left: auto;

	flex-grow: 1;
	flex-basis: auto;
}

.page-container.direct-booking
{
	max-width: 1500px;

	margin: 40px auto;

	background-color: #FFF;

	flex-grow: 1;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1325px)
{
	.page-container.direct-booking
	{
		max-width: 100%;
	}
}


/* ----------------- Desktop ------------------ */
@media (min-width: 1537px)
{
	.widget-left-side
	{
		margin-right: 450px;
	}
}

/* ----------------- Laptop ------------------- */
@media (min-width: 1201px) and (max-width: 1536px)
{
	.widget-left-side
	{
		margin-right: 380px;
	}
}

.front-internal-page
{
	position: relative;

	width: 1300px;
	max-width: 100%;

	margin-top: -200px;
	margin-right: auto;
	margin-left: auto;
	padding: 35px 70px;

	background-color: #FFF;

	border-top-left-radius: 20px;
	border-top-right-radius: 20px;

	z-index: 0;
}

.front-internal-page.cutomer-bookings
{
	width: 1500px;

	padding: 35px 40px;
}

/* --------------- Custom --------------- */
@media (max-width: 1030px)
{
	.front-internal-page,
	.front-internal-page--subscriptions
	{
		max-width: 100%;

		padding-right: 15px;
		padding-left: 15px;
	}
}

.front-more-desc
{
	position: relative;

	line-height: 1em;

	margin-top: 0;

	font-weight: 700;
	font-size: 1em;
	color: #0D3768;

	text-transform: none;

	border-radius: 0;

	z-index: 2;
}

.front-more-desc-effect
{
	position: relative;

	box-shadow: 0 -9px 18px 25px #FFF;

	z-index: 1;
}

.search-results-container
{
	position: relative;
	display: flex;

	flex-wrap: wrap;

	max-width: 100%;

	margin-top: 30px;
}

.search-results-map-container
{
	display: flex;

	height: 85vh;
	width: 50%;
	max-width: 100%;

	padding: 15px 15px;

	flex-basis: 550px;
	flex-grow: 1;
	flex-shrink: 0;
}

.search-results-map-container--home
{
	display: flex;

	flex-wrap: wrap;
	gap: 30px 0;

	height: auto;
	min-height: 600px;
	max-height: none;
	width: 100%;
	max-width: 100%;

	margin-top: 20px;
	padding: 0;

	align-items: stretch;
	justify-content: space-between;
}

.custom-checkbox
{
	display: flex;

	align-items: center;
}

.custom-checkbox label
{
	margin-right: 0;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 768px)
{
	.c-form-element--reservation.custom-checkbox
	{
		flex-wrap: wrap;
	}

	.c-form-element--reservation.custom-checkbox button
	{
		margin-top: 10px;
	}
}

.MuiGrid-container
{
	max-width: 100%;
}

.direct-booking__logo
{
	display: block;

	height: 65px;
	width: auto;
}

.direct-booking-page
{
	background-image: none !important;
	background-position: center;
	background-size: cover;
}

.direct-booking-page::before
{
	position: fixed;

	height: 100%;
	width: 100%;

	top: 0;
	right: 0;
	left: 0;
	bottom: 0;

	background: var(--white-label-booking-background);
	background-position: center;
	background-size: cover;

	content: "";

	z-index: -1;
}

.direct-booking__top-header
{
	display: flex;

	margin-top: 15px;
	padding: 0 25px;

	color: #003768;

	align-items: center;
}

.direct-booking__top-header-col
{
	display: flex;

	flex-direction: column;

	margin-right: 30px;

	justify-content: center;
}

.direct-booking__top-header-phone svg,
.direct-booking__top-header-address svg,
.direct-booking__top-header-hotel svg
{
	margin-right: 7px;

	font-size: 1em;
	color: #003768;
}

.direct-booking__top-header-phone
{
	color: #003768;
	text-decoration: none;
}

.direct-booking__top-header-address,
.direct-booking__top-header-phone
{
	color: #000;
}

.direct-booking__top-header-address span,
.direct-booking__top-header-phone span
{
	color: #003768;
}

@media (max-width: 767px)
{
	.page-container.direct-booking
	{
		margin-top: 0;
	}

	.direct-booking__logo
	{
		height: 50px;

		margin: 5px auto 0;
	}

	.direct-booking__top-header
	{
		flex-wrap: wrap;

		text-align: center;

		justify-content: center;
	}

	.direct-booking__top-header-col
	{
		width: 100%;

		margin: 5px 0;

		text-align: left;
	}
}

.booking-go-back
{
	margin-top: 10px;
	margin-bottom: -20px;
}

.g_id_signin
{
	width: 100%;

	margin-top: 0;
}

.booking-btn-replacement
{
	position: relative;

	padding: 4px 0;

	font-weight: 600;
	color: #1E5AC2;
}

.payment-not-enabled-info
{
	margin-top: .5em;
	margin-bottom: 0;

	font-weight: 500;
	font-size: .9em;
	color: #767678;
}

.qr-code-subscription
{
	display: flex;

	flex-direction: column;

	width: 100%;
	width: 1000px;
	max-width: 100%;

	margin-top: 35px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 35px;

	justify-content: center;
	align-items: center;
}

.mywo-card-exemple-image
{
	height: auto;
	width: 450px;
	max-width: 100%;

	margin: 0 auto;

	font-family: "object-fit: contain;";

	object-fit: contain;
}

.registration-form__3rd-party
{
	display: flex;

	gap: 15px;

	width: 100%;

	align-items: center;
	justify-content: center;
}

.registration-form__3rd-party-btn
{
	width: calc(50% - 15px);
}

.cancel-booking-container,
.add-booking-services-container,
.booking-confirmation-container
{
	display: flex;

	flex-wrap: wrap;
	gap: 0 25px;

	margin-bottom: 25px;
	padding: 0 12px;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.cancel-booking-container,
	.add-booking-services-container,
	.booking-confirmation-container
	{
		margin-right: auto;
		margin-left: auto;
		padding-right: 12px;
		padding-left: 12px;

		justify-content: center;
	}
}

.booking-confirmation-container
{
	margin-top: 25px;
}

.cancel-booking-container__content,
.add-booking-services-container__content,
.booking-confirmation-container__content
{
	width: 300px;
	max-width: 100%;

	flex-shrink: 0;
	flex-grow: 1;
}

.cancel-booking-container__infos,
.add-booking-services-container__infos,
.booking-confirmation-container__infos
{
	width: 400px;
	max-width: 100%;

	flex-shrink: 0;
	flex-grow: 0;
}

.add-booking-services-controls
{
	display: flex;

	flex-wrap: wrap;
	gap: 15px;

	width: 100%;

	margin-top: 25px;
	margin-bottom: 30px;

	align-items: center;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.add-booking-services-controls
	{
		margin-bottom: 60px;

		justify-content: center;
	}
}

.front-tiles
{
	display: flex;

	flex-wrap: wrap;
	gap: 40px 60px;

	width: 100%;

	margin-top: 35px;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.front-tiles
	{
		flex-direction: column;
		gap: 20px 0;
	}
}

.front-tiles__element
{
	padding: 30px 35px;

	background-color: #F1F7FB;

	border-radius: 10px;

	flex-basis: calc(50% - 30px);
	flex-grow: 1;
}

/* -------- Mobile, Tablet (portrait) --------- */
@media (max-width: 900px)
{
	.front-tiles__element
	{
		padding: 20px 20px;
	}
}

.front-tiles__title
{
	width: 100%;

	margin-top: 0;
	margin-bottom: 25px;

	color: #66A2B7;

	text-transform: uppercase;
}

.front-tiles__list
{
	display: flex;

	flex-wrap: wrap;
	gap: 15px 20px;

	margin: 0;
}

.front-tiles__label
{
	display: inline-flex;

	min-width: 60px;

	padding: 2px 15px;

	background-color: #FF9D62;

	color: #FFF;

	text-align: center;

	border-radius: 2em;

	align-items: center;
	justify-content: center;
}

.front-tiles__label-peoples
{
	position: relative;

	top: 1px;
	margin-right: 2px;
	margin-left: 8px;

	font-size: 12px;
	color: currentColor;
}

.front-tiles__icon-info
{
	display: flex;

	gap: 8px;

	margin-top: 25px;

	align-items: center;
}

.front-tiles__icon
{
	color: #FF9D62;
}

.map-results-count
{
	display: inline-flex;

	flex-direction: row;
	gap: 14px;

	line-height: 1.6em;

	font-weight: 600;
	font-size: 1.4rem;
	color: #1E5AC2;

	align-self: stretch;
	align-items: center;
}

.map-results-count__bubble
{
	display: flex;

	height: 4em;
	width: 4em;

	padding: 0;

	background-color: #003768;

	font-size: 18px;
	color: #FFF;

	letter-spacing: .6px;

	border-radius: 50%;

	align-items: center;
	justify-content: center;
	order: 10;
}

.map-results-count__txt
{
	position: relative;

	top: 2px;

	font-weight: 600;
	font-size: 1rem;
	color: #003768;

	text-transform: uppercase;
}

.booking-loader-container
{
	position: absolute;

	height: 100%;
	min-height: 300px;
	max-height: calc(100vh - 98px);
	width: 100%;

	top: 0;
	left: 0;
}

.selectable-services
{
	display: block;

	width: 100%;

	margin: 25px 0 25px;

	border-radius: 8px;
	border: 2px solid #003666;

	box-shadow: 3px 4px 0 -1px #003666;

	overflow: hidden;
}

.selectable-services tbody,
.selectable-services thead
{
	display: block;
}

.add-booking-services
{
	display: flex;

	flex-wrap: wrap;
	gap: 25px 10px;

	margin-bottom: 25px;
}

.front-internal-page--subscriptions
{
	width: 1366px;

	padding-right: 30px;
	padding-left: 30px;
}

.subscriptions-map-wrapper
{
	position: relative;

	min-height: var(--map-height);
	width: 100%;

	--map-height: 420px;
}

.front-subscriptions-enabled
{
	margin-top: 16px;

	font-weight: 600;
	font-size: 1rem;
	color: #003768;
}

.subscription-billing-fields
{
	width: 100%;

	margin-top: 30px;
}

.subscription-billing-fields__title
{
	line-height: 1.2;
	width: 100%;

	margin: 0 0 20px 0;

	font-weight: 700;
	font-size: 2rem;
	color: #003766;

	text-align: left;
}

.front-account-deletion
{
	display: flex;

	flex-direction: column;

	align-items: center;
	justify-content: flex-start;
}

.modal-label
{
	display: flex;

	width: 100%;

	margin-bottom: 5px;

	font-weight: normal;
	font-size: .90em;
	color: hsla(0, 0%, 60%, 1);

	align-items: center;
}

.modal-label.blue
{
	color: #003768;
}

.modal-label:after
{
	display: block;

	height: 2px;
	width: 2px;

	margin-left: 8px;

	background-color: hsl(0, 0%, 86%);

	content: '';

	flex-grow: 1;
}

.ql-container
{
	position: relative;

	font-family: inherit;
}

.ql-snow .ql-tooltip
{
	position: absolute;

	top: auto !important;
	left: 0 !important;
	bottom: 10px;
}

.ql-editor
{
	min-height: 12em;
}

body:not(.with-recaptcha-v3) .grecaptcha-badge
{
	display: none !important;
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	div#popin_tc_privacy
	{
		top: 0 !important;
		left: 0 !important;
	}
}

.cleave_textinput
{
	font-size: 16px;

	border: 0;
	border-bottom: 1px solid grey;
}

.read-only_textinput:before
{
	border: 0;
}

.textinput-without-label label + div
{
	margin-top: 0;
}

/*
	$text:        #464747;
	$background:  #F0F3F3;
	$light:       #fdfaf7

	light_orange: #fdfaf7;
	$orange:      #EE9902;
	$red:         #C00506;

	flat_red:     #D87060;
	$flat_blue:   #60C8D8;
	$flat_orange: #FCC58E;

	$light_green: #B3DBCD;
	$dark_green:  #26715F;
*/

.u-lock-scroll,
[class^="u-lock-scroll-"]
{
	overflow: hidden !important;
}

.u-overflow-x-hidden
{
	overflow-x: hidden;
}

.u-overflow-hidden
{
	overflow: hidden;
}

.u-responsive-img
{
	display: block;

	width: 100%;
	max-width: 100%;
}

.u-scroll-y
{
	overflow-y: auto;
}

.u-scroll-x
{
	overflow-x: auto;
}

.u-uppercase
{
	text-transform: uppercase;
}

.u-center
{
	text-align: center;

	align-items: center;
	justify-content: center;
}

.u-no-padding
{
	padding: 0;
}

.no-horizontal-padding
{
	padding-right: 0;
	padding-left: 0;
}

.u-padding-left-0
{
	padding-left: 0;
}

.u-no-padding-right
{
	padding-right: 0;
}

.u-block
{
	display: block;
}

.u-flex
{
	display: flex;
}

.u-inline-flex
{
	display: inline-flex;
}

.u-flex-wrap
{
	flex-wrap: wrap;
}

.u-flex-nowrap
{
	flex-wrap: nowrap;
}

.u-flex-column
{
	flex-flow: column;
}

.u-items-center
{
	align-items: center;
}

.u-items-end
{
	align-items: flex-end;
}

.u-items-start
{
	align-items: flex-start;
}

.u-self-center
{
	align-self: center;
}

.u-self-start
{
	align-self: flex-start;
}

.u-self-end
{
	align-self: flex-end;
}

.u-content-end
{
	justify-content: flex-end;
}

.u-content-start
{
	justify-content: flex-start;
}

.u-content-center
{
	justify-content: center;
}

.u-content-between
{
	justify-content: space-between;
}

.u-content-around
{
	justify-content: space-around;
}

.u-flex-gap-50
{
	gap: 50px;
}

.u-flex-gap-45
{
	gap: 45px;
}

.u-flex-gap-40
{
	gap: 40px;
}

.u-flex-gap-35
{
	gap: 35px;
}

.u-flex-gap-30
{
	gap: 30px;
}

.u-flex-gap-25
{
	gap: 25px;
}

.u-flex-gap-20
{
	gap: 20px;
}

.u-flex-gap-15
{
	gap: 15px;
}

.u-flex-gap-10
{
	gap: 10px;
}

.u-flex-gap-5
{
	gap: 5px;
}

.u-order--1
{
	order: -1;
}

.u-order-0
{
	order: 0;
}

.u-order-1
{
	order: 1;
}

.u-order-2
{
	order: 2;
}

.u-order-3
{
	order: 3;
}

.u-flex-grow-0
{
	flex-grow: 0;
}

.u-flex-grow-1
{
	flex-grow: 1;
}

.u-flex-grow-2
{
	flex-grow: 2;
}

.u-flex-grow-3
{
	flex-grow: 3;
}

.u-flex-shrink-0
{
	flex-shrink: 0;
}

.u-table-row
{
	display: table-row;
}

.u-table-cell
{
	display: table-cell;
}

.u-inline-block
{
	display: inline-block;
}

.u-small
{
	font-size: .8em;
}

.u-no-wrap
{
	white-space: nowrap;
}

.u-link-only
{
	position: absolute;

	height: 100%;
	width: 100%;

	top: 0;
	left: 0;

	font-size: 0;
	color: transparent;
}

.u-margin-5
{
	margin: 5px;
}

.u-no-margins
{
	margin: 0;
}

.u-margin-top-80
{
	margin-top: 80px;
}

.u-margin-top-70
{
	margin-top: 70px;
}

.u-margin-top-60
{
	margin-top: 60px;
}

.u-margin-top-50
{
	margin-top: 50px;
}

.u-margin-top-45
{
	margin-top: 45px;
}

.u-margin-top-40
{
	margin-top: 40px;
}

.u-margin-top-35
{
	margin-top: 35px;
}

.u-margin-top-30
{
	margin-top: 30px;
}

.u-margin-top-25
{
	margin-top: 25px;
}

.u-margin-top-20
{
	margin-top: 20px;
}

.u-margin-top-15
{
	margin-top: 15px;
}

.u-margin-top-10
{
	margin-top: 10px;
}

.u-margin-top-5
{
	margin-top: 5px;
}

.u-margin-bottom-50
{
	margin-bottom: 50px;
}

.u-margin-bottom-45
{
	margin-bottom: 45px;
}

.u-margin-bottom-40
{
	margin-bottom: 40px;
}

.u-margin-bottom-35
{
	margin-bottom: 35px;
}

.u-margin-bottom-30
{
	margin-bottom: 30px;
}

.u-margin-bottom-25
{
	margin-bottom: 25px;
}

.u-margin-bottom-20
{
	margin-bottom: 20px;
}

.u-margin-bottom-15
{
	margin-bottom: 15px;
}

.u-margin-bottom-10
{
	margin-bottom: 10px;
}

.u-margin-bottom-5
{
	margin-bottom: 5px;
}

.u-no-margin-bottom,
.u-margin-bottom-0
{
	margin-bottom: 0;
}

.u-no-margin-top,
.u-margin-top-0
{
	margin-top: 0;
}

.u-margin-left-30
{
	margin-left: 15px;
}

.u-margin-left-25
{
	margin-left: 15px;
}

.u-margin-left-20
{
	margin-left: 15px;
}

.u-margin-left-15
{
	margin-left: 15px;
}

.u-margin-left-10
{
	margin-left: 10px;
}

.u-margin-left-5
{
	margin-left: 5px;
}

.u-margin-right-30
{
	margin-right: 30px;
}

.u-margin-right-25
{
	margin-right: 25px;
}

.u-margin-right-20
{
	margin-right: 20px;
}

.u-margin-right-15
{
	margin-right: 15px;
}

.u-margin-right-10
{
	margin-right: 10px;
}

.u-margin-right-5
{
	margin-right: 5px;
}

.u-padding-top-50
{
	padding-top: 50px;
}

.u-padding-top-45
{
	padding-top: 45px;
}

.u-padding-top-40
{
	padding-top: 40px;
}

.u-padding-top-35
{
	padding-top: 35px;
}

.u-padding-top-30
{
	padding-top: 30px;
}

.u-padding-top-25
{
	padding-top: 25px;
}

.u-padding-top-20
{
	padding-top: 20px;
}

.u-padding-top-15
{
	padding-top: 15px;
}

.u-padding-top-10
{
	padding-top: 10px;
}

.u-padding-top-5
{
	padding-top: 5px;
}

.u-padding-bottom-25
{
	padding-bottom: 25px;
}

.u-padding-bottom-30
{
	padding-bottom: 30px;
}

.u-padding-bottom-20
{
	padding-bottom: 20px;
}

.u-padding-bottom-15
{
	padding-bottom: 15px;
}

.u-padding-bottom-10
{
	padding-bottom: 10px;
}

.u-padding-bottom-5
{
	padding-bottom: 5px;
}

.u-no-padding-bottom
{
	padding-bottom: 0;
}

.u-no-padding-top,
.u-padding-top-0
{
	padding-top: 0;
}

.u-margin-auto
{
	margin-right: auto;
	margin-left: auto;
}

.u-margin-left-auto
{
	margin-left: auto;
}

.u-margin-right-auto
{
	margin-right: auto;
}

.u-padding-left-25
{
	padding-left: 15px;
}

.u-padding-left-20
{
	padding-left: 15px;
}

.u-padding-left-15
{
	padding-left: 15px;
}

.u-padding-left-10
{
	padding-left: 10px;
}

.u-padding-left-5
{
	padding-left: 5px;
}

.u-padding-right-25
{
	padding-right: 15px;
}

.u-padding-right-20
{
	padding-right: 15px;
}

.u-padding-right-15
{
	padding-right: 15px;
}

.u-padding-right-10
{
	padding-right: 10px;
}

.u-padding-right-5
{
	padding-right: 5px;
}

.u-centered
{
	margin-right: auto;
	margin-left: auto;

	align-self: center;
}

.u-full-width
{
	width: 100%;
}

.u-width-auto
{
	width: auto;
}

.u-negative-margin,
.u-negative-margins
{
	margin-right: -10px;
	margin-left: -10px;
}

.u-clearfix:after,
.u-clearfix:before
{
	display: block;

	height: 0;
	width: 100%;

	content: "";

	clear: both;
}

.u-weight-normal
{
	font-weight: normal;
}

.u-weight-500
{
	font-weight: 500;
}

.u-weight-600
{
	font-weight: 600;
}

.u-weight-700
{
	font-weight: 700;
}

.u-weight-800
{
	font-weight: 800;
}

.u-no-select,
.u-no-select *:not(input):not(textarea):not(select)
{
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;

	-webkit-touch-callout: none;
}

.u-table
{
	display: table;
}

.u-text-center
{
	text-align: center;
}

.u-text-left
{
	text-align: left;
}

.u-text-right
{
	text-align: right;
}

.u-text-justify
{
	text-align: justify;
}

.u-italic
{
	font-style: italic;
}

.u-positioned
{
	position: relative;
}

.u-float-right
{
	float: right;
}

.u-float-left
{
	float: left;
}

.u-vertical-align-top
{
	vertical-align: top;
}

.u-vertical-align-middle
{
	vertical-align: middle;
}

.u-readers-only
{
	position: absolute;
	display: block;

	height: 1px;
	line-height: 1px;
	width: 1px;

	margin: -1px 0 0 -1px;
	padding: 0;

	font-size: 1rem;

	text-indent: -1000px;

	border: 0;

	outline: 0;

	overflow: hidden;
	clip: rect(0,0,0,0);

	z-index: -2;
}

.u-hidden
{
	display: none;
}

.u-list
{
	list-style: disc;
}

/* -------- Mobile -------- */
@media (max-width: 640px)
{
	.u-mobile-hidden
	{
		display: none;
	}
}

/* ------ Tablette ------ */
@media (min-width: 640px) and (max-width: 992px)
{
	.u-tablet-hidden
	{
		display: none;
	}
}

/* -------- Laptop -------- */
@media (min-width: 992px) and (max-width: 1399px)
{
	.u-laptop-hidden
	{
		display: none;
	}
}

/* -------- Desktop -------- */
@media (min-width: 1400px)
{
	.u-desktop-hidden
	{
		display: none;
	}
}

.u-hide-visually
{
	position: absolute !important;
	opacity: 0;

	height: 1px !important;
	width: 1px !important;

	margin: -1px !important;
	padding: 0 !important;

	white-space: nowrap !important;

	border: 0 !important;

	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
}

.u-auto-grid:after,
.u-auto-grid:before
{
	height: 1px;
	width: 1em;

	content: "";

	flex-grow: 1;
	order: 1000;
}

.u-display-none
{
	display: none;
}

/* -------------- Mobile, Tablet -------------- */
@media (max-width: 1200px)
{
	.u-flex-wrap-mobile-tablet
	{
		flex-wrap: wrap;
	}
}

/* ------------------ Mobile ------------------ */
@media (max-width: 599px)
{
	.u-flex-wrap-mobile
	{
		flex-wrap: wrap;
	}
}

@font-face
{
	font-family: "Now";
	font-weight: 500;
	font-style: medium;

	src: local("Now"), url(/fonts/Now-Medium.otf) format("opentype");
}

@font-face
{
	font-family: "Now";
	font-weight: 700;
	font-style: bold;

	src: local("Now"), url(/fonts/Now-Bold.otf) format("opentype");
}
