*, ::after, ::before {
	box-sizing: border-box;
}

html, body, #main {
	width: 100%;
	height: 100%;
	padding: 0px;
	margin: 0px;
}

#container {
	width: 100%;
	/*max-width: 1600px;*/

	min-width: 300px;

	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 16px;

	display: table;
	height: 100%;
	position: absolute;
	overflow: hidden;
	margin-bottom:50px;
}

.container-doi {
	max-width: 1440px;
}

.container-pref {
	max-width: 100%;
	margin-bottom: 20px;
}

#content {
	width: 100%;
	height: 100%;
	display: table-cell;
	vertical-align: middle;
}

#form-wrapper {
	width: 400px;
	margin: auto;
	min-height: 400px;
	margin-top: 10px;
}

#doi-wrapper {
	width: 500px;
	margin: auto;
	min-height: 400px;
	margin-top: 30px;
}

#pref-wrapper {
	width: calc(100% - 40px);
	margin: 30px 30px 30px 30px;
}

#text-wrapper {
	width: 100%;
	margin: 0 auto;
}

.logo {
	text-align: center;
	margin-top: 100px;
}

/* Text */

h1 {
	font-weight: bold;
	font-style: normal;
	text-transform: uppercase;
	font-size: 20px;
	text-align: center;
	margin: 0px;
}

p {
	font-weight: normal;
	font-style: normal;
	font-size: 14px;
	text-align: center;
}

.mandatory {
	color: #ff0000;
	position: relative;
	left: -2px;
}

#label_male, #label_female {
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 14px;
	color: #ccc;
	text-transform: uppercase;
	letter-spacing: -.065em;
	font-weight: 700;
}

select, input, .custom-control {
	height: 50px;
	width: 100%;
	border: solid 1px #ccc;
	padding-left: 10px;
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 14px;
	color: #ccc;
	text-transform: uppercase;
	letter-spacing: -.065em;
	font-weight: 700;
}

#email {
	letter-spacing: 0em;
	text-transform: none;
}

.box-element, .box-element-default, .box-head {
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 14px;
	color: #ccc;
	text-transform: uppercase;
	letter-spacing: -.065em;
	font-weight: 700;
	padding: 15px 5px 8px 15px;
}

.box-element-selected, .box-element:hover {
	background-color: #ff0000;
	color: #ffffff;
}

 .box-element:hover {
	background-color: #dd0000;
	color: #ffffff;
}

.box-element-selected.box-multiple:hover {
	background-color:#dd0000;
}

.custom-control {
	padding: 5px 0px;
}

.box-elements {
	width: inherit;
	z-index: 10000;
}

select.half-wide, .sel-wrapper.half-wide {
	width: 100%;
}


.mr-7 {
	margin-right: 7px;
}

.ml-7 {
	margin-left: 7px;
}

.cb {
	height: 50px;
	width: 50px;
	display: inline-block;
	border: solid 1px #ccc;
}

.cb-flag {
	height:40px;
	width: 40px;
	display: inline-block;
	border: solid 1px #ccc;
}

.cb-white {
	background-color: #fff;
}

.cb-active {
	background: #ff0000 url('../images/check.png')  no-repeat center center;

}

.label, .cb-wrapper,  .birthday, .birthmonth, .birthyear {
	float:left;
}

.label {
	width: 120px;
	margin-top:10px;
}

#label_country {
	width: 100%;
	clear: both;
}

#label_male {
	width: 93px;
}
#label_female {
	width: 87px;
}

.geb-label {
	float:left;
}

.bw {
	width: 72px;
	float:left;
}

.bw2 {
	width: 108px;
	float:left;
}

.birthday, .birthyear, .birthmonth {
	width: 100%;
}

.cs-elem {
	padding: 15px 5px 8px 15px;
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 14px;
}

.box-elements  {
	width: 193px;
}

.clearfix {
	clear: both;
}

.btn {
	height: 50px;
	width: 100%;
	text-transform: uppercase;
	background-color: #777777;
	text-align: center;
	color: #fff;
	padding-top: 18px;
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 14px;
	letter-spacing: 0em;
	font-weight: 700;
	cursor: pointer;
}

input::placeholder {
	color: #ccc;
}

input:focus, textarea:focus, select:focus {
	outline: none;
}

input {
	border-radius: 0px;
	-webkit-appearance: none;
	-moz-appearance: none;

}

a, a:active, a:hover, a:visited {
	color:#777;
	text-decoration: underline;
}

