/* normalize */
html { font-family: sans-serif; line-height: 1.15; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
audio,canvas,iframe,img,svg,video {vertical-align: middle;}
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
a { background-color: transparent; }
a:active, a:hover { outline: 0; }
abbr[title] { border-bottom: 1px dotted; }
dfn { font-style: italic; }
mark { background: #F7DD45; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border-style: none; }
svg:not(:root) { overflow: hidden; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { overflow: auto; font-family: monospace, monospace; font-size: 1em; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
button[disabled], html input[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input { line-height: normal; border-radius: 0;}
select { border-radius: 0;}
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
input[type="search"] { -webkit-appearance: textfield; box-sizing: content-box; border-radius: 0; -webkit-appearance: none !important; cursor:pointer;}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
input[type="submit"]{-webkit-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s;}
legend { border: 0;  padding: 0; }
textarea { overflow: auto; resize: vertical;}
optgroup { font-weight: bold; }
table { border-collapse: collapse; border-spacing: 0;}
td, th { padding: 0; }
details { display: block; }
summary { display: list-item; }
::-moz-selection {background: #b7e6f8; text-shadow: none; }
img { vertical-align: top; }
fieldset { border: 0; margin: 0; padding: 0; }
textarea { resize: vertical; }
.hidden, .invisible { display: none !important; }
.clearfix:before, .clearfix:after { content: " ";  display: table; }
.clearfix:after, .clear { clear: both; }
/* nur safari */
* {-webkit-tap-highlight-color: rgba(0,0,0,0);}
svg:not(:root) { overflow: hidden; }
.sr-only { border: 0;clip: rect(0, 0, 0, 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;white-space: nowrap;  width: 1px;}
.sr-only.focusable:active,.sr-only.focusable:focus {clip: auto;height: auto;margin: 0;overflow: visible;position: static; white-space: inherit;width: auto;}
@view-transition {navigation:auto;}

/* FONTS */
/* roboto - latin */
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 300; src: url('../../files/system/css/fonts/roboto-v51-latin-300.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 400; src: url('../../files/system/css/fonts/roboto-v51-latin-regular.woff2')format('woff2');}
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 500; src: url('../../files/system/fonts/roboto-v51-latin-500.woff2') format('woff2');}
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 700; src: url('../../files/system/fonts/roboto-v51-latin-700.woff2') format('woff2');}

/* FONTS */
/* source-sans-pro */
@font-face { font-family: 'SourceSansPro';font-style: normal; font-weight: 400; src: local(''),  url('../../files/system/css/fonts/source-sans-pro-v21-latin-regular.woff2') format('woff2'), url('../../files/system/css/fonts/source-sans-pro-v21-latin-regular.woff') format('woff'); }
@font-face { font-family: 'SourceSansPro'; font-style: italic; font-weight: 400; src: local(''), url('../../files/system/css/fonts/source-sans-pro-v21-latin-italic.woff2') format('woff2'), url('../../files/system/css/fonts/source-sans-pro-v21-latin-italic.woff') format('woff'); }
@font-face { font-family: 'SourceSansPro'; font-style: normal; font-weight: 600; src: local(''), url('../../files/system/css/fonts/source-sans-pro-v21-latin-600.woff2') format('woff2'), url('../../files/system/css/fonts/source-sans-pro-v21-latin-600.woff') format('woff'); }
@font-face { font-family: 'SourceSansPro'; font-style: normal; font-weight: 700; src: local(''), url('../../files/system/css/fonts/source-sans-pro-v21-latin-700.woff2') format('woff2'), url('../../files/system/css/fonts/source-sans-pro-v21-latin-700.woff') format('woff'); }


/* root */ 
:root {
   --orange:#e06a00;
   --back:#fff;
   --padding_30:30px;
}

/* allgemein */
* { margin:0; padding:0; border:0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
html,body { height:100%; width:100%; }
html { font-size:100%; }
body { font-family: 'SourceSansPro', Arial, Helvetica, sans-serif; font-size: 1.05rem; line-height: 1.4; font-weight: 400; color:#333; background:var(--orange);  }
body.nav-active {overflow:hidden;}
.wrap { min-height:100%; max-width:800px; margin:0 auto;}
.fade_in { opacity: 0; transition:all .3s ease-out;}
.fade_left { transition:all .3s ease-in-out; transform: translateX(-50px);  opacity: 0; }
.fade_right { transition:all .5s ease-out; transform: translateX(10%); opacity: 0; }
.fade_up { transition:all .5s ease-out; transform: translateY(10px); opacity: 0; }
.show { transform: translate(0px,0px) scale(1.0) rotate(0deg)!important; opacity: 1!important; }
a {color:#333; text-decoration:none; }
a:hover {color:var(--orange);}
*:focus  { outline: 0; }
ul, ol { margin: 0; padding: 0 ; }
nav ul { list-style: none; list-style-image: none; }
.transit, input.submit { transition:all 0.3s ease-out;}
b, strong, .bold { font-weight: 600; }
.hidden { display: none; }
.center {max-width:100%; margin:0 auto; position:relative; padding:0 80px;}
.italic {font-style:italic;}
.orange {color:var(--orange);}

/* header */
.top {position:relative; }
.header-image img {width:100%; height:auto;}
.logo {position:relative; z-index:100; margin-bottom:30px; display:block;}

/* navigation */
.navigation {float:right; font-size:1.125rem; font-weight:400; color:#333; margin:-20px 0 50px;}
.menu { }
.up .menu, .down .menu { }
.menu .level_1 li { position:relative; float:left; margin-left:30px; }
.menu li:first-child {margin-left:0;} 
.menu a {position:relative; color:#333; padding:5px 0;}
.menu a:hover, .menu li.active strong.active { font-weight:400; color:var(--orange); }
.menu li.active .active { color:var(--orange); }
.menu .level_2 { position:absolute; top:30px; left:0; opacity:0; transition: all 0.4s;}
.menu .level_1 li:hover .level_2, .menu .level_1 li.trail .level_2, .menu .level_1 li.active .level_2 {opacity:1;}
.menu .level_2 li {width:180px;}

/* hamburger mobile */
.hamburger { position:absolute;  z-index:100; right:0; top:0px; width: 40px; height: 24px; display:none; cursor: pointer; background:transparent; }
.hamburger .line { display: block; background:var(--orange); width: 40px; height: 3px; position: absolute; left: 0; transition: all 0.4s; -webkit-transition: all 0.4s; transition: all 0.4s;}
.hamburger .line.line-1 { top: 0;}
.hamburger .line.line-2 {top: 50%;  width:30px;}
.hamburger .line.line-3 {top: 100%;}
.hamburger.active .line-1 {  transform: translateY(12px) translateX(0) rotate(45deg); }
.hamburger:hover .line-2 {width: 40px;}
.hamburger.active .line-2 { opacity: 0;}
.hamburger.active .line-3 {  transform: translateY(-12px) translateX(0) rotate(-45deg);}

/* main */
h1, h2, h3, h4 { font-weight:400; line-height:1.2; }
h1 {font-size:1.375rem; margin-bottom:20px;}
h2 {font-size:1.25rem; margin-bottom:5px;}
h3 {font-size:1.05rem; margin-top:15px; font-weight:600;}
.content-text h1 {margin-bottom:20px;}

main {position:relative; }
.content {background:#fff; padding:var(--padding_30); margin-top:20px;}
main .content-text {background:#fff; padding:var(--padding_30); margin-top:20px;}
section {position:relative; }
img {max-width:100%; height:auto;}
p { position:relative;  }
.content-text a {word-wrap: break-word;}
.media--right figure {float:right;}
.media--right figure img {margin:0 0 20px 20px;}
.media--left figure {float:left;}
main .content-text ul li {list-style:none; padding-left:13px; position:relative;}
main .content-text ul li:before { position:absolute; left:0; content:")"; font-family: Verdana, Geneva, sans-serif; font-size: 14px; font-weight: bold; color:var(--orange); }

/* footer */
.scroll_top {float:right; margin-top:30px; cursor:pointer;}
.scroll_top {position:relative; padding-left:20px; overflow-wrap: break-word; word-wrap: break-word; display:block; }
.scroll_top:before {position:absolute; left:0; top:2px; content:"»"; font-family: Verdana, Geneva, sans-serif; font-size: 14px; font-weight: bold; color:var(--orange); margin-right:2px;}

footer {padding-bottom:20px;}
footer .content {text-align:center; }
.punkt {position:relative; padding:0 5px; font-family: Verdana, Geneva, sans-serif; font-size: 14px; font-weight: bold; color:var(--orange);}

.mobile-transparent-menu {position:fixed; z-index:10; top:0; width:100%; height:100%;  transition:all 0.3s ease-out; background:rgba(0,0,0,.3); display:none; cursor:pointer; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);}
.nav-active .mobile-transparent-menu { display:block;}

.lightbox {background:#fff; padding:var(--padding_30); margin-top:20px;}
.lightbox .swiper-wrapper {display:grid; grid-template-columns: repeat(2, 1fr); gap:30px; }
.lightbox .swiper-wrapper .swiper-slide {list-style-type:none;}
.lightbox a {position:relative; display: block; width:100%; aspect-ratio: 3/1.75; overflow:hidden; }
.lightbox a img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:all .25s ease-out;}
.lightbox a:hover img { transform: scale(1.05); }

.pdf_download {position:relative; display:inline-block; margin-top:10px;}
.pdf_download:before {position:relative; content:url(../../files/system/images/pdf.png); top:10px; margin-right:10px;}
.pdf_download:hover {color:var(--orange);}

.team .media--right figure img { margin: 0 0 0 20px;}
.team h2 {margin-bottom:20px;}
.team .media--right:before, .team .media--right:after { content: " ";  display: table; }
.team .media--right:after { clear: both; }
.team main .content-text a {position:relative; padding-left:13px; overflow-wrap: break-word; word-wrap: break-word; display:block; }
.team main .content-text a:before {position:absolute; left:0; content:"»"; font-family: Verdana, Geneva, sans-serif; font-size: 14px; font-weight: bold; color:var(--orange); margin-right:2px;}

.fortbildungen h2 {margin-bottom:20px;}
.fortbildungen .liste ul li {margin-top:10px;}

/* responsive */
/* navbreak bei 960 */ 
@media (max-width: 960px) {
	.hamburger {display:block;}
	.navigation {position:fixed; float:none; z-index:90; top:0; left:100%; width:100%; height:auto; padding:140px 30px 30px; background:var(--back); text-align:left; -webkit-transition:all 0.5s ease-out; -moz-transition:all 0.5s ease-out; -o-transition:all 0.5s ease-out; transition:all 0.5s ease-out; margin-top:0; }
	.navigation.is-active { left:50%;}
	.menu .level_1 li{ float:none; margin:5px 0;}
	.menu .level_2 { position:relative; top:0; left:0; opacity:1; }
	.overflowbox {position: relative; height: calc(100% - 0px); max-height: 100%; overflow:auto;}
}
@media (max-width: 801px) {	
	.wrap {margin:0 10px;}
	:root {
	   --padding_30:20px;
	}
}
@media (max-width: 600px) {	
	.navigation.is-active { left:0;}
	.navigation {padding:160px 30px 30px 112px; }
	.media--right figure {float:none;}
	.media--right figure img {margin:0 0 20px 0; width:100%; height:auto;}
	.team .media--right figure img { margin: 0 0 20px 0;}
	.lightbox .swiper-wrapper {display:grid; grid-template-columns: repeat(2, 1fr); gap:20px; }
}
@media (max-width: 500px) {	
	.lightbox .swiper-wrapper {display:grid; grid-template-columns: repeat(1, 1fr); gap:20px; }
}
@media (max-width: 400px) {	
	.logo img {width:230px; height:auto;}
	.navigation {padding:160px 30px 30px 95px; }
}

@media (max-width: 350px) { 

}

@media (min-height: 570px) AND (max-width: 960px) { 

}

/* print */
@media print {
	body {font-size:0.9em;}
	header, footer {display:none;}
	.print_button {display:none !important;}
	.print {visibility:visible;}
    *, *:before, *:after, *:first-letter, *:first-line { background: #fff !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; }
    a,a:visited { text-decoration: underline;}
    a[href]:after {content: " (" attr(href) ")"; }
    abbr[title]:after {content: " (" attr(title) ")";}
	a[href^="#"]:after, a[href^="javascript:"]:after {  content: ""; }
    pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
    thead { display: table-header-group;}
    tr,img {page-break-inside: avoid;}
    img {max-width: 100% !important; }
    p,h2,h3 {orphans: 3;widows: 3;}
    h2, h3 {page-break-after: avoid;}
}
/*!
	By André Rinas, www.andrerinas.de
	Documentation, www.simplelightbox.com
	Available for use under the MIT License
	Version 2.14.3
*/
body.hidden-scroll {
  overflow: hidden;
}

.sl-overlay {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: var(--orange);
  display: none;
  z-index: 1035;
  opacity: 0.9 !important;
}

.sl-wrapper {
  z-index: 1040;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: fixed;
}
.sl-wrapper * {
  box-sizing: border-box;
}
.sl-wrapper button {
  border: 0 none;
  background: transparent;
  font-size: 28px;
  padding: 0;
  cursor: pointer;
}
.sl-wrapper button:hover {
  opacity: 0.7;
}
.sl-wrapper .sl-close {
  display: none;
  position: fixed;
  right: 30px;
  top: 30px;
  z-index: 10060;
  margin-top: -14px;
  margin-right: -14px;
  height: 44px;
  width: 44px;
  line-height: 44px;
  font-family: Arial, Baskerville, monospace;
  color: #000;
  font-size: 3rem;
}
.sl-wrapper .sl-counter {
  display: none;
  position: fixed;
  top: 30px;
  left: 30px;
  z-index: 10060;
  color: #000;
  font-size: 1rem;
}
.sl-wrapper .sl-download {
  display: none;
  position: fixed;
  bottom: 5px;
  width: 100%;
  text-align: center;
  z-index: 10060;
  color: #fff;
  font-size: 1rem;
}
.sl-wrapper .sl-download a {
  color: #fff;
}
.sl-wrapper .sl-navigation {
  width: 100%;
  display: none;
}
.sl-wrapper .sl-navigation button {
  position: fixed;
  top: 50%;
  margin-top: -22px;
  height: 44px;
  width: 22px;
  line-height: 44px;
  text-align: center;
  display: block;
  z-index: 10060;
  font-family: Arial, Baskerville, monospace;
  color: #000;
}
.sl-wrapper .sl-navigation button.sl-next {
  right: 5px;
  font-size: 2rem;
}
.sl-wrapper .sl-navigation button.sl-prev {
  left: 5px;
  font-size: 2rem;
}
@media (min-width: 35.5em) {
  .sl-wrapper .sl-navigation button {
    width: 44px;
  }
  .sl-wrapper .sl-navigation button.sl-next {
    right: 10px;
    font-size: 3rem;
  }
  .sl-wrapper .sl-navigation button.sl-prev {
    left: 10px;
    font-size: 3rem;
  }
}
@media (min-width: 50em) {
  .sl-wrapper .sl-navigation button {
    width: 44px;
  }
  .sl-wrapper .sl-navigation button.sl-next {
    right: 20px;
    font-size: 3rem;
  }
  .sl-wrapper .sl-navigation button.sl-prev {
    left: 20px;
    font-size: 3rem;
  }
}
.sl-wrapper.sl-dir-rtl .sl-navigation {
  direction: ltr;
}
.sl-wrapper .sl-image {
  position: fixed;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 10000;
}
.sl-wrapper .sl-image img {
  margin: 0;
  padding: 0;
  display: block;
  border: 0 none;
  width: 100%;
  height: auto;
}
@media (min-width: 35.5em) {
  .sl-wrapper .sl-image img {
    border: 0 none;
  }
}
@media (min-width: 50em) {
  .sl-wrapper .sl-image img {
    border: 0 none;
  }
}
.sl-wrapper .sl-image iframe {
  background: #000;
  border: 0 none;
}
@media (min-width: 35.5em) {
  .sl-wrapper .sl-image iframe {
    border: 0 none;
  }
}
@media (min-width: 50em) {
  .sl-wrapper .sl-image iframe {
    border: 0 none;
  }
}
.sl-wrapper .sl-image .sl-caption {
  display: none;
  padding: 10px;
  color: #000;
  font-size: 1rem;
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
}
.sl-wrapper .sl-image .sl-caption.pos-top {
  bottom: auto;
  top: 0;
}
.sl-wrapper .sl-image .sl-caption.pos-outside {
  bottom: auto;
}

.sl-spinner {
  display: none;
  border: 5px solid #333;
  border-radius: 40px;
  height: 40px;
  left: 50%;
  margin: -20px 0 0 -20px;
  opacity: 0;
  position: fixed;
  top: 50%;
  width: 40px;
  z-index: 1007;
  -webkit-animation: pulsate 1s ease-out infinite;
  -moz-animation: pulsate 1s ease-out infinite;
  -ms-animation: pulsate 1s ease-out infinite;
  -o-animation: pulsate 1s ease-out infinite;
  animation: pulsate 1s ease-out infinite;
}

.sl-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

.sl-transition {
  transition: -moz-transform ease 200ms;
  transition: -ms-transform ease 200ms;
  transition: -o-transform ease 200ms;
  transition: -webkit-transform ease 200ms;
  transition: transform ease 200ms;
}

@-webkit-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@-moz-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@-o-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@-ms-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
