
/*

font-family: "Open Sans", serif;
font-weight: 300/400/500/600/700/800;

// font-family: "Lustria", serif;
// font-weight: 400;

LIGHT BEIGE: #E2DFD9 (226,223,217)
BEIGE: #DCD8CE (220,216,206)
DARK BEIGE: #B0AAA0 (176,170,160)

BLACK: #222 (34,34,34)

*/

* { 
	border: 0;
	padding: 0;
	margin: 0; 
}

/* webfonts */

@font-face {
	font-family: "AmericanaStdRoman";
	src: url('/_webfonts/AmericanaStdRoman/font.woff2') format('woff2'), url('/_webfonts/AmericanaStdRoman/font.woff') format('woff');
}

/* colors */

:root {
	--black: #222;
	--white: #FFF;
	--beige: #DCD8CE;
	--light_beige: #E2DFD9;
	--dark_beige: #B0AAA0;
}

/* general */

body {
	font-family: "Open Sans", sans-serif;
	font-weight: 300;
	font-size: 16px;
	color: #222;
	background: #DCD8CE;
}

.body_bg_E2DFD9 {
	background: #E2DFD9;
}

.body_bg_DCD8CE {
	background: #DCD8CE;
}

.body_bg_B0AAA0 {
	background: #B0AAA0;
}

.body_bg_FFFFFF {
	background: #FFFFFF;
}

.body_bg_222222 {
	background: #222222;
}

br.clear {
	clear: both;
}

br.clear720 {
	display: none;	
}

/* wrapper */

.wrapper {
	margin: 0 auto;
	max-width: 1440px;
	position: relative;
}

.wrapper1280 {
	margin: 0 auto;
	max-width: 1280px;
}

.wrapper1200 {
	margin: 0 auto;
	max-width: 1200px;
}

.wrapper1120 {
	margin: 0 auto;
	max-width: 1120px;
}

.wrapper1040 {
	margin: 0 auto;
	max-width: 1040px;
}

.wrapper960 {
	margin: 0 auto;
	max-width: 960px;
}

.wrapper880 {
	margin: 0 auto;
	max-width: 880px;
}

.wrapper800 {
	margin: 0 auto;
	max-width: 800px;
}

.wrapper720 {
	margin: 0 auto;
	max-width: 720px;
}

.wrapper640 {
	margin: 0 auto;
	max-width: 640px;
}

/* header */

.header {
	position: fixed;
	width: 100%;
	height: auto;
	z-index: 500;
	top: 75px;
	box-sizing: border-box;
}

/* logo */

.header img.logo {
	float: left;
	height: 35px;
	transition: all 0.3s;
}

.header img.logo.white {
	display: none;
}

.header img.logo.hidden {
	opacity: 0;
}

/* white header */

.header.white img.logo.white {
	display: block;
}

.header.white img.logo.black {
	display: none;
}

/* black header */

.header_bg_222222 img.logo.white {
	display: block;
}

.header_bg_222222 img.logo.black {
	display: none;
}

/* hamburger */

.hamburger {
	position: absolute;
	top: 5px;
	right: 0;
	margin: 0 !important;
	outline: none;
}

.header.white .hamburger-inner, 
.header.white .hamburger-inner::before, 
.header.white .hamburger-inner::after {
	background-color: var(--white) !important;	
}

.header_bg_222222 .hamburger-inner, 
.header_bg_222222 .hamburger-inner::before, 
.header_bg_222222 .hamburger-inner::after {
	background-color: var(--white) !important;	
}

/* nav */

.nav_container {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 20000;
	background: var(--light_beige);
	overflow-y: scroll;
	right: -100%;
	transition: 0.4s all ease-in-out;
}

.nav_container.active {
	right: 0px;
    transition: 0.4s all ease-in-out;
}

.nav_wrapper {
	float: left;
	width: 100%;
}

.nav_logo {
	float: left;
	width: 100%;
	padding: 75px 0;
	background: var(--beige);
	margin-bottom: 75px;
}

.nav_logo img {
	float: left;
	height: 35px;
}

.nav_container ul.nav {
	float: left;
	width: 100%;
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}

.nav_container ul.nav li a {
	display: inline-block;
	color: var(--black);
	font-size: 18px;
	text-decoration: none;
	margin-bottom: 25px;
	transition: all 0.2s;
}

.nav_container ul.nav a:hover, 
.nav_container ul.nav a.active {
	color: var(--dark_beige);
}

.nav_container ul.nav a strong {
	display: inline-block;
	position: relative;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 18px;
}

.nav_container ul.nav a span {
	display: inline-block;
	position: relative;
}

.nav_container ul.nav li a.subnav {
	font-size: 18px;
	margin-bottom: 10px;
}

.nav_container ul.nav li.nav_carriere {
	display: none;
}

.nav_container ul.nav li a.disabled {
	color: var(--black) !important;
	cursor: default !important;
}

/* nav close link */

a.close_nav {
	position: absolute;
	top: 2px;
	right: 0;
	z-index: 1000;
	color: var(--black);
	line-height: 1em;
	font-size: 32px;
	text-decoration: none;
}

/* nav line */

.nav_container hr {
	float: left;
	width: 100%;
	border-bottom: 1px solid var(--dark_beige);
	margin-bottom: 60px;
}

/* nav blocks */

.nav_blocks {
	float: left;
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	line-height: 1.75em;
	margin-bottom: 35px;
	box-sizing: border-box;
}

.nav_links a {
	text-transform: uppercase;
	text-decoration: none;
	font-weight: 600;
	font-size: 18px;
	color: var(--black);
}