.container-doi a,
.container-doi a:active,
.container-doi a:hover,
.container-doi a:visited {
	color: #000;
}

.btn:hover {
	background-color: #ff0000;
}


.footer {
	font-size: 9px;
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	color:#777777;

	text-align: left;
}

.pl-15 {
	padding-left: 15px;
}

.ml-10 {
	margin-left: 10px;
}

.mr-10 {
	margin-right: 10px;
}

.mt-10 {
	margin-top: 10px;
}

.mb-10 {
	margin-bottom: 10px;
}

.mb-5 {
	margin-bottom: 5px;
}

.ml-15 {
	margin-left: 15px;
}

.mr-15 {
	margin-right: 15px;
}

.mt-15 {
	margin-top: 15px;
}
.mt-30 {
	margin-top: 30px;
}
.mb-15 {
	margin-bottom: 15px;
}

.mb-25 {
	margin-bottom: 25px;
}

.mb-30 {
	margin-bottom: 30px;
}

.fld_err {
	border: solid 2px #ff0000;
}

.voucher {
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 1.4em;
	color: #ff0000;
	text-decoration: underline;
	font-weight: 900;
}

.bw {
	width: 72px;
	float:left;
}

.bw2 {
	width: 108px;
	float:left;
}


a.btn_link {
	text-decoration: none;
}


.flag-col {
	float:left;
	width:33.33333%;
}


.label_flag {font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 14px;
	color: #000;
	text-transform: uppercase;
	letter-spacing: 0em;
}

.part-headline {
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 16px;
	color: #000;
	text-transform: uppercase;
	letter-spacing: 0em;
	font-weight: bold;
	margin-bottom:10px;
	padding-top: 30px;
	clear: both;
}

#pref-wrapper .label {
	width: auto;
	margin-top:15px;
	margin-right:20px;
}


.pref-select, .pref-details {
	/*margin-right:12.5%;*/
}

.pref-select2 {
	margin-right: 12px;
}

/* MEDIA QUERIES */


.part_btn {
	padding-top:40px;
	width: 50%;
	margin-left: 25%
}

.sub_headline {
	font-size: 14px;
}

.bdc, .bdc2 {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}

.bdc:last-child {
	margin-right: 0;
}

.hidden {
	display: none;
}

.geb-wrapper {
	float:left;
	width: 280px;
}

.flag-select-ar, .flag-details-ar {
	float: right !important;
	margin-right: 0px !important;
	margin-left: 2% !important;
}

/*Mobile*/
@media (max-width: 639px){

	.geb-wrapper {
		clear: left;
		width: 100%;
	}

	.flag-col {
		float:left;
		width:100%;
	}


	#form-wrapper, #doi-wrapper {
	/*	width: 90%;*/
		padding: 0px 15px;
	}
	#text-wrapper {
		 width: 100%;
		 padding: 0px 15px;
	}

	#content {
		width: 100%;
		margin: auto;

		display: table-cell;
	}

	select.half-wide {
	/*	width: calc(50% - 7px);*/
	/*	float: left;*/
	}

	.sel-wrapper .box-elements  {
		width: 93%;
	}

	.sel-wrapper:first-child {
		clear: both;
	}

	#lang.ml-7 {
		margin-left: 0px;
	}

	.bw {
		width: 100%;
		clear: left;
	}

	.bw2.mb-30, .bw.mb-30 {
		margin-bottom: 15px;
	}

	.bw2 {
		width: 100%;
		clear: left;
	}

	.bw.ml-7, .bw2.ml-7 {
		margin-left: 0px;
	}


	.sel-wrapper.ml-7 {
		margin-left: 0px;
	}

	.cb-wrapper {
		clear:left;
	}

	.mb-30 {
		margin-bottom: 10px;
	}

	.btn.mb-30 {
		margin-bottom: 30px;
	}

	.flag-select {
		float:left;
		width:100%;
	}


	.part_btn {

		width: 100%;
		margin-left: 0;
	}

	.pref-select2 {
		margin-right: 0px;
	}

	.flag-select-ar, .flag-details-ar {
		width: 100%;
	}
}

/*

@media (min-width: 501px) and (max-width: 639px){
	.bw {
		width: 95px;
	}

	.bw2 {
		width: 150px;
	}

	.flag-col {
		float:left;
		width:50%;
	}


	#content {
		width: 100% ;
		margin: auto;

	}

	#form-wrapper, #doi-wrapper {
		width: 490px;
	}

	#text-wrapper {
		width: 490px;
	}

	.sel-wrapper .box-elements  {
		width: 238px;
	}
	select.half-wide, .sel-wrapper.half-wide {
		width: calc(50% - 7px);
		float: left;
	}

	.flag-select, .flag-details {
		float:left;
		width:48%;
		margin-right:2%;
		margin-bottom: 15px;
	}

	.part_btn {

		width: 100%;
		margin-left: 0;
	}
}
*/

