@charset "UTF-8";
/* CSS Document */
@import "fonts.css";

/* reset */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,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 { border:0; font-size:100%; margin:0; padding:0; }
a { outline:none; }
table { border-collapse:collapse; border-spacing:0; }
fieldset,img { border:0; }
del,ins { text-decoration:none; }
caption,th { text-align:left; }
h1,h2,h3,h4,h5,h6 { font-size:100%; font-weight:normal; }
q:before,q:after { content:''; }
abbr,acronym { border:0; font-variant:normal; }
sup,sub { vertical-align:baseline; }
legend { color:#000; }
input,button,textarea,select,optgroup,option { font-family:inherit; font-size:inherit; font-style:inherit; font-weight:inherit; }
input,button,textarea,select { font-size:100%; }

/* Clearfix */
.clearfix:before, .clearfix:after {content: " "; display: table;}
.clearfix:after {clear: both;}
/*.clearfix {*zoom: 1;}*/

div:before, div:after {content: " "; display: table;}
div:after {clear: both;}
/*div {*zoom: 1;}*/

*, *:before, *:after {padding: 0; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;}
figure, figure:before, figure:after {padding: 0; margin: 0; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;}

body {margin:0; font-family: 'Palanquin', sans-serif; font-size: 1em; -webkit-overflow-scrolling: touch; font-weight: 300; line-height: 1.5}
body.fixed {height: 100%; overflow: hidden;}

/***************************** FORMAT *****************************/
h1 {font-size: 1.5em;}
h2 {font-size: 1.375em;}
h3 {font-size: 1.375em; /*margin-top: 1.5em;*/}
h4 {font-size: 1.25em;}
h5 {font-size: 1.25em; /*margin-top: 1.5em;*/}
h6 {font-size: 1.125em; /*line-height: 1em; margin-bottom: 0.25em;*/}
h1 a, h2 a, h3 a, h4 a, h5 a {color: inherit; border: 0 !important; text-decoration: none;}
h1, h2, h3, h4, h5, h6 {/*color: rgba(0,0,0,1);*/ line-height: 1.125em; margin-bottom: 0.25em;}

p + h1, p + h2, p + h3, p + h4, p + h5, p + h6,
ul + h1, ul + h2, ul + h3, ul + h4, ul + h5, ul + h6,
ol + h1, ol + h2, ol + h3, ol + h4, ol + h5, ol + h6 {margin-top: 1.5em;}

p, .text-img figcaption {color: rgba(0,0,0,1); /*line-height: 1.5em; margin-bottom: 0.75rem;*/}
blockquote p {font-size: 1.125em;}
.big, .text-large {font-size: 1.25em;}
strong, .bold {font-weight: 600;}
.light, a.light {font-weight: 300;}
.small, .text-img figcaption {font-size: 0.875em;}

hr {margin: 1em 0;}

.white, p.white, p .white, .white p, a.white, .white a, .white a.phone, .white a.phone:hover {color: rgba(255,255,255,1);}

.uppercase {text-transform: uppercase;}

.heavy, .slide figcaption p strong, blockquote strong {font-family:'Figtree', sans-serif; font-weight: 900;}
.demi, .slide figcaption p, blockquote {font-family:'Figtree', sans-serif; font-weight: 500;}

ul {list-style-type: none;}
ul li {padding: 0 0 0.375rem 0.5rem; /*line-height: 1.5em;*/ position: relative;}
ul li:before {content: '\00b7 '; position: absolute; left: 0; font-weight: 600;}

ol {padding: 0 0 0 1rem;}
ol li {padding: 0 0 0.375rem 0.5rem; /*line-height: 1.5em;*/ position: relative;}
ol li:before {position: absolute; left: -1rem;}

.center-text {text-align: center;}

footer p {margin-bottom: 0;}
footer ul li, .no-bull li, .detail ul.no-bull li {padding: 0;}
footer ul li:before, .no-bull li:before, .detail ul.no-bull li:before {content: ''; display: none;}
footer button {line-height: inherit;}

sup {font-size: 0.675em; vertical-align: top;}

hr {border-color: rgba(127,127,127,0.5);}

.side-content hr {margin: 0 0 1rem 0;}

/* yellow background */
.yellow-bg h1 {margin-bottom: 0;}
.yellow-bg h1 + p {margin-top: 0.5rem;}

/* teaser */
.text-teaser p {margin-bottom: 0;}

.image-teaser .big, .slide figcaption p {line-height: 1.125em;}

/* detail */
.detail p, .detail ul:last-of-type {margin-bottom: 0;}
p + p, ul + p, ul + ul, ol + p, ol + ol {margin: 0.75rem 0 0 0;}
p.no-marg + p.no-marg {margin: 0;}
.detail ul li, .image-teaser ul li, .detail-list li {padding: 0 0 0 0.875rem;}
.detail ul li:before, .image-teaser ul li:before, .detail-list li:before {content: '\003e\003e';}
.detail ul li:before, .detail-list li:before {font-weight: 300;}
.image-teaser ul {display: none;}

/* search */
.bc-item {display: inline-block; padding-right: 1.5rem; position: relative;}
.bc-item:after {content: '\003e\003e'; position: absolute; right: 0.375rem;}
.bc-item:last-of-type:after {content: '';}

/***************************** LINKS/SPANS *****************************/
a {text-decoration: none; font-weight: 600; color: rgba(0,77,144,1);
-moz-transition: color .3s, background .3s, border .3s; -webkit-transition: all .3s; transition: color .3s, all .3s;}
a:hover, figcaption {color: rgba(127,127,127,1);}
a.dark, .dark a, .outro a {color: rgba(0,0,0,1);}
a.dark:hover, .dark a:hover, .outro a:hover {color: rgba(0,77,144,1);}

a:focus-visible, button:focus-visible {outline-style: auto;}

a.phone, a.phone:hover {color: rgba(0,0,0,1); font-weight: 300; cursor: text; white-space: nowrap;}

.white a:hover, a.white:hover {color: rgba(255,220,0,1);}

.pfeil, .back, .outro a {padding-left: 0.875rem; display: inline-block; position: relative;}
.pfeil:before, .back:before, .outro a:before {position: absolute; left: 0;}
.pfeil:before, .outro a:before {content: '\003e\003e';}
.back:before {content: '\003c\003c';}

/*.center-text .pfeil {display: inline;}*/

.image-teaser a {font-weight: normal; display: block;}
.image-teaser a:hover {color: rgba(255,220,0,1);}

footer a {font-weight: 300;}
footer a.phone {color: rgba(0,77,144,1);}

.grey, .grey a {color: rgba(127,127,127,1);}
.grey a:hover, .pagination a.active {color: rgba(0,77,144,1);}

/* scroll down / back top */
.arrow {display: block; position: relative; width: 2.625rem; height: 2.625rem; border: 0.125rem solid rgba(0,0,0,1); border-radius: 50%; -webkit-border-radius: 50%;}
.arrow:before, .arrow:after {display: block; content: ''; width: 0.1875rem; height: 1.125rem; position: absolute; top: 0.375rem; background: rgba(0,0,0,1);}
.arrow:before {left: 0.375rem; transform: rotate(45deg); transform-origin: bottom left; -webkit-transform: rotate(45deg); -webkit-transform-origin: bottom left;}
.arrow:after {right: 0.375rem; transform: rotate(-45deg); transform-origin: bottom right; -webkit-transform: rotate(-45deg); -webkit-transform-origin: bottom right;}

#back-top {position: fixed; right: 1rem; bottom: 2rem; display: none; z-index: 100;}
#back-top .arrow {background: rgba(255,255,255,0.5);}

#scroll-down {display: block; width: 3.625rem; margin: 0 auto; padding-bottom:1.5rem; transform: rotate(180deg); -webkit-transform: rotate(180deg);}

a:hover .arrow {animation: pulse 0.5s 1;}

@-webkit-keyframes pulse {
0%, 100% {transform: scale(1);}
50% {transform: scale(1.05);}
}
@-moz-keyframes pulse {
0%, 100% {transform: scale(1);}
50% {transform: scale(1.05);}
}
@keyframes pulse {
0%, 100% {transform: scale(1);}
50% {transform: scale(1.05);}
}

/* button / pull */
button {-webkit-appearance: none; -moz-appearance: none; appearance: none; background: none; border: none; border-radius: none;}
button:hover {cursor: pointer;}

.btn {line-height: 1em; position: relative; display: inline-block; padding: 0.5625rem 1.5rem 0.5625rem 0.5rem; margin-top: 1rem; border: 0.0625rem solid rgba(0,0,0,1);}
.btn:hover {border-color: rgba(0,77,144,1);}
.btn:before, .btn:after {position: absolute; content: ''; width: 0.75rem; height: 0.25rem; background: rgba(0,0,0,1);}
.btn:hover:before, .btn:hover:after {background: rgba(0,77,144,1);}

.acc-pull:before, .acc-pull:after {top: 45%; right: 0.5rem;}
.acc-pull:after {transform: rotate(90deg); -webkit-transform: rotate(90deg);}
.acc-pull.active:after {transform: rotate(0); -webkit-transform: rotate(0);}

.pull-text:before {content: 'More';}
.open .pull-text:before {content: 'Close';}

.more:before, .more:after {right: 0.375rem;}
.more:before {top: 0.75rem; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.more:after {bottom: 0.75rem; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

.btn-blue {position: relative; display: inline-block; padding: 0.5rem 1rem; background: rgba(0,77,144,1); color: rgba(255,255,255,1); text-transform: uppercase;}
.btn-blue:hover {background: rgba(255,220,0,1); color: rgba(0,77,144,1);}
.btn-blue.marg-extra {margin: 0.5em 0;}

/***************************** LAYOUT *****************************/
main {display: block; padding-top: 4.5rem;}
.wrapper {height:auto; margin: 0 auto; width: 100%; max-width:64rem; position: relative;}

.no-mob, .print {display: none;}
.mob {display: block;}

.block {padding: 0 1rem;}
section.headslider {padding: 0;}

/* HEADER */
#main-header {width: 100%; position: absolute; top: 0; left: 0; z-index: 99; padding: 1rem; background: rgba(255,255,255,1);}
#main-header.fixed {position: fixed; border-bottom: 0.125rem solid rgba(127,127,127,1);}

#main-header .logo {height: 2.5rem; /*max-width: 14rem;*/ transition: height .3s;}
#main-header.fixed .logo {height: 1.75rem; /*width: 10.5rem;*/}
.logo img {height: 100%; width: auto;}

.logo a, .logo-wrap {display: block; width: 100%; height: 100%;}
.partner-logo {display: none;}


/* NAVI */
nav {position: relative;}
nav ul {list-style-type: none;}
nav ul li {line-height: 1em;}
nav ul li:before {content: '';}

#main-nav {line-height: 1em; display: block;}
#main-nav {font-size: 1.125em;}
#main-nav ul {width: 100%; height: 100%; padding: 1rem 0 0 0; display: none;}
#main-nav ul li {padding: 1rem 0; border-bottom: 1px solid rgba(0,0,0,0.25);}
#main-nav ul li:last-of-type {border-bottom: none;}
#main-nav ul li a {font-weight: 300; color: rgba(0,0,0,1);}
#main-nav ul li a:hover, #main-nav ul li.active a {color: rgba(0,77,144,1);}

/* nav pull */
a#pull {width: 2rem; height: 1.75rem; padding: 0.25rem 0; position: absolute; top: 50%; right: 0; transform: translateY(-50%); z-index: 11;}

.burger-wrap {position: relative; width: 100%; height: 100%;}
.burger, .burger:before, .burger:after {width: 2rem; height: 0.25rem; display: block; position: absolute;
-webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s;}
.burger {background: rgba(0,0,0,1); left: 0; top: 0;}
.burger:before {top: 0.5rem; background: rgba(0,0,0,1); content: '';}
.burger:after {top: 1rem; background: rgba(0,0,0,1); content: '';}

.open .burger {background: none;}
.open .burger:before {top: 0.5rem; width: 2rem;
-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg);}
.open .burger:after {top: 0.5rem; width: 2rem;
-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg);}

/* CONTENT */
.column, .col {width: 100%; position: relative;}

.column, .third {margin-bottom: 1rem;}
.column, .col-s {padding: 0 1rem;}

.col + .col {margin-top: 1rem;}

.yellow-bg {background: rgba(255,220,0,1);}

.text-block, .single-page {padding: 2rem 1rem;}
.single-page .single-col {padding: 0;}
.img-block {padding: 1rem 1rem 2rem 1rem;}
.img-block-small {padding: 0 1rem;}

img, figure img {width: 100%; display: block; position: relative;}
figure {position: relative;}

.text-img + *, * + .text-img {margin-top: 1em;}
.marg-extra + *, * + .marg-extra {margin-top: 1.5em;}

.single img, .single svg {width: auto; max-width: 100%;}
.small img {width: 66.66%; max-width: 50%;}
.img-xs {width: auto; max-width: 33.33%;}

.border-top {border-top: 0.0625rem solid rgba(127,127,127,0.5);}

.video {width: 100%; height: 0; position: relative; margin: 1rem 0; padding-bottom: 56.25%; overflow: hidden;}
.video iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.stretch-w img {width: 100%; height: auto; object-fit: cover;}
.stretch-h img {width: auto; height: 100%; object-fit: cover;}

/* teaser */
.text-teaser {padding: 1rem 0;}

.image-teaser figure {position: relative; overflow: hidden; background: rgba(0,0,0,1);}
.image-teaser figure img {opacity: 0.5; -webkit-transition: all .3s; transition: all .3s;}
.image-teaser a:hover figure img {opacity: 1;}

.image-teaser figure figcaption {width: 100%; position: absolute; top: 0; left: 0; padding: 1rem;}

.image-teaser .half figure {height: 12rem;}
.image-teaser .half {padding: 0.5rem 0;}

/* slider */
.headimg {position: relative;}
.headslider, .slide {position: relative; overflow: hidden; max-height: 70vh;}
.headslider .slide, .headslider .slick-list, .headslider .slick-track {height: 100%;}
.headslider {background: rgba(0,0,0,1);}
.headslider figure {height: 0; padding-bottom: 56.25%; position: static;}
.headslider img {width: 140%; margin: 0 auto; opacity: 0.7;}
.headslider figcaption {padding: 1rem;}
.headslider .cap-inner {width: 90%; text-wrap: balance;}

.headslider img, .slider img, .img-wrap img, .social svg {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%);}