.nav_links a:hover {
	color: var(--dark_beige);
}

.nav_contact a {
	color: var(--black);
	text-decoration: none;
}

.nav_contact a:hover {
	color: var(--dark_beige);
}

.nav_contact strong {
	font-weight: 600;
    font-size: 18px;
}

/* lan switch */

.nav_container .lan_switch {
	float: left;
	width: 100%;
	margin-bottom: 50px;
	box-sizing: border-box;
}

.nav_container .lan_switch ul {
	float: left;
	text-align: left;
	list-style-type: none;
}

.nav_container .lan_switch li {
	display: inline-block;
	vertical-align: top;
	font-size: 17px;
	line-height: 1em;
	margin-right: 20px;
}

.nav_container .lan_switch li a {
	float: left;
	vertical-align: top;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--black);
}

.nav_container .lan_switch li a:hover {
	color: var(--dark_beige);
}

.nav_container .lan_switch li a.active {
	font-weight: 600;
	text-decoration: none;
}

/* nav social links */

.nav_social_links {
	float: right;
	text-align: right;	
}

a.social_link {
	width: 35px;
	height: 35px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	color: var(--white);
	text-decoration: none;
	border: 0 !important;
	position: relative;
	margin-left: 10px;
}

a.social_link:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: var(--black);
	border-radius: 50px;
}

a.social_link:hover {
	color: var(--white);
}

a.social_link:hover:after {
	background: var(--dark_beige);
}

/* crumb 

.crumb {
	float: left;
	width: 100%;
	font-size: 14px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.crumb.center {
	justify-content: center;
}

.crumb i {
	font-style: normal;
	color: var(--white);
	font-size: 11px;
	margin: 0 7px;
	margin-top: 2px;
	margin-bottom: 5px;
}

/* content */

.content {
	float: left;
	width: 100%;
	overflow: hidden;
	position: relative;
	box-sizing: border-box;
}

.content.top_padding {
	padding-top: 185px;
}

.content a {
	color: var(--black);
	transition: all 0.2s;
	text-decoration: none;
	border-bottom: 1px solid var(--dark_beige);
}

.content a:hover {
	color: var(--black);
	border-bottom: 1px solid var(--black);
}

.content a.small {
	font-size: 14px;
}

.content a.phone {
	white-space: nowrap;
}

.content a i.fa-arrow-left {
	margin-right: 8px;
}

.content a.anchor {
	float: left;
	width: 100%;
	display: block;
    position: relative;
    top: -100px;
    visibility: hidden;
}

.content a.button {
	position: relative;
	display: inline-flex;
	box-sizing: border-box;
	color: var(--black);
	border: 1px solid var(--black);
	background: none;
	padding: 14px 25px;
	border-radius: 50px;
	cursor: pointer;
	outline: none;
	text-decoration: none;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	line-height: 1em;
	transition: all 0.2s;
	align-items: center;
	overflow: hidden;
}

.content a.button:hover {
	color: var(--white);
	background: var(--black);
}

.content a.button.dark {
	color: var(--white);
	background: var(--black);
}

.content a.button.dark:hover {
	background: var(--dark_beige);
	color: var(--white);
	border: 1px solid var(--dark_beige);
}

.content a.button.light {
	color: var(--black);
	background: var(--white);
}

.content a.button.light:hover {
	background: var(--dark_beige);
	color: var(--white);
	border: 1px solid var(--dark_beige);
}

/* images */

.content img.left {
	float: left;
	padding-right: 15px;
	margin-right: 15px;
}

.content img.right {
	float: right;
	padding-left: 15px;
	margin-left: 15px;
}

.content img.full {
	float: left;
	width: 100%;
	margin-bottom: 25px;
}

.content img.profile {
	width: 150px;
	border-radius: 150px;
	vertical-align: middle;
	margin-right: 10px;
	margin-bottom: 25px;
}

.content h1 {
	color: var(--black);
	font-family: "AmericanaStdRoman", "Lustria", serif;
	font-weight: 400;
	font-size: 45px;
	line-height: 1.1em;
	margin-top: 0;
	margin-bottom: 35px;
}

.content h1.indent, 
.content h2.indent, 
.content h3.indent {
	margin-left: -125px;
}

.content h1.small {
	font-size: 35px;
}

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

.content h1.no_margin {
	margin-bottom: 0;
}

.content h2 {
	color: var(--black);
	font-family: "AmericanaStdRoman", "Lustria", serif;
	font-weight: normal;
	font-size: 35px;
	line-height: 1.2em;
	margin-top: 0;
	margin-bottom: 30px;
}

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

.content h3 {
	color: var(--black);
	font-family: "AmericanaStdRoman", "Lustria", serif;
	font-weight: normal;
	font-size: 35px;
	line-height: 1.2em;
	margin-top: 0;
	margin-bottom: 25px;
}

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

.content h3.less_margin {
	margin-bottom: 15px;
}

.content h4 {
	color: var(--black);
	font-family: "AmericanaStdRoman", "Lustria", serif;
	font-weight: normal;
	font-size: 25px;
	line-height: 1.3em;
	margin-top: 0;
	margin-bottom: 20px;
}

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

.content h4.less_margin {
	margin-bottom: 10px;
}

.content h5 {
	color: var(--black);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.3em;
	margin-top: 0;
	margin-bottom: 15px;
}

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

.content p {
	line-height: 1.75em;
	margin-bottom: 30px;
}

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

.content p.small {
	font-size: 14px;
}

.content p.lessmargin {
	margin-bottom: 15px;
}

