body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
/* quicksand-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  src: url('../../files/franke/fonts/quicksand-v37-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* quicksand-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/franke/fonts/quicksand-v37-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/franke/fonts/open-sans-v44-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



/* CSS */

*{ margin: 0; padding: 0; border: 0;}
html, body {width: 100%; height: auto;}
body {font-size: 100%; font-family: 'Open Sans', Arial, Helvetica, sans-serif; font-weight: 400; font-style: normal; color: #3c3c3b; vertical-align:baseline; background-color: #fff;}
#clear, .clear {clear: both!important; width: auto; height: 0px; font-size: 0.1px;}
img {margin: 0; padding: 0; display: block;}

#container, #footer, #header {width: 100%; height: auto;}
.contentHold  {width: 100%; height: auto; padding: 25px 2% 25px 2%; margin: 0px auto; box-sizing: border-box; position: relative; max-width: 1700px;}

#container {min-height: 550px;}
 #footer > .inside {width: 100%; max-width: 1700px; padding: 0 2%; box-sizing: border-box; margin: 0px auto; position: relative; }
#header {position: fixed; z-index: 9999; top: 0px; left: 50%; transform: translate(-50%,0%); width: 100%; height: auto;  transition: all 0.25s ease;}
#header.scroll {background-color:#fff;-webkit-box-shadow: 0 2px 5px 0 #757575; box-shadow: 0 2px 5px 0 #757575; transition: all 0.25s ease;}

#wrapper::before {content:''; width: 50%; height: 50%; position: absolute; top: 0; right: 0; background-color: #f1f3f1; display: block; -webkit-border-radius: 0 0 0 50px;
border-radius: 0 0 0 50px;} 

#footer {background-color: #3c3c3b; padding-top: 50px;}

/* Smooth Scroll */
	html {scroll-behavior: smooth;}

	@media screen and (prefers-reduced-motion: reduce) {
		html {
			scroll-behavior: auto;
		}
	}



/* Basic */

.noMobile, .noMobil {display: block!important;}
.yesMobile, .hRightMobil {display: none!important;}
.overflowHidden {overflow: hidden; position: relative;}


.x1, .x2, .x3, .x32, .x4, .x43, .x30, .x5 {padding: 0% 2%; margin-bottom: 1.25rem; box-sizing: border-box;}
.x1 {width: 98%; display: block;}
.x2 {width: 48%; float: left;}
.x1, .x2, .x3, .x32, .x4, .x5, .x43 {margin-left: 1%; margin-right: 1%;}

.x30 {width: 30%; float: left;}
.x3 {width: 31%; float: left;}
.x32 {width: 64%; float: left;}
.x4 {width: 23%; float: left;}
.x43 {width: 65%; float: left;}
.x5 {width: 18%; float: left;}
.maxWidth70 {max-width: 70%; padding: 0% 2%; box-sizing: border-box; margin: 0px auto; clear: both; float: none;}
.c2 .contentHold .textContent {width: 50%; float: left;}
.c2 {width: 50%; float: left; padding-right: 5%; box-sizing: border-box;}
.c1 {width: 100%;}

object, svg, img {max-width: 100%; height: auto;}
.floatRight {float: right;}
.textCenter {text-align: center;}
.center {margin: 0px auto; text-align: center;}
.centerBlock {margin-left: auto!important; margin-right: auto!important; float: none!important;}
.imgCenter .image_container, .imgCenter img {margin-left: auto; margin-right: auto;}
.marginBottom50 {margin-bottom: 50px; }
.marginBottom100 {margin-bottom: 100px;}
.marginTop25 {margin-top: 25px;}
.marginBottom25 {margin-bottom: 25px;}
.marginTop50 {margin-top: 50px;}
.marginTop100 {margin-top: 100px;}
.paddingTop50, .textContentpaddingTop50 .textContent {padding-top: 50px;}
.paddingTop100, .textContentpaddingTop100 .textContent {padding-top: 100px;}
.paddingTop150, .textContentpaddingTop150 .textContent {padding-top: 150px;}
.paddingBottom100, .textContentpaddingBottom100 .textContent {padding-bottom: 100px;}
.paddingBottom50, .textContentpaddingBottom50 .textContent {padding-bottom: 50px;}

.noMarginBottom {margin-bottom: 0!important;}
.noMargin {margin: 0!important;}
.noPadding {padding: 0;}
.flexBoxHold {display: flex;display: -webkit-flex;display: -ms-flexbox;}
.flexBoxHold .image_container, .flexBoxHold .image_container img {width: auto; height: auto;}