.slider {background: rgba(110,110,110,1);}
.slider figure {width: 100%; height: 0; padding-bottom: 56.25%;}
.slider figcaption {padding: 0.5rem 1rem; position: absolute; top: 0; left: 0; width: 90%;}

@supports (object-fit: cover){
.stretch-w img, .stretch-h img {width: 100%; height: 100%;}
.headslider .stretch-w img, .headslider .stretch-h img {width: 140%; height: 140%;}
}

.extra-logo {display: none;}

/* lightbox */
.lb-open, .lb-trigger {width: 100%; height: 100%; position: absolute; top: 0; bottom: auto; background: rgba(0,0,0,1); display: block;}
.detail .lb-open {background: rgba(0,0,0,0.25);}
.lb-open img, .lb-trigger img {transition: opacity .3s;}
.lb-open:hover img, .lb-trigger:hover img {opacity: .75;}
.detail .lb-open:hover {background: rgba(0,0,0,0);}
.lb-open:after {display: block; width: 3.5rem; height: 3.5rem; content: url(../images/layout/popup.svg); padding: 0.875rem 0.625rem; position: absolute; right: 1rem; bottom: 1rem; border: 0.125rem solid rgba(255,255,255,1); border-radius: 50%; -webkit-border-radius: 50%;}

.lb-open {overflow: hidden;}
.lb-open + figcaption {width: 100%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); -webkit-transform: translateY(-50%); opacity: 0.1; -webkit-transition: all .3s; transition: all .3s; pointer-events: none;}
.lb-open:hover + figcaption {opacity: 1;}

