:root {
	--shadow: 0 1px 2px rgb(0 0 0 / 0.1), 0 1px 1px rgb(0 0 0 / 0.06);
	--shadow-md: 0 4px 3px rgb(0 0 0 / 0.07), 0 2px 2px rgb(0 0 0 / 0.06);
	--13-px: .8125rem;
	--15-px: .9375rem;
	--text-accent: #e27c08;
	--text-on-accent: #8f2d03;
	--text-review-dark: #07694a;
	--color-whatsapp: #25d366;
	--font-serif: Merriweather, Georgia, "Times New Roman", serif;
	--carousel-height: 100%;
	--expandableContent-color-start: rgba(255, 255, 255, 0.00);
	--expandableContent-color-end: #fff;
	--fixed-bottom-offset: 0rem;
}

/*
 ********************
 *	Fonts
 *********************
*/

/* noto-sans-regular - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
	font-display: swap;
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 400;
	src: url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-regular.woff2') format('woff2'),
	url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-regular.ttf') format('truetype');
}

/* noto-sans-italic - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
	font-display: swap;
	font-family: 'Noto Sans';
	font-style: italic;
	font-weight: 400;
	src: url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-italic.woff2') format('woff2'),
	url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-italic.ttf') format('truetype');
}

/* noto-sans-500 - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
	font-display: swap;
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 500;
	src: url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-500.woff2') format('woff2'),
	url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-500.ttf') format('truetype');
}

/* noto-sans-500italic - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
	font-display: swap;
	font-family: 'Noto Sans';
	font-style: italic;
	font-weight: 500;
	src: url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-500italic.woff2') format('woff2'),
	url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-500italic.ttf') format('truetype');
}


/* noto-sans-700 - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
	font-display: swap;
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 700;
	src: url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-700.woff2') format('woff2'),
	url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-700.ttf') format('truetype');
}

/* noto-sans-700italic - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
	font-display: swap;
	font-family: 'Noto Sans';
	font-style: italic;
	font-weight: 700;
	src: url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-700italic.woff2') format('woff2'),
	url('../css/font/noto-sans/noto-sans-v36-cyrillic_cyrillic-ext_latin_latin-ext-700italic.ttf') format('truetype');
}

/* merriweather-regular - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
	font-display: swap;
	font-family: 'Merriweather';
	font-style: normal;
	font-weight: 400;
	src: url('../css/font/merriweather/merriweather-v30-cyrillic_cyrillic-ext_latin_latin-ext-regular.woff2') format('woff2'),
	url('../css/font/merriweather/merriweather-v30-cyrillic_cyrillic-ext_latin_latin-ext-regular.ttf') format('truetype');
}

/* merriweather-700 - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
	font-display: swap;
	font-family: 'Merriweather';
	font-style: normal;
	font-weight: 700;
	src: url('../css/font/merriweather/merriweather-v30-cyrillic_cyrillic-ext_latin_latin-ext-700.woff2') format('woff2'),
	url('../css/font/merriweather/merriweather-v30-cyrillic_cyrillic-ext_latin_latin-ext-700.ttf') format('truetype');
}


/*
 ********************
 *	Utilities
 *********************
*/

.text-GSAccent {
	color: var(--text-accent);
}

.border-gray-200 {
	border-color: var(--bs-gray-200);
}

.text-whatsapp {
	color: #103928;
}

.icon--text {
	position: relative;
	top: .2em;
}

.fs-9 {
	font-size: .8125rem;
}

.fs-10 {
	font-size: .75rem;
}

.w-4 {
	width: 1rem !important;
}

.clickable {
	--transition-ms: 150ms;
	position: relative;
	cursor: pointer;
}

.clickable::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(28, 25, 23, 0);
	transition: background-color var(--transition-ms);
	z-index: 1;
}

.clickable:hover::after {
	background: rgba(28, 25, 23, .16);
}

img.clickable::after {
	display: none;
}

img.clickable {
	--brightness: 100%;
	filter: brightness(var(--brightness));
	transition: filter var(--transition-ms);
}

img.clickable:hover {
	--brightness: 84%;
}

/* Hide some honeypot fields */
.honeibot {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	height: 0;
	width: 0;
	z-index: -1;
}

.center-content {
	align-content: center;
}

/*
 ********************
 *	Misc
 *********************
*/

a.btn:not(.btn-link):hover {
	text-decoration: none;
}

/* DEBUG */
.debug_intro {
	background: #000;
	padding: 10px 0;
	text-align: center;
	color: #fff;
}

.debug_intro b {
	display: block;
}

/* Open dropdown on hover for screen that supports it */
@media (hover: hover) and (min-width: 992px) {
	.headerItem.headerItem--contact:hover .dropdown-menu,
	.headerItem:hover .dropdown-menu {
		display: block;
	}
}

/*

// Extra small devices (phones, less than 768px)
// No media query since this is the default in Bootstrap

// Small devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Medium devices (desktops, 992px and up)
@media (min-width: 991.98px) { ... }

// Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

//---
@media (max-width: @screen-xs-max) { ... }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
@media (min-width: @screen-lg-min) { ... }

*/

/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */
@media (max-width: 767px) {
	/* disable zoom on inputs */
	input,
	output,
	select,
	textarea {
		font-size: 16px !important;
	}
}

/* Medium devices ONLY (desktops, 992px to 1200px) */
@media (min-width: 991.98px) and (max-width: 1200px) {
	.fluid_to_md, .fluid_md {
		width: auto;
		margin-left: 15px;
		margin-right: 15px;
	}
}


/* bootstrap overwrite */

/* disable outline effect */
a:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
.form-control:focus,
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
	outline: none;
	/*border: none;*/
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

/* hover links color */
a {
	color: inherit;
	text-decoration: none;
}

p a {
	text-decoration: underline;
}

a:hover {
	color: var(--bs-GSBlue);
	text-decoration: underline;
}

/* popover */
.popover-title {
	color: var(--bs-GSBlueSerious);
}

.popover-title,
.popover-content {
	font-family: var(--bs-font-sans-serif);
}

/* tooltips */
.tooltip {
	font-family: var(--bs-font-sans-serif);
	font-size: .875rem;
}

/* help block */
.help-block {
	color: inherit;
}

body {
	font-variant-numeric: lining-nums proportional-nums;
}

/* disable ugly focus style */
*:focus {
	box-shadow: none !important;
}

.currencyBtn {
	line-height: 1;
}

.currencyBtn__currency {
	display: block;
	position: absolute;
	top: 100%;
	width: 100%;
	text-align: center;
	font-size: .625rem;
	line-height: 1;
	color: var(--bs-gray-600);
}

/*
| --------------------------------
| Main header
| --------------------------------
*/

.mainHeader {
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--bs-gray-200);
}

.mainHeader .brandLogo {
	width: auto;
	height: 3rem;
}

.mainHeader__separator {
	margin: 2rem 1rem 2rem 1.5rem;
	border-left: 1px solid var(--bs-gray-300);
}

.headerItem {
	position: relative;
	color: var(--bs-gray-900);
	align-content: center;
}

.headerItem--withCaret .dropdown.show::after,
.headerItem--withCaret:hover::after {
	display: block;
	position: absolute;
	bottom: 0;
	margin: 0 auto;
	content: "";
	width: 4rem;
	left: .75rem;
	right: .75rem;
	max-width: calc(100% - 1.5rem);
	height: 0.3125rem;
	background: var(--bs-GSBlue);
}

.headerItem__container {
	display: flex;
	padding: .5rem;
	height: 100%;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	white-space: nowrap;
	color: inherit;
	text-decoration: none;
	background: transparent;
	border: none;
	border-radius: 0;
	transition: background-color 150ms;
}

.headerItem__container:hover,
.headerItem__container.dropdown.show {
	text-decoration: none;
	background: var(--bs-gray-50);
}

/* Header button */

.headerBtn {
	position: relative;
	display: flex;
	align-items: center;
	padding: .75rem .875rem;
	background: var(--bs-gray-100);
	border-radius: var(--bs-border-radius-sm);
	font-size: .9375rem;
	font-weight: normal;
	border: none;
	line-height: 1;
	transition: background-color 150ms, color 150ms;
}

.headerBtn:hover,
.headerItem__container:hover .headerBtn {
	background: var(--bs-gray-200);
}

.headerBtn .icon {
	color: var(--bs-gray-600);
	font-size: 1.5rem;
	transition: color 150ms;
}

.headerBtn:hover .icon,
.headerItem__container:hover .headerBtn .icon {
	color: inherit;
}

.headerNavItem .headerBtn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bs-GSBlueSerious);
	background: transparent;
	border: 1px solid var(--bs-GSBlueSerious);
}

.headerNavItem .headerBtn .icon {
	color: inherit;
	font-size: 1em;
}

.headerBtn__badge {
	position: absolute;
	right: -.5em;
	top: -.5em;
	padding: .25em .375em;
	min-width: 1.5em;
	font-size: .825em;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	text-align: center;
	background: var(--bs-danger);
	border-radius: 1em;
}

/* Contact */

.headerItem--contact {
	text-align: right;
	line-height: 1.125;
}

.headerItem.headerItem--contact .dropdown-menu {
	display: block;
	padding: 0;
}

.headerItem__contactItemContent {
	display: flex;
	align-items: center;
	font-size: .875rem;
	letter-spacing: -.05em;
}

.headerItem__contactItemPrefix {
	display: none;
	font-size: .75rem;
	color: var(--text-accent);
}

.headerItem--contact .dropdown-menu a {
	color: var(--bs-GSBlueSerious)
}

.headerItem--contact .dropdown-menu a.btn:hover {
	color: #fff;
}

@media (min-width: 992px) {
	.headerItem__container {
		height: 100%;
		padding: .75rem;
		font-weight: 500;
	}

	.headerItem--icon .headerItem__container {
		padding: .5rem;
	}

	.headerBtn {
		padding: .5rem;
	}

	.headerBtn--outline {
		color: var(--bs-GSBlueSerious);
		background: transparent;
		border: 1px solid var(--bs-GSBlueSerious);
	}

	.headerBtn--pill {
		border-radius: 2rem;
	}

	.headerItem__container:hover .headerBtn--pill,
	.headerItem__container:hover .headerBtn--outline {
		color: #fff;
		background: var(--bs-GSBlueSerious);
	}

	.headerBtn .icon {
		font-size: 1.25rem;
		color: inherit;
	}

	.headerNavItem.headerItem--contact .dropdown-menu {
		display: none;
		width: 15rem;
		left: calc(50% - 7.5rem);
	}

	.headerNavItem.headerItem--contact .dropdown-menu.show {
		display: block;
	}
}

@media (min-width: 1200px) {
	.mainHeader .brandLogo {
		height: 4rem;
	}

	.headerItem__contactItemContent {
		font-size: 1rem;
		letter-spacing: normal;
	}

	.headerItem__contactItemPrefix {
		display: block;
	}
}

/*
| --------------------------------
| Header nav
| --------------------------------
*/

.mainNav {
	padding: 0;
	margin: 0;
	list-style: none;
}

.headerNavItem {
	border-bottom: 1px solid var(--bs-gray-200);
}

.headerNavItem__container {
	display: flex;
	padding: 1rem;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	white-space: nowrap;
	background: transparent;
	border: none;
}

/* Dropdown */

.headerNavItem .dropdown-menu {
	position: relative;
	margin: 0;
	top: 0;
	left: 0;
	border: none;
	border-top: 1px solid var(--bs-gray-200);
	font-weight: 400;
	padding: 1rem;
	background: #fff;
	border-radius: 0;
}

.headerNavItem .dropdown > svg {
	transform: scaleY(100%);
	transition: transform 250ms;
}

.headerNavItem .dropdown.show > svg {
	transform: scaleY(-100%);
}

.headerNavItem .dropdown img {
	height: 5rem;
}

.headerNavItem--parameter .headerNavItem__container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

@media (min-width: 992px) {
	.mainNav {
		display: flex;
		flex: 1;
	}

	.headerNavItem {
		color: var(--bs-GSBlueSerious);
		border-bottom: 0;
	}

	.headerNavItem__container {
		height: 100%;
		padding: .75rem;
		font-weight: 500;
	}

	.headerNavItem .dropdown-menu {
		position: absolute;
		width: 48rem;
		top: 100%;
		left: -10rem;
		box-shadow: var(--bs-box-shadow-lg);
		border-radius: var(--bs-border-radius-lg);
	}

	.headerNavItem .dropdown-menu img {
		height: 7.5rem;
	}
}

@media (min-width: 1200px) {
	.headerNavItem--icon .headerNavItem__container {
		padding: .5rem;
	}
}

/* prefooter */
.prefooter {
	background: #fafaf9;
	padding: 15px 0;
	color: #0c0036;
	font-weight: 400;
	font-size: 14px;
	line-height: 15px;
	text-align: center;
}

.prefooter a {
	color: #0c0036;
	text-decoration: none;
	padding-bottom: 35px;
}

.prefooter a:hover {
	color: var(--bs-GSBlue);
}

.prefooter a:hover .prefooter_icon {
	background-color: var(--bs-GSBlue);
	background-position-y: 100%;
}

.prefooter_icon {
	margin-right: 10px;
	display: inline-block;
	width: 50px;
	height: 50px;
	background-color: #fafaf9;
	border-radius: 50%;
	transition: background-color 0.5s;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 600% auto;
	background-image: url(/img/site/footer/prefooter.png);
}

.prefooter_label {
	display: inline-block;
	text-align: left;
}

@media only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-devicepixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx) {
	.prefooter_icon {
		background-image: url(/img/site/footer/prefooter@2x.png);
	}
}

.prefooter_icon.pfpro {
	background-position-x: 0;
}

.prefooter_icon.pfadvisor {
	background-position-x: 20%;
}

.prefooter_icon.pfagency {
	background-position-x: 40%;
}

.prefooter_icon.pfreview_4 {
	background-position-x: 60%;
}

.prefooter_icon.pfreview_4_5 {
	background-position-x: 80%;
}

.prefooter_icon.pfreview_5 {
	background-position-x: 100%;
}

/* Extra Small devices ONLY (tablets, 768px to 992px) */
@media (max-width: 767px) {
	.prefooter {
		font-size: 11.6px;
	}

	.prefooter_icon {
		width: 50px;
		height: 50px;
	}
}

/* Small devices ONLY (tablets, 768px to 992px) */
@media (min-width: 768px) and (max-width: 992px) {
	.prefooter {
		font-size: 12px;
	}

	.prefooter_icon {
		width: 60px;
		height: 60px;
	}
}


.site_footer {
	margin-top: 40px;
	background: #f5f5f4;
	color: #111827;
}

.site_footer .our_pluses {
	background: #fafaf9;
}

.site_footer .contact_point a {
	text-decoration: none;
	color: #111827;
}

.site_footer .contact_point a:hover {
	color: var(--bs-GSBlue);
	text-decoration: underline;
}

.site_footer .locale_and_currency button {
	background: #ffffff;
	border-color: #d1d5db;
	color: #111827;
}

.site_footer .locale_and_currency.desktop button {
	width: 200px;
}

.btn_locale_fr {
	background-image: url(/img/flag/FR.gif) !important;
	background-position: 16px 50% !important;
	background-repeat: no-repeat !important;
	padding-left: 40px;
}

.btn_locale_en {
	background-image: url(/img/flag/GB.gif) !important;
	background-position: 16px 50% !important;
	background-repeat: no-repeat !important;
	padding-left: 40px;
}

.btn_locale_de {
	background-image: url(/img/flag/DE.gif) !important;
	background-position: 16px 50% !important;
	background-repeat: no-repeat !important;
	padding-left: 40px;
}

.btn_locale_it {
	background-image: url(/img/flag/IT.gif) !important;
	background-position: 16px 50% !important;
	background-repeat: no-repeat !important;
	padding-left: 40px;
}

.btn_locale_es {
	background-image: url(/img/flag/ES.gif) !important;
	background-position: 16px 50% !important;
	background-repeat: no-repeat !important;
	padding-left: 40px;
}

.btn_locale_pl {
	background-image: url(/img/flag/PL.gif) !important;
	background-position: 16px 50% !important;
	background-repeat: no-repeat !important;
	padding-left: 40px;
}

.btn_locale_ru {
	background-image: url(/img/flag/RU.gif) !important;
	background-position: 16px 50% !important;
	background-repeat: no-repeat !important;
	padding-left: 40px;
}

.site_footer .newsletter_btn {
	background: #d1d5db;
	color: #374151;
	border-color: #d1d5db;
}

.site_footer .social_icons a {
	color: #111827;
	display: inline-block;
	margin-right: 20px;
	text-decoration: none;
	font-size: 14px;
	margin-bottom: 10px;
}

.site_footer .social_icons a:hover {
	color: var(--bs-GSBlue);
	text-decoration: underline;
}

.site_footer .social_icons a:last-child {
	margin-right: 0;
}

.site_footer .social_icons a svg {
	margin-right: 6px;
}

.site_footer .social_icons_mobile {
	margin-top: 36px;
}

.site_footer .social_icons_mobile a {
	display: inline-block;
	margin: 0 16px 20px 16px;
	margin-bottom: 16px;
}

.site_footer .links {
	font-size: 16px;
	color: #111827;
}

.site_footer .links .btn {
	padding: 0;
	font-weight: 700;
	font-size: 16px;
	color: #111827;
	text-decoration: none;
	margin-bottom: 10px;
}

