@font-face {
  font-family: 'AlpineProto';
  font-style: normal;
  src: url(alpineproto_light.ttf);
}

@font-face {
  font-family: 'AlpineProto';
  font-weight: bold;
  src: url(alpineproto_bold.ttf);
}

body {
	margin:0;
	background-color:white;
}

a {
	text-decoration:none;
	color:inherit;
}

a:hover {
	text-decoration:underline;
	color:inherit;
}

.mainContainer {
	width:100%;
	margin:0 auto;
	font-family:AlpineProto, sans-serif;
	font-size:18px;
	line-height:24px;
	background-color:#061A4D;
	color:#0C1D2C;
}

.mainContainerWhite {
	background-color:white;
}

.containerSeparator {
	height:50px;
	background-color:#061A4D;
}

.mobileOnly {
	display:none;
}

button {
	border:solid 1px white;
	height:50px;
	width:200px;
	font-size:15px;
	background-color: transparent;
	color:white;
}

button:hover {
	background-color:white;
	color:black;
}

.buttonWhite {
	background-color:white;
	color:black;
}

.buttonWhite:hover {
	background-color:transparent;
	color:white;
}

.buttonBlack {
	border:solid 1px black;
	color:black;
}

.buttonBlack:hover {
	background-color:black;
	color:white;
}


/***** MENU *****/
.mobileMenuIcon {
	display:none;
}

.menuMobile {
	display:none;
}

.menuMobileGallery {
	display:none;
}

.topMenu {
	display:table;
	width:100%;
	background-color:#061A4D;
}

.topMenuLogo {
	display:table-cell;
	width:10%;
	text-align:left;
	vertical-align:middle;
	height:80px;
	padding-left:25px;
}

.topMenuLogo img {
	width:60px;
}

.topMenuItems {
	display:table-cell;
	width:70%;
	text-align:center;
}


/**** HERO ***/

.heroBlock {
	background-color:black;
	height:380px;
	width:100%;
	position:relative;
	overflow:hidden;
}