/* application overview */
.overview {padding: 1.5rem 1rem;}
.tile {height: 100%; border: 0.0625rem solid rgba(0,0,0,1); position: relative; overflow: hidden;}
.tile a {display: block; width: 100%; height: 100%; padding: 1rem 1rem 2.5rem 1rem; color: rgba(0,0,0,1);}
.tile a:hover {background: rgba(0,0,0,0.25);}
.tile .pfeil {position: absolute; bottom: 0.75rem; font-weight: 300;}

.overview + .outro .text-block {padding-top: 0;}

/* application details */
.detail {padding: 0 1rem;}
.detail-inner {padding: 0 0 2rem 0; border-bottom: 0.0625rem solid rgba(127,127,127,0.5);}
.detail:last-of-type .detail-inner {border-bottom: none;}

.detail .text {padding: 1rem; background: rgba(0,0,0,0.1);}
.detail .image {height: 12rem; position: relative;}

.detail .image figure {width: 100%; height: 100%; position: relative; background-size: cover; background-position: center center; background-repeat: no-repeat;}

.detail-head h2 {margin-bottom: 0;}
.detail-head {padding: 1.5rem 0;}

.detail .col + .col {margin-top: 0;}

/* product overview */
/*.yellow-bg + section .image-teaser {margin-top: 1.5rem;}*/

