/* Space out content a bit */
html, body {
	width: 100%;
	height: 100%;
}



/* Everything but the jumbotron gets side spacing for mobile first views */
.header,
.marketing,
.footer {
  /*padding-right: 15px;
  padding-left: 15px;*/
}

/* Custom page header */





/* Customize container */
@media (min-width: 768px) {
  .container {
    max-width: 730px;
  }
}
.container-narrow > hr {
  margin: 30px 0;
}


.footer .container p {
		line-height: 40px;
}

@media (max-width: 600px) {
	.footer .container p {
		padding-left: 60px;
		font-size: 0.8em;
	}
}


@media (max-width: 400px) {
	.footer .container p {
		padding-left: 40px;
		font-size: 0.8em;
	}
}

@media (max-width: 320px) {
	.footer .container p {
		padding-left: 40px;
		font-size: 0.7em;
	}
}

/* Main marketing message and sign up button */
.jumbotron {
  text-align: center;
  border-bottom: 1px solid #e5e5e5;
}
.jumbotron .btn {
  padding: 14px 24px;
  font-size: 21px;
}

/* Supporting marketing content */
.marketing {
  /*margin: 40px 0;*/
  margin: 0px;
}
.marketing p + h4 {
  margin-top: 28px;
}

/* Responsive: Portrait tablets and up */
@media (min-width: 768px) {
  /* Remove the padding we set earlier */
  .header,
  .marketing,
  .footer {
    padding-right: 0;
    padding-left: 0;
  }
  /* Space out the masthead */
  .header {
    margin-bottom: 30px;
  }
  /* Remove the bottom border on the jumbotron for visual effect */
  .jumbotron {
    border-bottom: 0;
  }
}



/* START MAIN CSS */
a {
	color: #333333
}
a:hover {
	color: #000000;
}


.border-radius {
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
}


body { 
		background-color: #ececec;
		font-size: 15px;
	}
	



.container {
	margin: 0px auto;
    margin-left: auto;
    margin-right: auto;
	padding-top: 50px;
}




/*@media (min-width: 1024px) {
	body {
		background-size: 100% 200px;
	}
}*/



#teaser {
	padding: 0px;
}

#maincoa {
	background-color: #ffffff;
	margin: 0px;
	padding: 5px;
    position: relative;
}




.btn-freekey {
	background-color: #a02a3a;
	color: #ffffff;
	min-width:200px;
	margin: 0px;
	font-weight: bold;
	position: relative;
	z-index: 999999;
}

.btn-freekey:hover {
	background-color: #912534;
	color: #ffffff;
}

.btn-freekey[name=codeaccess],
.btn-freekey[name=freeaccesssubmit] {
	background-color: #1d2f56;
	color: #ffffff;
	/*width: 100%;*/
	margin: 0px;
}

.btn-freekey[name=codeaccess]:hover,
.btn-freekey[name=freeaccesssubmit]:hover {
	background-color: #092f73;
	color: #ffffff;
}

/*
.xs-nopadding {
	padding-left: 0px;
	padding-right: 0px;
}
	
@media (max-width: 520px) {
	.xs-nopadding {
		padding-left: 0px;
		padding-right: 0px;
	}
}
*/

.xs-nopadding p {
	margin: 5px 0px 0px 0px;
}

/* Checkbox styling */
/*** custom checkboxes ***/

input[type=checkbox] { display:none; } /* to hide the checkbox itself */
input[type=checkbox] + label:before {
  font-family: FontAwesome;
  display: block;
  font-size: 30px;
  float: left;
}

input[type=checkbox] + label:before { content: "\f096"; } /* unchecked icon */
input[type=checkbox] + label:before { letter-spacing: 10px; } /* space between checkbox and label */

input[type=checkbox]:checked + label:before { content: "\f046"; } /* checked icon */
input[type=checkbox]:checked + label:before { letter-spacing: 5px; } /* allow space for check mark */

label {
	line-height: 30px;
	width: 100%;
}

p.checklabel {
	/*float: right;*/
	width: 100%;
}


h1,h2,h3,h4 {
 color: #333333;
 line-height: 2;
}



.marketing a {
	text-decoration: underline;
}

