*, ::after, ::before {
	box-sizing: border-box;
}

html, body, #main {
	width: 100%;
	height: 100%;
	padding: 0px;
	margin: 0px;
}

#birthday_frame {
	display: table;
	margin: 0 auto;
}

#privacy_frame {
	display: table;
	margin: 0 auto 15px auto;
}

#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;
}

.container-doi {
	max-width: 1440px;
}

.container-pref {
	max-width: 100%;
}

#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;
}

#gender_frame {
	display: table;
	margin: 0 auto 20px auto;
}

input[name="gender"],
#label_male,
#label_female,
#label_na,
#t_label_male,
#t_label_female,
#t_label_na,
#cb_privacy {
	cursor: pointer;
}

#pref-wrapper, #pref-wrapper-preference {
	width: calc(100% - 40px);
	margin: 30px 00px 30px 30px;
}

#text-wrapper {
	width: 100%;
	margin: 0 auto;
}

.logo {
	text-align: center;
	margin-top: 100px;
}

.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 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, #label_na {
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 15px;
	color: #000;
	letter-spacing: -.065em;
	font-weight: 700;
}

select, input[type="text"], .custom-control {
	height: 50px;
	width: 100%;
	border: solid 1px #ccc;
	padding-top: 5px;
	padding-left: 10px;
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 11px;
	color: #000;
	letter-spacing: -.065em;
	font-weight: 700;
}

input[type='radio'] {
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 20px;
	height: 20px;
	border: 1px solid darkgray;
	border-radius: 50%;
	outline: none;
}

input[type='radio']:hover {
}

input[type='radio']:before {
	content: '';
	display: block;
	width: 60%;
	height: 60%;
	margin: 20% auto;
	border-radius: 50%;
}

input[type='radio']:checked {
	border: 1px solid #000 !important;
}

input[type='radio']:checked:before {
	display: block;
	background: #000;
    width: 10px;
    height: 10px;
    margin-top: 4px;
}

#t_headline {
	font-size: 28px;
	font-weight: bold;
}

#headline{
	font-size: 28px;
	font-weight: bold;
}

#t_headline_ok, #t_headline_exists, #t_headline-preference {
	font-weight: bold;
	font-style: normal;
	text-transform: uppercase;
	font-size: 20px;
	text-align: center;
	margin: 0px;
}

#t_dont_lose_you {
	 font-size: 24px;
	 text-align: center;
	 font-weight: bold;
 }

#t_intro {
	font-size: 16px;
}

#intro {
	font-size: 16px;
}

#t_intro_ok {
	font-size: 14px;
}

.part_headlines {
	font-weight: bold;
}

#email {
	letter-spacing: 0em;
	text-transform: none;
}

#enter_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: #000;
	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: 24px;
	width: 24px;
	display: inline-block;
	border: solid 1px #ccc;
}

.cb-white {
	background-color: #fff;
}

.cb-active {
	background: #191919 url('../images/check.png') no-repeat 50% 52%;
	background-size: 80%;

}

.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;
}

#label_na {
	width: 120px;
}

.geb-label {
	float: left;
}

.bw {
	width: 72px;
	float: left;
}

.bw2 {
	width: 108px;
	float: left;
}

.birthday {
	width: 90px !important;
}

.birthmonth {
	width: 120px !important;
}

.birthyear {
	width: 90px !important;
}


.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_frame {
	display: table;
	margin: 0 auto;
}

.btn {
	height: 50px;
	line-height: 50px;
	width: 330px;
	text-transform: uppercase;
	background-color: #191919;
	text-align: center;
	color: #fff;
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-size: 14px;
	letter-spacing: 0em;
	font-weight: 700;
	cursor: pointer;
}

input::placeholder {
	color: #6e6e6e;
}

input:focus, textarea:focus, select:focus {
	outline: none;
}

input[type="text"] {
	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;
}

#t_label_privacy {
	cursor: pointer;
}

.btn:hover {
	background-color: #3B4047;
}

#thanks_later_frame {
	text-align: center;
}

#thanks_later_link {
	color: #000 !important;
	font-size: 14px;
	font-weight: bold;
}

.footer {
	font-size: 10px;
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	color: #777777;
	text-align: center;
}

.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 !important;
}

.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, .part_btn_optional {
	padding-top: 40px;
	width: 50%;
	margin-left: 25%
}

.part_btn_optional{
	padding-top: 20px;
}

.btn_optional{
	width: 100%;
}

.btn_optional a {
	color: #fff !important;
	display: block;
	line-height: 50px;
}

.none-underline {
	text-decoration: none !important;
}

.sub_headline {
	font-size: 14px;
}

/*.bdc, .bdc2 {*/
/*	float: left;*/
/*	margin-right: 15px;*/
/*	margin-bottom: 15px;*/
/*}*/

.bdc, .bdc2 {
	float: left;
	margin-right: 25px;
	margin-bottom: 15px;
}

.privacy_checkbox {
	width: 18px;
	height: 18px;
	appearance: none;
	background: #ffffff;
	border: 1px solid #ccc;
	cursor: pointer;
	position: relative;
}

/* wenn angeklickt */
.privacy_checkbox:checked {
	background: #000000 !important;
}

.privacy_checkbox:checked:after {
		content: "";
		position: absolute;
		left: 5px;
		top: 1px;
		width: 6px;
		height: 12px;
		border: solid white;
		border-width: 0 2px 2px 0;
		transform: rotate(45deg);
}

.bdc:last-child {
	margin-right: 0;
}

.hidden {
	display: none;
}

.geb-wrapper {
	float: left;
	width: 280px;
}

.visually-hidden {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.custom_dark_grey {
	color: #191919;
	font-size: 16px !important;
	line-height: 24px;
	letter-spacing: 0 !important;
	font-family: 'FF DIN for PUMA', 'Times new roman', 'monospace';
	font-weight: normal;
}

/*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;
	}
}

/*

@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_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;
}