/* all products */
.single-page .all-prod {margin-top: 0; border-bottom: 0.0625rem solid rgba(127,127,127,0.5); padding-bottom: 2rem;}
.all-prod-head {padding: 0.5rem; border: 0.0625rem solid rgba(0,0,0,1); position: relative;}
.prod-list {padding: 0.5rem}

/* image tiles */
.img-tiles figure {overflow: hidden;}

.img-high figure {padding-bottom: 125%;}
.img-low figure {padding-bottom: 66.66%;}
.img-square figure {padding-bottom: 80%;}

.lightbox .thumb-caption {display: none;}

/* two columns layout */
/*.side-content*/ * + .side-content {margin-top: 1rem;}

.right-small .twothird {margin-bottom: 1rem;}
.right-small .third {margin-bottom: 0;}

/*.single-page article + article, */
.text-basic + .text-basic, .text-basic + .img-block-small, .img-block-small + .text-basic, .img-block-small + .img-block-small {margin-top: 1.5rem;}

/* references */
.ref-item {width: 100%; padding: 1rem; background: rgba(255,255,255,1);}
.ref-item a {display: block;}
.single-page .ref-item {margin-top: 0;}

.ref-inner {border-top: 0.0625rem solid rgba(127,127,127,0.5); padding-top: 0.5rem;}
.top .ref-inner {border-top: none; padding-top: 0;}
.ref-inner figure, .ref-inner figure + p {padding-top: 0.5rem;}

/* accordion */
.acc-entry {position: relative; overflow: hidden;}
.acc-entry + .acc-entry, .results article + article {padding-top: 2rem; margin-top: 2rem; border-top: 0.0625rem solid rgba(127,127,127,0.5);}

.acc-content {height: 4rem; /*max-height: 4rem;*/ overflow: hidden; position: relative; padding: 0; transition: all 0.3s; -webkit-transition: all 0.3s;}
.acc-content:before {width: 100%; height: 100%; position: absolute; display: block; content: ''; left: 0; bottom: 0; z-index: 1;
background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); transition: all 0.5s; -webkit-transition: all 0.5s;}

.open .acc-content {height: auto; max-height: 400rem;}
.open .acc-content:before {display: none;}

* + .acc-content {margin-top: 1.5rem;}

/* maps */

.map-wrap {width: 100%; height: 0; position: relative; padding-bottom: 90%;}
.map {width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 0; overflow: hidden;}

.popup-cont {display: none;}
.leaflet-popup-content {text-align: center;}

/* SEARCH */
/* search pull */
#search-pull {position: absolute; right: 3.5rem; top: 50%; transform: translateY(-50%);}

#lupe {width: 1.5rem; height: 1.5rem; position: relative;}
#lupe:before, #lupe:after {position: absolute; display: block; content: '';
-moz-transition: color .3s, background .3s, border .3s; -webkit-transition: color .3s, background .3s, border .3s; transition: color .3s, background .3s, border .3s;}
#lupe:before {width: 1.125rem; height: 1.125rem; border: 0.125rem solid rgba(0,0,0,1); top: 0; left: 0; border-radius: 50%; -webkit-border-radius: 50%;}
#lupe:after {width: 0.75rem; height: 0.1875rem; bottom: 0.25rem; right: 0; background: rgba(0,0,0,1); transform: rotate(45deg); -webkit-transform: rotate(45deg); border-radius: 0.0625rem; -webkit-border-radius: 0.0625rem;}