/*
@media (max-width: 767px) {
	.agb-text {
		text-align: left;
	}
}
*/

.agb-checkbox {
	margin: 0px auto;
	max-width: 300px;
	float: none;
}

.marketing > .row {
	overflow: hidden;
}




/* Input disabled */
.form-control[disabled] {
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	-khtml-opacity: 0.5;
	opacity: 0.5;
}

.form-control {
    background-color: #ecebeb;
    border: 1px solid #ecebeb;
    color: #202020;
    box-shadow: none;
    height: 46px;
    font-size: 15px;
}


/* APP DOWNLOAD ANZEIGE */
	#app_download_note {
		background-color: #111111;
		color: #ffffff;
		position: relative;
		width: 100%;
		height: 80px;
		overflow: hidden;
		z-index: 9999 !important;
	}
	
	#app_download_note .wrapper {
		width: 320px;
		margin: 0px auto;
		height: 80px;
		overflow: hidden;
		padding: 5px 5px;
	}
	
	
	#app_download_note .freekeyapplogo, 
	#app_download_note .apptext,
	#app_download_note .appbutton,
	#app_download_note .appclose {
		height: 50px;
		float: left;
		overflow: hidden;
		padding: 5px;
	}
	
	
	#app_download_note .freekeyapplogo {
		width: 70px;
		height: 70px;
	}
	
	
	#app_download_note .apptext {
		width: 130px;
		font-weight: 400;
		font-size: 12px;
		padding: 18px 0px 0px 0px;
	}
	
	#app_download_note .appbutton {
		width: 90px;
		padding: 22px 0px 0px 0px;
	}
	
	#app_download_note .appbutton .btn-freekey {
		width: 80px;
		min-width: 80px;
		padding: 3px;
	}
	
	#app_download_note .appclose {
		padding: 26px 0px 0px 0px;
		width: 15px;
		cursor: pointer;
	}



	.centercontainer {
		text-align: left;
		max-width: 300px;
		margin: 0px auto;
		margin-bottom: 5px;
	}
	
	.centercontainer ul,ol {
	    list-style-position: outside;
	    padding-left: 18px;
	}

	
	.dashed-top {
		border-top: 2px dotted #bdbec0;
	}
	
	.freefor30min {
		margin: 20px 5px 0px 5px;
		padding: 20px 0px;
	}
	
	.btn-freekeyfree {
		background-color: #de1e2d;
		color: #ffffff;
		width: 100%;
		max-width: 360px;
		margin: 0px;
	}
	
	.btn-freekeyfree:hover {
		background-color: #ff0000;
		color: #ffffff;
	}

/* END MAIN CSS */




/*
 * Holiday-Boss extras START …
 */

	.holiday_boss_headline {
	}
	
	.holiday_boss_image {
		margin-top: 20px;
		margin-bottom: 20px;
	}
	
	.holiday_boss_text {
	}
	
	.holiday_boss_button a.btn {
		margin-top: 20px;
		margin-bottom: 20px;
		-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
		filter: alpha(opacity=80);
		-moz-opacity:0.8;
		-khtml-opacity: 0.8;
		opacity: 0.8;
		max-width: 250px;
		text-decoration: none;
		height: 30px;
		line-height: 30px;
		padding: 0px;
	}
	
	.holiday_boss_button a.btn:hover,
	.holiday_boss_button a.btn:active,
	.holiday_boss_button a.btn:focus {
		-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
		filter: alpha(opacity=100);
		-moz-opacity:1;
		-khtml-opacity: 1;
		opacity: 1;
	
	}
	
	body.ad #teaser, 
	body.ad #logocoa,
	body.ad .footer {
		display: none;
	}
	
	body.ad #wrap {
		background: none;
	}
	
	body.ad #maincoa {
		margin-top: 40px;
		margin-bottom: 40px;
	}
	
/*
 * Holiday-Boss extras ENDE …
 */


/* Custom page header */

#wrap .header_containter,
#newwrap .header_containter {
		background: #ececec url('../images/top_bg.png') no-repeat scroll 0px 0px;
		background-size: 100% 100%;
		display: block;
		padding: 15px 0px;
		margin: 0px;
		max-height: 110px;
		overflow: hidden;
}