.site_footer .links .btn:hover {
	color: var(--bs-GSBlue);
	text-decoration: underline;
}

.site_footer .links ul {
	padding: 0;
}

.site_footer .links li {
	list-style: none;
	margin: 0 0 5px 0;
}

/* footer logos */
.footer_logos {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 30px;
	margin: 0 -16px;
}

@media (max-width: 767px) {
	.footer_logos {
		display: none;
	}
}

.footer_logos span,
.footer_logos img {
	display: inline-block;
	height: 80px;
	margin: 0 16px 24px 16px;
}

.footer_logos span {
	background: url(/img/site/footer/certificates_all_grey.png) 0 0 no-repeat;
	background-size: 1218px 80px;
}

.footer_logos:first-child span {
	margin-left: 0;
}

/*CSS for serving the retina image to devices with a high "device-pixel-ratio":*/
@media only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-devicepixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx) {
	.footer_logos span {
		background-image: url(/img/site/footer/certificates_all_grey@2x.png);
		background-size: 1218px 80px;
	}
}

/* define icons */
.footer_logos .fin {
	width: 81px;
	background-position: -147px 0;
}

.footer_logos .ouest_assurance {
	width: 183px;
	background-position: -229px 0;
}

.footer_logos .apst {
	width: 140px;
	background-position: -541px 0;
}

.footer_logos .rya {
	width: 146px;
	background-position: 0 0;
}

.footer_logos .yachtpool {
	width: 128px;
	background-position: -413px 0;
}

.footer_logos .atout_france {
	width: 213px;
	background-position: -682px 0;
}

.footer_logos .vdc {
	width: 77px;
	background-position: -896px 0;
}

.footer_logos .anen {
	width: 243px;
	background-position: -975px 0;
}

.site_footer .copy {
	margin-top: 10px;
	color: #4b5563;
	font-size: 14px;
}

/* disable textarea horizontal resizing */
textarea {
	resize: vertical;
}

/* enable word wrap */
.ww {
	word-wrap: break-word !important;
	-webkit-hyphens: auto !important;
	-moz-hyphens: auto !important;
	-ms-hyphens: auto !important;
	-o-hyphens: auto !important;
	hyphens: auto !important;
}

/* FLAGS */
.flag_fr_FR {
	background-image: url(/img/flag/FR.gif) !important;
}

.flag_en_US {
	background-image: url(/img/flag/EN.gif) !important;
}

.flag_de_DE {
	background-image: url(/img/flag/DE.gif) !important;
}

.flag_it_IT {
	background-image: url(/img/flag/IT.gif) !important;
}

.flag_es_ES {
	background-image: url(/img/flag/ES.gif) !important;
}

.flag_ru_RU {
	background-image: url(/img/flag/RU.gif) !important;
}

.flag_pl_PL {
	background-image: url(/img/flag/PL.gif) !important;
}

/* webcallback form */
.webcallback_bg {
	z-index: 900000;
	position: fixed;
	opacity: .8;
	background: #000000;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	/*cursor: pointer;*/
}

.webcallback_win {
	z-index: 900001;
	position: fixed;
	top: 25%;
	left: 50%;
	border: 1px solid #000000;
	background: #ffffff;
	width: 500px;
	padding: 20px;
	border-radius: 2px;
	margin-left: -250px;
	box-shadow: 0 0 20px #000000;
}

@media (max-width: 600px) {
	.webcallback_win {
		width: 90%;
		left: 50%;
		margin-left: -45%;
	}
}

.webcallback_win .close {
	z-index: 900002;
	position: relative;
	right: 0;
	top: 0;
	cursor: pointer;
}

.webcallback_win .control-label {
	padding-top: 0;
}

.webcallback_win .control-label i {
	font-size: 30px;
	color: #1950a0;
}

.webcallback_win .error {
	color: #ff3655;
	display: block;
	text-align: center;
	padding: 10px 0;
}

.webcallback_win .buttons {
	padding: 15px 0;
	text-align: center;
	border-top: 1px solid #cccccc;
}

.webcallback_win .ok_msg {
	padding: 5px 0 10px 45px;
	text-align: justify;
	font-size: 16px;
}

/* TYPEAHEAD.JS */
.twitter-typeahead {
	width: 100%;
}

.input-group .twitter-typeahead {
	display: table-cell !important;
}

.tt-input {
}

.tt-hint {
	width: 100%;
	margin-bottom: 0;
}

.tt-menu {
	margin-top: .60rem;
	/*margin-top: -.25rem;*/
	max-height: 17rem;
	overflow-y: auto;
	background: #fff;
	color: var(--bs-gray-700);
	width: 100%;
	min-width: 10rem;
	border: 1px var(--bs-gray-300) solid;
	text-align: left;
	border-radius: var(--bs-border-radius) var(--bs-border-radius);
	box-shadow: var(--bs-box-shadow-lg);
}

.tt-dataset {

}

.tt-pending,
.tt-suggestion {
	padding: .5rem 1rem;
	cursor: pointer;
}

/* custom pending css */
.tt-pending {
	color: var(--bs-gray-500);
	font-style: italic;
	cursor: default;
}

.tt-empty {

}

.tt-open {

}

.tt-suggestion:hover,
.tt-cursor {
	color: var(--bs-gray-900);
	background: var(--bs-gray-100);
}

.tt-highlight {
}

.tt-suggestion:hover .tt-highlight,
.tt-cursor .tt-highlight {
}

.tt-suggestion.intro {
	font-weight: bold;
	color: #424242;
	background: #fff;
}

.tt-suggestion.error {
	color: red;
	background: #fff;
}

.tt-suggestion.info {
	color: #424242;
	background: #fff;
}

/* BOOTSTRAP DATETIMEPICKER */
/* smartphones */
@media (max-width: 767px) {
	.bootstrap-datetimepicker-widget {
		/*width: 100% !important;*/
	}
}

.bootstrap-datetimepicker-widget table td.day {
	color: #000;
}

.bootstrap-datetimepicker-widget table td.today:before {
	border-bottom-color: #000;
}

.bootstrap-datetimepicker-widget .year.disabled, .bootstrap-datetimepicker-widget .month.disabled, .bootstrap-datetimepicker-widget .day.disabled {
	color: #dbdbdb;
}

.bootstrap-datetimepicker-widget table td.day.disabled {
	background: #eaeaea !important;
	color: #8c8c8c;
	cursor: default;
}

.bootstrap-datetimepicker-widget table td.day.disabled:hover {
	background: #eaeaea !important;
	color: #8c8c8c !important;
	cursor: default;
}

.bootstrap-datetimepicker-widget table td.weekend {
	color: var(--bs-GSBlue) !important;
	font-weight: bold;
	border-radius: 0 !important;
}

.bootstrap-datetimepicker-widget table td, .bootstrap-datetimepicker-widget table th {
	border-radius: 0 !important;
}

.bootstrap-datetimepicker-widget table td.day:hover {
	background: #ff5c73 !important;
	color: #000 !important;
	cursor: pointer;
}

.bootstrap-datetimepicker-widget table td.active, .bootstrap-datetimepicker-widget table td.active:hover {
	background-color: #ff3150 !important;
	color: #fff !important;
	text-shadow: 0;
}

/* special wait class */
.bootstrap-datetimepicker-widget.wait ul:before {
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	z-index: 2;
	content: ' ';
	background: url(/img/site/loading_red.gif) 50% 50% no-repeat;
	height: 31px;
	width: 31px;
	margin-top: -15px;
	margin-left: -15px;
}

.bootstrap-datetimepicker-widget.wait ul:after {
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(255, 255, 255, .8);
	content: ' ';
	z-index: 1;
}

/* lightslider */
.cS-hidden {
	height: 1px;
	opacity: 0;
	filter: alpha(opacity=0);
	overflow: hidden;
}


.ui_lg_modal .lglnk {
	margin: 0 0 6px 0;
}

.ui_lg_modal .lglnk a {
	font-size: 16px;
	background-repeat: no-repeat;
	background-position: 0 50%;
	padding-left: 26px;
}

.ui_lg_modal .curlnk {
	margin: 0 0 6px 0;
	font-size: 14px;
}

.curlnk {

}

.lglnk.active,
.curlnk.active {
	font-weight: bold;
	color: var(--bs-GSBlue)
}

/*phone input libray*/
.intl-tel-input {
	width: 100%;
}

.iti-flag {
	background-image: url("/js/lib/intl-tel-input/img/flags.png") !important;
}

.intl-tel-input .country-list {
	z-index: 900002 !important;
}

.loading:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.5);
	background-image: url('/img/site/loading_blue_2.gif');
	background-repeat: no-repeat;
	background-position: center;
	z-index: 999999;
	content: ' ';
	pointer-events: none;
}

/* GS CHAT */
/* Medium devices ONLY (desktops, 992px to 1200px) */
@media (max-width: 992px) {
	.gschat_all {
		display: none;
	}

	.intl-tel-input .country-list {
		width: 80vw;
	}
}

/* minimized */
#gschat_minimized {
	position: fixed;
	margin: 0;
	z-index: 9999999;
	right: 0;
	bottom: 0;
	width: 260px;
	background: 5px 4px no-repeat #1950a0;
	padding: 3px;
	line-height: 25px;
	color: #ffffff;
	cursor: pointer;
	font-size: 13px;
	text-align: left;
}

#gschat_minimized img {
	float: left;
	width: 25px;
	height: 25px
}

#gschat_minimized.new {
	background: url(/img/site/chat/new_msg.gif) 5px 50% no-repeat #1950a0;
}

/* chat balloon for minimized version*/
#gschat_balloon {
	position: fixed;
	margin: 0;
	z-index: 9999999999999999999;
	right: 0;
	bottom: 0;
	background-color: #1950a0;
	width: 260px;
	padding: 10px;
	height: 75px;
}

#gschat_balloon_close_btn {
	position: absolute;
	top: 0;
	right: 0;
	margin: 5px;
	width: 20px;
	text-align: center;
	color: white;
	cursor: pointer;
}

/* top bar */
#gschat_balloon_close_btn:hover {
	background: #ffffff;
	color: #1950a0;
	text-decoration: none;
}

#gschat_balloon_icon {
	float: left;
	width: 20%;
	font-size: 20px;
	color: #ffffff;
	line-height: 55px;
	text-align: center;
}

#gschat_balloon_txt_box {
	float: right;
	margin: 0;
	padding: 0;
	width: 85%;
	cursor: pointer;
	display: block;
	color: #ffffff;
	font-size: 16px;
	text-shadow: 1px 1px 0 #000000;
}

#gschat_balloon b {
	display: block;
}

#gschat_balloon em {
	font-size: 11px;
	display: block;
}

/* opened */
#gschat_open {
	position: fixed;
	margin: 0;
	z-index: 9999999;
	right: 0;
	bottom: 0;
	width: 260px;
	height: 335px;
	background: #f1f1f1;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}

#gschat_open .gschat_top {
	background: 5px 4px no-repeat #1950a0;
	padding: 2px 2px 2px 2px;
	line-height: 30px;
	color: #ffffff;
	font-size: 13px;
}

#gschat_open .gschat_top .fa {
	margin: 0 4px 0 4px;
}

#gschat_open .gschat_top span {
	display: block;
}

#gschat_open .gschat_top a {
	float: right;
	text-align: center;
	color: white;
	width: 20px;
	margin: 0 4px 0 4px;
}

/* top bar */
#gschat_open .gschat_top a:hover {
	background: #ffffff;
	color: #1950a0;
	text-decoration: none;
}

#gschat_open .call_me_btn {
	text-decoration: none;
	cursor: pointer;
}

#gschat_open .call_me_btn_icon {
	background-image: url("/img/site/chat/phone_white.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

#gschat_open .call_me_btn_icon:hover {
	background-image: url("/img/site/chat/phone_blue.png");
}

/* content */
#gschat_content {
	height: 255px;
	border-bottom: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 5px 5px 5px 5px;
	background: #ffffff;
	color: #424242;
	font-size: 12px;
}

#gschat_content .you, #gschat_content .agent {
	word-wrap: break-word;
}

#gschat_content .you {
	position: relative;
	background: #f2f2f1;
	color: rgb(80, 80, 80);
	width: 90%;
	border-radius: 5px 0 5px 5px;
	padding: 7px 15px 7px 15px;
	margin: 4px;
	margin-top: 20px;
	margin-bottom: 25px;
	text-shadow: rgba(0, 0, 0, 0.2) 0 0 1px;
}

#gschat_content .you:after {
	left: 100%;
	top: 0;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-left-color: #f2f2f1;
	border-width: 0 10px 10px 10px;
}

#gschat_content .agent {
	position: relative;
	left: 40px;
	background: #e7edf7;
	color: #0a4eb1;
	width: calc(90% - 25px);
	border-radius: 0 5px 5px 5px;
	padding: 7px 15px 7px 15px;
	margin: 4px;
	margin-top: 20px;
	margin-bottom: 25px;
	text-shadow: rgba(10, 78, 177, 0.2) 0 0 1px;
}

#gschat_content .agent:before {
	background-image: url('/img/site/chat/gs.png');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	height: 25px;
	width: 25px;
	content: " ";
	left: -45px;
	top: -3px;
	display: block;
}

#gschat_content .agent:after {
	right: 100%;
	top: 0;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-right-color: #e7edf7;
	border-width: 0 15px 10px 10px;
}

#gschat_content .you b {
	display: block;
	color: #505050;
	font-size: 9px;
	letter-spacing: 1px;
	word-wrap: break-word;
	position: absolute;
	font-weight: normal;
	top: -15px;
	left: 0;
	text-shadow: rgba(0, 0, 0, 0.3) 0 0 1px;
}

#gschat_content .agent b {
	display: block;
	color: #505050;
	font-size: 9px;
	letter-spacing: 1px;
	word-wrap: break-word;
	position: absolute;
	font-weight: normal;
	top: -15px;
	right: 0;
	text-shadow: rgba(0, 0, 0, 0.3) 0 0 1px;
}

/* form */
.gschat_msg_form {
	background: #ffffff;
	border-left: solid 1px #cccccc;
}

#gschat_textarea {
	border: none;
	position: relative;
	left: 0;
	display: inline-block;
	margin: 0;
	resize: none;
	width: 230px;
	height: 46px;
	font-size: 13px;
	background-color: #ffffff;
	outline-style: none;
	overflow-y: auto;
	overflow-x: hidden;
	box-shadow: inset 0 0 0 0 transparent;
}

#gschat_info {
	position: absolute;
	background-color: #e5e5e5;
	width: 100%;
	font-size: 12px;
	padding: 10px 15px 10px 15px;
	z-index: 99999;
	border-left: 1px solid #cccccc;
}

#gschat_info a {
	font-size: 12px;
	cursor: pointer;
}

#gschat_info a:hover {
	text-decoration: underline;
}

#gschat_send_btn {
	border: none;
	position: absolute;
	right: 0;
	margin: 0;
	display: inline-block;
	width: 46px;
	height: 46px;
	font-size: 17px;
	background-color: #ffffff;
	color: #1950a0;
	border-radius: 0;
	box-shadow: inset 0 0 0 0 transparent;
}

#gschat_send_btn img {
	width: 25px;
	height: 25px;
}

#call_me_form {
	z-index: 99999999;
	text-align: center;
	position: fixed;
	background-color: whitesmoke;
	width: 60%;
	left: 20%;
	top: 200px;
	padding: 40px 20px 40px 20px;
}

#call_me_form > * {
	z-index: 99999999;
}

#call_me_form .title {
	font-size: 27px;
	color: #1950a0;
}

#call_me_form .subtitle {
	font-size: 18px;
}

#call_me_form .info {
	margin: 20px 0 0 0;
	font-size: 14px;
}

#call_me_form .intl-tel-input {
	margin: 30px 0 30px 0;
	width: 40%;
}

#call_me_form .phone_input {
	border: 2px solid #eee;
	width: 100%;
	font-size: 20px;
	height: 40px;
}

#call_me_form .has_error {
	box-shadow: 0 0 5px 1px #fb1a44;
	border: 2px solid transparent;
}

#call_me_form .wait_msg {
	font-size: 24px;
	color: #1950a0;
}

#call_me_form .wait_count {
	display: inline-block;
	margin: 20px 0 20px 0;
}

#call_me_form .error_msg {
	color: #fb1a44;
}

#call_me_form .end_msg {
	font-size: 24px;
	color: #1950a0;
}

#call_me_form .input_email {
	border: solid 2px #eaeaea;
	width: 50%;
}

#call_me_form label {
	margin: 30px 0 30px 0;
	width: 100%;
}

#call_me_form_before {
	display: none;
	content: ' ';
	position: fixed;
	z-index: 10000000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}

#call_me_form .btn_close {
	position: absolute;
	background-color: transparent;
	border: none;
	top: 5px;
	right: 5px;
	font-size: 22px;
}

@media (max-width: 767px) {
	#call_me_form {
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
	}

	#call_me_form .intl-tel-input {
		margin: 30px 0 30px 0;
		width: 100%;
	}

	#call_me_form .input_email {
		margin: 30px 0 30px 0;
		width: 100%;
	}
}

/* exit inten modal */
.eim_modal .modal-content {
	z-index: 1050;
	padding: 20px;
}