/* search field */
.header-search {width: 100%; padding: 1rem 1rem 0 1rem; margin-top: 1rem; border-top: 0.125rem solid rgba(127,127,127,1); display: none;}
.search-form {width: 100%; margin: 0 auto;}

.search-form input, .searchform input[type="search"] {border: none; height: 2rem; padding: 0 1rem; margin: 0 auto; border-radius: 1rem; -webkit-border-radius: 1rem; -webkit-appearance: none;}
input.search-input:focus {border: none; outline: none;}
input[type="search"] {width: 72%; background: rgba(0,0,0,0.2);}
input.search-button {width: 25%; float: right; background: rgba(0,77,144,1); color: rgba(255,255,255,1); font-weight: normal; -webkit-transition: color .3s, background .3s, border .3s; transition: color .3s, background .3s, border .3s;}
input.search-button:hover {background: rgba(127,127,127,1);cursor: pointer;}

.yellow-bg input[type="search"] {background: rgba(255,255,255,1);}

.single-page .results {padding: 0 1rem;}

/* CONTACT PANEL */
/* contact pull */
#con-pull {width: 3rem; height: 3rem; display: block; position: fixed; top: 6rem; right: 0;  padding: 0.5rem; background: rgba(0,77,144,1);}
#con-pull:hover img {animation: pulse 0.5s 1;}

.close {width: 3.5rem; height: 3.5rem; position: absolute; right: 0;}

.close a {display: block; position: absolute; width: 100%; height: 100%;}
.close a:before, .close a:after {content: ''; display: block; width: 2rem; height: 0.375rem; background: rgba(255,255,255,1); position: absolute; left: 0.75rem; top: 1.5rem; transition: background .3s;}
.close a:before {transform: rotate(45deg); -webkit-transform: rotate(45deg);}
.close a:after {transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}
.close a:hover:before, .close a:hover:after {background: rgba(255,220,0,1);}

/* contact panel */
#con-panel {width: 100%; height: 100%; position: fixed; top: 0; right: 0; z-index: 100; transform: translateX(100%); -webkit-transform: translateX(100%); transition: all .3s; -webkit-transition: all .3s;}
#con-panel.open {transform: translateX(0); -webkit-transform: translateX(0);}

.con-inner {width: 100%; height: 100%; background: rgba(0,77,144,1); padding: 1rem 3.5rem 1rem 1rem; overflow: auto; -webkit-overflow-scrolling: touch;}

/* FOOTER */
footer {padding: 0 0 1rem 0; font-size: 0.875em;}

.footer-top, .footer-bottom {padding: 0.25rem 1rem 0.5rem 1rem;}
.footer-bottom {border-top: 0.0625rem solid rgba(127,127,127,0.5);}

footer.fixed {width: 100%; position: fixed; bottom: 0;}

/* pagination */
.pagination {width: 100%; padding: 3rem 1rem 2rem 1rem;}

.pagination ul, .social, .alert-wrap {width: 100%; height: auto; position: relative; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row nowrap; -ms-flex-wrap: nowrap; justify-content: flex-start;}
.pagination ul li, .social li {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left; padding: 0;}
.pagination ul li + li {margin-left: 0.125rem;}

.pagination ul li a, .pagination ul li span {min-width: 2.125rem; text-align: center; display: block; height: 100%; padding: 0.625rem 0.75rem 0.5rem 0.75rem;}
.pagination ul li a {background: rgba(0,77,144,1);}
.pagination ul li span {background: rgba(0,77,144,0.6);}
.pagination a:hover, .pagination a.active {background: rgba(255,220,0,1); color: rgba(0,77,144,1)}
.pagination .text-large {line-height: 0.5em;}

/* social */
.social {align-items: flex-end;}
.social li {padding: 0 0.25rem;}
.social li:first-of-type {padding: 0 0.25rem 0 0;}
.social li:last-of-type {padding: 0 0 0 0.25rem;}
.social li:only-of-type {padding: 0;}

.social .icon {width: 1.5rem; position: relative;}
.social li a, .social svg {display: block;}
.social li a {width: 100%; padding-bottom: 100%;}
.social svg {width: 100%; height: auto;}

.social path {-webkit-transition: .3s fill; transition: .3s fill; fill: rgba(0,0,0,1);}
.social a:hover path {fill: rgba(0,77,144,1);}
.white .social path {fill: rgba(255,255,255,1);}
.white .social a:hover path {fill: rgba(255,220,0,1);}

* + .social, .social + * {margin-top: 1rem;}

/* ALERT */
.alert-ol {width: 100%; height: 100%; position: fixed; right: 0; top: 0; z-index: 101; -webkit-overflow-scrolling: touch; overflow: auto; background: rgba(0,0,0,0.75); display: none;}
.alert-wrap {width: 100%; min-height: 100%; position: relative; z-index: 2; /*height: 100%;*/ max-width: 44rem; padding: 4.5rem 1rem; margin: 0 auto; justify-content: center; flex-wrap: nowrap; align-items: center;}
.alert-cont {background: rgba(255,255,255,1); padding: 1rem; -webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative;}