.firmenlogo {
	width: auto;
	height: 40px;
	display: block;
	margin: 0px auto;
}


@media (min-width: 360px) {
	#wrap .header_containter {
		padding: 10px 0px;
	}
	
	.firmenlogo {
		/*width: 242px;*/
		width: auto;
		height: 50px;
	}
}


@media (min-width: 440px) {
	#wrap .header_containter {
		padding: 10px 0px;
	}
	
	.firmenlogo {
		/*width: 242px;*/
		width: auto;
		height: 60px;
	}
}


@media (min-width: 600px) {
	#wrap .header_containter {
		padding: 10px 0px;
	}
	
	.firmenlogo {
		/*width: 242px;*/
		width: auto;
		height: 80px;
	}
}

/*
.letsstart .firmenlogo {
	margin: 20px auto 40px auto;
}
*/

/*
@media (min-width: 320px) {
	body, #wrap {
		background-size: auto 180px;
	}
}

@media (min-width: 340px) {
	body, #wrap {
		background-size: auto 190px;
	}
}

@media (min-width: 360px) {
	body, #wrap {
		background-size: auto 200px;
	}
}

@media (min-width: 400px) {
	body, #wrap {
		background-size: auto 200px;
	}
}
	
@media (min-width: 600px) {
	body, #wrap {
		background-size: 100% 190px;
	}
}
*/


.freewifilogo {
	width: 100%;
	width: auto;
	height: auto;
	max-width: 230px;
	max-height: 110px;
	display: block;
	margin: 20px auto 20px auto;
}

.letsstart .freewifilogo {
	display: block;
}


@media (min-width: 600px) {
	.freewifilogo {
		width: auto;
		height: auto;
		max-width: 340px;
		max-height: 150px;
		display: block;
		margin: 20px auto 20px auto;
	}
}




.add-banner-image {
	padding-top: 10px;
}



/* Custom page footer */
#wrap {
    /*height: auto !important;*/
    margin: 0 auto -150px;
    min-height: 100%;
}
#newwrap {
    /*height: auto !important;
    margin: 0 auto -150px;
    min-height: 100%;*/
}

.footer {
  background: transparent url('../images/footer_bg.png') no-repeat scroll 0px 0px;
  background-size: 100% 150px;
  display: block;
  padding: 8px;
  color: #ffffff;
  border: none;
  margin: 0px;
  width: 100%;
  height: 150px;
  position: fixed;
  /*top: -150px;*/
  bottom: 0px;
  left: 0px;
  overflow: hidden;
  padding: 0px;
}
.footer .container {
	height: 150px;
	position: relative;
	z-index: 100;
}

.footer .color_background {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 62px;
	z-index: 50;
}

#newwrap { 
	padding-bottom: 150px;
}

@media (min-width: 600px) {
	#wrap {
		margin: 0 auto -200px;
	}
	#newwrap {
		padding-bottom: 200px;
	}
	.footer {
		height: 200px;
		/*top: -200px;*/
		bottom: 0px;
		background-size: 100% 200px;
	}
	.footer .container {
		height: 200px;
		position: relative;
	}

	.footer .color_background {
		height: 82px;
	}
}

@media (max-height: 400px) {
	.footer {
		position: relative;
	}
	#newwrap { 
		padding-bottom: 0px;
	}
}

.footer .container {
	margin: 0px auto;
}

/*
@media (max-width: 600px) {
  .container {
    padding-left: 0px;
    padding-right: 0px;
  }
}
*/

.freekeylogo {
	max-height: 90px;
}

#logocoa {
	position: absolute;
	left: 30px;
	bottom: 20px;
	z-index: 9999;
}



@media (max-width: 1280px) {
	.freekeylogo {
		max-height: 80px;
	}
	#logocoa {
		left: 20px;
		bottom: 25px;
	}
}

@media (max-width: 600px) {
	.freekeylogo {
		max-height: 60px;
	}
	#logocoa {
		left: 15px;
		bottom: 18px;
	}
}


@media (max-width: 400px) {
	.freekeylogo {
		max-height: 55px;
	}
	#logocoa {
		left: 5px;
		bottom: 20px;
	}
}




