@font-face {
	font-family: 'OpenSans';
	src: url('/fonts/OpenSans-Regular.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;

}
@font-face {
	font-family: 'OpenSans';
	src: url('/fonts/OpenSans-Italic.woff2') format('woff2');
	font-weight: normal;
	font-style: italic;

}
@font-face {
	font-family: 'OpenSans';
	src: url('/fonts/OpenSans-Light.woff2') format('woff2');
	font-weight: 200;
	font-style: normal;

}
@font-face {
	font-family: 'OpenSans';
	src: url('/fonts/OpenSans-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;

}
@font-face {
	font-family: 'OpenSans';
	src: url('/fonts/OpenSans-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;

}

body{
	font-size:17px;
	color:#191919;
	background:#FFF;
	line-height:2;
	font-family: 'OpenSans';
}
h1{
	margin:0 0 8px;
	font-size:211%;
	line-height:1.3;
}
h2{
	margin:0 0 8px;
	font-size:205%;
	line-height:1.3;
}
h3{
	margin:0 0 4px;
	font-size:123.5%;
	line-height:1.3;
}
h4{
	margin:0;
	font-size:100%;
	line-height:1.3;
}
	h1:after,
	h2:after,
	h3:after,
	h4:after{
		content:".";
		color:#FDBF04;
	}
h1 + h2{
	margin-top:-.4em;
	font-weight:200;
}
	h1 + h2:after{
		display:none;
	}
a{
	text-decoration: underline;
	color:#191919;
}
a:hover{
	color:#FDBF04;
}
img{
	max-width:100%;
}
th, td{
	text-align:left;
	vertical-align: top;
}
th + th, td + td{
	padding-left:16px;
}
th[align=center], td[align=center]{
	text-align: center;
}
th[align=right], td[align=right]{
	text-align: right;
}
input[type=email]{
	width:200px;
	border:none;
	border-bottom:solid 1px rgba(0,0,0,.5);
	height: 50px;
	box-sizing:border-box;
}
input[type=email]:focus{
	border-color:#FDBF04;
	outline: 0;
}
.paginate{
	text-align: center;
}
	.paginate a{
		display:inline-block;
		padding:0 5px;
		min-width:18px;
		background:rgba(0,0,0,.05);
		text-decoration:none;
		color:#949494;
		text-align: center;
	}
	.paginate a:hover{
		background:rgba(0,0,0,.1);
	}
	.paginate a.current{
		background:#FDBF04;
		color:#FFF;
	}
	.paginate span{
		color:#949494;
	}
	a.paginate-previous,
	a.paginate-next{
		background:transparent;
	}
		.paginate-previous::before,
		.paginate-next::before{
			content:"";
			display:inline-block;
			position:relative;
			top:-1px;
			left:2px;
			width:8px;
			height:8px;
			border-top:solid 2px #949494;
			border-left:solid 2px #949494;
			transform: rotate(-45deg);
		}
		.paginate-next::before{
			left:-2px;
			transform: rotate(135deg);
		}
.data tr th{
	padding-bottom:24px;
}
.data thead th{
    position: sticky;
    top: 0;
	background-image: linear-gradient(to right, #FFF , #FFF);
	background-repeat:no-repeat;
	background-attachment:fixed;
	background-size:100vw 36px;
    z-index: 9;
}
.grid-background .data thead th{
	background-image: linear-gradient(to right, #000 , #000);
}
.data tr td{
	position:relative;
	padding-top:24px;
	padding-bottom:24px;
}
	.data tr td::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		width:100%;
		border-top:solid 1px #808080;
	}
.label{
	display:inline-block;
    padding: 0 5px;
    background: #FDBF04;
    border-radius: 2px;
    font-style: normal;
    font-size: 60%;
	color:#000;
}
.circle-arrow{
	display:inline-block;
	position:relative;
	width:40px;
	height:40px;
	border:solid 1px #FFF;
	border-radius:50%;
	box-sizing:border-box;
}
a:hover .circle-arrow{
	border-color:#FDBF04;
}
	.circle-arrow::before{
		content:"";
		position:absolute;
		top:50%;
		left:10px;
		margin-top:-3px;
		width:7px;
		height:7px;
		border-left-style:solid;
		border-left-width:1px;
		border-bottom-style:solid;
		border-bottom-width:1px;
		border-color:inherit;
		transform: rotate(45deg);
		box-sizing:border-box;
	}
	.circle-arrow::after{
		content:"";
		position:absolute;
		top:50%;
		margin-top:-.5px;
		left:11px;
		width:18px;
		border-top-style:solid;
		border-top-width:1px;
		border-color:inherit;
	}
.circle-arrow-next{
	transform:rotate(180deg);
}
.hr{
	margin:10px 0;
	border-top:solid 1px #e8e8e8;
}
.grid-background .hr{
	border-color:#FFF;
}
.checkbox{
	position:relative;
	display:inline-block;
	margin-top:.25em;
	cursor: pointer;
}
	.checkbox input{
		display:none;
	}
	.checkbox span{
		display:inline-block;
		position:relative;
		width:15px;
		height:15px;
		border:solid 2px #FFF;
	}
	.checkbox input:checked ~ span{
		background:#FFF;
	}
	.checkbox input:checked ~ span::before{
		content:"";
		position:absolute;
		top:0;
		left:3px;
		width:5px;
		height:9px;
		border-right:solid 3px #191919;
		border-bottom:solid 3px #191919;
		transform: rotate(45deg);
	}
.btn{
	display:inline-block;
	margin-bottom:5px;
	padding:0 25px;
	border:solid 1px #191919;
	border-radius:25px;
	background: transparent;
	line-height:40px;
	text-decoration: none;
}
.btn-small{
	padding:0 17px;
	line-height: 30px;
}
.btn:hover{
	border-color:#333;
	color:#333;
}
.btn-filled{
	background:#191919;
	color:#FDBF04
}
.btn-filled:hover{
	background:#333;
	color:#FDBF04
}
.btn-white{
	border-color:#FFF;
	color:#FFF;
}
.btn-white:hover{
	border-color:#F2F2F2;
	color:#F2F2F2;
}
.btn-white.btn-filled{
	background:#FFF;
	color:#191919;
}
.btn-white.btn-filled:hover{
	background:#F2F2F2;
	color:#191919;
}
.btn-yellow{
	border-color:#FDBF04;
	color:#FDBF04;
}
.btn-yellow:hover{
	border-color:#F0C135;
	color:#F0C135;
}
.btn-yellow.btn-filled{
	background:#FDBF04;
	color:#191919;
}
.btn-yellow.btn-filled:hover{
	background:#F0C135;
	color:#191919;
}
.image{
	display:block;
	position:relative;
}
	.image img{
		display:block;
	}
	.image-text{
		position:absolute;
		top:37px;
		left:45px;
		color:#FFF;
		line-height:1;
	}
		.image-text p{
			margin:0;
		}
		.image-title{
			display:block;
			font-size:210%;
			font-weight:300;
		}
			.image-title strong{
				font-weight: normal;
			}
		.image-sub-title{
			display:inline-block;
			padding:3px 10px;
			background:#FDBF04;
			color:#FFF;
			font-size:90%;
		}
		.image-title + .image-sub-title{
			margin-top:5px;
		}
		.image .btn{
			position:absolute;
			right:24px;
			bottom:24px;
			margin-bottom:0;
		}
.video{
	position:relative;
	overflow: hidden;
}
	.video::before{
		content:"";
		display:block;
		margin-top:56.2%;
	}
	.video video{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		border:0;
	}
.youtube, .vimeo, .soundcloud{
	position:relative;
	overflow: hidden;
}
	.youtube::before,
	.vimeo::before,
	.soundcloud::before{
		content:"";
		display:block;
		margin-top:56.2%;
	}
	.soundcloud::before{
		margin-top:162px;
	}

	.youtube iframe,
	.vimeo iframe,
	.soundcloud iframe{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		border:0;
	}
.slider{
	position:relative;
	min-height:350px;
	min-height:75vh;
	overflow:hidden;
}
	.slide{
		position:relative;
		left:0;
		padding-top:225px;
		min-height:75vh;
		background:no-repeat top center #000000;
		background-size:100% auto;
		box-sizing:border-box;
	}
	.slide + .slide{
		position:absolute;
		top:0;
		left:100%;
		width:100%;
	}
	.slide.current{
		left:0;
	}
		.slide-content{
			min-height: 370px;
			color:#FFF;
		}
		.slider .slide-content{
			position:relative;
			top:-50px;
			opacity:0;
		}
		.current .slide-content{
			top:0;
			opacity:1;
			transition:.5s;
		}
			.slide-text{
				margin-bottom:32px;
				padding:30px;
				background:rgba(0,0,0,.5);
			}
			.slide-text-left{
				float:left;
			}
			.slide-text-right{
				float:right;
			}
	.slide-transition{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		overflow: hidden;
	}
		.slide-transition-blind{
			position:absolute;
			top:0;
			left:0;
			overflow:hidden;
			transition:.5s ease-out;
		}
			.slide-transition-blind img{
				position:relative;
				max-width:none;
			}
.marquee{
	width:100%;
	overflow: hidden;
}
	.marquee .pure-g{
		display:inline;
		position: relative;
		white-space: nowrap;
	}
.news-home{
	display: flex;
	margin-top:20px;
	flex-flow: row wrap;
}
	.news-home-item{
		float:left;
		position:relative;
		width:50%;
		border-left:solid 1px #FFF;
		padding:0 50px 38px 70px;
		box-sizing:border-box;
		text-decoration: none;
		word-wrap: break-word;
	}
	.news-home-item-hidden{
		opacity:.5;
		background:#EEE;
	}
		.news-home-item::before{
			content:"";
			position:absolute;
			top:0;
			right:-14px;
			width:20px;
			height:20px;
			background:#FFF;
			border:solid 3px #EBEBEB;
			border-radius: 50%;
			outline:solid 4px #FFF;
			z-index:2;
		}
		.news-home-item::after{
			content:"";
			position:absolute;
			top:0;
			right:-1.5px;
			width:3px;
			height:100%;
			background:#EBEBEB;
		}
		.news-home-item:nth-child(2n)::before{
			left:-13.5px;
			right:auto;
		}
		.news-home-item:nth-child(2n)::after{
			left:-2.5px;
			right:auto;
		}
		.news-home-item-type{
			position:absolute;
			top:0;
			right:100%;
			margin-right:-54px;
			width:16px;
			height:16px;
		}
		.news-home-item-date{
			position:absolute;
			top:32px;
			right:100%;
			margin-right:-45px;
			transform: translateY(-35%) rotate(-90deg);
			transform-origin: 100% 50%;
			white-space: nowrap;
		}
	.news-home-more-container{
		margin-top:20px;
		text-align:center;
	}
.image-block{
	display:block;
	position:relative;
	overflow: hidden;
	color:#FFF;
}
	.image-block::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.45) 100%);
		z-index:2;
	}
	.image-block span{
		position:absolute;
		left:30px;
		bottom:20px;
		z-index:2;
	}
		.image-block i{
			float:left;
			padding:0 10px;
			background:#000;
			border-radius:2px;
			font-style:normal;
			font-size:82.5%;
		}
		.image-block b{
			display:block;
			clear:both;
		}
	.image-block img{
		position:relative;
		display:block;
		width:100%;
		transform:scale(1.01);
		transition:.25s;
		z-index:1;
	}
	.image-block:hover img{
		transform:scale(1.05);
	}
	.youtube-image-sd{
		margin:-9.5% 0;
	}
.media-spacer{
	height:200px;
	max-height:25vw;
}
.gallery-photo{
	position:relative;
	display:block;
	overflow:hidden;
}
	.gallery-photo img{
		display:block;
		transform:scale(1.01);
		transition:.25s;
	}
	.gallery-photo:hover img{
		transform:scale(1.05);
	}
.registration-fee{
	line-height: 1.2;
}
	.registration-fee td{
		padding:10px;
		border-left:solid 1px rgba(0,0,0,.25);
		border-top:solid 1px rgba(0,0,0,.25);
	}
	.registration-fee .nowrap {
		white-space: nowrap;
	}
	.registration-fee tr:first-child td{
		border-top:none;
	}
	.registration-fee td:first-child{
		border-left:none;
	}
		.registration-fee-date{
			font-size:80%;
		}
	.registration-fee td + td{
		color:rgba(0,0,0,.35);
	}
	.registration-fee .registration-fee-current {
		color:#000;
	}
.pure-hidden {
    display:none;
}
.pure-show {
    display:block;
}
@media screen and (min-width:35.5em){
    .pure-hidden-sm{
        display:none;
    }
    .pure-show-sm{
        display:block;
    }
    thead.pure-show-sm {
		display:table-header-group;
	}
}
@media screen and (min-width:48em){
    .pure-hidden-md{
        display:none;
    }
    .pure-show-md {
        display:block;
    }
    thead.pure-show-md {
		display:table-header-group;
	}
}
@media screen and (min-width:64em){
    .pure-hidden-lg{
        display:none;
    }
    .pure-show-lg{
        display:block;
    }
    th.pure-show-lg {
		display:table-cell;
	}
    td.pure-show-lg {
		display:table-cell;
	}
}
@media screen and (min-width:80em){
    .pure-hidden-xl{
        display:none;
    }
    .pure-show-xl{
        display:block;
    }
}
.pure-g{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	margin-top:-32px;
	margin-left:-16px;
	width:calc(100% + 32px);
}
	.pure-g > *{
		margin-top:32px;
		padding:0 16px;
		box-sizing:border-box;
	}
	.valign-middle{
		display: flex;
		align-items: center;
	}
.pure-g-nospacing{
	margin:0;
	width:100%;
}
	.pure-g-nospacing > *{
		margin:0;
		padding:0;
	}
.stage{
	color:#FFF;
}
	.stage-transition{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:56.25vw;
		overflow: hidden;
	}
		.stage-transition-blind{
			position:absolute;
			top:0;
			left:0;
			overflow:hidden;
			transition:.5s ease-out;
		}
			.stage-transition-blind img{
				position:relative;
				width:100vw;
				max-width:none;
			}
	.stage-live-blog{
		margin-bottom: 20px;
		max-height:500px;
		overflow: auto;
	}
	.stage-live-blog::-webkit-scrollbar{
		width: 5px;
	}
	.stage-live-blog::-webkit-scrollbar-track{
		background: #888;
	}
	.stage-live-blog::-webkit-scrollbar-thumb{
		background: #f1f1f1;
	}
	.stage-live-blog::-webkit-scrollbar-thumb:hover{
		background: #FFF;
	}
		.stage-live-blog__blog{
			overflow: hidden;
		}
		.stage-live-blog__blog + .stage-live-blog__blog{
			margin-top:20px;
			border-top:solid 1px #FFF;
			padding-top:20px;
		}
			.stage-live-blog__blog__image{
				float:left;
				max-width:33%;
				margin-right:20px;
			}
			.stage-live-blog__blog__video{
				float:left;
				width:33%;
				margin-right:20px;
				margin-bottom:10px;
			}
			.stage-live-blog__facebook{
				margin-top:10px;
				overflow: hidden;
			}
				.stage-live-blog__facebook .fb-post{
					float:left;
					background:#FFF;
				}
			.stage-live-blog__instagram{
				margin-top:10px;
			}
	.stage-page-update{
		position:fixed;
		left:0;
		bottom:0;
		width:100%;
		padding:5px 10px;
		background:#FDBF04;
		font-weight:bold;
		text-transform:uppercase;
		font-size:80%;
		text-align:center;
		box-sizing:border-box;
		z-index:9;
	}
	.stage-previous, .stage-next{
		display:none;
		position:fixed;
		left:0;
		bottom:0;
		padding:5px 10px;
		background-size:0%;
		background-repeat:no-repeat;
		text-align:center;
		text-decoration: none;
		font-size:80%;
		z-index:10;
	}
		.stage-previous .circle-arrow, .stage-next .circle-arrow{
			display:none;
		}
		.stage-previous::before{
			content:"<";
		}
		.stage-next::after{
			content:">";
		}
	.stage-next{
		left:auto;
		right:0;
	}
	.stage-previous[href], .stage-next[href]{
		display:block;
	}
	.stage-previous:hover, .stage-next:hover{
		background-color:#000;
	}
	.stage-header, .stage-image{
		transition:.25s;
	}
	.stage-image-container{
		position:relative;
		display:inline-block;
	}
		.stage-image{
			display:block;
		}
		.stage-header {
			width: 100%;
			position: relative;
		}
		.stage-header .stage-live-tracking-button{
			position:absolute;
			right:0;
			top:0;
		}
		.stage-image-container .stage-live-tracking-button{
			position:absolute;
			right:0;
			bottom:0;
			margin:0;
		}
	.stage-name{
		margin:0;
		font-weight:200;
		font-size:250%;
		color:#FFF;
		line-height:1;
		padding-bottom: 10px;
	}
		.stage-name::after{
			display:none;
		}
	.stage-title{
		margin:0;
		line-height:1;
		font-size:200%;
		color:#FDBF04;
	}
		.stage-title::after{
			display:none;
		}
	.stage-first-position{
		text-align: center;
		font-size:94%;
	}
		.stage-first-position h3{
			color:#FDBF04;
			font-weight:normal;
			text-align: left;
		}
			.stage-first-position h3::after{
				display:none;
			}
		.stage-first-position img{
			width:100%;
			filter: grayscale(100%);
		}
		.stage-first-position b{
			font-weight:normal;
		}
		.stage-first-position i{
			display:block;
			font-style:normal;
			opacity:.5;
		}
.stage-updates{
	padding-top:20px;
}
	.stage-update{
		position:relative;
		margin-left:42px;
		border-left:solid 1px #FFF;
		padding:38px 0 38px 84px;
	}
		.stage-update-type{
			position:absolute;
			top:38px;
			left:-16px;
			width:16px;
			height:16px;
			padding:8px;
			background:#000;
			fill:#FFF;
		}
			.stage-update-type svg{
				display:block;
			}
		.stage-update-time{
			position:absolute;
			top:42px;
			right:100%;
			margin-right:-45px;
			transform: translateY(-35%) rotate(-90deg);
			transform-origin: 100% 50%;
		}
		.stage-update-message{
			word-break: break-word;
		}
.stage-video{
	margin-bottom: 20px;
}
	.stage-checkpoints{
		position:relative;
		margin:50px 30px 0 0;
	}
	.stage-checkpoints:empty{
		display:none;
	}
		.stage-checkpoints::before{
			content:"";
			position:absolute;
			top:13.5px;
			left:0;
			width:100%;
			height:3px;
			background:#FFF;
		}
		.stage-checkpoints::after{
			content:"";
			display:block;
			clear:both;
		}
		.stage-checkpoint{
			float:left;
			position:relative;
			width:0px;
		}
			.stage-checkpoint-competitors{
				display:flex;
				flex-direction: column;
			}
				.stage-checkpoint-name{
					position:relative;
					top:0;
					width:30px;
					height:30px;
					border-radius:50%;
					background:#FFF;
					font-size:10px;
					font-weight:bold;
					line-height:30px;
					text-align: center;
					color:#191919;
					z-index:2;
				}
				.stage-checkpoint-km{
					position:absolute;
					top:-20px;
					left:15px;
					padding:0 5px;
					border-radius:2px;
					background:#191919;
					color: #FFF;
					font-size:11px;
					text-align: center;
					white-space: nowrap;
					transform: translateX(-50%);
				}
				.stage-checkpoint-competitor{
					position:relative;
					top:0;
					margin-top:2px;
					width:30px;
					font-size:12px;
					text-align: center;
					color:#191919;
					line-height: 1;
					z-index:2;
				}
					.stage-checkpoint-competitor::before{
						content:"";
						display:block;
						/* position:absolute;
						top:0;
						left:0; */
						margin:0 auto;
						width:0;
						border-bottom:solid 6px #FDBF04;
						border-left:solid 6px transparent;
						border-right:solid 6px transparent;
					}
					.stage-checkpoint-competitor span{
						display:block;
						padding:3px 0;
						background:#FDBF04;
						border-radius:2px;
					}
	.stage-table-checkpoints-container{
		width:120px;
		overflow:hidden;
	}
	@media screen and (min-width:48em){
		.stage-table-checkpoints-container{
			width:360px;
		}
	}
	@media screen and (min-width:64em){
		.stage-table-checkpoints-container{
			width:600px;
		}
	}
	@media screen and (min-width:80em){
		.stage-table-checkpoints-container{
			width:720px;
		}
	}
	.stage-table-checkpoints{
		display:flex;
		position:relative;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-content: stretch;
		transition:.5s;
	}
		.stage-table-checkpoint{
			position:relative;
			min-width:120px;
		}
		th .stage-table-checkpoint{
			font-size:50%;
			line-height: 1;
		}
		td .stage-table-checkpoint{
			text-indent: .7em;
		}
			.stage-table-checkpoint > span{
				display:block;
				text-align: center;
			}
				.stage-table-checkpoint-position {
					font-size: 75%;
					margin-top: -10px;
				}
				th .stage-table-checkpoint > span > b{
					display:block;
					font-size:200%;
					line-height: 2;
				}
				th .stage-table-checkpoint .label{
					position:relative;
					top:-.7em;
					font-size:110%;
					line-height: 2;
				}
	.stage-categories{
		padding-top:20px;
	}
	.stage-category-list{
		padding-top:30px;
	}
		.stage-category-list table{
			width:100%;
		}
	.stage-team{
		position:relative;
		-webkit-backface-visibility: hidden;
    	-webkit-transform: translateZ(0);
		transform-style: preserve-3d;
		z-index:2;
	}
	.stage-team-hidden{
		display:none !important;
		height:0;
		opacity:0;
	}
	.stage-team-move{
		transition:.5s;
	}
		.stage-team-check{
			display:none;
			padding-right:20px;
		}
		.stage-team-check-show{
			display:table-cell;
		}
.center{
	position:relative;
	margin:0 30px;
	height:100%;
	max-width:1326px;
}
.header{
	position:fixed;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:150px;
	padding-top:50px;
	line-height: 1;
	z-index:11;
}
	.header::before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:140px;
		background: -moz-linear-gradient(top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top, rgba(0,0,0,0.75) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom, rgba(0,0,0,0.75) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	}
	.header-logo{
		position:absolute;
		top:-30px;
		left:0;
		width:235px;
		fill:#FFF;
		transition:.25s;
		z-index:3;
		color:#FFF;
		text-align:center;
		font-size: 0.8em;
		text-decoration: none;
	}
	.header-logo img,
	.header-logo svg {
		padding-bottom:6px;
	}
	.menu .header-logo{
		fill:#000;
	}
	.menu span.notice {
		height:0;
		display:none;
	}
	.header-menu{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		padding:50px 0 80px;
		background:#FFF;
		transform:translateY(-100%);
		transition:.25s;
		z-index:2;
	}
	.menu .header-menu{
		padding-top:170px;
		transform:translateY(0);
	}
		.header-menu .center{
			display:flex;
		}
			.header-menu-sub{
				flex-grow: 1;
				flex-basis: 0;
			}
				.header-menu-home{
					position:absolute;
					top:-125px;
					padding-left: 30px;
					text-decoration: none;
					transition:.25s;
				}
					.header-menu-home img, .header-menu-home svg{
						position:absolute;
						bottom:-2px;
						left:0;
						width:24px;
						fill:#000;
						transition:.25s;
					}
					.header-menu-home:hover svg{
						fill:#F0C135;
					}
				.header-menu-button,
				.header-menu-sub-head{
					float:left;
					position:relative;
					top:100%;
					padding-left:30px;
					min-height:0;
					text-decoration: none;
					transition:.25s;
					color:#FFF;
				}
				.header-menu-sub-head{
					/* opacity:.75; */
					transform:translateY(130px);
					cursor:pointer;
				}
				.header-menu-sub-head:hover{
					opacity:1;
				}
				body.menu .header-menu-sub-head{
					cursor:auto;
				}
				.header-menu-button{
					position:fixed;
					transform:translateY(50px);
					transition:.25s;
				}
				.menu .header-menu-button{
					top:0;
					color:#191919;
				}
				@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* IE10 && IE 11 */
					.header-menu-button{
						position:absolute;
						top:100%;
						margin-top:75px;
					}
					.menu .header-menu-button{
						margin-top:0;
						top:-125px;
						transform:none;
					}
				}
				.menu .header-menu-button:hover{
					color:#FDBF04;
				}
					.header-menu-button::before{
						content:"";
						position:absolute;
						top:50%;
						left:0;
						margin-top:-10px;
						width:22px;
						height:6px;
						border-top:solid 2px #FFF;
						border-bottom:solid 2px #FFF;
						transition:.25s;
					}
					.header-menu-button span::after{
						content:"";
						position:absolute;
						top:50%;
						margin-top:6px;
						left:0;
						width:14px;
						border-top:solid 2px #FFF;
						transition:.25s;
					}
					.menu .header-menu-button span{
						font-size:0;
					}
					.menu .header-menu-button::before,
					.menu .header-menu-button span::after{
						border-color:#191919;
					}
					.menu .header-menu-button::before{
						border-width:1px;
						height:0;
						margin-top:-1px;
						transform:rotate(135deg);
					}
					.menu .header-menu-button span::after{
						margin-top:-1px;
						width:22px;
						transform:rotate(225deg);
					}
					.header-menu-button:hover::before,
					.header-menu-button:hover span::after{
						border-color:#FDBF04;
					}
					.header-menu-button::after{
						content:attr(close);
						font-size:0;
					}
					.menu .header-menu-button::after{
						font-size:100%;
					}
					@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* IE10 && IE 11 */
						.menu .header-menu-button::after{
							font-size:17px;
						}
					}
				.header-menu-sub:nth-child(1) .header-menu-sub-head,
				.header-menu-sub:nth-last-child(1) .header-menu-sub-head{
					transform:translateY(0);
					opacity:0;
				}
				.menu .header-menu-sub .header-menu-sub-head{
					top:0;
					transform:translateY(0);
					font-size:123.5%;
					font-weight:bold;
					opacity:1;
					color:#191919;
				}
				/*.menu .header-menu-sub .header-menu-sub-head:hover{
					color:#FDBF04;
				}*/
					.header-menu-sub-head img, .header-menu-sub-head svg{
						position:absolute;
						top:50%;
						left:0;
						margin-top:-12px;
						width:24px;
						fill:#FFF;
						transition:.25s;
					}
					.menu .header-menu-sub-head svg{
						fill:#191919;
					}
					.header-menu-sub-head:hover svg{
						fill:#FDBF04;
					}
						body.menu .header-menu-sub-head:hover svg{
							fill:#191919;
						}
				.header-menu-sub-menu{
					position:relative;
					transform:translateY(-100%);
					overflow:hidden;
					transition:.25s;
					clear:both;
				}
				.menu .header-menu-sub-menu{
					transform:translateY(0);
				}
					.header-menu-sub-menu > a{
						float:left;
						margin-top:30px;
						min-height:0;
						text-transform: uppercase;
						text-decoration: none;
						color:#9B9B9B;
						opacity:0;
						font-size:85%;
						clear:both;
						transition:.5s;
					}
					.menu .header-menu-sub-menu > a{
						opacity:1;
					}
					.menu .header-menu-sub-menu > a:hover{
						color:#FDBF04;
						transition:0s;
					}
	.header-language{
		display:flex;
		position:absolute;
		top:0;
		right:0;
		padding:0;
		background:transparent;
		border-radius:3px;
		z-index:4;
		transition:.25s;
	}
	.header-language:hover{
		top:-5px;
		right:-5px;
		padding:5px;
		background:#FFF;
	}
		.header-language a{
			float:left;
			color:#FFF;
			text-decoration:none;
			transition:.25s;
			vertical-align: middle;
			order:1;
		}
		.header-language:hover a{
			margin-right:5px;
		}
		.header-language a.current{
			pointer-events: none;
			order:2;
		}
		.header-language:hover a.current{
			margin-right:0;
		}
		.menu .header-language:hover a{
			color:#FFF;
		}
			.header-language a img{
				display:block;
				width:0;
				height:18px;
				transition:.25s;
			}
			.header-language a.current img{
				width:24px;
			}
			.header-language:hover a img{
				width:24px;
				box-shadow: 2px 2px 5px rgba(0,0,0,.1);
			}