.alert-close-wrap {height: 1.5rem; width: 1.5rem; position: fixed; right: 0.5rem; top: 1rem; z-index: 101;}
.alert-close {display: block; width: 100%; height: 100%; opacity: 0.75; transition: opacity .3s;}
.alert-close:hover {opacity: 1;}
.alert-close:before, .alert-close:after {content: ''; display: block; width: 1.5rem; height: 2px; background: rgba(255,255,255,1); position: absolute;}
.alert-close:before {transform: rotate(45deg); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg)}
.alert-close:after {transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg);}


/* responsiveness
--------------------------------------------- */
@media screen and (max-width:48em) and (orientation: landscape) {
#main-nav ul li {width: 50%; float: left; border-bottom: none;}
}

/* medium */
@media screen and (min-width:48em) {
/***************************** FORMAT *****************************/
h1 {font-size: 2.25em;}
h2, h3 {font-size: 1.75em;}
h4, h5 {font-size: 1.5em;}
h6, blockquote p {font-size: 1.25em;}

.big {font-size: 1.5em;}
.headslider .big {font-size: 1.75em;}

footer ul li {float: left; padding: 0 1rem 0 0;}

/***************************** LINKS *****************************/
#back-top.bottom {bottom: 6rem;}

/***************************** LAYOUT *****************************/
main {padding-top: 4.75rem;}
.wrapper {max-width:44rem;}

.no-mob {display: block;}
.mob {display: none;}

.block, .img-block-small, .detail {padding: 0;}
.img-block {padding: 1rem 0 2rem 0;}
.text-block, .single-page {padding: 2rem 0;}

.small img {max-width: 66.66%;}
.centered img {margin: 0 auto;}

/* HEADER */
#main-header {padding: 1rem 0;}

#main-header .logo {height: 2.75rem;}
#main-header.fixed .logo {height: 2rem;/*width: 22rem;*/}

/*
.logo img {height: auto; max-height: 1.625rem;}
#main-header.fixed .logo img {max-height: 1.375rem;}


.main-logo {width: 13.5rem;}
#main-header.fixed .main-logo {width: 11.5rem;}
.partner-logo {width: 7.75rem;}
#main-header.fixed .partner-logo {width: 6.75rem;}

.logo-wrap,*/ .cols {width: 100%; height: auto; position: relative; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row nowrap; -ms-flex-wrap: nowrap; justify-content: flex-start;}
/*
.logo-wrap {align-items: flex-end; width: auto;}
.main-logo, .partner-logo, .col {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left;}
.partner-logo {display: block; margin-left: 1rem;}
*/
/* NAVI */

/* CONTENT */
.cols {flex-flow: row wrap; -ms-flex-wrap: wrap;}
.col-rev {flex-direction: row-reverse; /*justify-content: flex-end;*/}
.col-rev .col {float: right;}
.center-cols {justify-content: center;}

.col + .col {margin-top: 0;}

.col-s {width: 33.33%; margin-bottom: 0;}
.column, .col-m, .col-s-m {width: 50%;}
.col-l {width: 66.66%;}
.col-l-xl, .col-xl {width: 100%;}

.col-s:nth-of-type(3n+1) {padding: 1rem 0.66rem 0 0;}
.col-s:nth-of-type(3n+2) {padding: 1rem 0.33rem 0 0.33rem;}
.col-s:nth-of-type(3n+3) {padding: 1rem 0 0 0.66rem;}

.col-s-m:nth-of-type(2n+1), .col-m:nth-of-type(2n+1) {padding: 1rem 0.5rem 0 0;}
.col-s-m:nth-of-type(2n+2), .col-m:nth-of-type(2n+2) {padding: 1rem 0 0 0.5rem;}

.col-rev .col-m:nth-of-type(2n+1) {padding-left: 0.5rem; padding-right: 0;}
.col-rev .col-m:nth-of-type(2n+2) {padding-right: 0.5rem; padding-left: 0;}

.left-small .col-s, .right-small .col-l {padding: 0 0.75rem 0 0;}
.left-small .col-l, .right-small .col-s {padding: 0 0 0 0.75rem;}

.col-s:nth-of-type(1), .col-s:nth-of-type(2), .col-s:nth-of-type(3),
.col-s-m:nth-of-type(1), .col-s-m:nth-of-type(2),
.col-m:nth-of-type(1), .col-m:nth-of-type(2)
{padding-top: 0 !important;}

/* teaser */

/* slider */
.headslider .slide img {width: 110%;}

@supports (object-fit: cover){
.headslider .stretch-w img, .headslider .stretch-h img {width: 110%; height: 110%;}
}

.headslider .cap-inner {width: 75%;}

.extra-logo {display: block; width: 6rem; position: absolute; right: 6rem; top: 2rem;}

/* lightbox */

/* application overview */
.overview {padding: 1.5rem 0;}
.tile a {padding-right: 2.75rem;}

/* application details */
.detail .image {height: 20rem;}

/* product overview */
/*.yellow-bg + section .image-teaser {margin-top: 2.5rem;}*/

/* image tiles */
.small-gap .col-s:nth-of-type(3n+1) {padding: 0.75rem 0.5rem 0 0;}
.small-gap .col-s:nth-of-type(3n+2) {padding: 0.75rem 0.25rem 0 0.25rem;}
.small-gap .col-s:nth-of-type(3n+3) {padding: 0.75rem 0 0 0.5rem;}


.small-gap .col-m:nth-of-type(2n+1) {padding: 0.75rem 0.375rem 0 0;}
.small-gap .col-m:nth-of-type(2n+2) {padding: 0.75rem 0 0 0.375rem;}

.img-tiles .thumb {overflow: hidden; display: block;}

/* two columns layout */
.right-small .twothird, .right-small .third, .left-small .twothird, .left-small .third {margin: 0;}

/* references */
.ref-item {width: 50%; float: left; padding: 0 1rem 1rem 1rem;}
.high {height: 20rem; background: rgba(0,0,255,0.5);}
.low {height: 12rem; background: rgba(0,255,0,0.5);}

/* maps */
.map-wrap {padding-bottom: 70%;}

/* SEARCH */
/* search field */
.header-search .search-form {padding: 0 15%;}

/* CONTACT PANEL */
/* contact pull */
#con-pull {width: 4rem; height: 4rem; top: 7.5rem}

/* FOOTER */
/* pagination */
.pagination {padding: 3rem 0 2rem 0;}

/* social */
footer .cols {align-items: flex-end;}
footer .social {justify-content: flex-end;}

/* ALERT */
.alert-cont {padding: 1.5rem;}
}