.eim_modal .close {
	font-size: 44px;
	float: right;
	margin-top: -20px;
}

.eim_modal .form_sent_msg {
	display: none;
	padding: 20px;
}

.eim_modal .data_privacy_info {
	padding-top: 15px;
	border-top: 1px solid #eaeaea;
	margin-top: 20px;
	font-size: 12px;
}

.eim_modal .legend {
	font-size: 11px;
	margin-top: 15px;
}

.eim_modal .lead {
	color: #0a4eb1;
}

.lead a {
	text-decoration: none;
	color: var(--bs-GSBlueSerious);
}

.lead a:hover {
	text-decoration: underline #054880ff;
}

.eim_modal textarea {
	resize: vertical;
}

/*
| --------------------------------
| promotional-video-modal
| --------------------------------
*/

.promotional-video-modal .modal-body {
	padding: 2.4rem 0 0 0;
	line-height: 0;
}

.promotional-video-modal iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
}

/**
 * Custom checkbox
 * ---------------
 *
 * Usage :
 *
 * <label class="gs_checkbox">Your label
 *   <input type="checkbox">
 *   <span class="boc">
 *     <your-check-mark></your-check-mark>
 *   </span>
 * </label>
 */
.gs_checkbox {
	display: block;
	position: relative;
	padding: 0;
	margin: 0 -0.6em 0 0;
	height: 1em;
	width: 1em;
	cursor: pointer;
	font-size: 21px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.gs_checkbox input {
	position: absolute;
	opacity: 0;
	height: 0;
	width: 0;
}

.gs_checkbox input:checked ~ .box {
	background-color: var(--bs-GSBlue);
	border-color: var(--bs-GSBlue);
}

.gs_checkbox input:disabled ~ .box {
	opacity: .5;
	cursor: default;
}

.gs_checkbox input:checked ~ .box * {
	display: block;
}

.gs_checkbox input:checked:not(:disabled):hover ~ .box {
	/*
	background-color: #1E7033;
	border-color: #1E7033;
	color:#fff;
	*/
	background-color: #002f63;
	border-color: #002f63;
}

.gs_checkbox input:not(:checked):not(:disabled):hover ~ .box {
	background-color: #eaeaea;
}

.gs_checkbox .box * {
	display: none;
	font-size: 0.7em;
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
}


.gs_checkbox .box * {
	display: none;
	font-size: 0.7em;
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	content: "\f00c";
}

.gs_checkbox .box {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	height: 1em;
	width: 1em;
	background-color: #fafafa;
	color: white;
	cursor: pointer;
	border: 1px solid var(--bs-GSBlue);
	border-radius: 4px;
}


/* floating form labels */
.form-floating label {
	color: #6b7280 !important;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
	text-transform: uppercase;
	color: #054880 !important;
	font-size: 12px;
	font-weight: 600;
}

.text_readable_width {
	max-width: 624px;
}

/*
# green
#258A3F;

#1E7033;
*/
/**
 * ===============================
 * v3+ Global utils
 * ===============================
 * Some global utilities that can
 * be used here and there
 */

.flex-none {
	flex: none;
}

.-mx-2 {
	margin-left: -.5rem;
	margin-right: -.5rem;
}

.-mx-3 {
	margin-left: -.75rem;
	margin-right: -.75rem;
}

.-mx-4 {
	margin-left: -1rem;
	margin-right: -1rem;
}

.-mx-6 {
	margin-left: -1.5rem;
	margin-right: -1.5rem;
}

.-mx-8 {
	margin-left: -2rem;
	margin-right: -2rem;
}

.-me-2 {
	margin-right: -.5rem;
}

.mb-30 {
	margin-bottom: 7.5rem;
}

@media (min-width: 768px) {
	.mb-lg-30 {
		margin-bottom: 7.5rem !important;
	}
}

.max-w-24rem {
	max-width: 24rem;
}

.max-w-50rem {
	max-width: 50rem;
}

.text-ellispis {
	text-overflow: ellipsis;
}

.text-balance {
	text-wrap: balance;
}

.top-2-5 {
	top: .625rem;
}

.top-3 {
	top: .75rem;
}

.top-4 {
	top: 1rem;
}

.top-8 {
	top: 2rem;
}

/**
 * ===============================
 * Layout page
 * ===============================
 *
 */
.container__header__layout {
	display: flex;
	flex-direction: column;
}

.container__header__models {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.container__header__models ul {
	padding-left: 0;
}

.container__header__layout__presentation {
	flex: 2;
}

.container__header__layout__cta {
	flex: 1;
	margin-bottom: 2rem;
}

.container__breadcrumb {
	max-width: 1228px;
	margin-left: 1.5rem;
	margin-right: 1.5rem;
}

.breadcrumb-main-nav {
	color: var(--bs-gray-500);
	font-size: .8rem;
}

.breadcrumb-main-nav .breadcrumb-item + .breadcrumb-item::before {
	color: var(--bs-gray-300);
	content: '/';
}

@media (min-width: 768px) {
	.container__breadcrumb {
		margin: 0 auto;
	}

	.container__header__layout {
		flex-direction: row;
	}

	.container__header__models {
		padding-left: 0;
		padding-right: 0;
	}
}

/**
 * ===============================
 * About menu
 * ===============================
 *
 */
.about__layout {
}

.about__layout__menu {
	flex: none;
	border: 1px solid var(--bs-GSBlue);
	color: var(--bs-GSBlue);
	border-radius: 0.25rem;
	margin-bottom: 1.5rem;
}

.about__layout__menu img {
	height: 1rem;
	width: 1rem;
}

.about__layout__menu button {
	font-family: var(--bs-font-sans-serif);
	padding: 0.875rem 1rem 0.875rem 1rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1rem;
	letter-spacing: 0;
	text-align: left;
	color: #0e6ab7;
	background: transparent;
	border: none;
	width: 100%;
	height: 100%;
}

.about__layout__menu__button__text {
	display: flex !important;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

.about__layout__menu button::after {
	display: none;
}

.about__layout__menu button img {
	margin-right: 0.625rem;
}

.about__layout__menu ul {
	width: 100%;
	border-color: var(--bs-GSBlue);
	border-top: 0;
	border-top-left-radius: 0; /* Bottom left corner radius */
	border-top-right-radius: 0;
}

.about__layout__menu .dropdown-item:hover a {
	background: var(--bs-gray-100);
}

.about__layout__menu .dropdown-item:hover a.active,
.about__layout__menu .dropdown-item a.active {
	color: #fff;
	background: var(--bs-GSBlue);
}

.about__layout__content {
	flex: 1;
}

.about__layout__content__main-img {
	width: 100%;
	height: 160px;
	object-fit: cover;
}

.about__layout__content__link,
.about__layout__content__description {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

.about__layout__content__link {
	text-decoration: underline;
}

.about__layout__content__link,
.about__layout__content__description a {
	color: var(--bs-GSBlue);
}

.about__layout__content__link,
.about__layout__content__description a:hover {
	color: var(--bs-GSBlueSerious);
}

.about__layout__content__description a:focus {
	outline: 1px var(--bs-GSBlueCruise) dotted;
}

.about__layout__menu__ul {
	list-style: none;
	font-weight: 400;
	text-align: left;
}

.about__layout__menu__ul li a {
	padding: .5rem .75rem;
	line-height: 1.25;
}

.about__layout__menu__separator {
	height: 0;
	width: auto;
	border-bottom: 1px solid var(--bs-gray-200);
	margin: .75rem 0;
}

@media (min-width: 992px) {
	.about__layout {
		display: flex;
		flex-direction: row;
	}

	.about__layout__menu {
		width: 100%;
		max-width: 15rem;
		color: var(--bs-gray-700);
		border: none;
		margin-bottom: 1.5rem;
		margin-right: 1.25rem;
	}

	.about__layout__menu button {
		display: none !important;
	}

	.about__layout__content {
		min-height: 850px;
	}

	.about__layout__content__main-img {
		height: 160px;
	}

	.about__layout__menu__ul {
		margin-top: 3rem;
		display: block;
		position: relative;
		border: none;
		padding: 0;
		/* Fix overlap with main menu dropdowns */
		--bs-dropdown-zindex: 900;
	}

	.about__layout__menu__ul li {
		width: fit-content;
		min-width: 12.5rem;
	}

	.about__layout__menu__ul li a {
		padding: .75rem 0;
		line-height: 1.25;
	}

	.about__layout__menu__ul li a.active {
		font-weight: 700;
		color: var(--bs-GSBlueSerious);
		cursor: default;
	}

	.about__layout__menu__ul__desktop_first {
		font-size: .875rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.025em;
		text-transform: uppercase;
		color: var(--bs-gray-500);
	}

	.about__layout__menu__ul a {
		padding-left: 0 !important;
	}

	.about__layout__menu__ul li:hover {
		color: #054880 !important;
		background: white !important;
	}

	.about__layout__menu__ul a:hover {
		color: #054880 !important;
		background: white !important;
	}

	.about__layout__menu__ul .active {
		color: #054880 !important;
		background: white !important;
	}

	.about__layout__content__link,
	.about__layout__content__description {
		font-size: 1.125rem;
	}
}

@media (min-width: 992px) {
	.about__layout__content__main-img {
		height: 320px;
	}
}

@media (min-width: 1200px) {
	.about__layout__menu {
		max-width: 17.5rem;
	}
}

/**
 * ===============================
 * How it work
 * ===============================
 */
.about__layout__content__how__it__work__video {
	width: 100%;
	aspect-ratio: 16/9;
	max-height: 320px;
}

/**
 * ===============================
 * Referral program
 * ===============================
 */
.aboutReferral__offerBox {
	max-width: 20rem;
	padding: 1.5rem 2rem;
	border-radius: var(--bs-border-radius);
	text-align: center;
	/*color: white;*/
	color: var(--bs-GSBlue);
	background: oklch(96.8% 0.007 247.896);
	overflow: hidden;
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

.aboutReferral__offerBox span {
	display: inline-block;
	font-size: 2.5em;
	font-weight: bold;
	line-height: 1;
	margin-bottom: .25em;
}

.aboutReferral__codeBox {
	display: flex;
	max-width: fit-content;
	overflow: hidden;
	border-radius: var(--bs-border-radius);
	background: oklch(98.4% 0.003 247.858);
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

.aboutReferral__codeBox-body {
	display: flex;
	align-items: center;
	font-size: 1.125em;
	padding: .75rem 1.5rem;
	color: oklch(37.2% 0.044 257.287);
}

.aboutReferral__codeBox-code {
	display: flex;
	align-items: center;
	font-size: 1.25em;
	padding: .5rem 1rem;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-family: monospace;
	font-weight: bold;
	color: var(--bs-GSBlue);
	border-left: 1px dashed oklch(70.4% 0.04 256.788);
}

/**
 * ===============================
 * Team member card
 * ===============================
 * @see Compos\TeamCard
 */
.team-member-card img:hover, .team-member-card__content__img:hover {
	cursor: pointer;
}

.team-member-card {
	display: flex;
	flex-direction: column;
}

.team-member-card__img {
	display: block;
	width: 100%;
	height: 10rem;
	margin-bottom: .5rem;
	object-fit: cover;
	object-position: 50% 20%;
	border-radius: var(--bs-border-radius);
}

.team-member-card__content {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: end;
}

.team-member-card__content img {
	width: 1rem;
	height: 1rem;
	line-height: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.team-member-card__content span, .team-member-card__content h4 {
	line-height: 1rem;
}

.team-member-card__content__specs__position {
	font-size: 0.75rem;
	line-height: 1;
	color: var(--bs-gray-500);
	margin-bottom: 0.25rem;
}

.team-member-card__content__specs__title {
	font-family: var(--bs-font-sans-serif);
	font-size: 1rem;
	line-height: 1;
	font-weight: 400;
	color: var(--bs-GSBlue);
	cursor: pointer;
}

.team-member-card__content__specs__title:hover {
	text-decoration: underline;
}

/**
 * ===============================
 * Search box
 * ===============================
 *
 */
.search-box {
	border: 1px solid #d1d5db;
	border-radius: 0.5rem;
	width: 100%;
	background: white;
}

.search-box__title {
	margin-top: 0.5rem;
	margin-left: 1rem;
	color: #054880;
	text-transform: uppercase;
	font-size: 0.625rem;
	display: block;
}

.search-box__input {
	border: transparent;
	width: 100%;
}

.search-box .tt-menu {
	border-color: #d1d5db;
	border-bottom-left-radius: 0.5rem;
	border-bottom-right-radius: 0.5rem;
	top: 80% !important;
	width: 100.8% !important;
	left: -2px !important;
}

/**
 * ===============================
 * Brand presentation
 * ===============================
 *
 */

.brand-presentation__search {
	background: var(--bs-gray-50);
	--bs-gutter-x: 0rem;
}

.brand-presentation__search__search-box {
	margin: 1.5rem;
}

.brand-presentation__search__input {
	margin: 1.5rem;
	border: 1px solid #d1d5db;
	background: white;
linear-gradient(0 deg, #FFFFFF, #FFFFFF);
}

.brand__separator {
	margin-top: 1.5rem;
	height: 1px;
	background-color: #d1d5db;
}

@media (min-width: 768px) {
	.brand-presentation__search {
		width: 100%;
		background: #fff;
		border: 1px solid #f3f4f6;
		box-shadow: var(--bs-box-shadow-lg);
		border-radius: var(--bs-border-radius-lg);
	}
}

/**
 * ===============================
 * Boat brand page
 * ===============================
 *
 */
.banner {
	display: none;
	--bs-gutter-x: 0;
	--bs-gutter-y: 0;
}

.boat-brand-banner {
	display: none;
}

.search_fleet {
	border: none;
}

.boat-brand-intro {
	flex-direction: column;
}

.boat-brand-intro h1 {
	font-family: var(--font-serif);
	color: #054880;
}

.boat-brand-search__box--inside .boat-brand-search__input {
	display: none;
	position: relative;
}

.boat-brand-search__input input {
	border: none !important;
}

.boat-brand-search__input .tt-menu {
	border-color: #d1d5db;
	border-bottom-left-radius: 0.5rem;
	border-bottom-right-radius: 0.5rem;
	top: 80% !important;
	width: 100.6% !important;
	left: -1px !important;
}

.boat-brand-search__box--inside input {
	display: none;
	padding-top: 0;
}

.boat-brand__text p {
	font-family: var(--bs-font-sans-serif);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5rem;
	letter-spacing: 0;
	text-align: left;
}

.boat-brand__box .brand__box--first {
	color: #111827;
	margin-right: 1.25rem;
}

.boat-brand__box {
	border: none !important;
}

.logo-boat-brand {
	border: 1px solid #e5e7eb;
	border-radius: 0.5rem;
	height: 3rem;
	width: 3rem;
	object-fit: contain;
}

.boat-brand__box span {
	line-height: 1.5rem;
	font-size: 1.125rem;
	font-weight: 400;
}

.boat-brand-search__input__title {
	margin-top: 0.5rem;
	margin-left: 1rem;
	color: #054880;
	text-transform: uppercase;
	font-size: 0.625rem;
}

.boat-brand__grid ul {
	padding-left: 0;
}

@media (min-width: 768px) {
	.boat-brand-search__box {
		display: block;
		flex: 0 0 424px;
	}

	.banner {
		display: block;
		width: 100%;
		height: 20rem;
		border-radius: 0.5rem;
		overflow: hidden;
		position: relative;
	}

	.boat-brand-banner {
		display: block;
		width: 100%;
		height: 20rem;
		border-radius: 0.5rem;
		background-image: url(/img/site/fleet/fleet.jpg); /* default boat image */
		background-size: cover;
		background-position: 0 -78px;
		background-repeat: no-repeat;
	}

	.boat-brand-intro {
		flex-direction: row;
		margin-right: 1.25rem;
		margin-left: 1.25rem;
		margin-bottom: 7.5rem;
	}

	.boat-brand__text {
		width: 100%;
		margin-top: 1.25rem;
		margin-left: 1.25rem;
	}

	.boat-brand-search__box--inside .boat-brand-search__input {
		display: block;
	}

	.boat-brand-search__box--outside .boat-brand-search__input {
		display: none;
	}

	.boat-brand__text p {
		width: 80%;
	}

	.boat-brand_grid {
		margin-right: 1.25rem;
		margin-left: 1.25rem;
	}

	.boat-brand-search__box--inside {
		display: block;
	}

	.boat-brand-search__input {
		display: block;
	}

	.boat-brand-search__input input {
		border: none;
	}

	.boat-brand-search__box--outside {
		display: none;
	}

	.boat-brand-search__box--inside {
		position: absolute;
		width: 26.5rem;
		top: -6.25rem;
		left: 0;
		padding: 2rem;
		border-radius: 1rem;
		background-color: white;
		/*box-shadow: 0px 4px 6px -2px #0000000D;*/
		box-shadow: 0 10px 15px -3px #0000001a;
	}

	.boat-brand-search__box--inside input {
		display: block;
	}
}

/**
 * ===============================
 * Brand page
 * ===============================
 */

.brand-presentation {
}

.brand-presentation__title {
	margin-bottom: 0.75rem;
}

.brand-presentation__title__logo {
	height: 4rem;
	width: 4rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.5rem;
	margin-right: 1.25rem;
	display: flex;
	flex-direction: row;
	align-items: center;
}

.brand-presentation__title h1 {
	font-family: var(--font-serif);
	color: #054880;
	margin-left: 0.125rem;
}

.brand-presentation__title__p {
	font-weight: 400;
	font-family: var(--bs-font-sans-serif);
	font-size: 1rem;
	line-height: 1.5rem;
	color: var(--bs-gray-700);
}

.brand-presentation__title__logo img {
	object-fit: contain;
	width: 100%;
}

@media (min-width: 768px) {
	.brand-presentation {
		margin-left: 0;
		margin-right: 1.5rem;
	}
}

/**
 * ===============================
 * Boat model
 * ===============================
 */

.boat-model__carousel__img {
	width: 100%;
}

.boat-model__carousel__li {
	margin: auto; /* Center the image vertically and horizontally */
	display: block; /* Ensure image is treated as a block element */
	max-width: 100%; /* Make sure image doesn't exceed container width */
	max-height: 100%;
}

.boat-model__carousel__li img {
	border-radius: .5rem;
	max-height: 100%;
}

.boat-model__carousel__img__mini {
	height: 4rem;
	width: 5rem;
	margin-right: .5rem;
}

@media (min-width: 768px) {
	.boat-model-presentation__main-specs--mobile {
		display: none;
	}

	.boat-model-presentation__main-specs--desktop {
		display: flex;
	}
}

/**
 * ===============================
 * Tag
 * ===============================
 * @see Compos\Tag
 */

.tag {
	display: flex;
	width: fit-content;
	align-items: center;
	padding: .5rem;
	line-height: 1;
	font-size: 1rem;
	color: var(--bs-gray-700);
	border-radius: var(--bs-border-radius-sm);
	background: var(--bs-gray-100);
}

.tag > svg,
.tag > img {
	width: 1em;
	height: 1em;
	font-size: 1.25rem;
	margin-right: .5rem;
}

/**
 * ===============================
 * Icon
 * ===============================
 * @see Compos\Icon
 */

.icon {
	font-size: 1em;
	width: 1em;
	height: 1em;
	vertical-align: baseline;
}

/**
 * ===============================
 * Footer CTA
 * ===============================
 * @see Compos\FooterCTA
 */
.footer_cta_img {
	width: 100%;
}


@media (min-width: 768px) {
	.footer_cta_container {
		max-width: 29.5rem;
	}

	.footer_cta_img {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		height: 100%;
	}
}

/**
 * ===============================
 * Vertical Card
 * ===============================
 * @see Compos\VerticalCard
 */
.verticalCard.verticalCard--small img,
.verticalCard.verticalCard--medium img {
	height: 15rem;
}

.verticalCard.verticalCard--tall img {
	height: 20rem;
}

.verticalCard-title {
	font-size: 1rem;
}

.verticalCard-title--inside {
	position: absolute;
	bottom: .5rem;
	left: .5rem;
	padding: 0.5rem;
}

.verticalCard-title--inside h5 {
	color: #054880;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 14px */
}

.verticalCard-title--inside h5::first-letter {
	text-transform: uppercase !important
}

.verticalCard-details,
.verticalCard-price {
	font-size: .875rem;
}

.verticalCard-link:hover .verticalCard-title {
	text-decoration: underline;
}

@media (min-width: 768px) {
	.verticalCard.verticalCard--medium img {
		height: 20rem;
	}

	.verticalCard.verticalCard--tall img {
		height: 25rem;
	}
}

/**
 * ===============================
 * Reviews
 * ===============================
 * @see Compos\Reviews
 */

.compoReview__list {
	scrollbar-width: none;
	scroll-snap-type: x mandatory;
}

.compoReview .one_review {
	scroll-snap-align: start;
	scroll-margin-left: 1.5rem;
}

@media (max-width: 992.98px) {
	.compoReview .reviews_list .one_review:last-child {
		margin-left: 1rem;
	}
}

@media (max-width: 1199.98px) {
	.compoReview .reviews_list {
		margin: 0 !important;
		padding: 0 20px !important;
		overflow-x: scroll !important;
	}

	.compoReview .reviews_list_col {
		width: auto !important;
		max-width: none !important;
	}

	.compoReview .reviews_list .one_review {
		width: 283px !important;
		display: block !important;
	}
}

.compoReview .subtitle {
	max-width: 600px;
}

.compoReview .global_rating,
.compoReviewSimple .global_rating {
	color: #07694a;
	font-size: 16px;
}

.compoReview .global_rating .stars span,
.compoReviewSimple .global_rating .stars span {
	display: inline-block;
	background: #03a46a;
	border-radius: 4px;
	width: 32px;
	height: 32px;
	color: white;
	margin-left: 4px;
}

.compoReview .global_rating .stars svg,
.compoReviewSimple .global_rating .stars svg {
	margin-top: 2px;
}

.compoReview .one_review {
	background: #cbf6e0;
}

.compoReview .one_review .rating {
	color: #03a46a;
	font-size: 18px;
}

.rating-stars span {
	color: #03a46a !important;
}

.quote-card__content__cta__rating .quote-card__content__rating--date {
	color: #4b5563;
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;;
	font-size: .875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 17.5px */
}

.quote-card__content__cta__rating--button {
	color: #0e6ab7;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'liga' off;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 14px */
}

.compoReview .one_review .rating i {
	display: inline-block;
	margin-right: 3px;
}

.compoReview .one_review .title {
	color: #07694a;
	font-size: 16px;
	line-height: 20px;
	font-weight: 700;
	margin-bottom: 10px;
}

.compoReview .one_review .txt {
	color: #111827;
	font-size: 14px;
	line-height: 18px;
	margin-bottom: 15px;
}

.compoReview .one_review .txt .btn {
	padding: 0 !important;
	margin: 0 !important;
	font-size: 14px;
}

.compoReview .one_review .author {
	color: #4b5563;
	font-size: 14px;
	line-height: 18px;
}

.compoReview.compoReview--simple {
	padding: 4rem 1.5rem;
	background-color: var(--bs-success-bg-subtle);
	border-radius: var(--bs-border-radius-lg);
}

.compoReview--simple .compoReview__title {
	color: var(--bs-success-text-emphasis);
	font-size: 1.5rem;
}

.compoReview--simple .compoReview__header {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.compoReview--simple .compoReview__list {
	margin: 0 -.75rem;
}

.compoReview--simple .compoReview__list-item {
	height: 14rem;
}


@media (min-width: 991.98px) {
	.compoReview.compoReview--simple {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	.compoReview--simple .compoReview__header {
		flex-direction: row-reverse;
	}

	.compoReview--simple .compoReview__title {
		flex: 1;
		font-size: 2rem;
	}

	.compoReview--simple .compoReview__list {
		margin: 0;
	}
}

/**
 * ===============================
 * Step Carousel
 * ===============================
 * @see Compos\StepCarousel
 */

.stepCarousel {
	--item-padding-x: .5rem;
	--item-width: 66%;
	position: relative;
}

.stepCarousel-list {
	overflow-x: scroll;
	overflow-y: auto;
	scrollbar-width: none;
	scroll-snap-type: x mandatory;
}

.stepCarousel-item {
	width: var(--item-width);
	padding: 0 var(--item-padding-x);
	scroll-snap-align: start;
}

.stepCarousel--mobile-align-center {
	--item-width: 86%;
}

.stepCarousel--mobile-align-center .stepCarousel-item {
	scroll-snap-align: center;
}

.stepCarousel-button {
	display: none;
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	top: calc(50% - 1.25rem);
	box-shadow: var(--shadow-md);
	z-index: 1;
}

.stepCarousel-button:focus {
	box-shadow: var(--shadow) !important;
}

.stepCarousel-button.stepCarousel-button--left {
	left: -1.25rem;
}

.stepCarousel-button.stepCarousel-button--right {
	right: -1.25rem;
}

.stepCarousel[data-active-position="start"] .stepCarousel-button--left,
.stepCarousel[data-active-position="end"] .stepCarousel-button--right {
	opacity: 0;
}

@media (min-width: 768px) {
	.stepCarousel {
		--item-width: 42%;
	}
}

@media (min-width: 992px) {
	.stepCarousel {
		--item-padding-x: .625rem;
	}

	.stepCarousel[data-columns="2"] {
		--item-width: 50%;
	}

	.stepCarousel[data-columns="3"] {
		--item-width: calc(100% / 3);
	}

	.stepCarousel[data-columns="4"] {
		--item-width: 25%;
	}

	.stepCarousel-button {
		display: block;
	}
}

/**
 * ===============================
 * Page Header
 * ===============================
 * @see Compos\PageHeader
 */

.page-header {
	position: relative;
}

.page-header__banner {
	width: 100%;
}

.page-header__backBtn {
	top: .5rem;
	left: .5rem;
}

.page-header__container {
	position: relative;
}

.page-header__box {
	flex: none;
	z-index: 1;
}

.page-header__box-extra {
	display: none;
}

.page-header__box-extra.page-header__box-extra--mobile {
	display: block;
}

.page-header__details {
	flex: 1;
	margin-top: .75rem;
}

@media (min-width: 991.98px) {
	.page-header {
		padding-top: 1.5rem;
	}

	.page-header--banner-only {
		height: 20rem;
	}

	.page-header__banner {
		position: absolute;
		top: 0;
		left: -1.5rem;
		right: -1.5rem;
		width: calc(100% + 3rem);
		height: 20rem;
	}

	.page-header__backBtn {
		top: 1.5rem;
		left: 0;
	}

	.page-header__container {
		display: flex;
		align-items: start;
		margin-top: 8.5rem;
	}

	.page-header__box {
		width: 26.5rem;
		margin-right: 2rem;
		background-color: var(--bs-white);
		box-shadow: var(--bs-box-shadow-lg);
		position: sticky;
		top: 2rem;
	}

	.page-header__box-extra {
		display: block;
	}

	.page-header__box-extra.page-header__box-extra--mobile {
		display: none;
	}

	.page-header__details {
		margin-top: 11.5rem;
		font-size: 1.125rem;
	}
}


/**
 * ===============================
 * Section Header
 * ===============================
 * @see Compos\SectionHeader
 */

.section-header__action {
	display: none;
	margin-left: auto;
}


@media (min-width: 991.98px) {
	.section-header {
		display: flex;
		align-items: end;
	}

	.section-header__text {
		max-width: 39rem;
	}

	.section-header__action {
		display: block;
	}
}

.navbar-expand .navbar-nav .dropdown-menu {
	z-index: 9999;
}

/**
 * ===============================
 * Carousel
 * ===============================
 * @see Compos\Carousel
 */

.gs-carousel {
	--btn-bg: rgba(255, 255, 255, .8);
	--bs-btn-hover-bg: rgba(255, 255, 255, 1);
	--bs-btn-active-bg: rgba(255, 255, 255, 1);
	--bs-btn-active-border-color: #fff;

	--control-size: 1.5rem;
	--item-width: 66%;

	position: relative;
	height: var(--carousel-height);
	display: flex;
	flex-direction: column;
}

.gs-carousel.gs-carousel--showcase {
	--control-size: 2.5rem;
	--btn-bg: rgba(255, 255, 255, 1);
}

.gs-carousel__slide-container {
	position: relative;
	flex: 1 1 auto;
}

.gs-carousel__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	height: 100%;
	overflow-x: scroll;
	overflow-y: auto;
	scrollbar-width: none;
	scroll-snap-type: x mandatory;
}

.gs-carousel__item {
	flex-shrink: 0;
	flex-basis: auto;
	scroll-snap-align: start;
	width: 66%;
}

.gs-carousel--mobile-controls .gs-carousel__item {
	width: 100%;
	padding: 0;
}

.gs-carousel__item img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--bs-border-radius);
}

.gs-carousel__item img[data-gallery-src] {
	cursor: pointer;
}

.gs-carousel--mobile-controls img {
	border-radius: 0;
}

.gs-carousel__control {
	display: none;
	position: absolute;
	top: calc(50% - (var(--control-size) / 2));
	align-items: center;
	justify-content: center;
	width: var(--control-size);
	height: var(--control-size);
	background-color: var(--btn-bg);
	border-radius: 50%;
	padding: 0;
	z-index: 10;
}

.gs-carousel--mobile-controls .gs-carousel__control {
	display: flex;
}

.gs-carousel--showcase .gs-carousel__control {
	box-shadow: var(--shadow-md);
}

.gs-carousel--showcase .gs-carousel__control:active,
.gs-carousel--showcase .gs-carousel__control:focus {
	box-shadow: var(--shadow) !important;
}

.gs-carousel__control.gs-carousel__control--prev {
	left: .75rem;
}

.gs-carousel--showcase .gs-carousel__control--prev {
	left: calc(var(--control-size) / -2);
}

.gs-carousel__control.gs-carousel__control--next {
	right: .75rem;
}

.gs-carousel--showcase .gs-carousel__control--next {
	right: calc(var(--control-size) / -2);
}

.gs-carousel[data-active-position="end"] .gs-carousel__control--next,
.gs-carousel[data-active-position="start"] .gs-carousel__control--prev {
	opacity: 0;
}

.gs-carousel__roll {
	display: none;
	margin-top: .5rem;
	margin-bottom: 0;
}

.gs-carousel__roll-item {
	margin-right: .5rem;
}

.gs-carousel__roll-item img {
	width: 4.75rem;
	height: 3.5rem;
	object-fit: cover;
	border-radius: var(--bs-border-radius-sm);
	cursor: pointer;
	border: 1px transparent solid;
}

.gs-carousel__roll-item:hover img {
	border: 1px var(--bs-gray-300) solid;
}

.gs-carousel__roll-item[aria-checked="true"] img {
	border: 1px var(--bs-gray-600) solid;
}

@media (min-width: 768px) {
	.gs-carousel__control {
		display: flex;
	}

	.gs-carousel__roll {
		display: flex;
	}

	.gs-carousel.gs-carousel--showcase {
		--item-width: 100%;
	}

	.gs-carousel[data-columns="1"] .gs-carousel__item {
		width: 100%;
	}

	.gs-carousel[data-columns="2"] .gs-carousel__item {
		width: 50%;
	}

	.gs-carousel[data-columns="3"] .gs-carousel__item {
		width: calc(100% / 3);
	}

	.gs-carousel[data-columns="4"] .gs-carousel__item {
		width: 25%;
	}
}

/**
 * ===============================
 * Search Engine Product Card
 * ===============================
 * @see Compos\SEProductCard
 */

.se-product-card {
	--thumbnail-width: 100%;
	--thumbnail-max-width: none;
	--card-font-size: .9375rem;

	font-size: var(--card-font-size);
	border-radius: var(--bs-border-radius);
	overflow: hidden;
	box-shadow: var(--bs-box-shadow);
	line-height: 1.25;
	flex-direction: column;
	justify-items: stretch;
	align-items: stretch;
}

.se-product-card__thumbnail {
	width: var(--thumbnail-width);
	max-width: var(--thumbnail-max-width);
	flex: none;
	height: 10rem;
	z-index: 0;
}

.se-product-card__thumbnail-no-image {
	position: relative;
	width: 100%;
	height: 100%;
	background: #fafaf9;
	text-align: center;
	color: #d7d6d5;
}

.se-product-card__thumbnail-no-image span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.se-product-card--cruise .se-product-card__thumbnail {
	position: relative;
}

.se-product-card--cruise .se-product-card__thumbnail img {
	position: absolute;
	top: 0;
	bottom: -2.5rem;
	z-index: 0;
	object-fit: cover;
}

.se-product-card__tags {
	display: flex;
	align-items: start;
	position: absolute;
	top: 0;
	left: 0;
	padding: .75rem;
	width: 100%;
}

.se-product-card--bareboat .se-product-card__tags {
	width: var(--thumbnail-width);
	max-width: var(--thumbnail-max-width);
}

.se-product-card__tag {
	max-width: 100%;
	display: inline-flex;
	align-items: center;
	white-space: normal;
	text-align: left;
	border-radius: var(--bs-border-radius-sm);
}

.se-product-card__tag + .se-product-card__tag {
	margin-left: .5rem;
}

.se-product-card__body-background {
	display: none;
}

.se-product-card--cruise .se-product-card__body-background {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2.7rem;
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0.64) 0%,
		rgba(255, 255, 255, 1) 100%
	);
	backdrop-filter: blur(6px);
	z-index: -1;
}

.se-product-card__favorite-btn {
	margin: .75rem;
	padding: 0;
}

.se-product-card__favorite-btn .favbtn--false,
.se-product-card__favorite-btn .favbtn--true,
.se-product-card__favorite-btn .spinner-border {
	display: none;
}

.se-product-card__favorite-btn[aria-checked="false"][aria-busy="false"] .favbtn--false,
.se-product-card__favorite-btn[aria-checked="true"][aria-busy="false"] .favbtn--true,
.se-product-card__favorite-btn[aria-busy="true"] .spinner-border {
	display: inline-block;
}


.se-product-card__title {
	font-size: 1em;
	font-weight: 700;
	color: var(--bs-GSBlueSerious);
	line-height: 1.15;
}

.se-product-card__hat-icon {
	font-size: .9735rem;
	margin-right: .5rem;
}

.se-product-card__link {
}

.se-product-card__link:hover .se-product-card__title {
	text-decoration: underline;
}

.se-product-card__details,
.se-product-card__price {
	margin-top: .625rem;
}

.se-product-card__departure {
	font-size: .875rem;
	margin-bottom: .375rem;
}

.se-product-card__price-from {
	display: block;
	margin-bottom: .25rem;
	font-size: .875rem;
	color: var(--bs-gray-600);
	line-height: 1.15;
}

.se-product-card__price-from br {
	display: none;
}

.se-product-card__price-from--realtime {
	color: var(--bs-review);
	font-weight: 700;
}

.se-product-card__price-from--notRealtime {
	color: var(--bs-gray-500);
}

@media (min-width: 768px) {
	.se-product-card__price-from {
		margin-bottom: .5rem;
	}

	.se-product-card__price-from br {
		display: block;
	}
}


.se-product-card__featured {
	display: none;
	margin-top: 1rem;
	color: var(--bs-gray-600);
	font-size: .875rem;
	line-height: 1.15;
}

.se-product-card__featured li {
	display: flex;
	align-items: center;
	margin-bottom: .375rem;
}

.se-product-card__featured li:last-child {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.se-product-card {
		--card-font-size: .875rem;
		border: 1px var(--bs-secondary-border-subtle) solid;
	}

	.se-product-card:focus-within,
	.se-product-card:hover {
		box-shadow: var(--shadow-md);
		border: 1px var(--bs-gray-400) solid;
	}

	.se-product-card.se-product-card--bareboat {
		--thumbnail-width: 35%;
		--thumbnail-max-width: 17.5rem;
		flex-direction: row;
		min-height: 15rem;
	}

	.se-product-card.se-product-card--cruise {
		min-height: 20.5rem;
	}

	.se-product-card--bareboat .se-product-card__thumbnail {
		height: auto;
	}

	.se-product-card--cruise .se-product-card__thumbnail {
		height: 10rem;
	}

	.se-product-card--cruise .se-product-card__thumbnail img {
		bottom: -5.5rem;
	}

	.se-product-card--bareboat .se-product-card__thumbnail img {
		height: 100%;
	}

	.se-product-card--cruise .se-product-card__body-background {
		height: 3.7rem;
	}

	.se-product-card__departure {
		margin-bottom: auto;
	}

	.se-product-card__title {
		font-size: 1.25rem;
		font-weight: 400;
	}

	.se-product-card__details {
		font-size: 1rem;
		margin-top: 1rem;
	}

	.se-product-card__price {
		display: flex;
		flex-direction: column;
		align-items: end;
		flex: none;
		margin-top: 0;
		text-align: right;
	}

	.se-product-card--bareboat .se-product-card__price {
		margin-top: auto;
	}

	.se-product-card__price .btn {
		font-size: .875rem;
		padding: .5rem .75rem;
	}

	.se-product-card__featured-price {
		font-size: 1.25rem;
		font-weight: 700;
		color: var(--bs-gray-900)
	}

	.se-product-card__featured {
		display: block;
	}
}


/**
 * ===============================
 * Rating
 * ===============================
 * @see Compos\Rating
 */

.rating {
}


.rating__star {
}


.rating--span,
.rating--badge {
	display: inline-flex;
	align-items: center;
}


.rating--badge {
	line-height: 1;
}

.rating--range,
.rating--range-box {
	display: inline-flex;
	line-height: 1;
}

.rating--range > span,
.rating--range-box > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: .2em;
	color: var(--bs-review);
}

.rating--range-box > span {
	width: 2rem;
	height: 2rem;
	color: #fff;
	margin-right: .25rem;
	background-color: var(--bs-review);
	border-radius: var(--bs-border-radius-sm);
	font-size: 1.25rem;
}


/**
 * ===============================
 * Product Card
 * ===============================
 * @see Compos\ProductCard
 */

.product-card {
	--thumbnail-height: 10rem;
}

/*
 ##### Variants
*/

.product-card--small {
}

/*
 ##### Types
*/

/* Bareboat */
.product-card--bareboat {
}

.product-card--bareboat.product-card--medium {
	--thumbnail-height: 20rem;
}

.product-card--bareboat.product-card--tall {
	--thumbnail-height: 20rem;
}

/* Cruise */
.product-card--cruise {
	--thumbnail-height: 17.5rem;
}

/* Itinerary */
.product-card--itinerary {
}

/*
 ##### Members
*/


.product-card__thumbnail {
	position: relative;
	height: var(--thumbnail-height);
	margin-bottom: .75rem;
	border-radius: var(--bs-border-radius);
	overflow: hidden;
	background-color: var(--bs-gray-50);
}

.product-card__map {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 6rem;
	height: 3.5rem;
	z-index: 1;
	object-fit: cover;
}

.product-card__details {
	font-size: .9375rem; /* 15px */
	line-height: 1.25;
}


.product-card__link:hover .product-card__title {
	text-decoration: underline;
}

.product-card__price {
	margin-top: .5rem;
}

.product-card__price-from {
	font-size: .875rem;
}

@media (min-width: 991.98px) {
	/* Bareboat */
	.product-card--bareboat {
	}

	.product-card--bareboat.product-card--tall {
		--thumbnail-height: 25rem;
	}

	.product-card--cruise.product-card--tall .product-card__body {
		display: flex;
		align-items: start;
	}

	.product-card--cruise.product-card--tall .product-card__price {
		margin-top: 0;
		text-align: right;
	}
}

/**
 * ===============================
 * Main CTA
 * ===============================
 * @see Compos\MainCTA
 */

.main-cta {
	width: 100%;
}

.main-cta__profile {
	width: 4rem;
	height: 4rem;
}

.main-cta__btn {
	width: 100%;
}

@media (min-width: 768px) {
	.main-cta__btn {
		width: auto;
		background-color: #fff;
		color: var(--bs-primary)
	}
}

/**
 * ===============================
 * FAQ
 * ===============================
 * @see Compos\FAQ
 */

.faq > li + li {
	margin-top: 1rem;
}

.faq__item {
	border-radius: var(--bs-border-radius);
	border: 1px var(--bs-gray-200) solid;
	background-color: var(--bs-gray-50);
	overflow: hidden;
}

.faq__item-title {
	display: flex;
	align-items: center;
	padding: 1rem;
	background: #fff;
}

.faq__item-title::marker {
	content: "";
}

.faq__item-marker {
	flex: none;
	margin-left: 1rem;
	transition: transform 200ms;
}

.faq__item-content {
	margin: 1rem;
	max-width: 50rem;
	line-height: 1.5;
}

.faq__item[open] .faq__item-title {
	border-bottom: 1px var(--bs-gray-200) solid;
}

.faq__item[open] .faq__item-marker {
	transform: scaleY(-100%);
}

/**
 * ===============================
 * Related products
 * ===============================
 * @see Compos\RelatedProducts
 */

.related-products {
	--gap: 1.5rem;
	--reset-container-padding: 1.5rem;
}

.related-products__list {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: scroll;
	scrollbar-width: none;
	scroll-snap-type: x mandatory;

	/* Reset item padding & container margin */
	margin: 0 calc(var(--reset-container-padding) * -1);
}

.related-products__item {
	width: 66%;
	scroll-snap-align: start;
}

.related-products__item {
	padding-right: 0;
	padding-left: var(--reset-container-padding);
}

.related-products__item:last-child {
	padding-right: var(--reset-container-padding);
}

@media (min-width: 991.98px) {
	.related-products {
		--gap: 1.25rem;
		--reset-container-padding: .625rem;
	}

	.related-products__item {
		padding: 0 calc(var(--gap) / 2);
	}

	.related-products[data-columns="2"] .related-products__item {
		width: 50%;
	}

	.related-products[data-columns="3"] .related-products__item {
		width: calc(100% / 3);
	}

	.related-products[data-columns="4"] .related-products__item {
		width: 25%;
	}
}

/**
 * ===============================
 * Page header controls
 * ===============================
 */

.page-header__control {
	margin-bottom: .5rem;
	color: var(--bs-gray-900);
}

.page-header__control label,
.page-header__control .label {
	position: relative;
	display: block;
	border: 1px var(--bs-gray-300) solid;
	border-radius: var(--bs-border-radius);
}

.page-header__control-label {
	position: absolute;
	top: .625rem;
	left: 1rem;
	right: 1rem;
	font-size: .625rem;
	color: var(--bs-GSBlueSerious);
	line-height: 1.5;
	font-weight: bold;
	text-transform: uppercase;
	z-index: 1;
}

.page-header__control input,
.page-header__control select {
	border: none;
	margin-top: 1.125rem;
	padding: .625rem 1rem;
	line-height: 1.25;
}

.page-header__control input::placeholder,
.page-header__control select:has(option[value=""]:checked) {
	color: var(--bs-gray-500);
}

.page-header__control option:first-child {
}

.dropdown-menu.show {
	z-index: 99999;
}

/**
 * ===============================
 * ReviewCard
 * ===============================
 */
.review-card__layout {
	border-radius: .5rem;
	border: 1px solid #f3f4f6;
	background: #f9fafb;
	padding: 1.5rem;
}

.review-card__layout__separator {
	height: 1px;
	background: #d1d5db;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.review-card__layout__review .rating--range {
	margin-bottom: 1rem;
}

.review-card__layout__description__text {
	margin-left: .5rem;
	color: #4b5563;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 20px */
}

.card__layout__review__title {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
}

.card__layout__review__title:first-letter {
	text-transform: uppercase;
}

.card__layout__review__metadata {
	color: var(--bs-gray-500);
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	margin-bottom: 1rem;
	display: block;
	line-height: 1;
}

.card__layout__review__metadata-item {
	font-style: normal;
}

.card__layout__review__metadata-item + .card__layout__review__metadata-item:before {
	content: "·";
}

.card__layout__description__thumbnail {
	height: 45px;
	border-radius: 4px;
	max-width: 75px;
}

.card__layout__description__thumbnail__destination {
	color: #0e6ab7;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
}

.card__layout__description__thumbnail__boat-name {
	color: #4b5563;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	text-align: left;
}

.review-card__reply {
	margin-top: 1.5rem;
	padding: .25rem 1rem;
	/*background: ;*/
	/*background: var(--bs-gray-100);*/
	/*border-radius: var(--bs-border-radius);*/
	border-left: 2px solid var(--bs-gray-300);
}

.review-card__reply-title,
.review-card__reply-content {
	font-size: .875rem;
	color: var(--bs-gray-700);
}

.review-card__reply-title {
	font-weight: bold;
	margin-bottom: .25em;
}

@media (min-width: 992px) {
	.review-card__layout__description__text {
		margin-left: 0;
	}

	.review-card__layout__separator {
		width: 1px;
		margin: 0 1rem;
		height: auto;
	}

	.card__layout__description__thumbnail {
		max-width: 120px;
		height: 64px;
	}

	.review-card__layout__description a {
		align-items: last baseline;
	}
}

/**
 * Quote card
 */
.quote-card {
	border-radius: .5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	overflow: hidden;
	border: 1px solid #f5f5f4;
	background: #fafaf9;
	margin-bottom: 1rem;
}

.quote-card__image {
	width: 100%;
	height: auto;
	object-fit: cover;
	max-height: 10rem;
}

.quote-card__content__details {
	width: 100%;
	max-width: 22rem;
}

.quote-card__content__details, .quote-card__content__cta {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.quote-card__content__cta {
	padding: 0 1rem 1rem;
}

.quote-card__content__details__identifier {
	color: #6b7280;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 17.5px */
	text-transform: uppercase;
}

.quote-card__content__details__title, .quote-card__content__details__title--cruise {
	color: #0e6ab7;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 115%; /* 18.4px */
	max-width: 90% !important;
	text-overflow: ellipsis !important;
}

.quote-card__content__details__title--cruise {
	display: block;
	overflow-wrap: break-word;
	text-overflow: unset !important;
	white-space: normal !important;
	max-width: 100% !important;
}

.quote-card__content__details__rating {
	color: #03a46a;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: .8rem;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 14px */
	margin-left: .5rem;
}

.quote-card__content__details__rating span {
	margin-left: .25rem;
}

.quote-card__content__details__rating:hover {
	text-decoration: none;
	color: #03a46a;
}

.quote-card__content__date {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: .8rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 18.75px */
}

.quote-card__content__destination {
	color: #4b5563;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: .8rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%;
}

.quote-card__content__date--separator {
	margin-left: .5rem;
	margin-right: .5rem;
}

.quote-card__content__remove--button {
	position: absolute;
	top: .5rem;
	right: .5rem;
	border-radius: .25rem;
	background: #fff;
	display: inline-flex;
	padding: 7px 9px;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	flex-shrink: 0;
	border: none;
}

.card__content__cta__prices__origin {
	color: #6b7280;
	text-align: right;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 16px */
	text-decoration-line: line-through;
}

.quote-card__content__cta__prices__from {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: .8125rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 16.25px */
}

.quote-card__content__cta__prices__origin {
	color: #6b7280;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	text-decoration-line: line-through;
	margin-left: .5rem;
}

.quote-card__content__cta__prices__percentage {
	margin-left: .5rem;
	display: inline-flex;
	padding: 3px 4px;
	align-items: center;
	gap: .5rem;
	border-radius: .25rem;
	background: #ef4444;
	color: #fff;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss04' on, 'ss06' on, 'ss11' on, 'ss09' on, 'ss08' on, 'ss07' on, 'ss05' on, 'salt' on, 'ss03' on, 'ss02' on, 'ss01' on, 'ss10' on;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 14px */
}

.quote-card__content__cta__prices__reduced_price {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 700;
	line-height: 100%;
	margin-left: .5rem;
	margin-top: .5rem;
}

.quote-card__content__specs {
	color: #4b5563;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 18.75px */
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	width: 100%;
}

.quote-card__content__cta__button {
	display: inline-flex;
	padding: .5rem .75rem;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	border-radius: .25rem;
	border: 1px solid #0e6ab7;
	color: #0e6ab7;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'liga' off;
	font-family: "Noto Sans", sans-serif;
	font-size: 0.8rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 14px */
	transition: box-shadow 0.3s ease; /* Add transition effect */
}

.quote-card__content__remove--button {
	transition: transform 0.3s ease; /* Smooth transition for scale */
	z-index: 2;
}

.quote-card__content__cta__button:hover {
	box-shadow: 0 0 10px #0e6ab7; /* Light shadow on hover */
	background: transparent;
}

@keyframes shake {
	0% {
		transform: translateX(0);
	}
	25% {
		transform: translateX(-1px);
	}
	50% {
		transform: translateX(1px);
	}
	75% {
		transform: translateX(-1px);
	}
	100% {
		transform: translateX(1px);
	}
}

.quote-card__content__remove--button:hover {
	animation: shake 0.3s ease-in-out; /* Apply vibration animation on hover */
}

.quote-card__content__details__expire {
	color: #dc2626;
	text-align: right;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 17.5px */
}

.quote-card__content__details__expire__text {
	color: #dc2626;
	text-align: right;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 17.5px */
	margin-left: .25rem;
	margin-right: .25rem;
}

.quote-card__label {
	position: absolute;
	top: .5rem;
	left: .5rem;
}

.quote-card__recommended {
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	display: inline-flex;
	padding: 6px .5rem;
	gap: .25rem;
	border-radius: .25rem;
	background: #ef4444;
	margin-bottom: .5rem;
}

.quote-card__recommended span {
	color: #fff;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss04' on, 'ss06' on, 'ss11' on, 'ss09' on, 'ss08' on, 'ss07' on, 'ss05' on, 'salt' on, 'ss03' on, 'ss02' on, 'ss01' on, 'ss10' on;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 14px */
}

.link--hover:hover {
	text-decoration: none;
}

.quote-card__content__link {
	z-index: 1;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.account__info--description {
	display: flex;
	flex-direction: row;
	width: 100%;
	padding: .5rem 12px .5rem 12px;
	align-items: flex-start;
	gap: .75rem;
	border-radius: .5rem;
	background: #f5f5f4;
	margin-bottom: 1rem;
}

.account__info--description svg {
	/*margin-right: .5rem;*/
}

.account__info--description p, .account__info--description h5 {
	color: #374151;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: .9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 18.75px */
}

.account__info--description h5 {
	font-size: 1.2rem;
}

.card-skipper__label, .card-skipper__label span {
	color: #e27c08;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 17.5px */
}

.card-skipper__label svg {
	margin-right: .5rem;
}

.quote-card__content__cta__canceled,
.quote-card__content__cta__pending,
.quote-card__content__cta__waiting,
.quote-card__content__cta__confirmed,
.quote-card__content__cta__historical {
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: .9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 18.75px */
	margin-bottom: .5rem;
}

.quote-card__content__cta__canceled {
	color: #dc2626;
}

.quote-card__content__cta__pending {
	color: #ffb341;
}

.quote-card__content__cta__waiting {
	color: #0e6ab7;
}

.quote-card__content__cta__confirmed {
	color: #03a46a;
}

.quote-card__content__cta__historical {
	color: #374151;
}

.account__layout__content__section-advantages-access span {
	color: #0e6ab7;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'liga' off;
	font-family: "Noto Sans", sans-serif;
	font-size: .9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 15px */
}

.form-group__civility-name .form-group {
	width: 100%;
}

.form-group__civility-name {
	width: 100%;
}

.data_privacy_info a {
	text-decoration: underline;
}

.form-group-label {
	display: flex;
	flex-direction: row;
}

#new_required_element {
	margin-bottom: 1rem !important;
}

.form-group-label--error, #new_required_element {
	display: none;
	color: red;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%;
	margin-bottom: .5rem;
}

.has-error .form-group-label--error {
	display: block;
}

.has-error input, .has-error select, .has-error textarea {
	border: 1px solid red !important;
}

.form-group label {
	width: fit-content;
}

.bg-warning, .bg-warning h2 {
	color: #111827 !important;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%;
	margin-bottom: .5rem;
}

.bg-warning h2 {
	color: #111827 !important;
	font-family: "Noto Sans", sans-serif;
	font-size: 1.875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%;
	margin-bottom: .5rem;
}

.review__admin-card {
	border-radius: .5rem;
	background: #e7e5e4;
	padding: .625rem 1rem;
	width: 100%;
}

.review__admin-card img {
	border-radius: 6.1875rem;
	width: 4rem;
	object-fit: cover;
}

.review__admin-card h4 {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 16px */
}

.review__admin-card span {
	color: #4b5563;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: .75rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 15px */
	text-transform: uppercase;
}

.quote-review__layout--bottom--third label {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss04' on, 'ss06' on, 'ss11' on, 'ss09' on, 'ss08' on, 'ss07' on, 'ss05' on, 'salt' on, 'ss03' on, 'ss02' on, 'ss01' on, 'ss10' on;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 20px */
}

.quote-review__layout--bottom--third select {

}

.quote-review__layout--bottom--third textarea {

}

@media (min-width: 992px) {
	.quote-card {
		flex-direction: row;
	}

	.quote-card__image {
		width: 30%;
		/*max-width: 17.5rem;*/
		max-height: 12.5rem;
	}

	.quote-card__content__remove--button {
		background: #f5f5f4;
	}

	.quote-card__content__cta {
		width: 9rem;
	}

	.quote-card__content__details {
		width: 50%;
		max-width: 50%;
	}

	.quote-card__content__details h3, .quote-card__content__details span {
		width: auto;
		text-overflow: ellipsis; /* enables ellipsis */
		white-space: nowrap; /* keeps the text in a single line */
		overflow: hidden;
	}

	.quote-card__content__cta {
		background: #f5f5f4;
		width: 20%;
	}

	.quote-card__content__cta__prices {
		align-items: center !important;
		justify-content: center;
		height: 100%;
	}

	.quote-card__content__details__expire {
		margin-left: 1rem;
	}

	.form-group__civility-name .form-group:nth-child(1) {
		width: 20%;
	}

	.form-group__civility-name .form-group:nth-child(2), .form-group__civility-name .form-group:nth-child(3) {
		width: 38%;
	}

	.review__admin-card {
		width: 70%;
	}
}

/**
* ===============================
* Featured equipments
* ===============================
*/

.featured-equipments {
	margin: -.25rem;
}

.featured-equipments__item {
	display: inline-flex;
	align-items: center;
	padding: .125rem .375rem;
	margin: .25rem;
	font-size: var(--15-px);
	color: var(--bs-gray-700);
	background: var(--bs-gray-100);
	border-radius: var(--bs-border-radius-sm);
}

@media (min-width: 992px) {
	.featured-equipments__item {
		padding: .375rem .5rem;
		font-size: 1rem;
	}
}

/**
* ===============================
* Price Module
* ===============================
* @see Compos\PriceModule
*/

.price-module {
	--first-column-width: 15rem;
	--cell-height: 8.5rem;
	--scroll-shadow-start: rgba(0, 0, 0, 0.08);
	--scroll-shadow-end: rgba(0, 0, 0, 0);
	--outer-border: 1px var(--bs-gray-200) solid;
	position: relative;
}

.price-module__container {
	overflow-x: scroll;
	overflow-y: visible;
	scroll-snap-type: x mandatory;
}

.price-module__table {
	table-layout: fixed;
	width: max-content;
	border-collapse: separate;
	border-spacing: .5rem 0;
}

.price-module__table thead tr th:first-child,
.price-module__table tbody tr {
	display: none;
}

.price-module__product-header,
.price-module__period-header {
	line-height: 1.25;
	font-weight: normal;
}

.price-module__product-header {
	display: none;
	width: 15rem;
	position: absolute;
	left: 0;
	padding: 1rem;
}

.price-module__period-header {
	width: 10rem;
	height: 4.5rem;
	text-align: center;
	white-space: nowrap;
	background-color: #fff;
	border: var(--outer-border);
	border-bottom: 1px var(--bs-gray-100) solid;
	border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}

.price-module__price-cell,
.price-module__period-header {
	scroll-snap-align: center;
	user-select: none;
}

.price-module__product-header {
	border-left: var(--outer-border);
}

.price-module__product-header,
.price-module__price-cell {
	background-color: #fff;
}

.price-module__price-cell,
.price-module__product-header {
	height: var(--cell-height);
	vertical-align: center;
}

.price-module__price-cell {
	width: 10rem;
	border: var(--outer-border);
	border-top: none;
	border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
}

.price-module__price-container {
	position: relative;
	display: flex;
	height: 100%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1.25;
	border: none;
	border-radius: var(--bs-border-radius-sm);
	cursor: pointer;
	transition: border 75ms;
}

.price-module__price-cell.price-module__price-cell--sold-out,
.price-module__price-cell.price-module__price-cell--on-demand .price-module__price-container {
	font-size: var(--15-px);
	line-height: 1.25;
	letter-spacing: -0.025em;
	color: #07694a;
}

.price-module__price-cell.price-module__price-cell--sold-out {
	text-align: center;
	color: var(--bs-gray-400);
	cursor: default;
}

.price-module__original-price {
	font-size: .8125rem;
	color: var(--bs-gray-500);
	text-decoration: line-through;
	margin-bottom: .125rem;
	text-align: center;
}

.price-module__featured-price {
	color: var(--bs-body-color);
	text-align: center;
}

.price-module__price-cell:hover .price-module__featured-price {
	color: var(--bs-GSBlue);
}

.price-module__discount {
	position: absolute;
	top: .5rem;
	left: 0;
	color: #fff;
	font-size: .875rem;
	padding: .2rem .25rem;
	line-height: 1;
	border-radius: 0 var(--bs-border-radius-sm) var(--bs-border-radius-sm) 0;
	background-color: var(--bs-danger);
}

.price-module__price-cell-btn {
	flex: none;
	width: 100%;
	color: var(--bs-GSBlue);
	font-size: .875rem;
	background-color: #fff;
	border: none;
	border-top: 1px var(--bs-gray-200) solid;
}

.price-module__shadow {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1.5rem;
	z-index: 1;
}

.price-module__shadow-btn {
	--size: 2.5rem;
	position: absolute;
	width: var(--size);
	height: var(--size);
	display: none;
	align-items: center;
	justify-content: center;
	margin: 0 .5rem;
	color: var(--bs-GSBlue);
	top: calc(50% - (var(--size) / 2));
	background: #fff;
	border-radius: var(--bs-border-radius-pill);
	box-shadow: var(--shadow-md);
	border: 1px solid var(--bs-gray-200);
}

.price-module__shadow--left {
	left: 0;
	background: linear-gradient(90deg, var(--scroll-shadow-start) 0%, var(--scroll-shadow-end) 80%);
}

.price-module__shadow--right {
	right: 0;
	background: linear-gradient(-90deg, var(--scroll-shadow-start) 0%, var(--scroll-shadow-end) 80%);
}

.price-module__container[data-scroll-position=""] .price-module__shadow,
.price-module__container[data-scroll-position="start"] .price-module__shadow--left,
.price-module__container[data-scroll-position="end"] .price-module__shadow--right {
	display: none;
}

@media (min-width: 992px) {
	.price-module {
		--cell-height: 7rem;
	}

	.price-module__container {
		width: max-content;
		max-width: calc(100% - var(--first-column-width));
		margin-left: var(--first-column-width);
		border-radius: var(--bs-border-radius) var(--bs-border-radius) var(--bs-border-radius) 0;
		border: var(--outer-border);
		border-bottom: none;
	}

	.price-module__table {
		border-collapse: collapse;
	}

	.price-module__period-header {
		border-bottom: none;
	}

	.price-module__table thead tr th:first-child {
		display: table-row;
	}


	.price-module__table tbody tr {
		display: table-row;
	}

	.price-module__price-cell,
	.price-module__period-header {
		border-radius: 0;
		border: none;
		border-right: 1px var(--bs-gray-200) solid;
		scroll-snap-align: center;
		user-select: none;
	}

	.price-module tbody tr:last-child .price-module__price-cell {
		border-bottom: var(--outer-border);
	}

	.price-module__product-header {
		display: table-cell;
	}

	/* Remove unwanted border on edge columns */
	.price-module__period-header:first-child,
	.price-module__period-header:last-child,
	.price-module__price-cell:last-child {
		border-right: 0;
	}

	.price-module tr:nth-child(odd) .price-module__product-header,
	.price-module tr:nth-child(odd) .price-module__price-cell {
		background-color: var(--bs-gray-100);
	}

	/* Round first product header corner */
	.price-module tbody tr:first-child .price-module__product-header {
		border-radius: var(--bs-border-radius) 0 0 0;
		border-top: var(--outer-border);
	}

	/* Round last product header corner */
	.price-module tbody tr:last-child .price-module__product-header {
		border-radius: 0 0 0 var(--bs-border-radius);
		border-bottom: var(--outer-border);
	}

	.price-module__price-container {
		border: 2px transparent solid;
	}

	.price-module__price-cell:hover .price-module__price-container {
		border: 2px var(--bs-GSBlue) solid;
	}

	.price-module__price-container--on-request {
		color: var(--bs-GSBlue) !important;
		text-align: center;
	}

	.price-module__price-cell-btn {
		display: none;
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: .75rem;
		font-weight: bold;
		text-transform: uppercase;
		color: #fff;
		background-color: var(--bs-GSBlue);
		border: none;
	}

	.price-module__price-cell:hover .price-module__price-cell-btn {
		display: block;
	}

	.price-module__shadow-btn {
		display: flex;
	}

	.price-module__shadow--left {
		left: var(--first-column-width);
		border-radius: var(--bs-border-radius) 0 0 0;
	}

	.price-module__shadow--right {
		border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0;
	}
}

/**
 * Assurance card
 */
.assurance-card {
	border-radius: .5rem;
	background: #fafaf9;
	/* /shadow/base */
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.10);
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
}

.assurance-card__details {
	margin-bottom: 1.5rem;
}

.assurance-card__details h3 {
	color: #03a46a;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 24px */
}

.assurance-card__details p {
	color: #374151;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 24px */
	margin-top: .5rem;
	margin-bottom: .5rem;
}

.assurance-card__details a {
	color: #0e6ab7;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 24px */
}

.assurance-card__details a:hover {
	text-decoration: underline;
}

.assurance-card__illustration {
	border-top: 1px solid #e7e5e4;
	padding-top: 1.5rem;
}

.assurance-card__illustration--main {
	margin-top: .5rem;
	color: #03a46a;
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1.120rem;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 27px */
}

.assurance-card__illustration--info {
	color: #4b5563;
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 115%; /* 16.1px */
}

.advantage-card__bottom__button {
	background: #fff;
	color: var(--bs-GSBlue);
}

.advantage-card__bottom__button--code span {
	color: #4b5563;
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 24px */
}

.advantage-card__bottom__button--code .promo_code {
	color: #4b5563;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 150%;
	margin-left: .5rem;
}

@media (min-width: 991.98px) {
	.assurance-card {
		flex-direction: row;
		justify-content: space-between;
	}

	.assurance-card__details {
		margin-bottom: 0;
		margin-right: 1.5rem;
		width: 70%;
	}

	.assurance-card__illustration {
		width: 30%;
		max-width: 10rem;
		border-top: none;
		border-left: 1px solid #e7e5e4;
		padding-top: 0;
		padding-left: 1.5rem;
	}
}

.advantage-card {
	overflow: hidden;
	border-radius: .5rem;
	background: #fff;
	/* /shadow/md */
	box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 4px 6px -1px rgba(0, 0, 0, 0.10);
	max-width: 35.5rem;
	margin-bottom: 2rem;
}

.advantage-card img {
	width: 100%;
	object-fit: cover;
}

.advantage-card__description {
	padding: 1rem;
}

.advantage-card__description h4 {
	color: #054880;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 24px */
	margin-bottom: .5rem;
}

.advantage-card__description p {
	color: #374151;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 21px */
}

.advantage-card__bottom {
	display: flex;
	width: 100%;
	padding: 1rem;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	border-top: 3px dashed #e7e5e4;
	background: #fafaf9;
}

/**
 * ===============================
 * Expandable content Module
 * ===============================
 * @see Compos\ExpandableContent
 */

.expandable-content {
	--max-height: 25rem;
}

.expandable-content__container {
	position: relative;
	max-height: var(--max-height);
	overflow: hidden;
}

.expandable-content [data-show-on="expanded"],
.expandable-content--expanded [data-show-on="collapsed"] {
	display: none;
}

.expandable-content--expanded [data-show-on="expanded"] {
	display: initial;
}

.expandable-content--expanded .expandable-content__container {
	max-height: none;
}

.expandable-content__overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 7.5rem;
	background: linear-gradient(180deg, var(--expandableContent-color-start) 0%, var(--expandableContent-color-end) 93%);
}

.expandable-content--expanded .expandable-content__overlay {
	display: none;
}

.expandable-content__btn {
	display: flex;
	align-items: center;
	margin: 0 auto;
}

.expandable-content--expanded .expandable-content__btn svg {
	transform: scaleY(-100%);
}

@media (min-width: 991.98px) {
	.expandable-content__btn {
		border: none;
	}
}

/**
 * ===============================
 * Extras list module
 * ===============================
 * @see Compos\ExtrasList
 */

.extras-list {
	line-height: 1.25;
}

.extras-list__row-group {
	border: 1px var(--bs-gray-300) solid;
	border-radius: var(--bs-border-radius);
}

.extras-list__row-group + .extras-list__row-group {
	margin-top: 1rem;
}

.extras-list__row {
	display: flex;
	align-items: center;
	padding: 1rem;
}

.extras-list__row-header-description {
	max-width: 40rem;
}

.extras-list__row + .extras-list__row {
	border-top: 1px var(--bs-gray-100) solid;
}

.extras-list__cell-header {
	flex: 1;
	font-weight: normal;
}

.extras-list__cell-body {
	display: flex;
	flex-direction: column;
	align-items: end;
}

.extras-list__cell-status {
	font-size: .875rem;
}

.extras-list__cell-unitPrice,
.extras-list__cell-price {
	font-size: 1rem;
	text-align: right;
}

.extras-list__cell-priceContainer {

}

.extras-list__cell-priceContainer[data-with-total="false"] .extras-list__cell-price {
	display: none;
}

.extras-list__cell-priceContainer[data-with-total="false"] .extras-list__price-denominator {
	display: block;
	font-size: .825em;
}

.extras-list__cell-priceContainer[data-with-total="true"] .extras-list__cell-unitPrice {
	color: var(--bs-gray-500);
	font-size: .75em;
}

.extras-list__cell-priceContainer[data-with-total="false"] .extras-list__cell-unitPrice {
	font-size: 1em;
}

.extras-list__cell-price,
.extras-list__cell-status {
	flex: none;
}

.extras-list__cell-status + .extras-list__cell-price {
	margin-top: .125rem;
}

.extras-list__price-denominator {
	line-height: 1.25;
}

.extras-list__row--mandatory .extras-list__cell-status {
	color: var(--text-accent);
}

.extras-list__row--included .extras-list__cell-status {
	color: var(--bs-gray-500);
}

.extras-list__row--included-comfort-pack .extras-list__cell-status {
	color: var(--bs-GSBlue);
}

.extras-list__row--offered .extras-list__cell-status {
	color: var(--bs-review);
	font-weight: bold;
}

.extras-list__row--offered .extras-list__price-featured {
	color: var(--bs-gray-500);
	text-decoration: line-through;
}

.extras-list__checkbox {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	border: 1px var(--bs-gray-300) solid;
	color: var(--bs-gray-900);
	border-radius: .375rem;
	margin-right: .75rem;
	cursor: pointer;
}

.extras-list__checkbox:hover {
	border: 1px var(--bs-gray-500) solid;
}

.extras-list__checkbox svg {
	display: none;
	position: relative;
	left: -.05rem;
	font-size: 1.25rem;
}

input[type=checkbox]:checked + .extras-list__checkbox {
	color: var(--bs-GSBlue);
}

input[type=checkbox]:checked + .extras-list__checkbox svg {
	display: block;
}

input[type=checkbox]:disabled + .extras-list__checkbox {
	color: var(--bs-gray-400);
	background-color: var(--bs-gray-200);
	cursor: default;
}

input[type=checkbox]:disabled + .extras-list__checkbox:hover {
	border: 1px var(--bs-gray-300) solid;
}

/* Variants */

.extras-list__row--banner {
	display: block;
	padding: .5rem 1rem;
	background: var(--bs-gray-100);
	font-size: .875rem;
}

@media (min-width: 991.98px) {
	.extras-list {
		border: 1px var(--bs-gray-300) solid;
		border-radius: var(--bs-border-radius);
	}

	.extras-list__row-group {
		border: none;
		border-radius: 0;
	}

	.extras-list__row-group + .extras-list__row-group {
		border-top: 1px var(--bs-gray-300) solid;
		padding-top: 1.5rem;
		margin-top: 0;
	}

	.extras-list__row {
		align-items: center;
	}

	.extras-list__cell-body {
		flex: none;
		align-items: center;
		flex-direction: row;
	}

	.extras-list__cell-status {
		text-align: left;
		min-width: 7rem;
	}

	.extras-list__cell-priceContainer {
		width: 11.5rem;
	}

	.extras-list__cell-priceContainer,
	.extras-list__cell-status {
		margin-left: 1.5rem;
	}

	.extras-list__cell-status + .extras-list__cell-price {
		margin-top: 0;
	}

	.extras-list__price-featured {
		text-align: right;
		min-width: 5.5rem;
	}
}

.quote-card__company-name {
	color: #6b7280;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 115%; /* 16.1px */
}

.quote-card__content__details__price span {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 15px */
}

.quote-card__content__details__price span:nth-child(1) {
	font-size: .9375rem;
}

.quote-card__content__details__price span:nth-child(2) {
	font-size: 1rem;
	margin-left: .5rem;
}

.booking-card__cta {
	border-top: 1px solid #e7e5e4;
	background: #f5f5f4;
	padding: 1rem;
}

.redeemed_code, .promo_code {
	display: flex;
	flex-direction: row;
	color: #4b5563;
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 24px */
}

.promo_code {
	font-weight: 700;
	margin-left: .5rem;
}

.insurance__content .modal-body {
	padding: 2rem;
}

.insurance__button {
	display: flex;
	padding: .625rem .75rem;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	border-radius: .25rem;
	border: 1px solid #0e6ab7;
	background: #0e6ab7;
	color: #fff;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'liga' off;
	font-family: "Noto Sans", sans-serif;
	font-size: .9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 15px */
}

.insurance__button:hover {
	border: 1px solid #0e6ab7;
	background: #fff;
	color: #0e6ab7;
	text-decoration: none;
}

.modal__quote--delete .modal-header {
	padding: 0;
	border: none;
}

.modal__quote--delete .modal-footer button {
	margin: 0;
}

@media (min-width: 992px) {
	.booking-card__cta {
		border-top: 0;
		border-left: 1px solid #e7e5e4;
	}
}

/**
 * ===============================
 * Lib override: Featherlight
 * ===============================
 */

html body .featherlight {
	--control-size: 2.5rem
}

html body .featherlight .featherlight-content {
	position: initial;
	padding: 0;
	border-radius: var(--bs-border-radius);
	overflow: hidden;
	border-bottom: none;
}

html body .featherlight .featherlight-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: .5rem 1rem;
	text-align: center;
	color: var(--bs-gray-700);
	background-color: rgba(255, 255, 255, .64);
	backdrop-filter: blur(6px);
}

html body .featherlight .featherlight-previous,
html body .featherlight .featherlight-next {
	display: flex;
	position: absolute;
	top: calc(50% - (var(--control-size) / 2));
	left: unset;
	align-items: center;
	justify-content: center;
	width: var(--control-size);
	height: var(--control-size);
	border-radius: 50%;
	background-color: #fff;
	border: 1px var(--bs-gray-100) solid;
	box-shadow: var(--shadow-md);
}

html body .featherlight .featherlight-previous:hover,
html body .featherlight .featherlight-next:hover {
	background-color: var(--bs-gray-100);
	box-shadow: var(--bs-box-shadow-lg);
}

html body .featherlight .featherlight-previous {
	left: 1rem;
}

html body .featherlight .featherlight-next {
	right: 1rem;
}

html body .featherlight .featherlight-previous span,
html body .featherlight .featherlight-next span {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 18' fill='none'%3E%3Cpath d='m1.8 16.2 5.4-5.4m-5.4-9 5.4 5.4m0 3.6L9 9 7.2 7.2m0 3.6s.7-.7.7-1.8-.7-1.8-.7-1.8' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	display: block;
	position: relative;
	top: unset;
	left: unset;
	right: unset;
	bottom: unset;
	margin: 0;
	font-size: 1.125rem;
	text-shadow: none;
	width: 1em;
	height: 1em;
	line-height: 1;
}

html body .featherlight .featherlight-previous span {
	transform: scaleX(-100%);
}

@media (min-width: 992px) {
	html body .featherlight .featherlight-previous {
		left: 1.5rem;
	}

	html body .featherlight .featherlight-next {
		right: 1.5rem;
	}
}

/**
 * ===============================
 * Compo: Steps bar
 * ===============================
 @see Compos/StepsBar
 */

.steps-bar {
	--dot-size: 1.25rem;
	--bar-height: .125rem;
	--bar-color: var(--bs-gray-200);
	display: flex;
}

.steps-bar__step {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
}

.steps-bar__step-bar {
	position: relative;
	display: block;
	height: var(--bar-height);
	width: 100%;
	margin-right: 100%;
	margin-top: calc(var(--dot-size) / 2);
	margin-bottom: calc((var(--dot-size) / 2) + .5rem);
	background-color: var(--bar-color);
}

.steps-bar__step:first-child .steps-bar__step-bar {
	background-color: transparent;
}

.steps-bar__step[data-active="true"] .steps-bar__step-bar {
	--bar-color: var(--bs-GSBlue);
}

.steps-bar__step-bar:before {
	content: "";
	position: absolute;
	top: calc((var(--bar-height) / 2) - (var(--dot-size) / 2));
	right: calc(var(--dot-size) / -2);
	width: var(--dot-size);
	height: var(--dot-size);
	border-radius: 50%;
	background-color: var(--bar-color);
	z-index: 1;
}

/**
 * ===============================
 * Compo: Video player
 * ===============================
 * @see Compos/Video
 */


/*
 ********************
 *	Video player
 *********************
*/

.player {
	position: relative;
	line-height: 0;
}

.player--video {
}


.player--video video {
	position: relative;
	margin: 0;
	z-index: 0;
}

.player button {
	display: block;
	border: none;
	background: none;
	line-height: 1;
}

.player-controls {
	display: flex;
	align-items: center;
	color: #fff;
	padding: .25rem .125rem;
	line-height: 1;
}

.player--video .player-controls {
	position: absolute;
	bottom: .5rem;
	left: 1rem;
	right: 1rem;
	min-height: 2rem;
	border-radius: var(--bs-border-radius-lg);
	background: rgba(17, 24, 39, 0.4);
	z-index: 10;
}

.player-control__play {
	flex: none;
	color: #fff;
	font-size: 1.25rem;
	padding: .25rem;
}

.player-control__play > svg {
	display: none;
}

.player-control__progress {
	/* Reset the default appearance */
	-webkit-appearance: none;
	-moz-appearence: none;
	appearance: none;

	flex: 1 1 auto;
	height: .125rem;
	min-width: 0;
	margin: 0 .25rem;
	border: none;
	border-radius: .125rem;
	background: rgba(255, 255, 255, 0.6);
}

.player-control__progress::-moz-progress-bar,
.player-control__progress::-webkit-progress-value {
	background: #fff;
}

.player-control__progress:last-child {
	margin-right: .75rem;
}


.player[data-paused="true"] .player-control__play .play,
.player[data-paused="false"] .player-control__play .pause {
	display: block;
}

/**
 * ===============================
 * Compo: Pricebox
 * ===============================
 * @see Compos/PriceboxModule
 */

.pricebox {
	line-height: 1.25;
}


.pricebox__row {
	display: flex;
	padding: .75rem 1.5rem;
	margin: 0;
}

.pricebox__row + .pricebox__async-slot,
.pricebox__async-slot + .pricebox__row,
.pricebox__row + .pricebox__row {
	border-top: 1px var(--bs-gray-200) solid;
}

.pricebox__row--banner + .pricebox__row {
	border-top: none;
}

/* Async Slot */

.pricebox__async-slot [data-role="loader"] {
	display: none;
	height: 10rem;
	align-items: center;
	justify-content: center;
	color: var(--bs-GSBlue);
	font-size: 1.125rem;
}

.pricebox__async-slot[data-status="done"] [data-show-on="done"],
.pricebox__async-slot[data-status="error"] [data-show-on="error"],
.pricebox__async-slot[data-status="loading"] [data-show-on="loading"] {
	display: block;
}

.pricebox__async-slot[data-status="loading"] [data-show-on="loading"] {
	display: flex;
}


/* Accounting */

.pricebox__row--accounting {
	flex-direction: column;
	--title-fs: var(--15-px);
	--value-fs: var(--15-px);
}

.pricebox .accounting__line {
	display: flex;
	margin: 0;
}

.accounting__line + .accounting__line {
	margin-top: 1rem;
}

.pricebox dl {
	line-height: 1;
	margin: 0;
}

.pricebox dt,
.pricebox dd {
	flex: 1;
	margin: 0;
	font-weight: 400;
}

.pricebox dd {
	text-align: right;
}

.pricebox__row--accounting dl:first-child dt {
	font-size: var(--title-fs);
	font-weight: 400;
	padding-right: .5rem;
}

.pricebox__row--accounting dd {
	font-size: var(--value-fs);
}

.accounting__discount-badge {
	padding: .125rem .25rem;
	font-size: .875rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	background-color: var(--bs-danger);
	border-radius: var(--bs-border-radius-sm);
}

.accounting__line + .accounting__line--total {
	padding-top: .75rem;
	border-top: 1px var(--bs-gray-200) solid;
}

.accounting__line--total + .accounting__line--total {
	padding-top: .5rem;
	margin-top: .25rem;
	border-top: none;
}

.accounting__line--total dd {
	flex: none;
}

/* Banner */

.pricebox__row.pricebox__row--banner {
	--bg-color: var(--bs-danger);
	--text-color: #fff;
	padding-top: .375rem;
	padding-bottom: .375rem;
	font-size: .875rem;
	font-weight: 700;
	line-height: 1;
	align-items: center;
	justify-content: center;
	background-color: var(--bg-color);
	color: var(--text-color);
	border: none;
}

/* To be paid */

.pricebox__row--toBePaid {
	display: block;
}

.pricebox__row--toBePaid dd {
	flex: none;
}

/* Total */

.pricebox__row--total {
	display: block;
	font-size: 1.125rem;
}

.pricebox__row--total dd {
	font-size: 1.25rem;
}

/**
COMPOS QuoteReviewCard
 */
.quote-review__layout {
	margin-bottom: 2rem;
	border-radius: var(--bs-border-radius);
	border: 1px solid var(--bs-gray-200);
	overflow: hidden;
}

.quote-review__layout--bottom {
	border-top: 1px solid var(--bs-gray-200);
	border-radius: 0 0 .5rem .5rem !important;
	background: #f5f5f4 !important;
}

.quote-review__layout--bottom h3 {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss08' on, 'ss05' on;
	font-family: "Noto Sans", sans-serif;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 20px */
	margin-bottom: .5rem;
}

.quote-review__layout--bottom p {
	color: #4b5563;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 20px */
	margin-bottom: 1.5rem;
}

.quote-review__layout--bottom--first, .quote-review__layout--bottom--second, .quote-review__layout--bottom--third {
	padding: 1.25rem 1.5rem;
	min-height: 7rem;
}

.rating-choice {
	display: flex;
	padding: 1rem 1.25rem;
	max-width: 9rem;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	flex: 1 0 0;
	border-radius: .5rem;
	background: #fff;
	/* /shadow/base */
	box-shadow: var(--bs-box-shadow);
	border: 1px transparent solid;
}

.withRating {
	display: flex;
}

.withoutRating {
	display: none;
}

.rating-choice:hover {
	box-shadow: var(--shadow-md);
	border-color: var(--bs-gray-600);
	cursor: pointer;
}

.quote-review__layout--bottom--second {
	width: 100%;
}

.quote-review__layout--bottom--first ol {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 0;
	justify-content: space-between;
}

.quote-review__layout--bottom--first ol li {
	margin-bottom: .5rem;
}

.quote-review__layout--bottom--first ol li:last-child {
	width: 100%;
	display: flex;
	justify-content: center;
}

.quote-review__layout--bottom--second .form-group {
	width: 100%;
	margin-bottom: 2rem;
}

.quote-review__layout--bottom--second .form-group label {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss04' on, 'ss06' on, 'ss11' on, 'ss09' on, 'ss08' on, 'ss07' on, 'ss05' on, 'salt' on, 'ss03' on, 'ss02' on, 'ss01' on, 'ss10' on;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 20px */
	margin-bottom: .5rem;
}

.quote-review__layout--bottom--second .form-group input, .quote-review__layout--bottom--second .form-group textarea {
	border-radius: .5rem;
	border: 1px solid #d1d5db;
	background: #fff;
}

.review-rating__select, .quote-review__layout--bottom--third select {
	background: #ffffff !important;
	width: 100%;
	border-radius: .5rem;
	border: 1px solid #d1d5db;
	padding: 0;
}

.review-rating__select option, .quote-review__layout--bottom--third option {
	width: 100%;
	display: block;
	padding: .625rem;
	border-bottom: 1px solid #d1d5db;
	text-align: center;
}

.quote-review__button {
	color: #fff;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'liga' off;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 16px */
}

.review-rating__select option:checked, .review-rating__select option:focus {
	background: #111827;
	color: white;
}

.quote-request-previous-button {
	display: flex;
	padding: 10px 12px;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	border-radius: .25rem;
	border: 1px solid var(--bs-GSBlue);
	background: #fff;
	color: var(--bs-GSBlue);
}

.quote-request-previous-button:hover {
	border: 1px solid var(--bs-GSBlue);
	background: var(--bs-GSBlue);
	color: #fff;
}

.quote-request__content--third-step {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-left: 7.5rem !important;
	padding-right: 7.5rem !important;
}

.quote-request__content--third-step p {
	color: #111827;
	text-align: center;
	font-variant-numeric: oldstyle-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 24px */
	margin-bottom: 2rem;
}

.quote-request__content--third-step .back-home-button {
	border-radius: .25rem;
	border: 1px solid #0e6ab7;
	background: transparent;
	display: inline-flex;
	padding: .75rem .875rem;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	color: #0e6ab7;
	margin-bottom: 1.5rem;
}

.quote-request__content--third-step .back-home-button span {
	color: #0e6ab7;
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'liga' off;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 16px */
	margin-bottom: 0;
}

.quote-request__content--third-step .separator {
	width: 60%;
	border-bottom: 1px solid #e5e7eb;
	margin-bottom: 1.5rem;
}

.quote-request__content--third-step span {
	color: #111827;
	text-align: center;
	font-variant-numeric: oldstyle-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 24px */
	margin-bottom: 1rem;
}

.quote-request__content--third-step a {
	color: #0e6ab7;
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 18px */
}

@media (min-width: 500px) and (max-width: 767px) {
	.quote-review__layout--bottom--first ol {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		padding: 0;
		justify-content: space-between;
	}

	.quote-review__layout--bottom--first ol li {
		margin-bottom: .5rem;
		width: 50%;
		display: flex;
		justify-content: center;
	}
}

@media (min-width: 992px) {
	.quote-review__layout--bottom--first ol {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		padding: 0;
		justify-content: space-between;
	}

	.quote-review__layout--bottom--first ol li:last-child {
		width: auto;
	}

	.quote-review__layout--bottom--second .form-group {
		width: 75%;
		margin-bottom: 2rem;
	}

	.review-rating__select {
		display: block;
		height: 2.8rem;
	}

	.review-rating__select option {
		width: 20%;
		display: inline-block;
		padding: .65rem;
		border-right: 1px solid #d1d5db;
		border-bottom: 0;
		text-align: center;
	}

	/* sidebar width */
	.layout-sidebar__width {
		width: 23.75rem;
	}
}

/* special class for datepicker title */
.datepicker-extra-title {
	font-weight: 500;
	font-size: 1.2rem;
	padding: .5rem .8rem;
	border-bottom: 1px var(--bs-gray-300) solid;
	background: #f2f2f2;
}

.datepicker-legend {
	padding: .5rem .8rem;
	border-top: 1px var(--bs-gray-300) solid;
	font-size: .8rem;
	color: #808080;
	text-align: center;
}

.datepicker-legend span {
	background: var(--bs-gray-100);
	padding: 2px;
	display: inline-block;
	width: 20px;
	margin-right: 8px;
}

/**
CAMPAIGN CARD
 */
.campaign-card {
	border-radius: .5rem;
	border: 1px solid #c5c5c5;
}

.campaign-card p {
	color: #374151;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 24px */
}

.campaign-card h4 {
	color: #054880;
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss02' on, 'ss01' on, 'ss03' on, 'ss11' on, 'ss09' on, 'ss10' on, 'ss05' on, 'ss07' on, 'ss08' on;
	font-family: "Noto Sans", sans-serif;
	font-size: 2rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 50px */
	letter-spacing: -1px;
	margin-bottom: 1rem;
}

/**
Payment state card
 */
.payment-state-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	align-self: stretch;
	border-radius: .5rem;
	border: 1px solid #e7e5e4;
	background: #fff;
	margin-bottom: 1rem;
}