.content p.lesslineheight {
	line-height: 1.5em;
}

.content p.nomargin {
	margin-bottom: 5px;
}

.content p.red {
	color: #C00;
}

.content span.small {
	font-size: 14px;
	color: #999;
}

.content p.hidden_field {
	float: left;
	width: 100%;
	margin: 5px 0 15px 0;
}

.content p img.icon {
	vertical-align: middle;
	margin-right: 8px;
	width: 25px;
}

.content i.red {
	color: #C00;
}

.content ul {
	list-style-type: disc;
	margin-bottom: 25px;
	clear: both;
}

.content ol {
	list-style-type: decimal;
	margin-left: 10px;
	margin-bottom: 25px;
	padding-left: 15px;	
	clear: both;
}

.content li {
	margin-left: 25px;
	line-height: 1.7em;
}

.content ol li {
	padding-left: 7px;
}

.content ul.small li {
	margin-left: 15px;
	margin-bottom: 0;
}

.content ul.spaced li {
	margin-bottom: 20px;
}

.content ul.check {
	list-style-type: none;
	margin-bottom: 25px;
}

.content ul.check li {
	margin-left: 0;
	padding-left: 30px;
	margin-bottom: 5px;
	position: relative;
}

.content ul.check li:before {
    content: "\f00c";
	font-family: "Font Awesome 6 Pro";
    font-weight: 600;
	font-size: 20px;
    position: absolute;
    top: 2px;
    left: 0;
    height: 100%;
    color: #000;
    display: flex;
    align-items: flex-start;
}

.content ul.green {
	list-style-type: none;
	margin-bottom: 25px;
}

.content ul.green li {
	margin-left: 0;
	padding-left: 0;
	margin-bottom: 2px;
	position: relative;
}

.content table {
	width: 100%;
	margin-bottom: 30px;
}

.content th {
	color: #999;
	font-size: 13px;
	font-weight: 400;
	text-transform: uppercase;
	padding-bottom: 10px;
	text-align: left;
	vertical-align: top;
	background: none !important;
}

.content td {
	padding: 10px 5px 10px 5px;
	vertical-align: top;
	line-height: 1.4em;
	border-bottom: 1px solid #ddd;
}

.content table.cart {
	width: 100%;
}

.content table.cart td {
	padding: 10px;
}

.content tr.total td {
	color: var(--white);
	background: #666;
}

.content table.noborder td {
	border: 0;
	padding: 15px 0;
	padding-right: 25px;
}

.content td.label {
	font-weight: 700;
	font-style: normal;
	width: 190px;
}

.content td ol {
	margin-left: 0;
	padding-left: 0;
}

.content td.right {
	text-align: right;
}

.content table tr.strike td {
	color: #999;
}

.content table tr.strike td span {
	text-decoration: line-through;
}

.content td.bold {
	font-weight: normal;
	font-style: normal;
}

.content table.fiche {
	width: 100%;
	border-top: 1px solid #ddd;
}

.content table.fiche td {
	padding: 10px;
}

.content table.fiche tr td:first-of-type {
	background: rgba(87,87,86,0.05);
	padding-right: 30px;
	white-space: nowrap;
}

em.hint {
	color: #999;
	font-style: normal;
	font-size: 15px;
}

.content hr {
	float: left;
	width: 100%;
	border-bottom: 1px solid rgba(34,34,34,0.25);
	margin-bottom: 25px;
}

hr.spacer1 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 0;
	margin-bottom: 0;
}

hr.spacer5 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 4px;
}

hr.spacer10 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 9px;
}

hr.spacer15 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 14px;
}

hr.spacer20 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 19px;
}

hr.spacer25 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 24px;
}

hr.spacer30 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 29px;
}

hr.spacer40 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 39px;
}

hr.spacer50 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 49px;
}

hr.spacer75 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 74px;
}

hr.spacer100 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 99px;
}

hr.spacer125 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 124px;
}

hr.spacer150 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 149px;
}

hr.spacer175 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 174px;
}

hr.spacer200 {
	float: left;
	width: 100%;
	background: none;
	border: 0;
	height: 1px;
	margin-bottom: 199px;
}

em.spacer25 {
	display: inline-block;
	width: 25px;
}

em.spacer50 {
	display: inline-block;
	width: 50px;
}

em.spacer75 {
	display: inline-block;
	width: 100px;
}

em.spacer100 {
	display: inline-block;
	width: 100px;
}

em.spacer125 {
	display: inline-block;
	width: 125px;
}

em.spacer150 {
	display: inline-block;
	width: 150px;
}

em.spacer175 {
	display: inline-block;
	width: 175px;
}

em.spacer200 {
	display: inline-block;
	width: 200px;
}

/* iframe wrappers */

.responsive_iframe_wrapper {
    float: none;
    clear: both;
    width: 100%;
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
}

.responsive_iframe_wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* toggle text block */

.toggle_text_block {
	display: none;
}

.toggle_text_block.top_padding {
	padding-top: 20px;	
}

/* page blocks */

.page_block {
	float: left;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
}

.page_block.compact {
	padding: 0 !important;
}

/* page block: white bg */

.bg_FFFFFF {
	padding: 100px 0 75px 0;
	background: var(--white);
}

/* page block: light beige bg */

.bg_E2DFD9 {
	padding: 100px 0 75px 0;
	background: var(--light_beige);
}

/* page block: beige bg */

.bg_DCD8CE {
	padding: 100px 0 75px 0;
	background: var(--beige);
}

/* page block: dark beige bg */

.bg_B0AAA0 {
	padding: 100px 0 75px 0;
	color: var(--white);
	background: var(--dark_beige);
}