/* large */
@media screen and (min-width:64em) {
/***************************** FORMAT *****************************/
/*h6 {font-size: 1.375em;}*/
blockquote p {font-size: 1.375em;}
.big {font-size: 1.875em;}
.headslider .big {font-size: 2.25em;}
.image-teaser ul {display: block;}

/***************************** LINKS *****************************/
/* scroll down / back top */
.arrow {width: 3.625rem; height: 3.625rem;}
.arrow:before, .arrow:after {width: 0.25rem; height: 1.5rem; top: 0.5625rem;}
.arrow:before {left: 0.625rem;}
.arrow:after {right: 0.625rem;}

#scroll-down {width: 3.625rem;}

/***************************** LAYOUT *****************************/
main {padding-top: 5rem;}
.wrapper {max-width:60rem;}

/* HEADER */
.mh-inner, #main-nav ul {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row nowrap; -ms-flex-wrap: nowrap; align-items: center;}

#main-header .logo {height: 3rem;}
#main-header.fixed .logo {height: 2.25rem;}
/*#main-header.fixed .logo img {max-height: 1.5rem;}

#main-header.fixed .main-logo {width: 10rem;}
#main-header.fixed .partner-logo {width: 7.25rem;}*/

/* NAVI */
#main-nav {/*position: absolute; right: 3rem; bottom: 0;*/ margin-left: auto; padding-right: 1.5rem;}
#main-nav ul {padding: 0; white-space: nowrap;}
#main-nav ul, #main-nav ul li {border-bottom: none;}
#main-nav ul li {/*display: inline;*/ padding: 0 0 0 0.75rem;}
#main-nav ul li:first-of-type {padding: 0;}
#main-nav a {display: block;}

/* nav pull */
a#pull {display: none;}

/* CONTENT */
.column {width: 25%;}
.col-l-xl {width: 66.66%;}

.text-block {padding: 2rem 6rem;}
.single-col .col {margin: 0 auto; float: none;}

/* teaser */
.text-teaser {padding: 2rem 0;}

/*
.image-teaser .half figure {height: 20rem;}
*/

/* slider */
.headslider .slide img {width: 100%;}
.headslider figcaption {padding: 2rem 0;}

@supports (object-fit: cover){
.headslider .stretch-w img, .headslider .stretch-h img {width: 100%; height: 100%;}
}

.headslider .cap-inner {width: 66.66%;}

.extra-logo {width: 8rem; right: 8rem; top: 3rem;}

/* lightbox */

/* application overview */
.overview {padding: 3rem 0;}
.col-s-m {width: 33.33%;}
.col-s-m:nth-of-type(3n+1) {padding: 1rem 0.66rem 0 0;}
.col-s-m:nth-of-type(3n+2) {padding: 1rem 0.33rem 0 0.33rem;}
.col-s-m:nth-of-type(3n+3) {padding: 1rem 0 0 0.66rem;}

.col-s-m:nth-of-type(1), .col-s-m:nth-of-type(2), .col-s-m:nth-of-type(3) {padding-top: 0 !important;}

/* application details */
.detail .col {width: 50%;}
/*.detail:nth-of-type(2n+1) article {float: left;}*/
.detail:nth-of-type(2n+1) .cols {flex-direction: row-reverse;}
.detail:nth-of-type(2n+1) .col {float: right;}

.detail .image {height: auto; min-height: 20rem;}

/* image tiles */
/* two columns layout */

/* references */
.ref-item {width: 33%;}

/* maps */
.map-wrap {padding-bottom: 60%;}

/* SEARCH */
/* search pull */
#search-pull {right: auto; top: auto; position: relative; transform: none;}
/*header.fixed #search-pull {top: 0.25rem;}

/* search field */
.search-form {width: 66.66%;}

.single-page .results {padding: 0;}

/* CONTACT PANEL */
/* contact panel */
#con-panel, .con-inner {width: auto; height: auto;}
#con-panel {top: 7.5rem;}

/* FOOTER */
footer {padding: 1rem 0;}

/* social */
.social .icon {width: 1.75rem;}

/* ALERT */
.alert-wrap {max-width: 54rem;}
.alert-cont {padding: 2rem;}

.alert-close-wrap {height: 2.75rem; width: 2.75rem; right: 1rem; top: 2.25rem;}
.alert-close:before, .alert-close:after {width: 2.75rem; height: 3px;}
}