.payment-completed {
	border: 1px solid #03a46a;
}

.payment-pending {
	border: 1px solid #e7e5e4;
}

.payment-pending-bank-confirmation {
	border: 1px solid #0e6ab7;
}

.payment-overdue {
	border: 1px solid #dc2626;
}

.payment-state-card__top, .payment-state-card__bottom {
	width: 100%;
}

.payment-state-card__top {
	padding: 1rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.payment-state-card__top-left {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: start;
}

.payment-state-card__top-left__date {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 16px */
}

.payment-state-card__top-left__card-type {
	margin-top: .3125rem;
	color: #4b5563;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: .875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 14px */
}

.payment-state-card__top-left__price {
	color: #111827;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 16px */
}

.payment-state-card__bottom {
	padding: 1rem;
	border-top: 1px solid #e7e5e4;
	background: #fafaf9;
	border-radius: 0 0 .5rem .5rem;
}

.payment-state-card__bottom--completed {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.payment-state-card__bottom--completed--green, .payment-state-card__bottom--completed--blue {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.payment-state-card__bottom--completed--green {
	color: #03a46a;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 20px */
}

.payment-state-card__bottom--completed--blue {
	color: #0e6ab7;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 16px */
}

.payment-state-card__bottom--completed--green span {
	margin-left: .5rem;
}

.payment-state-card__bottom--confirmed-overdue {
	display: flex;
	flex-direction: row;
}

.payment-state-card__bottom--confirmed-overdue h6 {
	color: #dc2626;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 20px */
}

.payment-state-card__bottom--pending {
	display: flex;
	flex-direction: row;
	justify-content: end;
	align-items: center;
}

.payment-state-card__pay-button-blue {
	margin-top: 1rem;
	background: var(--bs-GSBlue);
	color: #fff;
}

.payment-state-card__pay-button-white {
	background: #fff;
	color: var(--bs-GSBlue);
}

.payment-state-card__pay-button-blue, .payment-state-card__pay-button-white {
	border-radius: .5rem;
	border: 1px solid var(--bs-GSBlue);
	display: flex;
	padding: .625rem .75rem;
	justify-content: center;
	align-items: center;
	gap: 8px;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'liga' off;
	font-family: "Noto Sans", sans-serif;
	font-size: .9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 15px */
}

.payment-state-card__pay-button-white:hover, .payment-state-card__pay-button-blue:hover {
	box-shadow: 0 2px 4px rgba(14, 106, 183, 0.3);
	text-decoration: none;
}

.payment-state-card__pay-button-white svg, .payment-state-card__pay-button-blue svg {
	transition: transform 0.3s ease; /* Add transition for smooth effect */
}

.payment-state-card__pay-button-blue:hover {
	color: #fff;
}

.payment-state-card__bottom--pending-bank-transfer {
	display: flex;
	flex-direction: row;
}

.payment-state-card__bottom--pending-bank-transfer h6 {
	color: var(--bs-GSBlue);
	font-size: 1rem;
	font-weight: 700;
	line-height: 125%; /* 20px */
}

.payment-state-card__bottom--pending-bank-transfer p, .payment-state-card__bottom--confirmed-overdue p {
	color: #4b5563;
	font-size: .875rem;
	font-weight: 400;
	line-height: 115%; /* 16.1px */
}

.payment-state-card__bottom--text {
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-style: normal;
	width: 90%;
}

.already-subscribed {
	color: #03a46a;
	text-align: right;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%; /* 24px */
	margin-left: .5rem;
}

/*
 ********************
 *	Section: reviews
 *********************
*/

.page-product-reviews__rating {
	display: flex;
	align-items: center;
	font-size: 1rem;
	color: var(--bs-review);
}

@media (min-width: 992px) {
	.page-product-reviews__rating {
		font-size: 1.375rem;
	}
}


/*
 ********************
 *	Sections (all)
 *********************
*/

.page-product__section {
	scroll-margin-top: 2rem;
}

.page-product__section-title {
	font-size: 1.5rem;
	color: var(--bs-GSBlueSerious);
	font-weight: 400;
	margin-bottom: 1.5rem;
}

@media (min-width: 992px) {
	.page-product__section-title {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
}

.booking-detail__document__li_a--mobile {
	display: flex;
	flex-direction: row;
	justify-content: start;
	align-items: center;
	gap: .5rem;
	flex: 1 0 0;
	color: #0e6ab7;
}

.booking-detail__document__li_a--mobile span {
	color: #0e6ab7 !important;
	text-decoration: underline !important;
}

.booking-detail__important-info {
	display: flex;
	padding: 1rem;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	align-self: stretch;
	border-radius: .5rem;
	border: 1px solid var(--bs-GSBlue);
	background: #fff;
	margin-top: 1rem;
}

.booking-detail__important-info svg {
	margin-right: .5rem;
}

.booking-detail__important-info p {
	width: 90%;
}

/**
Insurance and services modal
 */

#view_service_details_modal h2, #view_insurance_details_modal h2, #view_service_details_modal h3, #view_insurance_details_modal h3 {
	color: var(--bs-GSBlueSerious);
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: 'ss02' on, 'ss01' on, 'ss03' on, 'ss11' on, 'ss09' on, 'ss10' on, 'ss05' on, 'ss07' on, 'ss08' on;
	/* Account/Section title */
	font-family: "Noto Sans", sans-serif;
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 400;
	line-height: 125%; /* 30px */
	letter-spacing: -0.6px;
	margin-bottom: .5rem;
}

#view_service_details_modal h1, #view_insurance_details_modal h1 {
	color: #03a46a;
	font-size: 16px;
	padding: 0 0 5px 0;
	margin-bottom: .5rem;
}

#view_service_details_modal .assurance-card, #view_insurance_details_modal .assurance-card {
	background: transparent;
}

#view_service_details_modal b, #view_insurance_details_modal b, #view_service_details_modal strong, #view_insurance_details_modal strong {
	color: var(--bs-GSBlueSerious);
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 125%; /* 20px */
}