.bg_B0AAA0 h1, 
.bg_B0AAA0 h2, 
.bg_B0AAA0 h3, 
.bg_B0AAA0 h4, 
.bg_B0AAA0 h5 {
	color: var(--white);
}

.bg_B0AAA0 a {
	color: var(--white);
	border-bottom: 1px solid var(--light_beige);
}

.bg_B0AAA0 a:hover {
	color: var(--white);
	border-bottom: 1px solid var(--white);
}

.bg_B0AAA0 a.button {
	color: var(--white);
	border: 1px solid var(--white);
}

.bg_B0AAA0 a.button:hover {
	color: var(--black);
	border: 1px solid var(--white);
	background: var(--white);
}

/* page block: black bg */

.bg_222222 {
	padding: 100px 0 75px 0;
	color: var(--white);
	background: var(--black);
}

.bg_222222 h1, 
.bg_222222 h2, 
.bg_222222 h3, 
.bg_222222 h4, 
.bg_222222 h5 {
	color: var(--white);
}

.bg_222222 a {
	color: var(--white);
}

.bg_222222 a:hover {
	color: var(--white);
	border-bottom: 1px solid var(--white);
}

.bg_222222 a.button {
	color: var(--white);
	border: 1px solid var(--white);
}

.bg_222222 a.button:hover {
	color: var(--black);
	border: 1px solid var(--white);
	background: var(--white);
}

/* page block 1: banner */

.banner_wrapper {
	float: left;
	width: 100%;
	position: relative;
	background: var(--black);
}	

.banner_slider {
	float: left;
	width: 100%;
	transition: all 3s ease-out;
}	

.banner_wrapper.zoom:hover .banner_slider {
	transform: scale(1.05);
}

.banner_wrapper.zoom a {
	border: 0 !important;
}
	
.banner_slide {
	float: left;
	width: 100%;
	height: 900px !important;
	background-size: cover !important;
	position: relative;
}

.banner_slide.single {
	animation: fade_image 1s;
    animation-fill-mode: forwards;
	animation-duration: 8s;
}

.banner_video {
	height: 900px;
    overflow: hidden;
    padding: 0;
    position: relative;
	background: var(--black);
}

.banner_video iframe {
	position: absolute;
	box-sizing: border-box;
	height: 56.25vw;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	transform: translate(-50%, -50%);
	top: 50%;
	width: 177.77777778vh;
}

/* banner text */

.banner_text {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	color: var(--white);
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 0 20px;
	border: 0 !important;
}

.banner_text div {
	position: relative;
	z-index: 10;
}

.banner_text h1, 
.banner_text h2, 
.banner_text h3, 
.banner_text h4, 
.banner_text h5 {
	color: var(--white) !important;
	margin-bottom: 10px !important;
}

.banner_text.bottom {
	align-items: flex-end;
}

.banner_text.bottom div {
	margin-bottom: 75px;
}

.banner_text.bottom:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 350px;
	z-index: 1;
	background: linear-gradient(0deg, rgba(34,34,34,1) 0%, rgba(34,34,34,0) 100%);
}

/* page block 5: cta */

.cta_wrapper {
	float: left;
	width: 100%;
	position: relative;
	background: var(--black);
}	

.cta {
	float: left;
	width: 100%;
	background-size: cover !important;
}	

.cta_text {
	float: left;
	width: 100%;
	color: var(--white);
	text-align: center;
	background: rgba(34,34,34,0.5);
	box-sizing: border-box;
	padding: 150px 20px 125px 20px;
	border: 0 !important;
	transition: all 1s ease-out !important;
}

.cta_text h1, 
.cta_text h2, 
.cta_text h3, 
.cta_text h4, 
.cta_text h5 {
	color: var(--white) !important;
}

.cta_text:hover {
	background: rgba(34,34,34,0.8);
}

/* page block: type 12 (text 50% left) */

.text_left {
	float: left;
	width: 50%;
}

/* page block: type 13 (text 50% right) */

.text_right {
	float: right;
	width: 50%;
}

/* page block type 15/16: text + slider (L/R) */

