/* http://meyerweb.com/eric/tools/css/reset/   v2.0 | 20110126    License: none (public domain) --- */
/* HTML5 display-role reset for older browsers */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup,  menu, nav, output, ruby, section, summary,
time, mark, audio, video { margin: 0; padding: 0; border: 0; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }







/* Seitenmann ------------------------------------------------------------------------------------- */
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
* { margin: 0; padding: 0; position: relative; border: none; outline: none; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
/* * { -webkit-backface-visibility: hidden; backface-visibility: hidden; }*/ /* Prevent transition flicker on iPad */
#main * { -webkit-transform-style: preserve-3d; } /* Prevent flicker on iPad */
html,body { width: 100%; height:100%; -webkit-font-smoothing: antialiased; }
.clearboth { clear: both; }

body {  overflow-y: scroll;  }
img { vertical-align: middle; } /* FIX 3px margin bottom */






/* Customer ------------------------------------------------------------------------------------- */
* { font-family: 'Open Sans', sans-serif; /* font-family: 'Khula', sans-serif;*/ font-weight: 400; font-size: 15px; line-height: 1.4; color: #5e5e5e; } /* font-weight: 400, 600, 700 */
h1, h2, h3, h4 { font-weight: 600; color: #76a4c2; }
.h1, .h2, .h3, .h4 { font-weight: 600; color: #76a4c2; }
h1, .h1 { font-size: 24px; margin-bottom: -1px; line-height: 1.3; /* letter-spacing: 0.05em; text-shadow: 1px 1px 2px rgba(0,0,0,0.3); */ }
h2, .h2 { font-size: 18px; line-height: 1; font-weight: 600; margin-bottom: 5px; /* font-weight: 700; letter-spacing: 0.10em; text-shadow: 1px 1px 2px rgba(0,0,0,0.3); */ }
h3, .h3 { font-size: 18px; font-weight: 400; margin-bottom: 18px; 	}
h4, .h4 { font-size: 14px; font-weight: 400; margin-bottom: 12px; 	}
ul, ol { margin: 0 0 0px 30px; }
strong { font-weight: 600; /* color: #5e5e5e; */ }


.textMainColor { color: #5e5e5e; }
.textColor { color: #76a4c2; }
.colorBox { background-color: #f6fafd;}
.drop-caps { float: left; color: #76a4c2; font-size: 65px; font-weight: 700; line-height: 65px; padding: 10px 5px 0px 0px; margin-top: -9px; }





.spacerline { width: 100%; height: 1px; font-size: 1px; line-height: 1px; background-color: #CCC; margin: 30px 0; }
.imgBorder { border: 1px #CCC solid; }


.imgFloatLeft { float: left;  margin-right: 18px; }
.imgFloatRight { float: right;  margin-right: 18px; }


.alignLeft { text-align: left; }
.alignCenter { text-align: center; }
.alignRight { text-align: right; }


article img { border-radius: 2px; }
article p { max-width: 550px; }
article ul { list-style: disc; margin-left: 20px; margin-bottom: 0px; }
article ul li { max-width: 550px; }

article .hinweis { font-size: 13px; line-height: 1.5; max-width: 550px;  }
article a.linkBox { font-weight: 600; text-decoration: none; color: #76a4c2; padding-left: 20px; background-image: url('../design/linkArrows.png');  background-position: 0 5px;  background-repeat: no-repeat; background-color: transparent; }
article .impressumTable tr td,
article .agbTable tr td { padding: 5px 15px 5px 0; }

article .impressumTable tr td { /*border-bottom: 1px #CCC solid;*/ }
article .impressumTable tr td:first-child { font-weight: 600; }



input[type="text"] { border: 1px #CCC solid; border-radius: 2px; width: 100%; max-width: 550px; padding: 3px 10px; }
input[type="checkbox"] {  width: auto; max-width: auto; padding: 3px 10px; }

input[type="submit"] { border: 1px #76a4c2 solid; border-radius: 2px; background-color: #76a4c2; width: 100%; max-width: 550px; color: #FFF; font-weight: 600; padding: 3px 10px; cursor: pointer; }
textarea { border: 1px #CCC solid; border-radius: 2px; width: 100%; max-width: 550px; padding: 3px 10px; }
select { border: 1px #CCC solid; border-radius: 2px; width: 100%; max-width: 550px; padding: 3px 10px; }
.errorMessage {  color: #9d0c16; margin-bottom: 15px; font-size: 12px; font-weight: 600;}
.inputError { background-color: #ee8f8f; color: #FFF; }
.displayNone { display: none; }




aside * { font-size: 13px; line-height: 1.5; }
aside #alleTrainings { display: block; margin-left: -47px; margin-bottom: 35px; }
aside #kontaktBox { margin-bottom: 40px; }
aside #kontaktBox h3 { font-size: 18px; line-height: 1.7; font-weight: 600; margin-bottom: 12px; border-bottom: 1px #CCC solid; }
aside #kontaktBox a { text-decoration: none; }
aside #kontaktBox a:hover { text-decoration: underline; }
aside a.linkBox { font-weight: 600; text-decoration: none; color: #76a4c2; padding-left: 20px; background-image: url('../design/linkArrows.png'); background-position: 0 5px; background-repeat: no-repeat; background-color: transparent; }



/* ---------------------------------------------- */
/*
aside #betriebsurlaubBox { margin-bottom: 40px; }
aside #betriebsurlaubBox h3 { font-size: 20px; line-height: 1.3; font-weight: 700; margin-bottom: 12px; border-bottom: 1px #CCC solid; }
aside #betriebsurlaubBox a { text-decoration: none; }
*/

/* ---------------------------------------------- */

.urlaub { position: absolute;  top: 65px; right: 15px; padding: 20px 20px 10px 20px; z-index: 1000; border-radius: 5px; box-shadow: 0px 0px 20px rgba(0,0,0,0.5);  transform: rotate(5deg); }
.urlaub, .urlaub * { font-size: 20px; font-weight: 600; text-align: center; line-height: 1.3; color: rgb(255, 255, 255); background-color: rgb(118, 164, 194);}

.urlaub .trener { width: 100%; height: 1px; border-top: 2px #FFF solid; margin: 15px 0 10px 0;}
.urlaub span { font-weight: 700; }

/*
*/
/* Hinweis Telefonanlage */
/*
.urlaub {  position: fixed; max-width: 70%; top: 120px; right: auto; margin-left: 15%; }
*/



/* ---------------------------------------------- */
.row { width: 100%; display: flex; flex-flow: row wrap; justify-content: space-between; }
.column {  }
.column-1-2 { width: 48%; }
.column-1-3 { width: 31.33%; }
.column-2-3  { width: 64.66%; }
.column-1-4  { width: 23%; }
.column-3-4  { width: 73%; }
.column-first {  }
.column-middle {  }
.column-last {  }
.column img { max-width: 100%; height: auto; }






/* Tabellen ------------------------------------- */
.ausstellerTabelle { width: 100%; padding-right: 10px; }
.ausstellerTabelle td  img { max-width: 100%; height: auto; }
.ausstellerTabelle tr {  }
.ausstellerTabelle .td_0 { width: 40%; padding: 30px 0px; border-bottom: 1px rgba(0,0,0,0.3) solid;  vertical-align: middle; }
.ausstellerTabelle .td_1{ width: 60%; padding: 30px 0px; padding-left: 25px; border-bottom: 1px rgba(0,0,0,0.3) solid; vertical-align: middle; }

.vortagTabelle { width: 100%; padding-right: 10px; }
.vortagTabelle td  img { max-width: 100%; height: auto; }
.vortagTabelle tr {  }
.vortagTabelle h3 { font-weight: 600; }
.vortagTabelle .td_0 { width: 40%; padding: 30px 0px; border-bottom: 1px rgba(0,0,0,0.3) solid;  vertical-align: top; }
.vortagTabelle .td_1{ width: 60%; padding: 30px 0px; padding-left: 25px; border-bottom: 1px rgba(0,0,0,0.3) solid; vertical-align: top; }

.vortagDetail td { padding: 0 !important; margin:0 !important; border: none !important; vertical-align: top !important; padding-bottom: 10px !important; }
.vortagDetail .td_0 { width: 30% !important;; font-weight: 600;  vertical-align: top !important;  padding: 0 !important; margin:0 !important; }
.vortagDetail .td_1 { width: 65% !important;; padding: 0 !important; margin:0 !important; vertical-align: top !important; }










/* Layout ----------------------------------------------------------------------------------------- */
#main { display: block; position: relative; min-height: 100%; width: 100%; min-width: 1083px; margin: 0 auto; background-image: url('../design/contentBackground.png'); background-position: top center; background-repeat: repeat-y; background-color: #FFF; }
header { width: 100%; height: 134px; position: absolute; top: 0; z-index: 10; background-image: url('../design/headerBackground.png'); background-position: top center; background-repeat: no-repeat; background-color: transparent; }
#logo { position: absolute; top: 34px; left: 20px; }
#headerInner { width: 1084px; min-height: 100%; margin: 0 auto; }
#contentWrapper { padding-top: 30px; padding-bottom: 77px; width: 1083px; min-height: 100%; margin: 0 auto; }
article { float: left; width: 74.43%; padding: 55px 45px; }
aside { float: left; width: 25.57%; padding: 55px 0px 50px 55px; overflow: hidden; }
footer { width: 100%; height: 77px; position: absolute; bottom: 0; z-index: 20; background-image: url('../design/footerBackground.png'); background-position: bottom center; background-repeat: no-repeat; background-color: transparent; }
#footerInner, #footerInner .year {  font-size: 13px; padding-top: 12px; width: 1083px; min-height: 100%; margin: 0 auto; }







/* Navigationen -----------------------------------------------------------------------------------  */
.mobilNavigationListItem {  display: none; }
.mobilNavigation { position: relative; font-weight: 400; font-size: 24px !important; }



nav #topNavigation * { font-size: 13px; text-decoration: none; }
nav #topNavigation { position: absolute; top: 2px; right: 3px; }
#topNavigation { display: table-row; }
#topNavigation li { float: left; padding-left: 20px; display: table-cell; vertical-align: middle; }
#topNavigation li a { height: 38px; display: table-cell; vertical-align: middle; }
#topNavigation li a img { margin-top: -4px; }
#topNavigation li:hover a { color: #76a4c2; }
#topNavigation li.active a { /* font-weight: 600; */ color: #76a4c2; }

nav#mainNavigation { width: 100%; height: 63px; background-image: url('../design/navigationBackground.png'); background-position: top right; background-repeat: no-repeat; background-color: transparent; margin-top: -21px; margin-left: -1px; }
nav#mainNavigation ul { margin: 0; padding: 0;}
#leftNavigation * { font-size: 16px; font-weight: 400; text-decoration: none; }
#leftNavigation { position: absolute; top: 33px;left: 0; }
#leftNavigation li { float: left; padding-right: 0px; padding-bottom: 7px; border-bottom: 1px #CCC solid; }
#leftNavigation li:last-child { padding-right: 0px; }
/* #leftNavigation li:first-child { padding-left: 45px; } */
#leftNavigation li { padding-left: 45px; }


#leftNavigation li a { }
#leftNavigation li:hover a { color: #76a4c2; }
#leftNavigation li.active a { font-weight: 600; color: #76a4c2; }

#rightNavigation * { font-size: 16px; font-weight: 400; text-decoration: none; }
#rightNavigation { position: absolute; top: 12px; right: 0; }
#rightNavigation li { float: left; padding-left: 30px; padding-bottom: 7px; border-bottom: 1px #CCC solid; }
#rightNavigation li:last-child { padding-right: 45px; }
#rightNavigation li:first-child { padding-left: 0px; }
#rightNavigation li a {  }
#rightNavigation li:hover a { color: #76a4c2; }
#rightNavigation li.active a { font-weight: 600; color: #76a4c2; }


nav #subNavigation *  { font-size: 16px; font-weight: 400; text-decoration: none; }
#subNavigation { margin: 0; margin-bottom: 40px; }
#subNavigation li { border-bottom: 1px #CCC solid; padding: 8px 0; }
#subNavigation li.active {  }
#subNavigation li:hover a:before,
#subNavigation li.active a:before,
#subNavigation li.active:hover a:before { content: ' '; display: block; width: 16px; height: 12px; position: absolute; top: 5px; left:-25px; background-image: url('../design/subnavigationArrows.jpg'); background-position: 0 0px; background-repeat: no-repeat; background-color: transparent; }
#subNavigation li:hover a:before{ background-image: url('../design/subnavigationArrowsHover.jpg');   }

#subNavigation li a  { font-size: 18px; font-weight: 600; color: #76a4c2; }
#subNavigation li a .info { display: block; font-size: 13px; line-height: 1.2; padding-right: 10px; }




























/* Kursdaten -------------------------------------------------------------------------------------- */
.accordion { list-style: none; width: 100% !important; padding: 0; margin: 0; }
ul.accordion li { max-width: 100% !important; width: 100% !important; }
.accordion .headline { height: 63px; background-color: #a3cbe9; /* background-image: url(../design/kursliste-oeffnen.png);*/ background-repeat: no-repeat; background-position: right 12px;  border-radius: 3px; margin-bottom: 4px; cursor: pointer; }
.accordion .headline-active { /* background-image: url(../design/kursliste-schliessen.png);*/ }
.accordion .text { padding: 0px; margin-bottom: 15px; }

.kursTermine {  }
.kursInfo {  }

#kursliste {  }

.kursBezeichnung,
.kursTermine,
.kursTermineAktiv,
.kursInfo { padding: 10px 15px; color: #FFF; font-size: 16px; font-weight: 700; }
.kursTermine { position: absolute; top: 0px; right: 0px; }
.kursTermineAktiv { position: absolute; top: 0px; right: 0px; }

.accordion .headline .kursTermine { display: block; }
.accordion .headline .kursTermineAktiv { display: none; }

.accordion .headline-active .kursTermine { display: none; }
.accordion .headline-active .kursTermineAktiv { display: block; }

.kursInfo { position: absolute; top: 26px; left: 0px; font-size: 12px; font-weight: 500; }
.kursInfo a { font-size: 12px; font-weight: 500; color: #FFF; text-decoration: none; }

.ersteZeile { font-weight:700; }

.kursDatum,
.kursZeit,
.kursFreiePlaetze,
.kursPreis,
.kursReservierung { float: left; padding: 8px 0px 8px 10px;  }
.kursDetail { border-bottom: 1px #76a4c2 solid; }
.kursDetail:hover { background-color: rgba(163,203,233,0.2); }
.kursDatum { width: 30%; }
.kursZeit { width: 15%; text-align: center; }
.kursFreiePlaetze { width: 20%; text-align: center; }
.kursPreis { width: 15%; }
.kursReservierung { width: 20%; }
.kursReservierung a { font-weight: 600; color: #76a4c2; text-decoration: none; }
.kursReservierung a:hover { text-decoration: underline; }




/* Kurs Buchungsformular --------------------------------------------- */
#buchung { }
#buchung table { width: 100%; }
#mehrphaseCheckForm input, 
#buchung input { border: 1px #CCC solid; border-radius: 2px; width: 100%; max-width: 100%; padding: 3px 10px; margin-bottom: 5px; }
#mehrphaseCheckForm input[type="checkbox"], 
#buchung input[type="checkbox"] { width: auto; max-width: auto !important; padding: 3px 10px; }
#mehrphaseCheckForm textarea, 
#buchung textarea { border: 1px #CCC solid; border-radius: 2px; width: 100%; max-width: 100%; height: 40px; padding: 3px 10px; }
#mehrphaseCheckForm input[type="submit"], 
#buchung input[type="submit"] { border: none; border-radius: 2px; width: 100%; max-width: 100%; padding: 5px 10px; }
#mehrphaseCheckForm input[type="radio"], 
#buchung input[type="radio"] { border: none; border-radius: 0; width: auto; max-width: auto; padding: 5px 10px; }
#buchungWrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(118,164,194,0.8); z-index: 1100; display: none; }
#mehrphaseFormClose, 
#buchungFormClose { position: absolute; width: 31px; height: 31px; top: 0px; right: 0px; z-index: 1; cursor: pointer; font-size: 35px; font-weight: 800; color: rgba(0,0,0,0.5); }
#buchungFormWrapper {  border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; width: 80%; max-height: 90%; overflow: auto; max-width: 900px; margin: 0 auto; margin-top: -1000px; background-color: #FFF; padding: 20px; z-index: 1110; box-shadow: 0 0 50px rgba(0,0,0,0.4); }
/* mehrphaseCheck ------------------------------- */
#mehrphaseCheck { position: fixed; top: 0; left: 0; width: 100%;  height: 100%; background-color: rgba(118,164,194,0.8); z-index: 1200; display: none; }
#mehrphaseCheckWrapper {  border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; width: 80%; max-height: 90%; overflow: auto;  max-width: 900px;  margin: 0 auto;  margin-top: -1000px; background-color: #FFF;  padding: 20px; z-index: 1210; box-shadow: 0 0 50px rgba(0,0,0,0.4); }
.mehrphaseCheckTable { width: 100%; }
.mehrphaseCheckTable td { padding: 4px; }
input[type="submit"].mehrphaseCheckSubmitbutton { opacity: 0.5; cursor: not-allowed; }
fieldset.erstePerfektionsfahrt,
fieldset.erteilungsdatumKlasseA,
fieldset.erteilungsdatumKlasseB { border: 1px rgb(118, 164, 194) solid;  padding: 20px; margin-bottom: 20px; }




/* Formular Spezialtrainings -------------------------------------------------- */
.formular .Datenschutzhinweis-akzeptiert.inputError,
#buchung .Datenschutzhinweis-akzeptiert.inputError,
#buchung .Agb-akzeptiert.inputError  {
    display: inline-block;
    padding: 2px 10px;
    background-color: #e27985;
}




/* Responsive Youtube Filme ------------------------------------------------- */
.videoWrapper { position: relative; padding-bottom: 56.25%; /* 16:9 */ padding-top: 25px; height: 0; }
.videoWrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="videoWrapper"> <iframe width="521" height="293" src="https://www.youtube.com/embed/H_efmijjaN8?rel=0" frameborder="0" allowfullscreen></iframe></div> */




/*
* { border: 1px #DDD solid !important; }
*/


header, header *,
#bigImage, #bigImage *,
nav#mainNavigation, nav#mainNavigation * {
	transition: all 0.25s ease-in-out;
}


/* Responsive Settings ---------------------------------------------------------------------------- */
/* @media only screen and (max-width: 1024px) { */
@media only screen and (max-width: 1100px) { 
	/*
	#bigImage,
	footer,
	aside,
	article,
	header,
	#contentWrapper,
	#contentWrapper nav,
	#main  { display: none; } 
	*/
	
	#main,
	#headerInner,
	#contentWrapper, 
	footer, 
	#footerInner { width: 100%; min-width: 100%;  max-width: auto;}
	
	#main { background-image: none; }
	#logo { width: 28%; }
	#logo img { width: 100%; height: auto; }
	
	nav #topNavigation { right: 10px; }
	
	#bigImage { overflow: hidden; }
	#bigImage img { width: 100%; height: auto; }
	
	nav#mainNavigation { background-color: #FFF; background-image: none; margin-top: 0; height:45px; }
	nav#mainNavigation #leftNavigation { top: 12px;  }
	nav#mainNavigation #rightNavigation {  }
	
	article { padding-top: 30px; }
	article img { max-width: 100%; height: auto; }
	
	
	aside { padding-top: 30px; padding-left: 0; }
	aside #alleTrainings { width: 100%; margin-left: 0; background-color: rgb(163,203,233);	 overflow: hidden; }
	aside #alleTrainings { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
	aside #alleTrainings img { margin-left: -40px; }
	
	footer { background-image: none; height: auto; padding: 12px 0px 12px 45px; border-top: 1px #DDD solid; }
	#footerInner, #footerInner * { padding: 0; }
	
}



@media only screen and (max-width: 960px) { 
	
	header { background-color: #FFF; background-image: none; height: 70px; overflow: hidden; }
	#logo { top: 15px; width: 220px; }
	nav #topNavigation { top: 15px; right: 30px; }
	
	
	#contentWrapper {
	    padding-top: 70px;
	}
	
}



@media only screen and (max-width: 880px) { 
	
	* { font-size: 14px; }
	#leftNavigation li { padding-left: 25px; }
	#leftNavigation *, #rightNavigation * { font-size: 14px; }
	
	article { width: 65%; padding-left: 25px; padding-top: 40px; }
	aside { width: 35%; padding-top: 40px; }
	
	
	
	/* Terminliste */
	.accordion .headline { height: 120px; }
	.kursTermine, .kursTermineAktiv { position: absolute; top: 75px; left: 0px; }
	.kursInfo { position: absolute; top: 55px; left: 0px; }

	
	
}





@media only screen and (max-width: 800px) { 
	
	/* Mobilnavigation */
	#mainNavigation .mobilNavigationListItem { display: block; }
	
	#topNavigation { display: none; }
	nav#mainNavigation { height: auto; overflow: hidden; }
	
	#leftNavigation li, #rightNavigation li { float: none; width: 100%; padding-top: 10px; padding-bottom: 10px; }
	#rightNavigation li:first-child,  #rightNavigation li { padding-left: 25px; }
	
	nav#mainNavigation #leftNavigation 	{ position: relative; top: 0; width: 100%; height: 54px; }
	nav#mainNavigation #rightNavigation { position: relative; top: 0; width: 100%;height: 0px; }
	
	
	
	
	footer { padding-left: 25px; }
	
	
	/* Terminliste */
	.kursDatum,
	.kursZeit,
	.kursFreiePlaetze,
	.kursPreis,
	.kursReservierung {
			float: none;
			width: 100%;
			text-align: left;
	}
	
	
}




.showOnMobile { display: none !important; }
.hideOnMobile { display: block !important; }
@media only screen and (max-width: 736px) { 
	.showOnMobile { display: block !important; }
	.hideOnMobile { display: none !important; }
	
	
}




/*@media only screen and (max-width: 414px) { */
@media only screen and (max-width: 550px) { 

	
	.urlaub { padding: 10px; font-size: 15px; top: auto; bottom: 5px; transform: rotate(0deg); }
	
	article, aside {
		float: none;
		width: 100%;
	}
	article { padding: 40px 25px 40px 25px; }
	aside { padding: 40px 25px 40px 25px; }
	aside #alleTrainings { border-radius: 5px; margin-bottom: 0; }
	aside #alleTrainings img { margin-left: 0px; }
	
	
	aside nav ul { 
		border-top: 5px rgb(163,203,233) solid; 
		padding-top: 5px;
	}
	
	
	#subNavigation li { padding-left: 25px; }

	
	#kontaktBox { display: none; }
	
	
}



.showOnLandscape, .hideOnPortrait { display: block !important; }
.hideOnLandscape, .showOnPortrait { display: none !important; }
@media screen and (orientation: landscape) { 
  .showOnLandscape, .hideOnPortrait { display: block !important; }
  .hideOnLandscape, .showOnPortrait { display: none !important; } 
}


@media screen and (orientation: portrait) { 
  .showOnPortrait, .hideOnLandscape { display: block !important; }
  .hideOnPortrait, .showOnLandscape { display: none !important; } 
}