.borderTop {border-top:1px solid #ccc; margin-top: 50px; padding-top: 50px;}
.borderTopSmall {border-top:1px solid #ccc;  padding-top: 50px;}
.borderLeft {border-left: 1px solid #a45948;}
.borderRight {border-right: 1px solid #a45948;}
.borderAfter {display: block;border-bottom: 1px solid #ccc; margin-bottom: 50px; margin-top: 35px;}
.textRight {text-align: right;}
.borderTop::before {content:''; display: block; clear: both; max-width: 70%; margin: 50px auto; border-top: 1px solid #a45948;}
.borderBottom::after {content:''; display: block; clear: both; margin: 50px auto; border-bottom: 1px solid #a45948;}
span.tab {width: 70px; display: block; float: left; margin-right: 10px;}

.textRight {text-align: right;}
.noAfter::after {display: none!important;}
.fullWidth img {width: 100%; height: auto; min-width: 100%;}

.overflowVisible {overflow: visible;}
.contentCenter {display: flex;   justify-content: center;   align-items: center;}
.flyingText {position: absolute; top: 350px; width: 100%; height: auto;}


.scrollMarginTop {scroll-margin-top: 200px;}


/* Typografie */

p, td, #main ul li, #main ol li, input, select, textarea, .ce_text a, #footer a, #footer p {font-size: 1.125rem; line-height: 1.65rem; margin-bottom: 1.65rem; word-wrap:break-word;}
h1, h2, h3, h4, h5, h6, p, td, #main ul li, #main ol li, input, select, textarea, .ce_text a, #footer a, #footer p {hyphens: auto; -moz-hyphens: auto; -o-hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; font-weight: normal;}

a {text-decoration: none;}

h1, h2, h3, h4, h5, h6 {word-wrap:break-word; font-family: 'Quicksand', Arial, sans-serif; hyphens: manual;}
h1 {font-size: 3rem; line-height: 3.5rem; margin-bottom: 2.875rem;}
h2 {font-size: 2.5rem; line-height: 2.87rem; margin-bottom: 1.65rem;}
h3 {font-size: 1.875rem; line-height: 2.25rem; margin-bottom: 1.65rem;}
h4 {}
h5 {}
h6 {}


.btnOrange {padding: 10px 20px; background-color: #a45948; display: inline-block; transition: all 0.25s ease; color: #fff; text-decoration: none; border-radius: 10px;;}
.btnOrange:hover {padding: 10px 30px; transition: all 0.25s ease;}

.greenList ul {list-style: none;}
.greenList ul li {padding: 20px!important; border: none!important; background-color:#3c3c3b; color: #fff; margin: 0 2% 10px 0; float: left; width: 48%; box-sizing: border-box; border-radius: 5px;}
.greenList ul li::before {display: none; content:''}


.rte ul {list-style: none;}
.rte ul li {display: block; padding: 20px 10px 20px 50px; border-bottom: 1px solid #3a3a3a; position: relative; }
.rte ul li::before {content:'\2714'; position: absolute; left: 15px; top: 20px; font-size: 25px; color: #005671;}

/* Header */
.logo {width: 420px; max-width: 80%; height: auto; overflow: hidden; transition: all .25s ease; position: relative; z-index: 10;} 
.logo a span {text-indent: -9999px;display: block;position: absolute;}
.logo a {display: block; height: 100%; overflow: hidden; transition: all 0.25s ease; margin-top: 35px; margin-bottom: 10px;}
.logo a img, .logo a svg {height: auto; width: 100%; transition: all 0.25s ease;}
#header.scroll .logo {width: 350px; height: auto; margin-bottom: 0; transition: all .25s ease;}

.hRight {width: calc(100% - 4%); height: auto; position: absolute; z-index: 5;top: 0; padding-right: 150px; box-sizing: border-box;}


/* OnePager */
.naviOnePager {padding-top: 120px; transition: all 0.25s ease; float: right;}
#header.scroll .naviOnePager {padding-top: 100px; transition: all 0.25s ease;}

.naviOnePager a {color: #3c3c3b; display: inline-block; padding: 10px 15px;  font-size: 1.45rem; line-height: 2rem;}
#header.scroll .naviOnePager a {color: #3a3a3a; transition: all 0.25s ease; font-size: 1.25rem; line-height: 1.875rem;}
.naviOnePager a:hover, .naviOnePager a.active {color:#a45948; transition: all 0.25s ease; }
.naviOnePager p {margin-bottom: 0;}
.naviOnePager ul {list-style: none;}
.naviOnePager ul li {float: left; margin-bottom: 5px!important;}

.naviOnePager ul li.last {margin-left: 50px;}
.naviOnePager ul li.last a {padding: 10px 20px; background-color: #a45948; color:#fff!important; text-decoration: none; border-radius: 5px; transition: all 0.25s ease;}
.naviOnePager ul li.last a:hover {background-color: ##fdcd68; transition: all 0.25s ease;}

a.closeMenu {position: absolute; top: 40px; right: 40px; }
a.closeMenu::before {content:'\2715'; color: #005671; width: 35px; height: 35px; font-size: 20px; line-height: 35px;}

.nav-toggler {position: absolute; top: 0; right: 2%; display: none;}
.nav-toggler__button {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif; font-weight: 400; font-style: normal; font-size: 1.125rem; line-height: 1.45rem;
  padding: 25px 20px 13px 20px;
  color: #fbffb1;  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px; background-color: #a45948;
}


/* Allg Content */

.newsLink {float: right; margin: 20px 0 20px 0;}
.newsLink a {color:#3a3a3a; font-size: 1.25rem; line-height: 1.875rem;}



.mod_article {min-height: 500px;}
.contentFirst {margin-top: 250px;}


.startScene {height: 95vh; max-height: 950px; -webkit-box-shadow: 0 2px 5px 0 #757575; box-shadow: 0 2px 5px 0 #757575; position: relative;}
.titleStart {width: 40%; height: 100%; float: left; padding-top: 300px; box-sizing: border-box;}
.titleStart .rte {max-width: 80%;}
.lessonStart {width: 60%; height: 100%;  position: relative; right: 0%; bottom: 0; padding-top: 300px; box-sizing: border-box; float: right; overflow: visible;}
.lessonStart::before {content:''; width: 105%; height: 105%; position: absolute; z-index: 1; display: block; background: url(../../files/franke/img/circle.svg) no-repeat; background-size: 100% auto;}
.lessonStart .layout_latest {width: 60%; margin: 200px auto 0 ; position: relative; z-index: 5;} 



/* News - Lessons */
.layout_latest {position: relative; padding-top: 2%;}
.layerLink {position: absolute; width: 100%; height: 100%; top: 0; left: 0;}
.layerLink a {display: block; width: 100%; height: 99%; transition: all 0.25s ease; border-bottom: 1px solid transparent; text-indent: -99999px;}
.layerLink a:hover {border-bottom: 1px solid #fff; transition: all 0.25s ease;}

.layout_latest .wotdTitle {text-align: center; color: #fff; padding: 10px 10px 20px 10px; border-bottom: 2px solid #fff; display: block; font-size: 2.875rem; line-height: 3.25rem;}
.layout_latest .wotdSpeech {text-align: center; color: #fff; font-size: 1rem; line-height: 1.25rem; opacity: 0.85; display: block;}
.layout_latest .wotdDesc {text-align: center; max-width: 80%; margin: auto; color: #fff; display: block;}



.pagination {clear: both!important; display: block; width: 100%; margin-top: 60px;} .pagination ul {list-style: none; width: auto; display: table; margin: 0px auto; border-top: 1px solid #4a4949; padding: 5px 30px 0px 30px;}
.pagination ul li {float: left; margin-right: 5px;}
.pagination ul li a, .pagination ul li strong {padding: 3px 5px; display: block; text-decoration:none;color: #005671;} 
.pagination ul li a:hover, .pagination ul li strong {background-color: #005671; color: #fff; transition: all 0.5s ease;}
.pagination p {text-align: center;}

.layout_latest.x3:nth-of-type(3n+4){clear: both;}


.lessonsArchive .x3 {background-color:#005671;}
.lessonsArchive .x3:hover {-webkit-box-shadow: 1px 1px 1px 1px #969696; box-shadow: 1px 1px 1px 1px #969696; transition: all 0.25s ease;}
.lessonsArchive .layerLink a:hover {border: none;}

.layout_latest h4 a {color:#fff; text-decoration: none; margin-top: 10px; }
p.back {margin-top: 1.65rem;}
a.back, p.back a {color: #005671; text-decoration: none; text-align: left; margin-bottom: 35px;}
/*
a.back::after, p.back a::after {content: ''; width: 70px; border-top: 1px solid #ccc; display: block;  margin-top: 5px; margin-left: 2%;}
p.more a {text-align: right; color: #005671; text-decoration: none;}*/


#leistungen {position: relative; overflow: hidden; padding-top: 150px; padding-bottom: 50px;}
#leistungen::before {content:''; position: absolute; z-index: 1; width: 450px; height: 450px; background-color:#a45948; display: block; left: -100px; top: -250px; border-radius: 50%; opacity: 0.5;}
#leistungen::after {content:''; width: 100%; height: 100%; background-color: #ededed; position: absolute; z-index: -1; top: 0; left: 0;}
#leistungen .contentHold {position: relative; z-index: 5;}


#anfrage {position: relative; overflow: hidden; padding-top: 150px; padding-bottom: 50px; }
#anfrage::after {content:''; width: 100%; height: 100%; background-color: #506448; position: absolute; z-index: -1; top: 0; left: 0; opacity: 0.5}
#anfrage .contentHold {position: relative; z-index: 5;}


#uebermich {position: relative; overflow: hidden; padding-top: 150px; padding-bottom: 50px; }



#footer p, #footer a {color: #f2f2f2; text-decoration: none;}
#footer a.active, #footer a:hover, #footer strong {color: #a45948; transition: all 0.25s ease;}



/*Kontaktformular --- Achtung: Schriftfamilie anpassen!!*/

.formFly { padding: 50px 3%!important;background-color: #fff;box-sizing: border-box;}
.formbody input[type="text"], .formbody input[type="tel"], .formbody input[type="email"],.formbody input[type="password"], textarea, select {border: 1px solid #dadada; width: 100%; min-width:200px; padding: 15px; box-sizing: border-box; font-family:  'Open Sans', Arial, Helvetica, sans-serif; font-weight: 400;  color: #3a3a3a;}

.formbody .widget {width: 48%; float: left; margin: 1%;}
.formbody .widget.widget-textarea {clear: both; width: 100%; padding: 0 2% 0 0; box-sizing: border-box; font-family: 'Open Sans', Arial, Helvetica, sans-serif; color: #707677;}
.formbody textarea {padding: 2%; font-family:  'Open Sans', Arial, Helvetica, sans-serif; font-weight: 400; color: #707677; }
.formbody label {width: 100%; font-size: 1.0125rem; clear:both; padding-top:8px; margin-bottom: 10px!important; padding-left: 0!important;}
label.message {clear: both!important; display: block; margin-bottom: 5px!important;} 
span.mandatory {color:#ff0000;}
.formbody .widget.widget-captcha {clear: both; margin: 20px 0; float: none; width: 100%;} .formbody .widget.widget-captcha label {width: 200px;}
.formbody .widget.widget-captcha input {clear: both; width: 50px; min-width: 30px; margin-right: 10px; float: left;}
.captcha_text {float:left; padding:8px 0 2px 8px; font-size:0.875em;color: #707677;}
.luft {width: 100%; height: auto; display: block; float: none; clear: both;}

.widget-submit {clear: both!important; width: 100%; text-align: center; margin: 30px 0;}
.widget-submit button {margin:20px 0px; border:1px solid #ccc; color:#fff; padding:10px 25px; cursor:pointer; display: block; background-color: #a45948; background-image: none!important; font-size: 1.0125rem; line-height: 1.2rem; border-radius: 0!important; transition: all 0.25s ease;}
.widget-submit button:hover {padding: 10px 35px; transition: all 0.5s ease;}


span.mandatory {vertical-align: top; padding-left: 2px;}
p.error {clear: both; display: block; color: #ff0000!important; font-size: 11px; margin-top: 20px;}
.ie7 p.error {margin-top: 5px; margin-left: 5px;}
.formbody br {clear: both; display: block;}
.widget.error {position: relative; padding-top: 40px; display: block; margin-top: 10px; clear: both;}


.widget fieldset {padding: 0!important; margin: 0!important;}
.widgetDS {width:98%!important; margin: 0 1%!important; padding: 0 2%; box-sizing: border-box;}
.widgetDS input {float: left!important; width: 40px!important; min-width: 40px; height: auto; margin-top: 5px;}
.widgetDS label {clear: none!important; padding-top: 0!important; display: block;}
.widgetDS p {font-size: 1.0125rem;}


@media screen and (max-width:1200px) {
 .naviOnePager {display: none;} .nav-toggler {display: block;}
  #header {overflow: visible;}
  .naviOnePager.nav--mobile--active {position: absolute; z-index:9999; top: 0; left: 0; height: 100vh; width: 100vw; margin: 0!important; transition: max-height 0s, background 0.25s; background: rgba(10,10,10, 0.95); display: block;}
  .naviOnePager.nav--mobile--active ul {list-style: table; margin: 20% auto;}
  .naviOnePager.nav--mobile--active ul li {float: none; display: block;}
  
  .naviOnePager.nav--mobile--active ul li a {color:#fff; font-size: 1.675rem; line-height: 2.25rem; text-decoration: none; transition: all 0.25s ease; text-align: center;}
  .naviOnePager.nav--mobile--active ul li a:hover {color:#fbffb1; transition: all 0.25s ease;}

    
}