.page_block_text_image_wrapper {
	float: left;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.page_block15 .page_block_text, 
.page_block16 .page_block_text {
	float: left;
	width: 42%;
	box-sizing: border-box;
	position: relative;
	z-index: 10;
}

.page_block15 .page_block_text {
	float: right;
}

.page_block16 .page_block_text.mobile_text {
	display: none;
}

.page_block15 .page_block_images, 
.page_block16 .page_block_images {
	float: right;
	width: 48%;
	position: relative;
	z-index: 10;
}

.page_block15 .page_block_images a, 
.page_block16 .page_block_images a {
	border: 0 !important;
}

.page_block15 .page_block_images {
	float: left;
}

.page_block15 .page_block_slider, 
.page_block16 .page_block_slider {
	float: left;
	width: 100%;
}

.page_block15 .page_block_slider .page_block_slide, 
.page_block16 .page_block_slider .page_block_slide {
	float: left;
	width: 100%;
	background-size: contain !important;
	transition: none;
}

.page_block15 .page_block_slider .page_block_slide img, 
.page_block16 .page_block_slider .page_block_slide img {
	float: left;
	width: 100%;
}

/* page block: type 20: image album (flex) */

.image_album {
	float: left;
	width: 100%;
}

.image_album .item {
	overflow: hidden;
	margin: 15px !important;
	box-sizing: content-box;
}

.image_album .item img {
	transition: all 0.2s;
}

.image_album .item:hover img { 
	transform: scale(1.03);
}

/* page block: type 21: image album (fix per 3) */

.image_album.three {
	float: left;
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.image_album.three a {
	width: calc(33.33% - 20px);
	overflow: hidden;
	border: 0 !important;
	margin-bottom: 30px;
}

.image_album.three a img {
	float: left;
	width: 100%;
	transition: all 0.2s;
}

.image_album.three a:hover img { 
	transform: scale(1.03);
}

/* page block: type 22: image album (2 left) */

.image_album.two_left {
	float: left;
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.image_album.two_left a {
	width: calc(33.33% - 20px);
	overflow: hidden;
	border: 0 !important;
	margin-right: 30px;
	margin-bottom: 30px;
}

.image_album.two_left a img {
	float: left;
	width: 100%;
	transition: all 0.2s;
}

.image_album.two_left a:hover img { 
	transform: scale(1.03);
}

/* page block: type 22: image album (2 right) */

.image_album.two_right {
	float: left;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.image_album.two_right a {
	width: calc(33.33% - 20px);
	overflow: hidden;
	border: 0 !important;
	margin-left: 30px;
	margin-bottom: 30px;
}

.image_album.two_right a img {
	float: left;
	width: 100%;
	transition: all 0.2s;
}

.image_album.two_right a:hover img { 
	transform: scale(1.03);
}

/* page block: type 25: image slider */

.page_block_image_slider {
	float: left;
	width: 100%;
}

.page_block_image_slide {
	float: left;
	width: 100%;
	background-size: cover !important;
	animation: fade_image 1s;
    animation-fill-mode: forwards;
	animation-duration: 15s;
}

@keyframes fade_image {
	0% { transform: scale(1); }
	100% { transform: scale(1.07); }
}

.content a.page_block_image_slide {
	transition: none;
	border: 0 !important;
}

.page_block_image_slide img {
	float: left;
	width: 100%;
}

/* page block: type 35: page block links */

.page_block_link_list {
	float: left;
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.page_block_link {
	width: 50%;
	min-height: 600px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 0 !important;
	text-align: center;
	transition: all 0.5s ease-out;
	box-sizing: border-box;
	padding: 0 20px;
}

.page_block_link h3{
	margin-bottom: 10px !important;
}

.page_block_link1 {
	color: var(--white) !important;
	background: var(--black) !important;
}

.page_block_link1 h3, 
.page_block_link1 h4 {
	color: var(--white) !important;	
}

.page_block_link:hover {
	color: var(--white) !important;
	background: var(--dark_beige) !important;
}

/* page block: type 40: contact form */ 

.contact_left {
	float: left;
	width: 35%;
}

.contact_right {
	float: right;
	width: 60%;
}

.inspiration_block {
	float: left;
	width: 100%;
	display: none;
}

.inspiration_block.active {
	display: block;
}

.magazine_block {
	float: left;
	width: 100%;
	display: none;
}

.magazine_block.active {
	display: block;
}

.meeting_block {
	float: left;
	width: 100%;
	display: none;
}

.meeting_block.active {
	display: block;
}

.other_block {
	float: left;
	width: 100%;
	display: none;
}

.other_block.active {
	display: block;
}

/* page block: type 45: newsletter form */ 

.page_block45 {
	padding: 60px 0 50px 0 !important;
}

.newsletter_form_title {
	float: left;
	width: 40%;
	font-size: 22px;
}

.newsletter_form {
	float: right;
	width: 50%;
}

.newsletter_form .form button {
	position: absolute;
	top: 5px;
	right: 15px;
	border: 0;
	color: var(--black) !important;
	background: none !important;
	padding-right: 0;
}

.newsletter_form .form button:hover {
	transform: scale(1.2);
}

/* sitemap */

ul#sitemap {
	font-size: 17px;
}

ul#sitemap li ul {
	list-style-type: disc;
	margin-top: 5px;
	padding-left: 15px;
}

ul#sitemap li ul li {
	font-size: 16px;
}

ul#sitemap li ul li ul {
	list-style-type: square;
	margin-top: 5px;
	padding-left: 15px;
}

ul#sitemap li ul li ul li {
	font-size: 15px;
}

/* account table 

.table_overflow_wrapper {
	float: left;
	width: 100%;
	overflow: hidden;
	overflow-x: scroll;
	box-sizing: border-box;
	margin-bottom: 30px;
	position: relative;
}

.table_overflow_wrapper_info {
	float: left;
	width: 100%;
	font-size: 14px;
	box-sizing: border-box;
	padding-top: 10px;
	background: none;
	margin-bottom: 30px;
	text-align: right;
	display: none;
}

table.item_list {
	float: left;
	width: 100%;
	border-top: 1px solid rgba(19,46,108,0.5);
	margin: 0 !important;
}

table.item_list tr:hover {
	background: rgba(19,46,108,0.1);
}

table.item_list tr.headers:hover {
	background: none;
}

table.item_list th {
	padding: 10px 15px 7px 15px;
	border-bottom: none;
	vertical-align: middle;
	cursor: pointer;
	font-weight: normal;
	font-style: normal;
}

table.item_list th i {
	margin-left: 5px;
}

table.item_list td {
	padding: 22px 15px;
	border-bottom: 1px solid rgba(19,46,108,0.5);
	vertical-align: middle;
	cursor: pointer;
}

table.item_list.no_pointer td {
	cursor: default;
}

table.item_list td.right {
	text-align: right;
}

table.item_list td.red {
	color: #C00;
}

table.item_list td.red a {
	color: #C00;
}

table.item_list td i.aqua {
	color: #069999;
}

table.item_list td.checkbox {
	width: 14px;
}

table.item_list td.icon {
	width: 18px; 
	text-align: center;
}

table.item_list tr.disabled td {
	color: #999;
}

.mobile_remark_monitor, 
.mobile_medical_info, 
.mobile_answers {
	display: none;	
}

table.item_list td span.hide_mobile {
	display: none;
}

table.item_list td span.mobile_label {
	display: none;
}

/* paging 

.paging {
	float: left;
	width: 100%;
	margin-top: 5px;
	margin-bottom: 10px;
}

.paging a, 
.paging span {
	float: left;
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	border-radius: 50px;
	color: #9ED6C2;
	border: 1px solid #9ED6C2;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 7px;
	margin-bottom: 7px;
	padding-top: 2px;
	text-decoration: none;
	font-size: 14px;
}

.paging a:hover {
	color: var(--white);
	background: #9ED6C2;
	border: 1px solid #9ED6C2;
}

.paging a.active {
	color: var(--white);
	background: #9ED6C2;
}

.paging span {
	border: 0;
}

/* counter */