@media (min-width: 640px) and (max-width: 769px){

	.flag-col {
		float:left;
		width:100%;
	}

	#teaser {
		width:225px;
		display: table-cell;
		background: url('../images/sign-up.png');
		background-size: cover;
	}

	#teaser_left {
		width:225px;
		display: table-cell;
		background-color: #dedede;
		background: url('../images/doi-left.png');
		background-repeat: no-repeat;
		background-size: 100% auto;
	 }

	#teaser_right {
		display:none;
	}

	#content {
		width: calc(100% - 225px);
		margin: auto;

		display: table-cell;

	}

	#form-wrapper, #doi-wrapper {
		width: 400px;
	}

	#text-wrapper {
		width: 400px;
	}

	select.half-wide, .sel-wrapper.half-wide {
		width: calc(50% - 7px);
		float: left;
		display: inline-block;
	}

	.flag-select {
		float:left;
		width:100%;
	}

	.part_btn {

		width: 100%;
		margin-left: 0;
	}


	.pref-select2 {
		margin-right: 0px;
	}
}


@media (min-width: 770px){

	#teaser {
		width:225px;
		display: table-cell;
		background: url('../images/sign-up.png');
		background-size: cover;

	}

	#teaser_left {
		width:225px;
		max-width:330px;
		min-width:225px;
		display: table-cell;
		background: url('../images/doi-left.png') no-repeat top center;
		background-color: #dedede;
		background-size: 100% auto;
	}

	#teaser_right {
		width:225px;
		max-width:330px;
		min-width:225px;
		display: table-cell;

		background: url('../images/doi-right.png') no-repeat top center;
		background-color: #dedede;
		background-size: 100% auto;
	}

	#content {
		width:550px;
		margin-left: calc((100% - 770px )/2);
		margin-right: calc((100% - 770px )/2);
		display: table-cell;
	}


	#content.pref {
		width:750px;
		margin-left: calc((100% - 770px )/2);
		margin-right: calc((100% - 770px )/2);
		display: table-cell;
		vertical-align: top;
	}

	select.half-wide, .sel-wrapper.half-wide  {
		width: calc(50% - 7px);
		float: left;
	}


	#pref-wrapper .label {
		width: auto;
		margin-top:15px;
		margin-right: 20px;
	}

	.flag-col {
		float:left;
		width:33.3333%;
	}
}

@media (min-width: 770px) and  (max-width:1100px){
	.flag-col {
		float:left;
		width:50%;
	}

	#doi-wrapper {
		width: 400px;
	}

	#teaser_left {
		width:330px;
		display: table-cell;
		/*display: block;*/
		background-color: #dedede;

		background: url('../images/sign-up.png');
		background-repeat: no-repeat;
		background-size: 100% auto;

	}

	#teaser_right {
		display: none;
	}

	#content {
		width:495px;
		margin-left: calc((100% - 825px )/2);
		margin-right: calc((100% - 825px )/2);
		display: table-cell;
	}


}

@media (min-width: 825px){
	#pref-wrapper .label {
		width: auto;
		margin-top:15px;
		margin-right: 20px;
	}

	.flag-select, .flag-details {
		float:left;
		width:48%;
		margin-right:2%;
	}

	.flag-col {
		float:left;
		width:50%;
	}

	.flag-select2 {
		float:left;
		width:30%;
		margin-right: 3.9%;
	}

	.flag-select2:last-child {
		margin-right: 2%;
	}
}


@media (min-width: 931px) and (max-width: 1000px){
	.flag-select {
		float:left;
		width:48%;
		margin-right:2%;
	}

	.flag-col {
		float:left;
		width:50%;
	}
}

@media (min-width: 1101px) {
	.flag-select, .flag-details {
		float:left;
		width:48%;
		margin-right:2%;
	}

	.flag-col {
		float:left;
		width:48%;
		margin-right: 2%;
	}



	.bw {
		width: 18%;

	}

	.bw2 {
		width: 27%;

	}

	.bw:last-child {
		margin-right: 0%;
	}

}

.box-head {
	padding: 15px 5px 2px 10px;
}