/* x-large */
@media screen and (min-width:74em) {
/***************************** FORMAT *****************************/
.big {font-size: 2.25em;}
.headslider .big {font-size: 3em;}

/***************************** LAYOUT *****************************/
main {padding-top: 5.25rem;}
.wrapper {max-width:70rem;}

/* HEADER */
#main-header .logo {height: 3.25rem;}

/*.logo img {max-height: 2rem;}
#main-header.fixed .logo img {height: 1.375rem;}

.main-logo {width: 16.25rem;}
.partner-logo {width: 9.25rem;}*/

/* NAVI */
#main-nav {padding-right: 2.5rem;}
#main-nav ul li {padding: 0 0 0 1.25rem;}

/* CONTENT */
.text-block {padding: 2rem 15%;}
.single-block {padding: 0 15% 2rem 15%;}

.col-s:nth-of-type(3n+1), .col-s-m:nth-of-type(3n+1) {padding: 1.5rem 1rem 0 0;}
.col-s:nth-of-type(3n+2), .col-s-m:nth-of-type(3n+2) {padding: 1.5rem 0.5rem 0 0.5rem;}
.col-s:nth-of-type(3n+3), .col-s-m:nth-of-type(3n+3) {padding: 1.5rem 0 0 1rem;}

.col-m:nth-of-type(2n+1) {padding: 1.5rem 0.75rem 0 0;}
.col-m:nth-of-type(2n+2) {padding: 1.5rem 0 0 0.75rem;}

.left-small .col-s, .right-small .col-l {padding: 0 1rem 0 0;}
.left-small .col-l, .right-small .col-s {padding: 0 0 0 1rem;}

/* teaser */
.image-teaser .half figure {height: 22.5rem;}

/* slider */
.extra-logo {width: 9rem; right: 9rem;}

/* application overview */
.tile a {padding-right: 3.625rem;}

/* image tiles */

/* two columns layout */
/*
.side-content .lb-vert {height: 22rem;}
.side-content .lb-horiz {height: 18rem;}
*/

/* SEARCH */
/* search pull */
/*#search-pull {top: 0.75rem;}*/

}

/* xx-large */
@media screen and (min-width:100em) {
body {font-size: 1.125em;}

/***************************** FORMAT *****************************/
.pfeil, .back {padding-left: 1rem;}

/* button / pull */
.btn {padding-right:1.75rem;}
.btn:before, .btn:after {width: 0.9375rem; height: 0.3125rem;}

.acc-pull:before, .acc-pull:after {top: 45%; right: 0.5rem;}

/***************************** LAYOUT *****************************/
main {padding-top: 5.5rem;}
.wrapper {max-width:94rem;}

/* HEADER */
#main-header .logo {height: 3.5rem;}

/* NAVI */
#main-nav {font-size: 1.25em; padding-right: 3rem;}

/* CONTENT */
.text-block {padding: 2rem 20%;}

.col-s:nth-of-type(3n+1), .col-s-m:nth-of-type(3n+1) {padding: 2rem 1.33rem 0 0;}
.col-s:nth-of-type(3n+2), .col-s-m:nth-of-type(3n+2) {padding: 2rem 0.66rem 0 0.66rem;}
.col-s:nth-of-type(3n+3), .col-s-m:nth-of-type(3n+3) {padding: 2rem 0 0 1.33rem;}

.col-m:nth-of-type(2n+1) {padding: 2rem 1rem 0 0;}
.col-m:nth-of-type(2n+2) {padding: 2rem 0 0 1rem;}

.overview {padding: 4rem 0;}

.left-small .col-s, .right-small .col-l {padding: 0 1.5rem 0 0;}
.left-small .col-l, .right-small .col-s {padding: 0 0 0 1.5rem;}

.img-block-small, .img-block-small + * {margin-top: 1.5rem;}

/* teaser */
/* löschen .image-teaser .half figure {height: 28rem;}*/

/* slider */
.headslider {/*height: 41.5rem;*/ height: 75vh;}

.extra-logo {width: 10rem; right: 10rem;}

/* application overview */
.tile a {padding-right: 10rem;}

/* application details */
.detail .text {padding: 1.5rem;}

/* image tiles */
/* löschen
.img-tiles .thumb-small .thumb {height: 14rem;}
.img-tiles .thumb-big .thumb {height: 20rem;}
*/

/* two columns layout */
.side-content .lb-vert {height: 24rem;}
.side-content .lb-horiz a img {width: 100%; height: auto;}

/* maps */

/* SEARCH */
/* search pull */
/*#search-pull {top: 0.875rem;}
header.fixed #search-pull {top: 0.25rem;}*/

/* CONTACT PANEL */
/* contact pull */
#con-pull {width: 5rem; height: 5rem; top: 9rem;}
#con-panel {top: 9rem;}
}

/* responsiveness
--------------------------------------------- */