.counter {
	float: left;
	width: 100%;
	font-size: 12px;
	color: #999;
}

/* checkbox actions */

.checkbox_actions {
	float: right;
	text-align: right;
}

/* account data table */

div.account_data_table_wrapper {
	float: left;
	width: 100%;
	max-width: 100%;
	overflow-x: scroll;
	margin-bottom: 25px;
}

table.account_data_table {
	width: 100%;
	margin-bottom: 0;
}

table.account_data_table td {
	padding: 10px;
}

table tr.clickable_row:hover td {
	background: rgba(19,16,108,0.05);
}

table tr.clickable_row td.pointer {
	cursor: pointer;
}

table.account_data_table td.icon {
	width: 20px;
}

table.account_data_table tr.expired td {
	color: #999;
	text-decoration: line-through;
}

table.account_data_table tr.disabled td {
	color: #999;
}

table.account_data_table tr.disabled td a, 
table.account_data_table tr.expired td a {
	color: #999;
}

/* form */

.form {
	float: left;
	width: 100%;
	position: relative;
}

/* form labels */

.form label {
	cursor: pointer;
}

.form span.label, 
.form span.hint {
	float: left;
	width: 100%;
	line-height: 1.3em;
}

.form span.label {
	font-size: 13px;
	text-transform: uppercase;
	margin-bottom: 5px;
	font-weight: 700;
}

.form span.label.error {
	color: #C00;
}

.form span.label strong, 
.form label strong {
	font-family: "Open Sans";
	font-weight: 600;
	font-style: normal;
}

.form span.label b, 
.form label b {
	font-family: "Open Sans";
	font-weight: 600;
}

.form span.label em {
	font-weight: 400;
	font-style: normal;
	font-size: 13px;
	color: #B0AAA0;
	line-height: 1.4em;
}

.form span.hint {
	font-weight: 400;
	font-size: 13px;
	margin-top: -5px;
	margin-bottom: 25px;
	line-height: 1.4em;
}

.form span.hint_textarea {
	margin-top: 0;
	margin-bottom: 10px;
}

.form span.hint strong {
	font-weight: normal;
	font-style: normal;
}

.form span.checkbox_hint {
	margin-top: 2px;
}

.form span.booking_hint {
	margin-bottom: 0;
}

.form span.hint a {
	color: #999;
}

.form span.hint a:hover {
	color: #666;
}

.form span.hint u {
	cursor: pointer;
}

.form span.checkbox {
	float: left;
	width: 100%;
	margin-top: 2px;
	margin-bottom: 20px;
	line-height: 1.3em;
}

.form span.checkbox label {
	cursor: pointer;
}

.form span.checkbox.error {
	color: #C00;
}

.form span.checkbox.error a {
	color: #C00;
}

.form span.label b, 
.form span.checkbox b {
	color: var(--dark_beige);
	font-size: 13px;
	font-weight: 400;
	vertical-align: top;
}

.form span.label.error b, 
.form span.checkbox.error b {
	color: #C00;
}

.form span.radios {
	float: left;
	width: 100%;
	margin-bottom: 20px;
	font-size: 17px;
	line-height: 1.6em;
}

.form span.checkbox.yesno input.checkbox {
	margin-top: 7px;
}

.form span.form_block {
	float: left; 
	width: 100%; 
	margin-bottom: 15px;
	line-height: 1.3em;
}

.form span.form_block.error {
	color: #C00;
}

.form span.form_block_checkbox {
	float: left;
	width: 25%;
}

.form span.form_block_checkbox.large {
	width: 100%;
}

.form span.form_block_checkbox.error {
	color: #C00;
}

.form span.form_block_checkbox span.checkbox {
	margin-bottom: 8px;
}

.form span.form_block_checkbox.large span.checkbox {
	margin-bottom: 3px;
}

/* form fields */

.form input.text {
	float: left;
	width: 100%;
	box-sizing: border-box;
	background: transparent;
	border: 1px solid var(--dark_beige);
	padding: 10px;
	margin-top: 3px;
	margin-bottom: 15px;
	color: var(--black);
	font-size: 17px;
	outline: none;
}

.form input.text::placeholder {
	color: var(--black);
}

.form input.text.disabled {
	
}

.form input.text.error {
	border-bottom: 1px solid #C00;
}

.form input.text.without_label {
	margin-top: -5px;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 30px var(--beige) inset !important;
}

select:-webkit-autofill,
select:-webkit-autofill:hover, 
select:-webkit-autofill:focus, 
select:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 30px var(--beige) inset !important;
}