.hessenfooterlogo {
	max-height: 90px;
}

#freewifihessen {
	position: absolute;
	left: 35px;
	bottom: 10px;
	z-index: 9999;
}



@media (max-width: 1280px) {
	.hessenfooterlogo {
		max-height: 90px;
	}
	#freewifihessen {
		left: 20px;
		bottom: 10px;
	}
}


@media (max-width: 600px) {
	.hessenfooterlogo {
		max-height: 65px;
	}
	#freewifihessen {
		left: 20px;
		bottom: 10px;
	}
}


@media (max-width: 400px) {
	.hessenfooterlogo {
		max-height: 65px;
	}
	#freewifihessen {
		bottom: 10px;
		left: 0px;
	}
}


/*
 * Sprachmenü 
 */
#language_coa {
	width: 115px;
	height: 30px;
	overflow: hidden;
	background-color: transparent;
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 10px;
	display: none;
}

.letsstart #language_coa {
	display: block;
}

.letsstart #language_coa a {
	display: inline;
	outline: none;
	margin: 0px;
	padding: 0px;
}

#language_coa .flag {
	width: 40px;
	height: auto;
	background-color: #cccccc;
	padding: 0px;
	margin: 0px 5px;
	cursor: pointer;
}

@media (min-width: 600px) {
	#language_coa {
		width: 135px;
		margin-top: 0px;
	}
	#language_coa .flag {
		margin: 0px 10px;
	}
}


/*
 * Img fix
 */
/*
.theadimage {
	position: absolute;
	bottom: 10px;
}
 */
/*
 * Updates v2
 */





/*
 * Footerlinks 
 */
#footerlinks {
	position: absolute;
	bottom: 35px;
	right: 10px;
}

#footerlinks a {
	color: #ffffff;
	font-size: 10px;
}

/*
@media (min-width: 460px) {
	#footerlinks {
		position: absolute;
		bottom: 50px;
		right: 30px;
	}
	#footerlinks a {
		color: #ffffff;
		font-size: 12px;
	}
}
*/

@media (min-width: 600px) {
	#footerlinks {
		position: absolute;
		bottom: 50px;
		right: 40px;
	}
	#footerlinks a {
		color: #ffffff;
		font-size: 12px;
	}
}





/*
 * Spacer befor footer and fixes ...
 */
#push {
	display: block;
	position: relative;
	height: 120px;
}
.letsstart #push {
	height: 0px;
	display: none;
}
		
/*
 * Some fixes ...
 */
/*		
@media (orientation: landscape) and (max-height: 400px) {
	.footer {
		position: relative;
	}
}
*/
/*
@media (max-height: 500px) {
	.footer {
		position: relative;
	}
	.letsstart .footer {
		position: relative;
	}
}


@media (min-width: 601px) and (max-height: 500px) {
	.footer {
		position: relative;
	}
	.letsstart .footer {
		position: relative;
	}
}*/


body {
	min-height: 400px;
}


/*
 * WiFi4EU visuelle Identität START
 *
 * Breite des Darstellungsbereichs unter 600px: Die visuelle Identität sollte mindestens 90 % der Breite
 * des Darstellungsbereichs einnehmen.
 *
 * Breite des Darstellungsbereichs ab 600px: Die visuelle Identität sollte mindestens 50 % der Breite
 * des Darstellungsbereichs einnehmen.
 *
 * Vorgabe seitens WiFi4EU-Durchsetzungskomponente und wird von deren skript auch jedes Mal geprüft ...
 */
 #wifi4eubanner {
 	width: 92%;
 	display: block;
 	margin: 0px auto;
 }
 
 @media (min-width: 600px) {
	 #wifi4eubanner {
	 	width: 52%;
	 }
 }
 
 .wifi4eutopspacing {
 }
 /*
  * WiFi4EU visuelle Identität ENDE
  */

/*
 * Additions
 */
div.color_content_bar {
	display: block;
	width: 100%;
	height: 20px;
}

/* Used in color_content_bar and color_background, might be overwritten via backend */
.highlight_color {
	background-color: #a12342;
}