.heroSlideshow {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.heroSlide {
	background-position:center;
	background-size:cover;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	min-height: 380px;
	opacity:0;
	transition: opacity 1.5s ease-in-out;
	z-index:1;
	background-color: rgba(0, 0, 0, 0.5);
	background-blend-mode: darken;
}
.heroSlide.active {
	opacity:1;
	z-index:2;
}

.heroInfo {
	color:white;
	font-size:20px;
	line-height:18px;
	padding-top:50px;
	max-width:1125px;
	margin:0 auto;
	width:90%;
	position:relative;
	z-index:10;
	/*text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8);*/
	
}

.heroInfo h1 {
	font-size:100px;
	line-height:80px;
	font-weight:bold;
	padding:10px 0;
}

.heroInfo h2 {
	font-size:35px;
	line-height:30px;
}

.heroSeparator {
	height:150px;
	text-align:center;
	background-color:#061A4D;
	color:white;
	font-size:50px;
	font-weight:bold;
	line-height:50px;
	display:flex;
	justify-content:center;
	align-items:center;
}

.heroBlock2 {
	background-color:black;
	background-image:url(../img/hero-image2.jpg);
	background-position:center;
	background-size:cover;
	height:500px;
	width:100%;
}

.heroInfo2 {
	color:white;
	font-size:20px;
	line-height:18px;
	padding-top:150px;
	text-align:center;
	width:90%;
	max-width:900px;
	margin:0 auto;
}

.heroInfo2 h1 {
	font-size:35px;
	line-height:40px;
	font-weight:bold;
	padding:10px 0;
}

.heroInfo2 h2 {
	font-size:22px;
	line-height:24px;
	font-weight: normal;
}

/***EXPERIENCE***/

.experienceBlock {
	max-width:1200px;
	width:100%;
	margin:0 auto;
	text-align:center;
}

.experienceBox {
	display:inline-block;
	background-color:black;
	margin:10px;
	height:480px;
	color:white;
	text-align:left;
	padding:20px 0 0 20px;
	box-sizing: border-box;
	font-size:18px;
	line-height:20px;
	vertical-align: top;
	background-size:cover;
	background-position:center;
}

.experienceBox h1 {
	font-size:60px;
	line-height:60px;
	font-weight: bold;
}

.experienceLarge {
	width:720px;
}

.experienceSmall {
	width:380px;
}

.experienceBlueTour {
	background-image: url(../img/box_bluetour.jpg);
}

.experienceHydrox {
	background-image: url(../img/box_hydrox.jpg);
}

.experiencePrecision {
	background-image: url(../img/box_precision.jpg);
}

.experienceF1 {
	background-image: url(../img/box_f1.jpg);
}

.experienceBoxInfo {
	width:350px;
}

.experienceBoxLargeInfo {
	width:380px;
}

.experienceLocation {
	display:table;
}

.experienceLocation div {
	display:table-cell;
	vertical-align: middle;
}

.experienceLocation div img {
	width:24px;
}

.experienceDate {
	font-size:20px;
	font-weight:bold;
}

.experienceBoxButtonsRight {
	padding-top:20px;
}

/**** CALENDAR **/
.calendarBlock {
	width:100%;
	margin:0 auto;
	text-align:center;
	color:white;
	vertical-align: top;
}

.calendarColumn {
	width:380px;
	display:inline-block;
	vertical-align: top;
}

.calendarItem {
	border:solid 1px white;
	margin:20px 10px;	
	text-align:left;
	padding:10px 20px;
	font-size:18px;
	line-height:18px;
}

.calendarItem div {
	font-size:18px;
	line-height:28px;
}

/**** CAR ***/

.carBlocks {
	max-width:1200px;
	width:90%;
	margin:0 auto;
	text-align:center;
	color:white;
	vertical-align: top;
	display:table;
}

.carBlock1 {
	display:table-cell;
	width:50%;
	height:500px;
	background-image:url(../img/a390.jpg);
	background-position-x: center;
	background-position-y: center;
	background-size: cover;
}

.carBlock2 {
	display:table-cell;
	width:50%;
	height:500px;
	background-image:url(../img/a290.jpg);
	background-position-x: center;
	background-position-y: center;
	background-size: cover;
}

.carBlockButton {
	display:flex;
	height:100%;
	align-items:flex-end;
	justify-content:center;
	padding-bottom:40px;
}

/** NEWSLETTER **/
.newsletterBlock {
	height:550px;
	background-image:url(../img/gnd_newsletter.jpg);
	background-position: center;
	background-size: cover;
}

.newsletterInnerBlock {
	padding-top:130px;
	width:100%;
	max-width:1200px;
	margin:0 auto;
	color:white;
}

.newsletterInnerBlock h1 {
	font-size:80px;
	line-height:80px;
	font-weight:bold;
	padding-bottom:20px;
}


/* FORM */

.formBlock {
	background-color:#0c1d2c;
	color:white;
	padding:40px 0;
}

.formContainer {
	width:80%;
	margin:0 auto;
	max-width:1180px;
}

.formTitle {
	text-align: center;
	text-transform: uppercase;
	font-size:35px;
	line-height:40px;	
	font-weight: bold;
}

.formTitle h1 {
	font-size:50px;
	line-height:50px;	
	font-weight: bold;
}

.formSubTitle {
	text-align: center;
	text-transform: uppercase;
	font-size:20px;
	line-height:24px;
	padding-bottom:40px;
}

.red {
	color:#ff0000;
}

/* form layout: make form items equal width and evenly distributed */
.formItems {
	display:flex;
	gap:20px;
	justify-content:space-between;
	flex-wrap:wrap;
	padding-bottom:30px;
}
.formItems > .formItem {
	flex: 1 1 0;
	min-width:160px;
	box-sizing:border-box;
	padding:0;
}
.formItems > .formItem > div { /* label */
	margin-bottom:8px;
	color:#fff;
	font-size:16px;
}
.formItems input.formItem,
.formItems select.formItem,
.formItems textarea.formItem {
	width:100%;
	background:transparent;
	border:1px solid rgba(255,255,255,1);
	color:#fff;
	padding:10px;
	box-sizing:border-box;
}
.formItems input.formItem::placeholder,
.formItems textarea.formItem::placeholder {
	color: rgba(255,255,255,0.8);
}
.formItems input.formItem:focus,
.formItems select.formItem:focus,
.formItems textarea.formItem:focus {
	outline:none;
	box-shadow: 0 0 0 2px rgba(255,255,255,0.08);
}

/* Make select dropdown items dark so they're readable on the dark form background */
.formItems select.formItem {
	height:46px;
	background:transparent;
	color:#fff;
}
.formItems select.formItem option,
.formItems select.formItem optgroup {
	background-color: #0c1d2c; /* same blue as site */
	color: #fff;
}
/* Windows/IE specific: ensure the dropdown arrow doesn't force white background */
.formItems select.formItem::-ms-expand {
	display: inline-block;
}

.formInfo {
	padding-bottom:50px;
}

.formPrivacy {
	font-size:14px;
	line-height:18px;
}

.formPrivacyText {
	border:solid 1px white;
	padding:10px;
}

.formPrivacyRadio {

}

/* Custom large rounded radio buttons with transparent background and white border */
.formPrivacyButtons { /* container for radios + labels */
	margin-top:20px;
	margin-bottom:40px;
}
.formPrivacyButtons input.formPrivacyRadio {
	/* hide the native radio visually but keep it accessible */
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
}
.formPrivacyButtons label {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	color: #fff;
	margin-right: 18px;
	user-select: none;
	font-size:16px;
	position: relative; /* needed for absolutely positioned pseudo-elements */
	padding-left: 44px; /* reserve space for custom radio */
}
.formPrivacyButtons label::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid #fff;
	background: transparent;
	box-sizing: border-box;
	transition: box-shadow .15s ease, background .15s ease;
}
/* inner dot - initially hidden (scaled down) centered inside the outer circle */
.formPrivacyButtons label::after {
	content: '';
	position: absolute;
	left: 8px; /* (28 - 12) / 2 */
	top: 50%;
	transform: translateY(-50%) scale(0);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: transparent;
	transition: transform .12s ease, background .12s ease;
}
/* checked state: show white dot */
.formPrivacyButtons input.formPrivacyRadio:checked + label::after {
	transform: translateY(-50%) scale(1);
	background: #ffffff;
}
/* Make touch targets larger */
.formPrivacyButtons input.formPrivacyRadio + label {
	/* keep left padding reserved for the custom radio circle */
	padding: 6px 8px 6px 44px;
}
/* Ensure keyboard focus is visible on the outer circle */
.formPrivacyButtons input.formPrivacyRadio:focus + label::before {
	box-shadow: 0 0 0 3px rgba(255,255,255,0.12);
}

/* Safari/WebKit: try to ensure option colors are applied */
select.formItem option { color: #fff; background-color: #0c1d2c; }

.formContainer button {
	border:solid 1px white;
	font-weight: bold;
}

.formLegalTerms {
	padding:40px 0;
	font-size:14px;
	line-height:18px;
}



@media screen and (max-width: 1200px) {
	
.experienceLarge {
	width:450px;
}

.experienceSmall {
	width:350px;
}

.experienceBoxInfo {
	width:320px;
}

}