.form textarea {
	float: left;
	width: 100%;
	box-sizing: border-box;
	height: 100px;
	background: transparent;
	border: 1px solid var(--dark_beige);
	padding: 10px;
	margin-top: 3px;
	margin-bottom: 15px;
	color: var(--black);
	font-size: 17px;
	outline: none;
}

.form textarea.error {
	border-bottom: 1px solid #C00;
}

.form textarea.without_label {
	margin-top: -5px;
}

.form .select_wrapper {
	float: left;
	width: 50%;
	position: relative;
	margin-top: 3px;
	margin-bottom: 15px;
}

.form .select_wrapper.small {
	width: 25%;
	min-width: 175px;
	margin-right: 15px;
}

.form .select_wrapper.mini {
	width: 15%;
	min-width: 125px;
	margin-right: 15px;
}

.form .select_wrapper.medium {
	width: 30%;
	min-width: 250px;
	margin-right: 15px;
}

.form .select_wrapper.large {
	width: 100%;
}

.form .select_wrapper:after {
    content: "\f107";
    font-family: "Font Awesome 6 Pro";
	font-weight: 400;
    font-size: 17px;
    color: var(--black);
    right: 0;
    top: 0;
    bottom: 0;
	width: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
    position: absolute;
    pointer-events: none;
    line-height: 14px;
    background: transparent;
}

.form .select_wrapper.error:after {
	color: #C00;
}

.form select {
	box-sizing: border-box;
    appearance: none;
    box-shadow: none;
    display: inline-block;
    zoom: 1;
    color: var(--black);
    background-color: transparent;
	border: 1px solid var(--dark_beige);
	padding: 10px;
    margin: 0 7px 0 0;
    border-radius: 0;
	font-size: 17px;
	font-weight: 300;
    width: 100%;
    cursor: pointer;
    outline: none;
}

.form select::-ms-expand {
    display: none;
}

.form select.error {
	border-bottom: 1px solid #C00;
}

.form .select_wrapper.small select {
	padding-left: 7px;
}

.form input.checkbox {
	float: left;
	vertical-align: top;
	display: block;
	overflow: hidden;
	padding: 0; 
	border: 0;
	margin: 5px 5px 2px 0;
	width: 13px;
	height: 13px;
	line-height: 1em;
}

.form input.radio {
	float: left;
	vertical-align: top;
	display: block;
	overflow: hidden;
	padding: 0; 
	border: 0;
	margin: 8px 7px 2px 0;
	width: 13px;
	height: 13px;
	line-height: 1em;
}

div.form_spacer {
	float: left;
	width: 100%;
	height: 10px;
}

div.form_title {
	float: left;
	width: 100%;
	font-family: "Open Sans";
	font-size: 35px;
	margin-top: 5px;
	margin-bottom: 25px;
}

div.form_title.error {
	color: #C00;
}

div.form_subtitle {
	float: left;
	width: 100%;
	font-family: "Open Sans";
	font-size: 30px;
	margin-top: 5px;
	margin-bottom: 25px;
}

div.form_subtitle.error {
	color: #C00;
}

.invoice_block {
	float: left;
	width: 100%;
	margin-bottom: 20px;
}

.promocode_block {
	float: left;
	width: 100%;
	display: none;
}

.promocode_block.active {
	display: block;
}

/* checkbox block */

.form_checkbox_block {
	float: left;
	width: 100%;
	background: var(--white);
	border: 1px solid #ddd;
	box-sizing: border-box;
	margin-top: 3px;
	margin-bottom: 20px;
}

.form_checkbox_block.error {
	border: 1px solid #C00;
}

.form_checkbox_block span.checkbox {
	float: left;
	width: 100%;
	padding: 10px 15px;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
	margin-bottom: 0;
}

.form_checkbox_block span.checkbox:last-child {
	border-bottom: 0;
}

.form span.address_zipcode_meeting {
	display: none;
}

.form span.address_zipcode_meeting.active {
	display: block;
}


/* rating 

.rating {
	float: left;
	width: 100%;
	margin: 5px 0;
}

.rating img {
	width: 25px;
	margin-right: 0;
	margin-bottom: 12px;
}

/* camp period alert 

div.camp_period_alert {
	float: left;
	width: 100%;
	box-sizing: border-box;
	padding: 25px;
	padding-bottom: 0;
	color: var(--white);
	background: #C00;
	margin-bottom: 15px;
}

div.camp_period_alert strong {
	font-weight: normal;
	font-style: normal;
}

div.camp_period_alert a {
	color: var(--white);
}

div.camp_period_alert a:hover {
	color: #eee;
}

div.camp_period_alert h3 {
	color: var(--white);
	margin-bottom: 10px;
}

/* form options 

.form_options {
	float: left;
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 25px;
}

.form_options a {
	float: left;
	width: 48%;
	box-sizing: border-box;
	padding: 25px;
	color: #9ED6C2;
	background: rgba(19,46,108,0.1);
	border: 1px solid #9ED6C2;
	text-decoration: none;
	transition: all 0.2s;
	padding-bottom: 100px;
	position: relative;
}

.form_options a:hover {
	color: #9ED6C2;
	background: rgba(19,46,108,0.25);
}

.form_options a h4 {
	float: left;
	width: 100%;
	font-size: 30px;
	text-transform: uppercase;
	margin-top: 0;
	margin-bottom: 25px;
}

.form_options a h4 b {
	font-weight: 700;
}

.form_options a ul {
	margin-bottom: 0;
}

.form_options a ul li {
	font-size: 14px;
	color: #666;
	margin-left: 15px;
}

.form_options a u {
	position: absolute;
	bottom: 25px;
	left: 25px;
	height: 50px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	color: var(--white) !important;
	background: #9ED6C2;
	padding: 10px 20px;
	padding-right: 70px;
	border: 0;
	cursor: pointer;
	outline: none;
	text-transform: uppercase;

	font-size: 20px;
	line-height: 1em;
	transition: all 0.2s;
	text-decoration: none;
	overflow: hidden;
}

.form_options a u em {
	font-style: normal;
	position: relative;
	z-index: 10;
}

.form_options a:hover u {
	color: var(--white) !important;
}

.form_options a u:before {
	content: "";
	display: block;
	position: absolute;
	top: 0 !important;
	right: 0 !important;
	z-index: 0 !important;
	height: 100% !important;
	width: 60px !important;
	background: url("/_graphics/bg_button.svg") top left no-repeat;
	background-size: auto 50px;
	transition: all .4s ease;
}

.form_options a:hover u:before {
	width: calc(100% + 30px) !important;
}

.form_options a u:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	z-index: 100;
	background: url("/_graphics/arrow_right_white.svg") center center no-repeat;
	background-size: 14px auto;
}

/* warning */

