@font-face {
	font-family: 'BadHouse';
	src: url('../fonts/badhousehornbach-bold-webfont.eot');
	src: url('../fonts/badhousehornbach-bold-webfont.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/badhousehornbach-bold-webfont.woff2') format('woff2'),
		 url('../fonts/badhousehornbach-bold-webfont.woff') format('woff'),
		 url('../fonts/badhousehornbach-bold-webfont.ttf') format('truetype'),
		 url('../fonts/badhousehornbach-bold-webfont.svg#badhousehornbach-bold-webfont') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: fallback;
}

@font-face {
  font-family: "TradeGothic";
  src: url("../fonts/TradeGothicHornbach-Cn18.eot");
  src: url("../fonts/TradeGothicHornbach-Cn18.eot?#iefix") format("embedded-opentype"),
    url("../fonts/TradeGothicHornbach-Cn18.otf") format("opentype"),
    url("../fonts/TradeGothicHornbach-Cn18.svg") format("svg"),
    url("../fonts/TradeGothicHornbach-Cn18.ttf") format("truetype"),
    url("../fonts/TradeGothicHornbach-Cn18.woff") format("woff"),
    url("../fonts/TradeGothicHornbach-Cn18.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}

@font-face {
	font-family: 'TradeGothic';
	src: url('../fonts/tradegothichornbach-boldcondensed-webfont.eot');
	src: url('../fonts/tradegothichornbach-boldcondensed-webfont.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/tradegothichornbach-boldcondensed-webfont.woff2') format('woff2'),
		 url('../fonts/tradegothichornbach-boldcondensed-webfont.woff') format('woff'),
		 url('../fonts/tradegothichornbach-boldcondensed-webfont.ttf') format('truetype'),
		 url('../fonts/tradegothichornbach-boldcondensed-webfont.svg#tradegothichornbach-boldcondensed-webfont') format('svg');
	font-weight: bold;
	font-style: normal;
	font-display: fallback;
}

html{
	width:100%;
	height:100%;
}
body{
	width:100%;
	height:100%;
	background:#FFF;
	line-height:1.6;
	font-weight:normal;
	font-size:17px;
}
body, a, table, input, select, textarea{
	color:#2D3136;
  	font-family: "TradeGothic";
}
h1{
	margin-bottom: 30px;
	font-family: "BadHouse";
	font-size:60px;
	line-height: 1;
	color:#C40075;
}
h2{
	font-family: 'TradeGothic';
	line-height: 1;
	font-size:32px;
	margin-bottom: 30px;
}
h1 + h2{
	position: relative;
	top:-30px;
	margin-bottom: 0px;
}
h3{
	font-family: "BadHouse";
	font-size:24px;
	color:#C40075;
	margin-bottom: 10px;
}
h4{
	font-family: 'TradeGothic';
	margin-bottom: 0;
	font-size:20px;
}
small {
	font-size: 80%;
}
.clear{
	clear:both;
}
.msg{
	margin-bottom:20px;
	padding:5px 10px;
	border:solid 1px #F99D27;
	background-color: #F99D27;
	border-radius:3px;
	color:#FFF;
}
.error{
	margin-bottom:20px;
	padding:5px;
	border:solid 2px #DE133E;
	border-radius:3px;
	background:#DE133E;
	color:#FFF;
}

input[type=text], input[type=date], input[type=email], input[type=tel], select, textarea, input[type=number] {
	width:300px;
	max-width:100%;
	height:40px;
	padding:0 15px;
	box-sizing: border-box;
	border:solid 1px #DADADA;
	border-radius: 3px;
	font-size:100%;
}

th + td {
	padding: 5px 0;
}
th {
	padding-right:5px;
	text-align: left;
	font-weight: 400;
}
.align-top {
	vertical-align: top;
}

textarea{
	height:125px;
}
input[disabled] {
	background: #ECECEC;
	border-color:#ECECEC;
}
.center{
	position: relative;
	margin:0 16px;
}
	@media (min-width:64em){
		.center{
			margin: 0 auto;
			max-width:1000px;
		}
	}
.grid{
	display: flex;
	flex-flow: row wrap;
	align-content: flex-start;
	position: relative;
	margin: -20px;
	width: calc(100% + 40px);
}
	.grid > div {
		box-sizing: border-box;
		vertical-align: top;
		padding: 20px;
	}
	.grid__cell--1{
		width:100%;
	}
	.grid__cell--1-2{
		width:50%;
	}
	.grid__cell--1-3{
		width:33.3%;
	}
	@media (min-width:48em){
		.grid__cell--md-1-2{
			width:50%;
		}
		.grid__cell--md-1-3{
			width:33.3%;
		}
	}
.index-header{
	margin-bottom: 40px;
	height:70px;
	background:url(../images/header.jpg);
}
	.index-header__logo{
		position: absolute;
		top:12px;
		left:0;
		height:46px;
	}
.event{
	position: relative;
	display:block;
	border:solid 1px #E5E5E5;
	padding-left:125px;
	background:#FFF;
	text-decoration: none;
}
	.event img{
		position: absolute;
		top:0;
		left:0;
		margin-right:16px;
		width:125px;
	}
	.event__content{
		position: relative;
		min-height: 167px;
		padding:10px 10px 40px;
		box-sizing: border-box;
	}
		.event__content b{
			display:block;
			margin-bottom:8px;
			font-size:120%;
			line-height: 1.1;
		}
		.event__content__subscribe{
			position: absolute;
			right:15px;
			bottom:15px;
			color:#F99D27;
			font-weight: bold;
			line-height: 1;
		}
		.event:hover .event__content__subscribe{
			text-decoration: underline;
		}
.form-field{
	overflow:hidden;
}
.form-field + .form-field {
	margin-top:10px;
}
	.form-field__label{
		font-weight:bold;
	}

.button {
	position: relative;
	display: inline-block;
	border:none;
	background-color: #F99D27;
	border-radius: 3px;
	font-family: 'TradeGothic';
	font-size:20px;
	padding:0 40px 0 24px;
	line-height: 45px;
	text-align: left;
	color:#FFF;
	cursor: pointer;
	text-decoration: none;
}
	.button::after{
		content:"";
		position: absolute;
		top:50%;
		right:21px;
		margin-top:1px;
		width:6px;
		height:6px;
		border-top:solid 2px #FFF;
		border-right:solid 2px #FFF;
		transform: translateY(-50%) rotate(45deg);
	}
	.button:hover, .button:focus{
		background:#dd8c22;
	}
.add_introduce{
	padding-left:40px;
	padding-right:24px;
}
.add_introduce::before{
	content:"+";
	position:absolute;
	top:50%;
	left:21px;
	line-height: 1;
	transform: translateY(-50%);
}
.add_introduce::after{
	display:none;
}
label.checkbox{
	position:relative;
	display:inline-block;
	cursor: pointer;
}
label.checkbox + br + label.checkbox{
	margin-top:3px;
}
	label.checkbox input[type=checkbox]{
		position:absolute;
		top:0;
		left:0;
		opacity:.01;
	}
	label.checkbox span{
		display:inline-block;
		position:relative;
		padding-left:30px;
		line-height: 20px;
	}
	label.checkbox span:before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		width:16px;
		height:16px;
		border-radius:4px;
		background:#FFF;
		border:solid 2px #C2C2C2;
	}
	label.checkbox span:after{
		display: none;
		content:"";
		position:absolute;
		top:2px;
		left:6px;
		width:5px;
		height:9px;
		border-right:solid 3px #F99D27;
		border-bottom:solid 3px #F99D27;
		transform:rotate(45deg);
	}
	label.checkbox input:checked ~ span:before{
		border-color:#F99D27;
	}
	label.checkbox:hover input ~ span:before, label.checkbox input:focus ~ span:before{
		border-color:#dd8c22;
	}
	label.checkbox input:checked ~ span:after{
		display: block;
	}
	label.checkbox input[disabled] ~ span:before{
		border-color:#C2C2C2;
	}
	label.checkbox input[disabled] ~ span:after{
		border-color:#DDD;
	}
	label.checkbox input[disabled]:checked ~ span:after{
		border-color:#999;
	}
	label.checkbox input[disabled] ~ span{
		opacity:.5;
		cursor:default;
	}

label.radio{
	float:left;
	position:relative;
	clear:both;
	cursor: pointer;
}
label.radio + label.radio{
	margin-top:5px;
}
br + label.radio{
	margin-top:5px;
}
	label.radio input[type=radio]{
		position:absolute;
		top:0;
		left:0;
		opacity:.01;
	}
	label.radio span{
		display:inline-block;
		position:relative;
		padding-left:30px;
		line-height:20px;
	}
		label.radio span img{
			display: block;
			margin-left:10px;
		}
	label.radio span:before{
		content:"";
		position:absolute;
		top:0;
		left:0;
		width:16px;
		height:16px;
		border-radius:50%;
		background:#FFF;
		border:solid 2px #C2C2C2;
	}
	label.radio--center span:before{
		top:50%;
		margin-top:-13px;
	}
	label.radio span:after{
		content:"";
		position:absolute;
		top:5px;
		left:5px;
		width:10px;
		height:10px;
		border-radius:50%;
		background:#F5F5F5;
	}
	label.radio--center span:after{
		top:50%;
		margin-top:-5px;
	}
	label.radio:hover span:before, label.radio input:focus ~ span:before{
		border-color:#F99D27;
	}
	label.radio input:checked ~ span:before{
		border-color:#F99D27;
	}
	label.radio input:checked ~ span:after{
		background:#F99D27;
	}
	label.radio input[disabled] ~ span:before{
		border-color:#C2C2C2;
	}
	label.radio input[disabled] ~ span:after{
		background:#DDD;
	}
	label.radio input[disabled]:checked ~ span:after{
		background:#999;
	}
	label.radio input[disabled] ~ span{
		opacity:.5;
		cursor:default;
	}
.phone-number{
	display:flex;
	gap:6px;
	width:300px;
	max-width: 100%;
}
	.phone-number input[type=tel]{
		width:100%;
	}
.introduce__hidden{
	display:none;
}
.header{
	position:fixed;
	top:0;
	left:0;
	width:50vw;
	height:100vh;
	background: url(../images/default-image.jpg) no-repeat center center;
	background-size:cover;
}
.text{
	position: relative;
	margin-left:50%;
	width: 50%;
	min-height:100vh;
	padding:75px 120px;
	box-sizing:border-box;
}
	.logo {
		margin-bottom: 20px;
		text-align: right;

	}
	.logo img {
		max-width: 208px;
		width: 100%;
	}
	.language{
		float:left;
		margin-bottom:20px;
	}
		.language__button{
			float:left;
			margin-right:10px;
			width:36px;
		}
			.language__button img{
				display:block;
				width:100%;
			}
	.vc-logo {
		position: absolute;
		bottom: 20px;
		width: 189px;
		left: 50%;
		transform: translateX(-50%);
	}
.clear{
	clear:both;
}
.choose__language__button{
	float:left;
	margin-bottom:20px;
	line-height: 48px;
	text-decoration: none;
	clear:both;
}
	.choose__language__button img{
		float:left;
		margin-right:20px;
		width:48px;
	}
@media (max-width:88em){
	.header{
		width:40vw;
	}
	.text{
		margin-left:40%;
		width: 60%;
	}
}
@media (max-width:64em){
	.header{
		position:relative;
		width:auto;
		height:95px;
		background:url(../images/mobile-header.jpg) center !important;
	}
		.logo{
			position: absolute;
			top:-20px;
			left:40px;
			margin-bottom: 0;
			transform: translateY(-100%);
		}
			.logo img{
				display:block;
			}
	.text{
		margin:0;
		width:auto;
		min-height:calc(100% - 95px);
		padding:40px 40px 100px;
	}
}
@media (max-width:35.5em){
	h1{
		font-size:40px;
	}
	#text{
		min-height:0;
	}
	table, tbody, tr, th, td{
		display:block;
		overflow: hidden;
	}
	th{
		font-weight: 600;
	}
	tr + tr th{
		padding-top:10px;
	}
}
@media (max-width:25em){
	input[type=text], input[type=date], input[type=email], select, textarea, input[type=number] {
		width:100%;
		box-sizing: border-box;
	}
	.button{
		width:100%;
		box-sizing: border-box;
	}
}

.file-container > label span, .image-progress-label, .file-progress-label, .file-progress-bar, .file-box-container div {
	background:#F99D27;
}