/* 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; }
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;}
input::placeholder {color:#000;}
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, .element-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;}

/* FONTS */
/* inter-300 - latin */
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 300; src: url('fonts/inter-v20-latin-300.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 400; src: url('fonts/inter-v20-latin-regular.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 500; src: url('fonts/inter-v20-latin-500.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 600; src: url('fonts/inter-v20-latin-600.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 700; src: url('fonts/inter-v20-latin-700.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 800; src: url('fonts/inter-v20-latin-800.woff2') format('woff2'); /}
/* icons */
@font-face { font-family: 'icons';  src:  url('fonts/icons.eot'); src: url('fonts/icons.eot#iefix') format('embedded-opentype'), url('fonts/icons.ttf') format('truetype'), url('fonts/icons.woff') format('woff'), url('fonts/icons.svg') format('svg'); font-weight: normal; font-style: normal; font-display: block; }
[class^="icon-"], [class*=" icon-"], .icon { font-family: 'icons' !important; speak: never; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.icon-facebook:before {content: "\e900";}
.icon-instagram:before { content: "\e901";}
.icon-left:before { content: "\e902";}
.icon-linkedin:before { content: "\e903";}
.icon-map:before { content: "\e904";}
.icon-micro1:before { content: "\e905";}
.icon-micro2:before { content: "\e906";}
.icon-micro3:before { content: "\e907";}
.icon-micro4:before { content: "\e908";}
.icon-pdf:before { content: "\e909";}
.icon-right:before { content: "\e90a";}
.icon-right2:before { content: "\e90b";}
.icon-search:before { content: "\e90c";}

/* allgemein */
:root {
   --red:#ea6e5b;
   --lightblue:#6db7ee;
   --blue:#4490c9;
   --darkblue:#33719f;
   --beige:#f8f8f4;
   --fontcolor:#1a0101;
   --backcolor:#f8f8f4;
   --100:100px;
   --darkback:#f3efe7;
}
a { background-color: transparent; }
a:active, a:hover { outline: 0; }
* { 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: 'Inter', Arial, Helvetica, sans-serif; font-size: 1.5rem; line-height: 1.25; font-weight:600; color:#fff; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x:hidden; }
body.nav_active {overflow:hidden;}
.wrap { min-height:100%;}
.fade_in { opacity: 0; transition:all 1s ease-out;}
.fade_left { transition:all .5s ease-out; transform: translateX(-20px); opacity: 0; }
.fade_right { transition:all .5s ease-out; transform: translateX(20px); 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;  -webkit-transform: translate(0px,0px) scale(1.0) rotate(0deg)!important;  opacity: 1!important; }
a {text-decoration:none; transition:all .25s ease-out;}
*:focus  { outline: 0; }
ul, ol { margin: 0; padding: 0 ; }
nav ul, ul { list-style: none; list-style-image: none; }
.transit, input.submit, a img, a h2 { transition:all 0.3s ease-out;}
b, strong, .bold { font-weight: 600; }
.hidden { display: none; }
.silben {-webkit-hyphens: auto; -ms-hyphens: auto; hyphens: auto;}
.center { margin:0 auto; position:relative; padding:0 80px; }
.italic {font-style:italic;}
.red {color:var(--red);}
.link {color:var(--blue);}


header {position:fixed; z-index:100; transition:all 0.3s ease-out; width:100%; }
.back { position:fixed; width:100%; min-height:100%; background: url(../images/background.png); background-repeat: no-repeat; background-size: cover; opacity:.1; }
header .logo {display:none; position:relative; left:40px; top:5px;}

/* hamburger mobile */
.hamburger { position:absolute;  z-index:100; right:30px; top:20px; width: 50px; height: 24px; cursor: pointer; background:transparent; display:none; }
.hamburger .line { display: block; background:var(--fontcolor); width: 40px; height: 5px; position: absolute; left: 0; border-radius: 1px; 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:25px;}
.hamburger .line.line-3 {top: 100%;}
.hamburger.active .line-1 { -webkit-transform: translateY(12px) translateX(0) rotate(45deg); transform: translateY(12px) translateX(0) rotate(45deg); }
.hamburger:hover .line-2 {width: 40px;}
.hamburger.active .line-2 { opacity: 0;}
.hamburger.active .line-3 { -webkit-transform: translateY(-12px) translateX(0) rotate(-45deg); transform: translateY(-12px) translateX(0) rotate(-45deg);}

/* navigation */
.navigation {position:fixed; float:none; z-index:90; top:160px; left:80px; height:auto;  background:#000; color:#fff; -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; overflow-x: hidden; overflow-y: auto; padding:0 5px 5px; max-height:calc(100vh - 160px); overflow:auto;}
.menu { position:relative; font-weight: 400; font-size:2.5rem; }
.menu li {position:relative; padding:15px 0;}
.menu a, .menu span.active {position:relative; display:inline-block; color:#fff; }
.menu li.active, .menu li.trail {font-weight:700;}
.menu li a:after {content: ""; position: absolute; z-index:-1; width:0%; height:3px; bottom:21px; left: 0; background-color:#fff; visibility: hidden; transition: all 0.25s ease-in-out 0s;}
.no-touchevents .menu li a:hover:after, .menu li.trail a:after{ visibility: visible; width: 100%; }
span.active:after {content: ""; position: absolute; z-index:-1; width:100%; height:3px; bottom:21px; left: 0; background-color:#fff; }
.menu .level_2 li {padding:2px 0 2px 50px;}
.menu .level_2 li a {font-weight: 400;}


/* abgerundete links mit Pfeil */
.more_link, .back_link {position:relative; height:44px; line-height:44px; background:var(--red); color:#fff !important; text-align:center; padding:0 50px 0 25px; border-radius:22px; display:inline-block; -webkit-transition:all .2s ease-out; transition:all .2s ease-out;}
.back_link {padding:0 25px 0 50px; margin:-60px 0 20px;}
.more_link:after {font-family: 'icons'; content: "\e90a"; font-size:1.5rem; position:absolute; right:20px; transition: all 0.3s ease-out 0s; }
.more_link:hover, .back_link:hover {background:var(--darkblue);}
.more_link:hover:after {right:10px;}
.back_link:before {font-family: 'icons'; content: "\e90a"; font-size:1.5rem; position:absolute; left:20px; transition: all 0.3s ease-out 0s; transform:rotate(180deg);}
.back_link:hover:before {left:10px;}

.pdf_link {padding:0 20px 0 20px;}
.pdf_link:before {font-family: 'icons'; content: "\e905"; font-size:1.5rem; margin-right:20px;}

/* allgemein main */
h1, h2, h3, h4 { font-family: 'Inter'; font-weight: 700; }
h1 { font-size: 1.5rem; line-height: 1.25; text-transform:uppercase; }
h2 { font-size: 1.5rem; line-height: 1.25; text-transform:uppercase; }
h3 { font-size: 1.5rem; line-height: 1.25; font-weight: 400; text-transform:uppercase;}

main {position:relative; }
section {position:relative; }
img {max-width:100%; height:auto;}
p { position:relative;}
.content-text ul li {list-style: square outside; margin-left:22px;}
.float_right {float:right;}
.float_left {float:left;}
.padding_100 {padding:100px 0;}
.padding_50 {padding:50px 0;}
.spacer_100 {height:100px;}
.ce_text a {color:var(--blue);}
.ce_text a:hover {color:var(--red);}
.ce_text p {text-indent:3rem;}

/* Bilder */
picture, figure {position:relative; display:inline-block;}
figcaption {font-size:1rem;}

/* nach oben */
.scroll_top {position:fixed; z-index:90; bottom:10px; right:35px; opacity:0; width:44px; height:44px; line-height:44px; border-radius:50%; background:var(--red); color:#fff; opacity:0; }
.scroll_top:after {position:absolute; left:0; top:-1px; width:100%; text-align:center; font-weight:400; font-size:1.8rem;  font-family: 'icons'; content: "\e90a"; transform:rotate(-90deg); transition:all 0.3s ease-out; }
.scroll_top.active:focus, .scroll_top.active {opacity:.8; }
.scroll_top.active:hover {opacity:1; }

/* footer */
footer {font-size:1rem; font-weight:400; color:#000; padding:80px 0 50px;}
.footer_menu li { display:inline; margin-right:10px; padding-right:10px; border-right:1px solid #fff;}
.footer_menu li:last-child { margin-right:0px; padding-right:0px; border-right:none;}
footer a { position:relative; display:inline; color:#000; }
footer a:after {content: ""; position: absolute; z-index:-1; width:0%; height:1px; bottom:8px; left: 0; background-color:#333; visibility: hidden; transition: all 0.25s ease-in-out 0s;}
footer a:hover:after { visibility: visible; width: 100%; }

.mobile_transparent_menu {position:fixed; z-index:80; top:0; width:100%; height:100%;  transition:all 0.3s ease-out; background:rgba(0,0,0,.2); display:none; cursor:pointer; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);}
.nav_active .mobile_transparent_menu { display:block;}

/* responsive mediaqueries */
@media (max-height: 600px) and (min-width: 1024px){ 
	.navigation {top:50px; max-height:calc(100vh - 50px); overflow:auto;}
	.menu { font-size:1.75rem; }
	.menu li {padding:10px 0;}
	.menu li a:after { height:2px; bottom:15px; }
	.menu li.active .active:after { height:2px; bottom:15px; }
}
@media (max-width: 1025px) {	
	.center { padding:0 40px; }
	.navigation {left:40px; top:50px; max-height:calc(100vh - 50px); overflow:auto;}
	.menu { font-size:1.75rem; }
	.menu li {padding:10px 0;}
	.menu li a:after { height:2px; bottom:15px; }
	.menu li.active .active:after { height:2px; bottom:15px; }
}
@media (max-width: 961px) {	
	body {font-size: 1.25rem;}
}
/* nav switch */
@media (max-width: 760px) { 
	header {height:80px;}
	header.active {background:rgba(255,255,255,.5);}
	.hamburger {display:block;}
	header .logo {display:block;}
	main {padding-top:80px;}
	.navigation {top:80px; padding-right:40px; left:auto; right:-50%; max-height:calc(100vh - 80px); overflow:auto;}
	.navigation.is-active { right:0;}
}
@media (max-width: 600px) {	
	.center { padding:0 20px; }
	header .logo {left:20px;}
	.hamburger {right:12px;}
}
@media (max-width: 500px) {	
	.scroll_top {right:20px;}
	.copy.float_left {float:none; width:100%; margin-bottom:10px;}
	.footer_menu.float_right {float:none; width:100%;}
}
@media (max-width: 350px) {	

}

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