div.warning {
	float: left;
	width: 100%;
	box-sizing: border-box;
	padding: 18px 15px;
	font-size: 17px;
	line-height: 1.3em;
	font-weight: 400;
	text-align: center;
	color: var(--white);
	background: #C00;	
}

div.warning a {
	color: var(--white);
}

div.warning a:hover {
	color: #EEE;
}

/* feedback */

div.feedback {
	float: left;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px 15px;
	font-size: 17px;
	line-height: 1.3em;
	font-weight: 400;
	color: var(--white);
	background: #678D58;
	margin-bottom: 50px;
}

div.feedback i {
	font-size: 32px;
	margin-right: 10px;
}

div.feedback.error {
	color: var(--white);
	background: #C00;
}

div.feedback a {
	color: var(--white);
}

div.feedback a:hover {
	color: #EEE;
}

div.feedback b {
	font-weight: normal;
	font-style: normal;
}

div.feedback a.button {
	margin-bottom: 10px;
}

/* button */

.form button::-moz-focus-inner { 
    border: 0;
    padding: 0;
}

.form button {
	position: relative;
	display: inline-flex;
	box-sizing: border-box;
	color: var(--black);
	border: 1px solid var(--black);
	background: none;
	padding: 14px 25px;
	border-radius: 50px;
	cursor: pointer;
	outline: none;
	text-decoration: none;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	line-height: 1em;
	transition: all 0.2s;
	align-items: center;
	overflow: hidden;
}

.form button:hover {
	color: var(--white);
	background: var(--black);
}

.form button.dark {
	color: var(--white);
	background: var(--black);
}

.form button.dark:hover {
	background: var(--dark_beige);
	color: var(--white);
	border: 1px solid var(--dark_beige);
}

/* footer */

.footer {
	float: left;
	width: 100%;
	box-sizing: border-box;
	color: var(--white);
	background: var(--black);
	font-size: 15px;
	line-height: 1.7em;
	padding: 75px 0;
}

.footer a {
	color: var(--white);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.footer a:hover {
	color: var(--white);
	border-bottom: 1px solid var(--white);
}

/* footer logo */

.footer_logo {
	float: left;
	height: 35px;
}

/* footer blocks */

.footer_blocks {
	float: right;
	width: calc(100% - 370px - 120px);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-right: 120px;
}

.footer_block1 {
	width: 45%;
}

.footer_block2 {
	width: 45%;
}

/* footer social links */

.footer_social_links {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 100;
	text-align: right;	
}

.footer_social_links a.social_link {
	width: 25px;
	height: 25px;
	font-size: 15px;
	color: var(--black);
	margin-left: 5px;
}

.footer_social_links a.social_link:after {
	background: var(--white);
}

.footer_social_links a.social_link:hover {
	color: var(--white);
}

.footer_social_links a.social_link:hover:after {
	background: var(--dark_beige);
}

/* copyrights */

.copyrights {
	float: left;
	width: 100%;
	box-sizing: border-box;
	font-size: 13px;
	padding-top: 30px;
	padding-left: 370px;
	color: var(--dark_beige);
}

.copyrights a {
	color: var(--dark_beige);
}

/* footer: newsletter form 

.newsletter_form {
	float: left;
	width: 100%;
	position: relative;
	z-index: 200;	
}

.newsletter_form input.email {
	float: left;
	width: 100%;
	height: 50px;
	box-sizing: border-box;
	font-weight: 400;
	text-align: left;
	background: transparent;
	color: var(--white);
	border: 1px solid var(--white);
	border-radius: 50px;
	padding: 14px 15px;
	outline: none;
}

.newsletter_form input.email::placeholder {
	color: var(--white);
}

.newsletter_form button {
	position: absolute;
	top: 0;
	right: 0;
	height: 50px;
	box-sizing: border-box;
	color: var(--white);
	background: transparent;
	padding: 10px 20px;
	border: 0;
	cursor: pointer;
	outline: none;
	font-size: 18px;
	line-height: 1em;
	overflow: hidden;
}

.newsletter_form button em {
	font-style: normal;
	position: relative;
	z-index: 10;
}

.newsletter_form button:hover {
	transform: scale(1.1);
}

/* tooltips */

.qtip-light .qtip-content{
    font-size: 14px;
    line-height: 1.4em;
}

/* hide recaptcha badge */

.grecaptcha-badge {
	display: none !important;
}