#view_service_details_modal p, #view_insurance_details_modal p, #view_service_details_modal li, #view_insurance_details_modal li {
	color: #374151;
	font-variant-numeric: lining-nums proportional-nums;
	font-family: "Noto Sans", sans-serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400 !important;
	line-height: 150%;
	margin-top: .5rem;
	margin-bottom: .5rem;
}

/* consent mode - cookies */
.consent-mode-msg {
	position: fixed;
	z-index: 99999999;
	width: 100%;
	bottom: 40px;
	left: 0;
	padding: 0 .6rem;
	pointer-events: none;
}

.consent-mode-msg_box {
	max-width: 600px;
	margin: auto;
	background: white;
	border: 1px solid #6b7280;
	pointer-events: auto;
}

/* Define a blinking animation */
@keyframes blink {
	0% {
		opacity: 1;
	}
	25% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
	75% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

/* Apply the blinking animation to the div */
.blinking {
	animation: blink 2s infinite;
}

/*
 ********************
 *	Chat
 *********************
*/

.chat-module {
	--clear-space: .5rem;
	--bottom-offset: var(--fixed-bottom-offset);
	position: fixed;
	bottom: var(--bottom-offset);
	right: 0;
	left: 0;
	padding: var(--clear-space);
	z-index: 1021;
}

.chat-module[data-open="true"] {
	top: 0;
	background: rgba(68, 64, 60, 0.66);
}

.chat-module[data-open="true"] .chat-bubble {
	display: none;
}

.chat-module[data-open="true"] .chat-dialog {
	display: flex;
}

.chat-module[hideOnMobile] {
	display: none;
}

@media (min-width: 992px) {
	.chat-module[data-open="true"] {
		top: auto;
		background: none;
	}

	.chat-module[hideOnMobile] {
		display: initial;
	}
}

.chat-container {
	position: relative;
	height: 100%;
	margin: 0 auto;
	max-width: 1900px;
}

.chat-dialog {
	position: absolute;
	bottom: 0;
	right: 0;
}

.chat-bubble__wrapper {
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: end;
	justify-content: end;
}

/* Chat bubble */

.chat-bubble {
	position: relative;
	display: flex;
	align-items: center;
	padding: .625rem .875rem;
	font-size: 1rem;
	color: #fff;
	line-height: 1.25;
	background: var(--bs-GSBlue);
	border: none;
	border-radius: var(--bs-border-radius-pill);
	box-shadow: var(--shadow-md);
	z-index: 10;
}

.chat-bubble:hover,
.chat-bubble:active {
	background: var(--bs-GSBlueSerious);
}

.chat-bubble__dot {
	position: absolute;
	right: 0;
	top: -.375rem;
	width: 1rem;
	height: 1rem;
	border-radius: var(--bs-border-radius-pill);
	background: var(--bs-accent);
	animation: 750ms ease-out 0s infinite alternate-reverse both chatDotBlink;
}

@keyframes chatDotBlink {
	0% {
		opacity: 0;
	}
	66% {
		opacity: 1;
	}
}

@media (min-width: 992px) {
	.chat-bubble {
		padding: .375rem .625rem;
		font-size: .875rem;
	}
}

/* Chat notification */

.chat-notification {
	margin-bottom: .25rem;
	max-width: 15rem;
	padding: .5rem .625rem;
	font-size: .875rem;
	line-height: 1;
	color: var(--bs-gray-700);
	border-radius: var(--bs-border-radius);
	background: #fff;
	text-wrap: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-shadow: var(--shadow-md);
	opacity: 1;
	transition: opacity 250ms;
	animation: 500ms ease-out 0s chat-notif;
}

.chat-notification--hidden {
	opacity: 0;
}

@keyframes chat-notif {
	from {
		opacity: 0;
		transform: translateY(100%);
	}
	to {
		opacity: 1;
		transform: translateY(0%);
	}
}

/* Chat dialog */

.chat-dialog {
	width: 100%;
	height: 75vh;
	max-height: calc(100vh - var(--bottom-offset) - (var(--clear-space) * 2));
	display: none;
	flex-direction: column;
	color: var(--bs-gray-900);
	background: #fff;
	border: 1px var(--bs-gray-200) solid;
	box-shadow: var(--bs-box-shadow-lg);
	border-radius: var(--bs-border-radius-lg);
	overflow: hidden;
}

.chat-dialog__header {
	display: flex;
	align-items: center;
	padding: 0 .5rem;
	font-size: .875rem;
	background: var(--bs-gray-50);
	box-shadow: var(--shadow);
}

.chat-dialog__header button {
	width: 2.25rem;
	height: 3rem;
	flex: none;
	font-size: 1.25rem;
	background: none;
	border: none;
}

.chat-dialog__header button svg {
	top: .1em;
}

.chat-dialog__header button:hover {
	background: var(--bs-gray-100);
}

.chat-dialog__loader {
	display: none;
	position: absolute;
	right: .5rem;
	bottom: 3rem;
	text-align: center;
	padding-right: .25rem;
	padding-bottom: .25rem;
}

.chat-dialog__profile {
	width: 2rem;
	height: 2rem;
	margin-right: .5rem;
	object-fit: cover;
	border-radius: 1rem;
	border: 1px var(--bs-gray-300) solid;
}

.chat-dialog__loader .spinner-border {
}

.chat-dialog[data-status="loading"] .chat-dialog__loader {
	display: block;
}

.chat-dialog__footer {
	background: #fff;
	box-shadow: 0 -2px 8px -1px rgba(0, 0, 0, 0.08);
}

.chat-dialog__form {
	display: flex;
	align-items: center;
}

.chat-dialog__form textarea {
	flex: 1;
	height: 3rem;
	padding: .75rem .75rem;
	font-size: var(--15-px);
	border: none;
	resize: none;
}

.chat-dialog__form textarea:focus-visible {
	outline: 0;
}

.chat-dialog__form button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	flex: none;
	font-size: 1rem;
	color: #fff;
	background: var(--bs-GSBlue);
	border: none;
	border-radius: var(--bs-border-radius);
	overflow: hidden;
	padding: 0;
}