.grid-container{
	position:relative;
	padding:60px 0;
	background:#FFF left top no-repeat;
	background-size:100vw auto;
}
.grid-background{
	background:no-repeat left top #000 url(/images/grid-background.jpg);
	background-size:100vw auto;
	color:#FFF;
	padding:120px 0;
}
.grid-container + .grid-container{
	padding-top:0;
}
.grid-container + .grid-background{
	padding-top:120px;
}
.grid-background + .grid-container{
	padding-top:60px;
}
.grid-background + .grid-background{
	padding-top:120px;
}
.grid-homepage + .grid-container{
	margin-top:-90px;
	background:transparent;
}
.slider+ .grid-container{
	margin-top:-150px;
	background:transparent;
}
	.slider+ .grid-container > .center > .pure-g > * > *{
		box-shadow:0 5px 25px rgba(0,0,0,.5);
	}
.header + .grid-container{
	min-height: 75vh;
	padding-top:225px;
    box-sizing: border-box;
}
		.grid-container + .grid-background::before,
		.grid-container + .grid-homepage::before{
			content:"";
			position:absolute;
			top:0px;
			left:0;
			width:100%;
			height:22px;
			background:url(/images/grid-background-header.png) center top;
			background-size:auto 22px;
			z-index:2;
		}
		.grid-background + .grid-container::before{
			content:"";
			position:absolute;
			top:-22px;
			left:0;
			width:100%;
			height:22px;
			background:url(/images/grid-background-footer.png) center bottom;
			background-size:auto 22px;
			z-index:2;
		}
		.grid-background + .grid-background::before,
		.grid-background + .grid-homepage::before{
			content:"";
			position:absolute;
			top:0px;
			left:0;
			width:100%;
			height:22px;
			background:url(/images/grid-background-header-black.png) center bottom;
			background-size:auto 22px;
			z-index:2;
		}
		.grid-background::after{
			content:"";
			position:absolute;
			top:0;
			left:0;
			width:100%;
			height:100%;
			max-height:56.25vw;
			background: linear-gradient(180deg, rgba(0,0,0,0.14) 0%, #000000 100%);
			z-index:1;
		}
		.grid-background a{
			color:#FFF;
		}
		.grid-background input,
		.grid-background select,
		.grid-background textarea{
			color:#191919;
		}
		.grid-background a:hover{
			color:#FDBF04;
		}
	.grid-container .center{
		z-index:2;
	}
	.grid-homepage-header{
		min-height: 24.5vw;
		color:#FFF;
	}
		.grid-homepage-header-text{
			margin-bottom:32px;
			padding:30px;
			background:rgba(0,0,0,.5);
		}
.quote{
	line-height:1;
	font-size:147%;
	font-weight:bold;
}
	.quote span{
		color:#FDBF04;
	}
	.quote::after{
		display:none;
	}
.footer{

}
	.footer b{
		display:block;
		font-size:105.88%;
	}
	.footer-menu{

	}
		.footer-menu a{
			text-decoration: none;
		}
	.footer-newletter{
		display: flex;
		flex-direction: row;
	}
		.footer-newletter input{
			width:325px;
		}
		.footer-newletter button{
			white-space: nowrap;
		}
	.www{
		position: relative;
		top:30px;
		font-size:90%;
	}
		.www__link{
			text-decoration: none;
			white-space: nowrap;
		}
.cookie-message{
	position:fixed;
	left:50%;
	bottom:0;
	padding:10px 50px 10px 30px;
	border-radius:2px;
	font-size:80%;
	background:#F0C135;
	transform: translateX(-50%);
	z-index:999;
	transition:.25s;
}
.cookie-message--hide{
	transform: translate(-50%, 100%);
}
	.cookie-message__close{
		position: absolute;
		top:50%;
		right:10px;
		margin-top:-16px;
		width:32px;
		height:32px;
	}
		.cookie-message__close::before,
		.cookie-message__close::after{
			content:"";
			position: absolute;
			top:50%;
			left:25%;
			margin-top:-1px;
			width:50%;
			height:2px;
			background:#000;
			transform: rotate(45deg);
		}
		.cookie-message__close::after{
			transform: rotate(-45deg);
		}
@media screen and (max-width:80em){
	.grid-homepage-container .image-text{
		top:30px;
		left:30px;
	}
	.slide{
		background-size:150% auto;
	}
	.slide-transition{
		left:-25%;
		width:150%;
	}
}
@media screen and (max-width:64em){
	.header{
		height:110px;
	}
	.header-logo{
		left:50%;
		transform: translateX(-50%);
	}
	.header-menu-home{
		top:-60px;
		left:0;
	}
	.header-menu .center{
		flex-wrap: wrap;
	}
		.header-menu-sub{
			width:50%;
			flex-basis: auto;
		}
		.header-menu-sub:nth-child(n+3){
			margin-top:3em;
		}
			.header-menu-button{
				left:30px;
			}
			.header-menu .header-menu-sub-head{
				transform:translateY(0);
				opacity:0;
			}
			.header-menu-sub-menu > a{
				margin-top: 10px;
			}
	.header + .grid-container {
    	padding-top: 175px;
	}
	.slide{
		padding-top:175px;
		background-size:200% auto;
	}
	.slide-transition{
		left:-50%;
		width:200%;
		overflow: hidden;
	}
	.grid-homepage{
		background:top right;
		background-size:200vw auto;
	}
	.stage-update {
    	margin-left:0;
	}
		.stage-update-message{
			overflow:hidden;
		}
			.stage-update-message img{
				float:left;
				max-width:50%;
				margin-right:20px;
			}
	.pure-u-1:empty{
		display:none;
	}
}
@media screen and (min-width:48em) and (max-width:64em){
	.grid-homepage-container{
		font-size:80%;
	}
	.grid-homepage-container .image-title{
		font-size:130%;
	}
	.grid-homepage-container .image-text{
		top:20px;
		left:20px;
	}
	.grid-homepage-container .image .btn{
		right:10px;
		bottom:10px;
	}
}
@media screen and (max-width:48em){
	.header{
		height:95px;
	}
	.news-home-item{
		width:100%;
		padding-right:0;
	}
		.news-home-item::before{
			left:0px !important;
			right:auto;
		}
		.news-home-item::after{
			left:11px !important;
			right:auto;
		}
}
@media screen and (max-width:35.5em){
	.header{
		height:80px;
	}
	body{
		font-size:15px;
	}
	h1{
		font-size:150%;
	}
	h2{
		font-size:130%;
	}
	h3{
		font-size:110%;
	}
	.header-menu-sub{
		width:100%;
	}
	.header-menu-sub:nth-child(n+2){
		margin-top:3em;
	}
		.header-logo{
			width:150px;
		}
		.header-menu-button span{
			font-size:0;
		}
		.menu .header-menu-button::after{
			font-size:0;
		}
	.header + .grid-container {
	    padding-top: 140px;
	}
	.grid-homepage{
		background-size:auto 100%;
	}
	.stage-page-update div{
		visibility: hidden;
	}
	.stage-first-position {
    	text-align:left;
	}
	.stage-team{
		display:flex;
   		flex-wrap: wrap;
		position:relative;
		border-top:solid 1px #808080;
	}
		.data .stage-team td::before{
			border:none;
		}
		.stage-team-position{
			display:block;
			order:1;
		}
			.data .stage-team-position::before{
				content:"P ";
				position:static;
			}
		.stage-team-race-number{
			display:block;
			order:2;
		}
			.data .stage-team-race-number::before{
				content:"# ";
				display:inline;
				position:static;
				border:none;
			}
		.data .stage-team-members{
			display:block;
			margin-top:-20px;
			width:100%;
			padding-top:0;
			padding-left:0;
			order:4;
		}
		.stage-team-country{
			display:block;
			order:3;
		}
		.data .stage-team-time{
			display:block;
			position:absolute;
			top:0;
			right:0;
			order:5;
		}
	.stage-update{
    	padding:40px 0 0;
		border-left:none;
	}
	.stage-update + .stage-update{
		margin-top:28px;
	}
		.stage-update + .stage-update::before{
			content:"";
			position:absolute;
			top:-12px;
			left:0;
			width:100%;
			border-top:solid 1px #FFF;
		}
		.stage-update-type{
			top:0;
			left:0;
		}
		.stage-update-time{
			top:0;
			left:36px;
			transform:none;
			line-height:32px;
		}
		.stage-update-message img{
			float:none;
			margin-right:0;
			max-width:100%;
		}
	.news-home-item{
		width:100%;
		padding:0 0 38px 40px;
	}
		.news-home-item-type{
			position:static;
			float:left;
			margin-right:5px;
		}
		.news-home-item-date{
			position:static;
			margin-right:0;
			transform: none;
		}
	.quote{
		background-size:cover;
	}
	.image-title{
		font-size:150%;
	}
	.slide{
		padding-top:120px;
		background-size:350% auto;
	}
	.slide-transition{
		left:175%;
		width:350%;
	}
}
@media screen and (min-width:1326px){
	.center{
		margin:0 auto;
	}
}
@media screen and (min-width:1700px){
	.stage-page-update{
		top:50vh;
		bottom:auto;
		width:auto;
		transform:translateX(-50%) rotate(-90deg);
		transform-origin: 50% 0%;
	}
	.stage-previous, .stage-next{
		display:none;
		position:absolute;
		top:50vh;
		left:0;
		bottom:auto;
		width:calc((100% - 1326px) / 2);
		padding:15px 0;
		transform:translateY(-50%);
		line-height:1;
		font-size:100%;
		z-index:8;
	}
	.stage-next{
		left:auto;
		right:0;
	}
	.stage-previous:hover, .stage-next:hover{
		background-color:transparent;
	}
	.stage-previous .circle-arrow, .stage-next .circle-arrow{
		display:inline-block;
	}
	.stage-previous::before, .stage-next::after{
		display:none;
	}
		.stage-nav-name{
			display:block;
			margin-top:12px;
		}
}
.cms-rally-checkbox{
	display:inline-block;
	position:relative;
	margin-right:10px;
	width:18px;
	height:18px;
	border:solid 4px #191919;
}
.cms-rally-checkbox[checked]{
	background:#191919;
}
	.cms-rally-checkbox[checked]::before{
		content:"";
		position:absolute;
		top:-3px;
		left:4px;
		width:6px;
		height:15px;
		border-right:solid 4px #FFF;
		border-bottom:solid 4px #FFF;
		transform:rotate(45deg);
	}
.cms-gallery-photo-filter{

}
	.cms-gallery-photo-filter b{
		display:block;
		clear:both;
	}
	.cms-gallery-photo-filter i{
		display:block;
		clear:both;
		font-style:normal;
	}
	.cms-gallery-photo-filter a{
		float:left;
		position:relative;
		padding-left:25px;
		clear:both;
		text-decoration: none;
	}
		.cms-gallery-photo-filter a::before{
			content:"";
			position:absolute;
			top:50%;
			left:0;
			margin-top:-8px;
			width:12px;
			height:12px;
			border:solid 2px #FFF;
		}
		.cms-gallery-photo-filter-active::before{
			background:#FFF;
		}
		.cms-gallery-photo-filter-active::after{
			content:"";
			position:absolute;
			top:50%;
			left:5px;
			width:4px;
			margin-top:-8px;
			height:10px;
			border-right:solid 3px #191919;
			border-bottom:solid 3px #191919;
			transform:rotate(45deg);
		}
.cms-gallery-photo-tags{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	padding-right:5px;
	box-sizing: border-box;
	font-size:80%;
	line-height:1;
	z-index:2;
}
	.cms-gallery-photo-tags span{
		float:left;
		margin-top:5px;
		margin-left:5px;
		padding:5px;
		border-radius: 3px;
	}
	.cms-gallery-photo-tags span[type=rally]{
		background:#FDBF04;
		color:#191919;
	}
	.cms-gallery-photo-tags span[type=stage]{
		background:#191919;
		color:#FFF;
	}
	.cms-gallery-photo-tags span[type=category]{
		background:#FFF;
		color:#191919;
	}
.cms-slider-manage{
	position:absolute;
	left:50%;
	bottom:100px;
	transform:translateX(-50%);
	z-index:10;
}
.cms-slide{
	width:960px;
	height: 17.25vw;
}
.cms-slide + .cms-slide{
	margin-top:10px;
}
	.cms-slide-content{
		width:1920px;
		transform:scale(.5);
		transform-origin: 0 0;
	}