.chat-dialog__form button:hover:not(:disabled) {
	background: var(--bs-GSBlueSerious);
	color: #fff;
}

.chat-dialog__form button:disabled {
	background: var(--bs-gray-500);
}

@media (min-width: 576px) {
	.chat-dialog {
		height: 27rem;
		max-width: 20rem;
	}
}

/* Message */

.chat-message__container {
	margin: .5rem;
}

.chat-message__container:first-child {
	margin-top: 1rem;
}

[data-direction="out"] .chat-message {
	margin-right: 0;
	margin-left: auto;
}

[data-direction="out"] + [data-direction="in"],
[data-direction="in"] + [data-direction="out"] {
	margin-top: 1.5rem;
}

.chat-message {
	max-width: 17.5rem;
	margin-right: auto;
}

.chat-message__body {
	padding: .5rem;
	margin-bottom: .25rem;
	font-size: var(--15-px);
	color: var(--bs-gray-700);
	background: var(--bs-gray-100);
	border-radius: var(--bs-border-radius);

	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
}

[data-direction="in"] .chat-message__body {
	color: #fff;
	background: var(--bs-GSBlue);
}

[data-direction="in"] .chat-message__body a {
	color: #fff;
}

[data-direction="in"] .chat-message__body a:hover {
	color: #fff;
	opacity: .88;
}

[data-direction="in"] .chat-message__body a:focus-visible,
[data-direction="in"] .chat-message__body a:focus {
	outline: 1px dotted #fff;
}

.chat-message__footer {
	padding-left: .125rem;
	font-size: .75rem;
	color: var(--bs-gray-500);
}

.chat-message__footer span + span:before {
	content: "\0000b7";
	margin: 0 .2rem;
}

/*
 ********************
 *	Gallery
 *********************
*/

.pp-gallery {
	position: fixed;
	display: flex;
	flex-direction: column;
	top: 0;
	right: 0;
	bottom: var(--fixed-bottom-offset);
	left: 0;
	background: #fff;
	z-index: 1002;
}

.pp-gallery.opening {
	animation: 250ms ease-out both gallerySlideIn;
}

.pp-gallery.closing {
	animation: 150ms ease-in both reverse gallerySlideIn;
}

@keyframes gallerySlideIn {
	0% {
		opacity: 0;
		transform: translateY(1rem);
	}
	75% {
		opacity: 1;
	}
	100% {
		transform: translateY(0);
	}
}

.pp-gallery__header {
	flex: none;
	background: #fff;
	border-bottom: 1px solid var(--bs-gray-100);
}

.pp-gallery__header > div {
	display: flex;
	align-items: center;
	height: 3rem;
	overflow: hidden;
}

.pp-gallery__btn-back {
	flex: none;
	position: relative;
	left: -1rem;
	justify-self: start;
	color: var(--bs-GSBlue);
	background-color: transparent;
	transition: background-color 75ms;
}

.pp-gallery__btn-back:hover {
	color: var(--bs-GSBlueSerious);
	background-color: var(--bs-gray-100);
}

.pp-gallery__title {
	flex: 1;
	font-size: .75rem;
	line-height: 1;
	font-weight: 400;
	color: var(--bs-gray-900);
	text-align: right;
	text-wrap: balance;
}

.pp-gallery__body {
	flex: 1;
	overflow: auto;
}

.pp-gallery__section {
	max-width: 48rem;
	margin: 0 auto;
}

.pp-gallery__section + .pp-gallery__section {
	margin-top: 4rem;
}

.pp-gallery__section-title {
	margin-bottom: 1rem;
	font-size: 1.25rem;
	color: var(--bs-gray-900);
}

.pp-gallery__list {
	display: grid;
	grid-template-columns: [start] 1fr 1fr [end];
	grid-gap: .5rem;
}

[data-gallery-open]:not(button):not(.clickable):not(img),
.pp-gallery__cell {
	position: relative;
	cursor: pointer;
}

[data-gallery-open]:not(button):not(.clickable)::after,
.pp-gallery__cell:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(28, 25, 23, 0);
	transition: background-color 75ms;
}

[data-gallery-open]:not(button):not(.clickable):hover::after,
.pp-gallery__cell:hover::after {
	background: rgba(28, 25, 23, .16);
}

img[data-gallery-open] {
	--brightness: 100%;
	filter: brightness(var(--brightness));
	transition: filter var(--transition-ms);
	cursor: pointer;
}

img[data-gallery-open]:hover {
	--brightness: 84%;
}

.pp-gallery__cell--large {
	grid-column: span 2;
	height: 15rem;
}

.pp-gallery__cell--medium {
	grid-column: span 1;
	height: 7.5rem;
}

.pp-gallery__cell img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (min-width: 992px) {
	.pp-gallery__header > div {
		display: grid;
		grid-template-columns: 1fr 4fr 1fr;
		grid-column-gap: .5rem;
	}

	.pp-gallery__title {
		text-align: center;
		font-size: 1rem;
	}

	.pp-gallery__cell--large {
		height: 20rem;
	}

	.pp-gallery__cell--medium {
		height: 15rem;
	}
}

/*
 ********************
 *	Bento
 *********************
*/

.bento {
	--bento-gap: .5rem;
	display: flex;
	flex-direction: column;
	grid-gap: var(--bento-gap);
	margin: 0;
}

.bento__6x6 {
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: repeat(6, 1fr);
}

@media (min-width: 992px) {
	.bento {
		display: grid;
		height: 40rem;
	}
}

/*
 ********************
 *	Pre-header banner
 *********************
*/

.preHeaderBanner {
	display: block;
	padding: .5rem 1rem;
	font-size: .75rem;
	color: var(--text-on-accent);
	background: var(--bs-accent);
	cursor: pointer;
}

.preHeaderBanner:hover {
	color: #fff;
}

.preHeaderBanner__container {
	margin: 0 auto;
	text-align: center;
}

@media (min-width: 768px) {
	.preHeaderBanner {
		font-size: .875rem;
	}
}