@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;}

*, *: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:'Posterama Text', Tohoma, Geneva, sans-serif; color: rgba(74,74,74,1); overflow-x: hidden; line-height: 1.5; font-weight: 300;}
body.fixed, .has-lightbox body {height: 100%; overflow: hidden;}

/***************************** FORMAT *****************************/
h1, h2, .info h4 {font-size: 1.75em;}
h3, h4 {font-size: 1.375em;}
h5, h6, .extra {font-size: 1.25em;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {color: inherit; border: 0 !important; text-decoration: none;}
h1, h2, h3, h4, h5, h6, .teaser-head {line-height: 1.25; text-wrap: balance;}
h4, h6 {font-weight: 300;}

p + h1, p + h2,
ul + h1, ul + h2,
ol + h1, ol + h2, .text-extra + h1, .text-extra + h2 {margin-top: 1.5em;}

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

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

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

p {}
p + p, ul + p, ol + p {margin-top: 0.75em;}
p + ul, p + ol, .text-cell p + p, .short-desc p + p, p + .small-marg {margin-top: 0.25em;}
.big {font-size: 1.125em;}
.small {font-size: 0.875em;}

h1, h2, h3, h5, b, strong, blockquote, .bold, .btn, .btn-dark {font-weight: 500;}

blockquote {margin: 0;}
p + blockquote, ul + blockquote, ol + blockquote,
blockquote + p, blockquote + ul, blockquote + ol {margin-top: 1.5em;}

ul {list-style-type: none;}
ul li {padding: 0 0 0.25rem 0.5rem; position: relative;}
ul li:before {content: '\00b7'; position: absolute; left: 0;}
ul li:last-of-type, ol li:last-of-type {padding-bottom: 0;}

ol {list-style: none; counter-reset: list-count;}
ol li {padding: 0 0 0.25rem 1.75rem; line-height: 1.5em; position: relative; counter-increment: list-count;} /* Padding: 0 0 0.75rem 1.375rem*/
ol li:before {content: '(' counter(list-count) ')'; position: absolute; left: 0; vertical-align: bottom;} /* content: counter(list-count) '.';  */

address {font-style: inherit;}
address li, .leaflet-popup li, .no-bull li {padding: 0;}
address li:before, .leaflet-popup li:before, .no-bull li:before {content: '';}


.orange, a.phone.orange, a.phone.orange:hover {color: rgba(220,70,40,1);}
.white, .white *, *.white, .btn, .btn-dark, .white a.phone, .white a.phone:hover, .white .cookie {color: rgba(255,255,255,1);}
.orange-l, .teaser-link:hover span, .art-nav a:hover span, a.orange-d:hover, a:hover .orange-d, button.orange-d:hover, a.white:hover, a:hover .white, .white a:hover {color: rgba(255,137,39,1);}
.orange-d, a.orange-l:hover, a:hover .orange-l, blockquote, .btn:hover {color: rgba(203,58,9,1);}
.slogan .orange-d {opacity: 0.8;}

.uppercase, .uc {text-transform: uppercase;}

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

.headimg figcaption, .headimg figcaption p, .slogan-wrap, .slogan-wrap * {line-height: 1.125em;}
.headimg blockquote p, .headimg .big, .slogan-wrap .big {font-size: 1.5em;}

.checklist {text-align: left;}
.checklist li {padding-left: 1.375em;}
/*.checklist li:before {width: 1em; height: 100%; top: 0.25em;}*/
.positive li:before {content:''; width: 1em; height: 0.625em; position: absolute; left: 0; top: 0.375em; border-left: 0.25em solid rgba(97,183,50,1); border-bottom: 0.25em solid rgba(97,183,50,1); transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}
.negative li:before, .negative li:after {width: 1.125em; height: 0.25em; content: ''; display: block; position: absolute; left: 0; top: 0.625em; background: rgba(194,25,36,1);}
.negative li:before {-ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.negative li:after {-ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg);}

.white .positive li:before {border-left-color: rgba(255,255,255,1); border-bottom-color: rgba(255,255,255,1);}
.white .negative li:before, .white .negative li:after {background: rgba(255,255,255,1);}

/***************************** LINKS/SPANS *****************************/
a {color: inherit;}
a, input[type='submit'], button, a p, .file-label * {text-decoration: none; -webkit-transition: color .3s, background .3s, border .3s; transition: color .3s, background .3s, border .3s;}
a:hover, .footer nav a.active, .cookie:hover {color: rgba(203,58,9,1);}
a.orange:hover {color: rgba(255,137,39,1);}

a.phone, a.phone:hover {color: rgba(74,74,74,1); cursor: text;}

a span {transition: color .3s, background .3s, border .3s;}
:before, :after {transition: all .3s;}
.pfeil:after {content: '\203A'; margin-left: 0.25em;}
.arr-before:before {content: '\203A'; margin-right: 0.25em;}

.btn, .btn-dark, input[type='submit'].btn {padding: 0.75rem; display: inline-block;}
.btn-block, input[type='submit'].btn-block {display: block; width: 100%; text-align: center;}

button, input, select {-webkit-appearance: none; -moz-appearance: none; appearance: none; background: none; border: none; border-radius: none;}
button:hover, input[type='submit']:hover, select:hover, input[type='checkbox']:hover, input[type='radio']:hover, input[type='checkbox'] + label:hover, input[type='radio'] + label:hover {cursor: pointer;}

.cookie, a.hov-dark:hover, .hov-dark a:hover, a:hover .hov-dark, .text-dark, .text-dark * {color: rgba(74,74,74,1);}

.hidden-pull {position: relative; padding-right: 1rem;}
.hidden-pull:before, .hidden-pull:after {display: block; width: 0.625rem; height: 0.125rem; content: ''; position: absolute; top: 50%; right: 0; background: rgba(203,58,9,1);}
/*.hidden-pull:before {-webkit-transform: translate(0,-50%); transform: translate(0,-50%);}*/
.hidden-pull:after {-ms-transform: rotate(90deg); -webkit-transform: rotate(90deg); transform: rotate(90deg);}
.open .hidden-pull:after {-ms-transform: rotate(0); -webkit-transform: rotate(0); transform: rotate(0);}
.hidden-pull:hover:before, .hidden-pull:hover:after {background: rgba(255,137,39,1);}

.close-text {display: none;}
.open .close-text {display: inline;}
.open .open-text {display: none;}

.info {display: block; max-width: 40%; position: absolute; padding-right: 0.875rem; right: 0; bottom: 0; text-align: right;}
.info:before, .info:after {display: block; width: 0.625rem; height: 0.0625rem; content: ''; position: absolute; top: 50%; right: 0; background: rgba(74,74,74,1);}
.info:after {-ms-transform: rotate(90deg); -webkit-transform: rotate(90deg); transform: rotate(90deg);}
a:hover .info:before, a:hover .info:after {background: rgba(203,58,9,1);}

.products .title {display: block; max-width: 60%;}

a svg, button svg {-webkit-transition: .3s fill; transition: .3s fill;}
.fill-grey, .fill-white {-webkit-transition: .3s fill; transition: .3s fill;}
.fill-grey {fill: rgba(74,74,74,1);}
.fill-white, .white .fill-grey {fill: rgba(255,255,255,1);}
a:hover .fill-grey, button:hover .fill-grey {fill: rgba(203,58,9,1);}
a:hover .fill-white, button:hover .fill-white, .white a:hover .fill-grey {fill: rgba(255,137,39,1);}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {width: 100%; height: auto; margin: 0 auto; max-width: 32rem; position: relative;}
main, .content {width: 100%; display: block; position: relative; overflow-x: clip /*hidden*/;}

figure img, svg, header {width: 100%; display: block;}
.stretch-w img {width: 100%; height: auto; object-fit: cover;}
.stretch-h img {width: auto; height: 100%; object-fit: cover;}

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

.light-bg, .btn:hover, a:hover .btn, .btn-dark:hover, a:hover .btn-dark {background: rgba(255,137,39,1);}
.medium-bg, .btn {background: rgba(220,70,40,1);}
.dark-bg {background: rgba(203,58,9,1);}
.gradient {background: rgba(255,137,39,1); background: linear-gradient(to bottom, rgba(255,137,39,1) 0%, rgba(220,70,40,1) 100%);}
.l-grey-bg {background: rgba(218,218,218,1);}
.d-grey-bg, .btn-dark {background: rgba(74,74,74,1);}
.white-bg {background: rgba(255,255,255,1);}

.video, .image-cols .img-wrap {width: 100%; height: 0; position: relative; padding-bottom: 56.25%; background: rgba(87,87,87,1); overflow: hidden;}
.video iframe, .video video, .external-overlay {width: 100%; height: 100%; position: absolute; left: 0; top: 0;}
* + .video, .video + *, * + .text-img, .text-img + *, * + .map-wrap, .text-extra + *, * + .text-extra  {margin-top: 1em;}

/* externer content */
.disabled-external iframe {display: none;}
.external-overlay {padding: 0.5rem; background: rgba(214,214,214,1);}
.external-overlay .icon {width: 1.5rem; position: absolute; right: 0.5rem; top: 0.5rem;}

/* HEADER */
#main-header {position: relative; z-index: 2; padding-top: 4rem;}
.top {padding: 0 1rem; width: 100%; position: absolute; top: 0;}
#main-header.fixed .top {position: fixed; z-index: 1; background: rgba(220,70,40,1);}

.logo {width: 9rem; padding: 1rem 0;}
.logo a {display: block;}
#main-header.fixed .logo {padding: 0.5rem 0;}

/* NAVI */
nav ul {list-style-type: none;}
nav ul li:before {content: '';}
nav a {display: block;}

.nav-wrap {font-size: 1.125em;}
.nav-wrap ul li, .nav-wrap span {line-height: 1em; padding: 0;}

#main-nav {width: 100%; height: 100%; z-index: 2; position: fixed; top: 0; right: 0; padding: 0 1rem; background: rgba(255,255,255,1); overflow: auto;
-webkit-transition: all .3s; transition: transform .3s; -ms-transform: translateX(100%); -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-overflow-scrolling: touch;}
#main-nav.open,
.no-js .pull:hover ~ .nav-wrap #main-nav, .no-js .nav-wrap:hover #main-nav {-ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0);}
#main-nav ul {width: 100%; height: auto;}
#main-nav ul li {padding: 0;}
.sub {padding-right: 2rem;}

#main-nav .menu {padding: 2.5rem 0 0 0;}
#main-nav .menu-item, .sub-col {border-top: 0.125rem solid rgba(255,137,39,1);}
#main-nav .menu-item:first-of-type {border-top: none;}
.nav-wrap a:hover {color: rgba(203,58,9,1);}
#main-nav ul li.active a.top-level {font-weight: 500;}

.menu a {padding: 1rem 0;}

/* nav pull */
.pull {display: block; width: 2.5rem; height: 2.5rem; padding: 0.625rem 0 0.625rem 0.75rem; position: absolute; top: 0.875rem; right: 0;}
#main-header.fixed .pull {top: 0.375rem;}
#main-nav .pull {right: 0.875rem;}

.burger-wrap {width: 100%; height: 100%; position: relative;}

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

.open .burger {background: none;}
.open .burger:before {top: 0.5rem; width: 1.75rem;
-ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg);}
.open .burger:after {top: 0.5rem; width: 1.75rem;
-ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg);}
.open .burger:before, .open .burger:after {background: rgba(203,58,9,1);}

/* sub nav */
.sub-menu {display: none;}
.single-sub .sub-menu {padding-bottom: 1rem;}
.multi-sub .sub-menu {display: block;}
.sub-item a {padding: 0.5rem 2.5rem 0.5rem 0.5rem; line-height: 1.25;}

.no-js .menu-item:hover > .sub-menu {display: block;}

.sub-pull {position: absolute; width: 2rem; height: 100%; right: 0; top: 0; z-index: 1; background: rgba(255,137,39,1); border-top: 0.125rem solid rgba(255,255,255,1); border-bottom: 0.125rem solid rgba(255,255,255,1);}
.sub-pull:hover {background: rgba(203,58,9,1);}

.sub-pull:after, .l-pull a:after {display: block; content: ''; width: 0; height: 0; position: absolute; border-style: solid; border-width: 0.75rem 0.375rem 0 0.375rem; border-color: rgba(255,255,255,1) transparent transparent transparent; transition: all .3s;}
.sub-pull:after {left: 50%; top: 1.25rem; -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%);}
.open > .sub-pull:after {-ms-transform: translateX(-50%) rotate(180deg); -webkit-transform: translateX(-50%) rotate(180deg); transform: translateX(-50%) rotate(180deg);}

/* multi sub */
.sub-cols {padding-left: 1rem;}
.sub-col {position: relative;}
.sub-col ul {display: none;}


/* lang nav */
#lang-nav {position: absolute; top: 0.625rem; right: 3rem; z-index: 1;}
#lang-nav ul {display: none; position: absolute; background: rgba(255,255,255,1); box-shadow: -0.25rem 0.25rem 0.75rem rgba(0,0,0,0.25);}
#lang-nav ul:before {display: block; content: ''; width: 0; height: 0; position: absolute; left: 0.5rem; top: -0.75rem; border-style: solid; border-width: 0 0.375rem 0.75rem 0.375rem; border-color: transparent transparent rgba(255,255,255,1) transparent;}
#lang-nav li a {padding: 0.5rem;}

.l-pull a {padding: 1rem 1.5rem 1rem 0.5rem; display: block; position: relative; color: rgba(255,255,255,1);}
.l-pull a:after {top: 50%; right: 0.25rem; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);}
.l-pull a:hover:after {border-top-color: rgba(203,58,9,1);}
.open .l-pull a:after {-ms-transform: translateY(-50%) rotate(180deg); -webkit-transform: translateY(-50%) rotate(180deg); transform: translateY(-50%) rotate(180deg);}

#main-header.fixed .l-pull a {padding: 0.5rem 1.5rem 0.5rem 0.5rem;}
#main-header.fixed .l-pull a:hover {color: rgba(255,137,39,1);}
#main-header.fixed .l-pull a:hover:after {border-top-color: rgba(255,137,39,1);}

.no-js #lang-nav:hover > ul {display: block;}

/* SLIDER/IMAGES */
.headimg {max-height: 75vh; overflow: hidden; position: relative;}
.headimg figure {padding-bottom: 37.5%; overflow: hidden;}
.cont-slider figure {padding-bottom: 75%; overflow: hidden;}
.headimg img, /*.image-cols img,*/ .teaser-img img, .cont-slider img, .lightbox img, .img-wrap img {position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}

.headimg figcaption {width: 100%; height: auto; max-height: 50%; position: absolute; top: 20%; left: 0; padding: 0 1rem; /*transform: translateY(-50%); -webkit-transform: translateY(-50%);*/}

.slogan-wrap {padding: 1rem 1rem 2rem 1rem;}

.slider-wrap {position: relative;}
.counter {position: absolute; left: 1rem; top: 1rem;}
.cont-slider figcaption {width: 100%; height: auto; max-height: 4rem; position: absolute; bottom: 0; left: 0; padding: 0.5rem;}

.img-wrap {overflow: hidden; position: relative;}
.img-mid {padding-bottom: 56.25%;}
.img-wrap a {position: absolute; width: 100%; height: 100%;}

.icon-wrap {padding: 1rem 1rem 0 1rem;}
.icon-wrap img {height: 2.5rem; width: auto; max-width: 100%;}

/* CONTENT */
.single-page, .block, .color-pad {padding: 1rem;}
.intro + .block {padding-top: 0;}

.block-head, .side-head {padding-bottom: 0.375rem;}

.text, .teaser-img {position: relative; width: 100%;}
.text + .image-cols, .slider-wrap + .text, .text + .jobs, .privacy-hint {padding-top: 1rem;}
.image-cols .text, .jobs .text, .hidden .image-cols, .block-foot {padding-top: 0.5rem;}

.mob-cols, .table-icon {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row wrap; -ms-flex-wrap: wrap; justify-content: flex-start;}
.bc-item, .cell, .meta span {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative;}
.bc-wrap .mob-cols, .meta {flex-wrap: nowrap; -ms-flex-wrap: nowrap;}

.bc-wrap {padding: 0.25rem 1rem;}
.bc-item, .meta span {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.bc-item:after {content: '\002f'; margin: 0 0.25em;}
.bc-item:last-of-type:after {content: '';}

/* single page */
.single-head {width: 100%; padding-bottom: 0.75rem;}
.sidecol .text-s + .text-m, .sidecol .text-m + .text-s {margin-top: 1.25rem;}

/* teaser */
.teaser-img {display: block; padding-bottom: 50%; overflow: hidden;}
.teaser-link, .news-link {display: block; width: 100%; height: 100%;}
.teaser-head {width: 100%; padding: 0.5rem;}
.teaser-text {padding: 0.25rem 0.5rem 0 0.5rem; background: rgba(255,255,255,1);}

.col + .col, .text + .text, .side-item + .side-item {margin-top: 1rem;}
.col-s, .col-m, .col-l {width: 100%;}
.mob-cols .col + .col {margin-top: 0;}

/* news */
.col .meta {padding: 0.375rem 1rem 0.25rem 1rem;}
.block-head .meta {padding: 0.25rem 0;}
.meta span + span:before {content: '\007c'; margin: 0 0.375em;}

.news + .news {padding-top: 1rem;}

.lined-row + .lined-row {border-top: 0.125rem solid rgba(74,74,74,1); padding-top: 0.75rem; margin-top: 0.75rem;}
.lined-row .col + .col {margin-top: 0;}

.exi-dates .col:after {content: '\002c'; margin-right: 0.375em;}
.exi-dates .col:last-of-type:after {content: '';}

.exi-links .col + .col:before {content: '\007c'; margin: 0 0.375em;}

/* lightbox */
.lightbox {padding-top: 1rem;}

.lightbox .col + .col {margin-top: 0;}
.lightbox .lb-prev, .lb-open {position: relative; overflow: hidden;}

.lightbox a, .lightbox a:hover, .headimg a {display: block;}
.lightbox .thumb, .zoom {background: rgba(0,0,0,1); display: block; width: 100%; height: 100%;}

.lightbox .col-l .lb-prev {padding-bottom: 56.25%;}

.lightbox .col-s .lb-prev {width: 50%; float: left;}
.lightbox .col-s .lb-prev figure {padding-bottom: 56.25%; position: relative;}

.lightbox .col-s .lb-prev:nth-of-type(2n+1) {padding: 0.5rem 0.25rem 0 0;}
.lightbox .col-s .lb-prev:nth-of-type(2n+2) {padding: 0.5rem 0 0 0.25rem;}

.lightbox .lb-prev figure {width: 100%; height: 100%; overflow: hidden;}
.lightbox .col-l .lb-prev figure, .lightbox .col-s .thumb {position: absolute; top: 0; left: 0;}

.lightbox img, .zoom img {transform-origin: center center; transition: all .5s; will-change: opacity;}
.lightbox a:hover img, .zoom:hover img {opacity: 0.6; -ms-transform: scale(1.05) translate(-47.5%,-47.5%); -webkit-transform: scale(1.05) translate(-47.5%,-47.5%); transform: scale(1.05) translate(-47.5%,-47.5%);}

.lightbox .stretch-h img {width: auto; height: 105%;}
.lightbox .stretch-w img {width: 105%; height: auto;}

.image-cols .thumb {position: absolute;}

.plus {width: 1.75rem; height: 1.75rem; display: block; position: absolute; bottom: 0; right: 0; pointer-events: none;}
.plus:before, .plus:after {display: block; content: ''; position: absolute; top: 50%; left: 50%; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); background: rgba(255,255,255,1);}
.plus:before {width: 1rem; height: 0.25rem;}
.plus:after {width: 0.25rem; height: 1rem;}

/* hidden content */
.hidden, .pullwrap {padding-top: 1rem;}

/* accordion */
.accordion {-webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; overflow: hidden; position: relative;}
.preview:after {content: ''; display: block; position: absolute; bottom: 0; width: 100%; height: 40%;}
.preview.open:after {background: transparent;}
.preview:after {background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 90%);}

/* extra table */
.cell {padding: 0.5rem; width: 100%;}
.table-icon img, .table-icon svg {width: 2.5rem;}
.rows .mob-cols + .mob-cols {margin-top: 0.25rem;}

/* map */
.map-wrap {width: 100%; height: 0; padding-bottom: 110%; position: relative; overflow: hidden;}
.text + .map-large {margin-top: 1.25rem;}

#map {width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 0;}
#popup-cont {display: none;}

.location + .location {margin-top: 1rem;}
.block-head + .location {margin-top: 0.5rem;}

.leaflet-popup img, .maplibregl-popup-content img {display: block; max-width: 8rem; margin-bottom: 0.5rem;}

/* popup content */
#ajax {display: none; width: 100%; height: 100%; position: fixed; top: 0; left: 0; overflow-y: auto; overflow-x: hidden; z-index: 100; -webkit-overflow-scrolling: touch; background: rgba(0,0,0,0.8);}
.ajax-cont {width: 100%; height: 100%;}

#close-modal {width: 2rem; height: 2rem; position: absolute; top: 1rem; right: 0.5rem;}
.close {width: 2rem; height: 2rem; position: relative; cursor: pointer; z-index: 101; opacity: 0.5; transition: opacity .3s;}
.close:hover {opacity: 1;}
.close:before, .close:after {width: 1.5rem; height: 0.25rem; content: ''; display: block; position: absolute; top: 1.25rem; background: rgba(255,255,255,1);}
.close:before {-ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.close:after {-ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg);}

.ajax-cont {padding: 3.5rem 1rem;}
.ajax-cont .single-page {padding: 0;}

.ajax-cont .content {display: none;}

.images, .inner-content {position: relative;}
.pop-gal {margin-top: 1rem;}

.ajax-cont .product-text {padding: 1rem; background: rgba(203,58,9,1);}

/* footer nav poup */
.footer-nav {padding-top: 2rem;}
.ajax-cont .footer-nav {padding-top: 0.5rem;}
.footer-nav a {display: block; padding: 0.25rem 0;}
.footer-nav span {display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: relative; max-width: 100%;}

.prev-art, .next-art {position: relative;}
.footer-nav .prev-art + .next-art {margin-top: 0.5rem;}
.next-art {display: inline-block;}
.footer-nav .prev-art a {padding-left: 0.875rem;}
.footer-nav .next-art a {padding-right: 0.875rem;}

.footer-nav .back {padding-bottom: 0.5rem; width: 100%;}
.footer-nav .prev {left: 0;}
.footer-nav .next {right: 0;}

.footer-nav .prev-art a:after, .footer-nav .next-art a:after {position: absolute; top: 50%; transform: translateY(-50%); transition: all .3s; -webkit-transition: all .3s;}

.footer-nav .prev-art a:after {content: '\003c'; left: 0;}
.footer-nav .next-art a:after {content: '\003e'; right: 0;}

/* footer nav news */
.entry-nav {padding: 2.5rem 1rem 1rem 1rem;}
.entry-nav-bottom {padding-top: 0.75rem;}
.entry-nav span {line-height: 1.25em;}
.entry-nav .back {margin-top: 0.25rem;}
.entry-nav .meta {padding: 0.375rem 0 0 0;}

.art-nav {margin-bottom: 1rem; overflow: hidden;}

.art-nav a {display: block; position: relative;}
.art-nav .btn {display: none; margin-top: 0;}

/* pagination */
.pagination {width: 100%; padding-top: 1rem;}
.load-more {width: 100%; padding-bottom: 1rem;}
.pagination, .no-js .load-more {display: none;}
.no-js .pagination {display: block;}

.pagination ul {width: 100%; white-space: nowrap;}
.pagination ul li {padding: 0; display: inline-block; min-width: 1.5rem; line-height: 1.25em; text-align: center;}
.pagination ul li a, .pagination ul li span {display: block; width: 100%; padding: 0.25rem;}
.pagination ul li.disabled, a.disabled {opacity: 0.5; pointer-events: none;}

/* contactform */
.form-wrap, .form__contact, .fieldset {position: relative;}
.grecaptcha-badge, .hidden-form {display: none;}

.form__contact {padding: 0.5rem 0 0 0;}
.fieldset + .fieldset, .form-wrap {padding-top: 1rem;}
.field {position: relative;}
.uniform__potty {position: absolute; left: -9999px;}

input, textarea, select {width: 100%; display: block; text-align: left; padding: 0.5rem;}
input, textarea, .select-wrap {border: 1px solid rgba(200,200,200,1);}
.error input {border-color: rgba(220,70,40,1);}
input[type='submit'], input[type='checkbox'] {width: auto;}
input[type='submit'] {border: none;}
textarea {min-height: 10rem;}


.field select, .field .select-wrap {height: 100%;}
label.field {align-self: center;}
.required:after {content: '\002a';}

/*.fieldset--gap label, .field__message label {display: none;}*/


.field__message {margin-bottom: 1rem;}
.form__nav {margin-top: 1rem;}

.cb, .radio {width: 1px; height: 1px; position: absolute; background: transparent; border: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; /*visibility: hidden;*/}

/*.cb:checked + label:before,
.cb:not(:checked) + label:before,
.radio:checked + label:before,
.radio:not(:checked) + label:before*/
.cb + label:before, .radio + label:before
{content:''; display: inline-block; width: 1.25rem; height:1.25rem; position: absolute; vertical-align: middle; bottom: 0.125rem; border: 1px solid rgba(110,110,110,1); background: rgba(255,255,255,1);}
.white .cb + label:before, .white .radio + label:before {background: transparent;}

.cb:not(:checked):hover + label:before,
.radio:not(:checked):hover + label:before
{background: rgba(220,70,40,1); box-shadow: inset 0 0 0 0.25rem rgba(255,255,255,1);}

.cb:focus + label:before,
.radio:focus + label:before {border-color: rgba(220,70,40,1);}

.cb:checked + label:after, .check:after {content:''; width: 1rem; height:0.5rem; position: absolute; vertical-align: middle; top:0.375rem; border-left: 0.25rem solid rgba(220,70,40,1); border-bottom: 0.25rem solid rgba(220,70,40,1); -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

.radio:checked + label:before
{background: rgba(220,70,40,1); box-shadow: inset 0 0 0 0.125rem rgba(255,255,255,1);}

.cb, .cb:checked + label:before, .cb:not(:checked) + label:before,
.radio, .radio:checked + label:before, .radio:not(:checked) + label:before
{left: 0; top: 0.125rem;}

.cb:checked + label:after {left: 0.125rem;}
.cb + label , .radio + label {padding-left: 1.75rem; margin-bottom: 0; display: block;}

.select-wrap {/*border: none;*/ position: relative;}
.select-wrap:before, .select-wrap:after {pointer-events: none; transition: background .3s, border .3s;}
.select-wrap:before {display: block; content: ''; width: 2rem; height: 100%; position: absolute; right: 0; top: 0; background: rgba(220,70,40,1);}
.select-wrap:hover:before, .white .select-wrap:hover:before {background: rgba(255,137,39,1);}
.select-wrap:after {display: block; content: ''; width: 0; height: 0; position: absolute; right: 0.625rem; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); border-style: solid; border-width: 0.75rem 0.375rem 0 0.375rem; border-color: rgba(255,255,255,1) transparent transparent transparent;}
.select-wrap:hover:after {border-top-color: rgba(203,58,9,1);}
.white .select-wrap:hover:after {border-top-color: rgba(74,74,74,1);}

.white select {background: rgba(220,70,40,1);}
.white .select-wrap:before {background: rgba(74,74,74,1);}
.white .select-wrap {border-color: rgba(255,137,39,1);}

#message {display: none; padding-bottom: 1rem;}
#message.show {display: block;}
#message.success {padding: 1rem; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}



.row-head {margin-bottom: 0.25em;}
.dd-box {background: rgba(229,229,229,1); padding: 4rem 2rem; position: relative;}
.dd-error, .dd-success {display: none;}

.has-advanced-upload .dd-box {outline: 0.125rem dashed rgba(204,204,204,1); outline-offset: -0.5rem; -webkit-transition: outline-offset .15s ease-in-out, background-color .15s linear; transition: outline-offset .15s ease-in-out, background-color .15s linear;}

.is-dragover .dd-box {outline-offset: -1rem; background-color: rgba(229,229,229,0.5);}
.is-uploading .dd-box {opacity: 0.5; pointer-events: none;}


.file-input {width: 0.1px; height: 0.1px; opacity: 0; overflow: hidden; position: absolute; z-index: -1;}
.no-js .file-input {width: auto; height: auto; opacity: 1; position: relative; z-index: 0;}

.file-label {padding: 0 0 0.5rem 0; /*text-overflow: ellipsis; white-space: nowrap;*/ cursor: pointer; overflow: hidden;
flex-flow: row nowrap; -ms-flex-wrap: nowrap; align-items: center;}
.file-label:hover strong,
.file-input:focus + label strong,
.file-input.has-focus + .file-label strong {color: rgba(220,70,40,1);}
.file-input:focus + label,
.file-input.has-focus + label {outline: 1px dotted #000; outline: -webkit-focus-ring-color auto 5px;}

.file-label svg {width: 1.5rem; /*position: absolute; left: 0; top: 0;*/}
.file-label:hover svg,
.file-input:focus + label svg,
.file-input.has-focus + .file-label svg {fill: rgba(220,70,40,1);}

.file-delete {width: 1.5rem; height: 1.5rem; background: rgba(220,70,40,1); display: none; position: relative;}
.file-delete:hover {background: rgba(244,132,21,1);}
.file-delete:before, .file-delete:after {content: ''; display: block; width: 80%; height: 0.125rem; background: rgba(255,255,255,1); position: absolute; left: 50%; top: 50%;}
.file-delete:before {-ms-transform: translate(-50%,-50%) rotate(45deg); -webkit-transform: translate(-50%,-50%) rotate(45deg); transform: translate(-50%,-50%) rotate(45deg);}
.file-delete:after {-ms-transform: translate(-50%,-50%) rotate(-45deg); -webkit-transform: translate(-50%,-50%) rotate(-45deg); transform: translate(-50%,-50%) rotate(-45deg);}

.label-text {padding: 0 0.5rem;}

.error-prompt {width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: rgba(185,0,0,1); outline: 0.125rem dashed rgba(120,0,0,1); outline-offset: -0.5rem; z-index: 1;}
.error-prompt span {width: 100%; position: absolute; top: 40%; left: 0;}



/* CONTACT PANEL */
#con-pull {display: block; padding: 0.5rem; width: 3rem; height: 3rem; position: absolute; top: 0.75rem; right: 0; z-index: 1;}
#con-pull.fixed, #con-panel.fixed {position: fixed; top: 4rem;}
#con-panel {/*width: 100%; height: 100%;*/min-width: 15rem; position: absolute; top: 0.75rem; right: 0; z-index: 1; -ms-transform: translateX(100%); -webkit-transform: translateX(100%); transform: translateX(100%); transition: all .3s; -webkit-transition: all .3s;}
#con-panel.open {-ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0); box-shadow: -0.25rem 0.25rem 0.75rem rgba(0,0,0,0.25);}

.con-inner {width: 100%; height: 100%; padding: 1rem 3.5rem 1rem 1rem; overflow: auto; -webkit-overflow-scrolling: touch;}

#con-panel .con-pull {position: absolute; top: 0.5rem; right: 0.5rem;}

.con-pull .close {opacity: 1; z-index: 1;}
.con-pull .close:before, .con-pull .close:after {transition: background .3s;}
.con-pull:hover .close:before, .con-pull:hover .close:after {background: rgba(255,137,39,1);}

.share-link {align-items: center;}
.share-icon {width: 1.25em; margin-right: 0.375em;}

.share-list {font-size: 1.125em; padding-top: 0.5em;}
.share-list li + li {padding-top: 0.25em;}

/* SIDE PANEL */
.side-gal {width: 100%; height: 100%; position: fixed; top: 0; overflow: auto; z-index: 101; -webkit-overflow-scrolling: touch;}
.side-gal-cont {background: rgba(255,255,255,0.95);}
.gal-ol {display: none; left: 0;}

.side-gal {overflow-y: scroll; overflow-x: hidden; transition: transform .3s;}
.side-gal-cont {width: 100%; min-height: 101%; padding: 3rem 1rem 2.25rem 1rem; position: absolute; right: 0; left: auto; -webkit-overflow-scrolling: touch; -ms-transform: translateX(100%) -webkit-transform: translateX(100%); transform: translateX(100%); transition: transform .3s;}
.slidein .side-gal-cont {-ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0);}
.side-inner {padding-bottom: 1.5rem; -webkit-overflow-scrolling: touch; transition: translate .3s;}
.with-nav .side-inner {padding-bottom: 0;}
.side-gal .close-small {display: block; width: 2rem; height: 2rem; margin: 0 auto;}

#loader {width: 100%; height: 100%; max-height: 101vh; position: absolute; top: 0; left: 0; background: rgba(255,255,255,1); z-index: 100; transition: all .3s;}
#loader-icon-wrap {width: 4rem; height: 4rem; display: none; position: absolute; top: 50%; left: 50%; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); transition: all .3s;}

#loader-icon {width: 100%; height: 100%; background: url(../images/layout/logo.svg) center center/ 100% 100% no-repeat; -ms-animation: pulse 0.75s infinite; -webkit-animation: pulse 0.75s infinite; animation: pulse 0.75s infinite; transition: all .3s;}

.close-btn {width: 2.5rem; height: 2.5rem; position: absolute; z-index: 1; top: 2rem; right: 1rem; padding: 0.25rem 0 0.5rem 0.75rem;}

/* small close */
.cross {display: block; position: relative; transition: all .3s;}
.btn-rd {width: 2rem; height: 2rem; border-radius: 50%; border: 0.125rem solid rgba(220,70,40,1);}

.cross:before, .cross:after {display: block; content: ''; width: 75%; height: 0.125rem; position: absolute; top: 50%; left: 50%; background: rgba(220,70,40,1); transition: all .3s;}
.cross:before {-ms-transform: translate(-50%,-50%) rotate(90deg); -webkit-transform: translate(-50%,-50%) rotate(90deg); transform: translate(-50%,-50%) rotate(90deg);}
.cross:after {-ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}

button:hover .btn-rd {border-color: rgba(255,137,39,1);}
button:hover .cross:before, button:hover .cross:after {background: rgba(255,137,39,1);}
button:hover .btn .cross:before, button:hover .btn .cross:after {background: rgba(255,255,255,1);}

.close-small .cross {-ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg);}

/* FOOTER */
.footer-inner {padding: 1rem 0 1.5rem 0; border-top: 0.25rem solid rgba(74,74,74,1);}
#main-footer p + ul, #main-footer ul + p {margin-top: 0;}
#main-footer li {padding: 0;}
.address li:before, .legal li:before, .social li:before {content: '';}

.footer-col {padding: 0 1rem;}
.legal, .social {margin-top: 1rem;}

.social li {display: inline-block;}
.social a {display: block; padding-right: 0.25rem;}
.social img, .social svg {display: block; width: 2rem; height: auto;}

/* back top*/
.arrow:before, .arrow:after {width: 0.125rem; height: 1rem; content: ''; position: absolute; display: block; background: rgba(255,255,255,1); top: 0;}

.arrow:before {-ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); left: 0.625rem;}
.arrow:after {-ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg); right: 0.625rem;}

#back-top {width: 2.5rem; height: 2.5rem; position: fixed; right: 1rem; bottom: 1rem; display: none; z-index: 100;}
#back-top a, #back-top a:active {width: 2.5rem; height: 2.5rem; display: block; padding: 0.625rem 0.25rem; background: rgba(0,0,0,0.3); border-radius: 50%; -webkit-border-radius: 50%; transition: background 0.3s; -webkit-transition: background 0.3s;}
#back-top a:hover {background: rgba(0,0,0,1);}
#back-top .arrow {width: 2rem; height: 1.25rem; position: relative;}

#back-top a:hover .arrow {animation: pulse 0.5s 1;}

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

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

/* small */
@media screen and (min-width:32em) {
/* extra table */
.rows .mob-cols {flex-wrap: nowrap; -ms-flex-wrap: nowrap;}
.cell {width: auto;}
.table-icon {height: 100%; align-items: center;}

.text-cell {flex-grow: 1; border-left: 0.25rem solid rgba(255,255,255,1);}
}

/* medium */
@media screen and (min-width:48em) {
/***************************** FORMAT *****************************/
.headimg blockquote p, .headimg .big, .slogan-wrap .big {font-size: 2em;}
.headimg figcaption {font-size: 1.5em; padding: 0; top: 30%;}
.slogan-wrap {font-size: 1.5em;}
.extra {font-size: 1.375em;}

address li {padding: 0 0.25rem; display: inline-block;}
address li:before {content: '\00b7'; left: -0.125rem;}
address li:first-of-type {padding: 0 0.25rem 0 0;}
address li:last-of-type {padding: 0 0 0 0.25rem;}
address li:first-of-type:before {content: '';}

/***************************** LINKS/SPANS *****************************/
.info {right: 1rem;}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 44rem;}

/* externer content */
.external-overlay {padding: 1.5rem;}
.external-overlay .icon {width: 2.5rem; right: auto; top: auto; position: relative;}

/* HEADER */
#main-header {padding-top: 4.5rem;}
.top {padding: 0;}
.logo {width: 11rem;}

/* NAVI */
#main-nav {width: 50%;}
#main-nav.open {box-shadow: -0.25rem 0.25rem 0.75rem rgba(0,0,0,0.25); top: 0;}

/* nav pull */
#main-header.fixed .pull {top: 0.5rem;}

/* lang nav */
#main-header.fixed .l-pull a {padding: 0.625rem 1.5rem 0.625rem 0.5rem;}

/* SLIDER */
.slogan-wrap {padding: 2rem 0;}

/* CONTENT */
.content, .block {padding: 1rem 0;}
.single-page + .block {padding-left: 1rem; padding-right: 1rem;}

.color-pad {padding: 2rem 1rem;}
.col .color-pad {padding: 1.5rem 1rem;}

.text {padding: 0 1rem;}
.text-m {width: 66.66%;}
.text-s {width: 33.33%;}

.sidecol .text-s, .sidecol .text-m, .side-gal-cont .text-m {width: 100%; float: none;} /* für single page */
.side-col .text-m, .side-col .text-s {float: left;} /* für blocks */

/*.infobox {position: absolute; right: 0; top: 2rem;}*/

/* columns/teaser */
.cols, .teaser-link, .footer-inner, .footer nav {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row wrap; -ms-flex-wrap: wrap; justify-content: flex-start;}
.col, .teaser-link .teaser-img, .teaser-link .text , .footer-col, .footer nav ul {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative;}
.col {float: left;}

.spaced {justify-content: space-between;}

.col-inner {height: 100%;}

.teaser-link {-ms-flex-direction: column; -webkit-flex-direction: column; flex-direction: column;}
.teaser-link .teaser-head {-ms-flex-grow: 1; -webkit-flex-grow: 1; flex-grow: 1;}
.teaser-link .teaser-img {margin-top: auto;}
.teaser-text {padding: 0.375rem 1rem 0 1rem;}

.no-js .short-desc {max-height: 6.25em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; white-space: normal; text-overflow: clip /*ellipsis*/;}
.no-js .short-desc {height: 6.25em;}
/* Testpahse, aber was blöderes fällt mir ned ein - läuft halt mit guten alten matchHeight.js */

.col + .col, .text + .text {margin-top: 0;}
.col-xs {width: 25%; max-width: 25%;}
.col-s, .cols-small .col {width: 33.33%; max-width: 33.33%;}
.col-m, .col-sm, .cols-large .col {width: 50%; max-width: 50%;}
.col-l {width: 66.66%; max-width: 66.66%; padding-right: 0.33rem;}

.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-m:nth-of-type(2n+1), .col-sm:nth-of-type(2n+1) {padding: 1rem 0.5rem 0 0;}
.col-m:nth-of-type(2n+2), .col-sm:nth-of-type(2n+2) {padding: 1rem 0 0 0.5rem;}

.col-sm:nth-of-type(1), .col-sm:nth-of-type(2) {padding-top: 0;}

.col-sm .teaser-head, .col-m .teaser-head {padding: 0.5rem 1rem;}

.lined-row + .lined-row {padding-top: 0.5rem; margin-top: 0.5rem;}

/* lightbox */
.lightbox .col-l, .lightbox .col-s {float: left;}
.lightbox .col-s {padding: 0 0 0 0.66rem;}

.lightbox .col-s .lb-prev {width: 100%; height: 50%; max-height: 50%; float: none;}
.lightbox .col-s .lb-prev figure {padding-bottom: 54.5%;}

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

/* hidden content */
.pullwrap {padding: 1rem 1rem 0 1rem;}

/* extra table */
.cell {padding: 1rem;}
.table-icon img, .table-icon svg {width: 3rem;}

/* map */
.map-wrap {padding-bottom: 56.25%;}
.text + .map-large {margin-top: 2rem;}

.location + .location, .side-item + .side-item {margin-top: 1.5rem;}

/* popup content */
.centered {position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}

/* footer nav poup */
.prev-art, .next-art {max-width: 50%;}
.prev-art + .next-art, .footer-nav .prev-art + .next-art {margin-top: 0;}
.prev-art {text-align: left; float: left;}
.next-art {text-align: right; float: right;}

/* footer nav news */
.entry-nav .cols {justify-content: space-between;}
.art-nav {width: 50%; margin-bottom: 0;}
.art-nav .btn {display: block; width: 2.25rem; height: 100%; position: absolute; top: 0; padding: 0;}
.art-nav a {padding-top: 0.125rem; height: 100%; min-height: 2.5rem;}
.prev-art a {padding-left: 2.75rem;}
.next-art a {padding-right: 2.75rem;}
.prev-art .btn {left: 0;}
.next-art .btn {right: 0;}
.entry-nav .back {text-align: right; margin-top: 0;}

.art-nav .prev:before, .art-nav .next:after {display: block; width: 0; height: 0; content: ''; position: absolute; left: 50%; top: 50%; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); transition: all .3s; -webkit-transition: all .3s; border-style: solid;}
.art-nav .prev:before {border-width: 0.5rem 0.875rem 0.5rem 0; border-color: transparent rgba(255,255,255,1) transparent transparent;}
.art-nav .next:after {border-width: 0.5rem 0 0.5rem 0.875rem; border-color: transparent transparent transparent rgba(255,255,255,1);}

/* pagination */
.pagination {padding: 1.5rem 1rem 0 1rem;}
.load-more {padding: 0 1rem 1.5rem 1rem;}

/* contactform */
.form-intro {padding: 0 7.5%;}

.fieldset--gap {gap: 1rem;}
.field-xs {flex-grow: 0;}
.field-s {flex-grow: 1;}
.field-m {flex-grow: 2;}

.block-head + form {padding-top: 1rem;}

/* CONTACT PANEL */
#con-pull {width: 4rem; height: 4rem; top: 2.25rem;}
#con-panel {top: 2.25rem;}
#con-pull.fixed, #con-panel.fixed {top: 6rem;}
/*#con-panel, .con-inner {width: auto; height: auto;}*/

/*SIDE PANEL */
.side-gal {background: rgba(0,0,0,0.25);}
.side-gal-cont {width: 85%; background: rgba(255,255,255,1);}

/* FOOTER */
/*#main-footer li {display: inline-block; padding: 0 0.25rem;}
#main-footer li:first-of-type {padding: 0 0.25rem 0 0;}
#main-footer li:last-of-type {padding: 0 0 0 0.25rem;}
.address li:before {content: '\00b7'; left: -0.25rem;}
.address li:first-of-type:before {content: '';}

#main-footer .social li {padding: 0;}
.footer-col {width: 33.33%;}*/
.address {order: 1;}
.legal {order: 2; margin-top: 0; }
.social {order: 3; text-align: right; margin-top: 0; margin-left: auto;}
.footer nav ul {width: 100%;}
}

/* large */
@media screen and (min-width:64em) {
/***************************** FORMAT *****************************/
.big {font-size: 1.25em;}
.extra {font-size: 1.5em;}
.form-intro strong {font-size: 1.125em;}

.headimg blockquote p, .headimg .big, .slogan-wrap .big {font-size: 2.25em;}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 60rem;}

/* HEADER */
#main-header {padding-top: 4.25rem;}

/* NAVI
.nav-wrap {padding: 1rem 11rem 1rem 0;}*/


/* CONTENT */
.col-sm {width: 33.33%; max-width: 33.33%;}

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

.col-sm:nth-of-type(1), .col-sm:nth-of-type(2), .col-sm:nth-of-type(3) {padding-top: 0;}

.col-l-m {width: 50%; max-width: 50%;} /* für Colorette details */

.bc-item:after {margin: 0 0.5em;}

.text-l {width: 85%;}

.icon-wrap img {height: 3rem;}

/* single page */
.sidecol .text-s + .text-m, .sidecol .text-m + .text-s {margin-top: 0;}
.sidecol .text-s, .sidecol .text-m {float: left;}
.sidecol .text-s {width: 30%}
.sidecol .text-m {width: 70%}

.maincol-right .text-s {padding-right: 0.75rem;}
.maincol-right .text-m {padding-left: 1.5rem;}
.maincol-left .text-s {padding-left: 0.75rem;}
.maincol-left .text-m {padding-right: 1.5rem;}

.single-page .full {width: 75%; /*margin: 0 auto;*/}

/* extra table */
.table-icon img, .table-icon svg {width: 3.5rem;}

/* popup content */
#close-modal, #close-modal .close {width: 2.75rem; height: 2.75rem;}
#close-modal {top: 2.25rem; right: 1rem;}
#close-modal .close:before, #close-modal .close:after {width: 2.25rem;}

.ajax-cont .single-page .full {width: 100%; position: relative;}
.ajax-cont .slider-wrap {width: 66.66%}
.ajax-cont .product-text {width: 33.33%; height: 100%;}
.ajax-cont .slider-wrap + .product-text {position: absolute; top: 0; right: 0; overflow: hidden;}


/* contactform */
.form-intro {padding: 0 10%;}
.file-label svg {width: 1.75rem;}

/*SIDE PANEL */
.side-gal-cont {width: 66.66%;}

/* FOOTER */
/*.address, .legal {float: left;}
.address {width: 62%;}
.legal {width: 38%; margin-top: 0; text-align: right;}
.legal ul {text-align: right; display: inline-block; vertical-align: text-top;}

.social {margin: 0 0 0 0.5rem;}
.social li:last-of-type a {padding-right: 0;}
.social img {width: 1.5rem;}*/
.footer nav {flex-flow: row-reverse;}
.footer nav ul {width: auto; padding: 0 1rem;}
}

@media screen and (min-width:64em) and (orientation: portrait){
/* popup content */
#ajax .slider-wrap, #ajax .product-text {width: 100%; height: auto; position: relative;}

}


@media screen and (min-width:74em) {
/***************************** FORMAT *****************************/
.headimg figcaption, .slogan-wrap {font-size: 2em;}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 70rem;}

/* HEADER */
#main-header {padding-top: 6rem;}
.logo {width: 12rem; padding: 1.5rem 0 0 0; position: absolute; right: 0; z-index: 1;}

/* NAVI */
.nav-wrap {padding: 2rem 15rem 1.375rem 0; width: 100%;}

#main-header.fixed .nav-wrap {padding-top: 0.625rem; padding-bottom: 0.375rem;}

#main-nav {-ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0); background: none; position: relative; margin: 0; padding: 0; width: 92.5%; float: left; overflow: visible; transition: none;}
#main-nav .menu {padding: 0; white-space: nowrap; text-overflow: hidden; max-width: 100%;}
#main-nav ul .menu-item {display: inline-block; border-top: none;}
#main-header.fixed nav a:hover/*, #main-header.fixed #main-nav ul li.active a*/ {color: rgba(255,137,39,1);}

.top-level {color: rgba(255,255,255,1);}

.nav-wrap {font-size: 1em;}
.menu li .top-level {padding: 0.75rem 0.5rem 1rem 0.5rem;}
.menu li:first-of-type .top-level {padding-left: 0;}
.menu li:last-of-type .top-level {padding-right: 0;}

/* nav pull */
.pull, .sub-pull {display: none;}

/* sub nav */
.sub {padding-right: 0;}
.sub-menu {display: block; visibility: hidden; opacity: 0; position: absolute; transition: all .3s ease .3s; pointer-events: none; z-index: -1; /*height: 0;*/}
.sub:hover > .sub-menu {height: auto; visibility: visible; opacity: 1; pointer-events: auto; z-index: 1;}
.sub-menu:before {content: ''; display: block; width: 200vw; height: 100%; position: absolute; left: -100vw; top: 0; bottom: 0; background: rgba(255,255,255,1); border-bottom: 0.125rem solid  rgba(220,70,40,1); transition: all .3s ease .3s; visibility: hidden;}
.sub:hover > .sub-menu:before {visibility: visible;}

.single-sub .sub-menu, .multi-sub .sub-menu {padding: 1.5rem 0;}

/* multi sub */
.multi-sub {position: static;}
.multi-sub .sub-menu {width: 100%; left: 0;}
.sub-cols {width: 100%; 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; padding-left: 0;}
.sub-col {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; border-top: none; padding-right: 2rem; max-width: 33.33%;}

.sub-col ul {display: block;}

.multi-sub .sub-item a, .multi-head a {padding: 0.5rem 0; white-space: normal;}

/*
.multi-sub .sub-menu * {visibility: hidden; opacity: 0; height: 0;}
.multi-sub:hover > .sub-menu * {visibility: visible; opacity: 1; height: auto;}
*/


/* lang nav */
#lang-nav {position: relative; top: auto; right: auto; float: right;}
.l-pull a, #main-header.fixed .l-pull a {padding: 0.75rem 1.5rem 0.75rem 0.5rem;}

/* SLIDER */
.slogan-wrap {padding: 2rem 0 3rem 0;}

/* CONTENT */
.content, .block {padding: 1.5rem 0;}
.single-page {padding: 1.5rem 1rem;}

.text + .image-cols, .text + .jobs, .privacy-hint {padding-top: 1.5rem;}

.text-m {padding-right: 12.5%;}

.icon-wrap img {height: 3.5rem;}

/*.infobox {top: 3rem;}*/

/* columns/teaser */
.col-l {padding-right: 0.5rem;}

.col-s:nth-of-type(3n+1), .col-sm:nth-of-type(3n+1) {padding: 1.5rem 1rem 0 0;}
.col-s:nth-of-type(3n+2), .col-sm:nth-of-type(3n+2) {padding: 1.5rem 0.5rem 0 0.5rem;}
.col-s:nth-of-type(3n+3), .col-sm: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;}

.col-sm:nth-of-type(1), .col-sm:nth-of-type(2), .col-sm:nth-of-type(3) {padding-top: 0;}

.news + .news {padding-top: 1.5rem;}

/* lightbox */
.lightbox {padding-top: 1.5rem;}

.lightbox .col-s {padding: 0 0 0 1rem;}

.lightbox .col-s .lb-prev:nth-of-type(2n+1) {padding: 0 0 0.75rem 0;}
.lightbox .col-s .lb-prev:nth-of-type(2n+2) {padding: 0.75rem 0 0 0;}

.plus {width: 2.25rem; height: 2.25rem;}

/* contactform */
.form-intro {padding: 0 15%;}
.fieldset + .fieldset, .form-wrap {padding-top: 1.5rem;}

/* FOOTER */
/*
.address, .legal {float: left;}
.address {width: 55%;}
.legal {width: 45%; margin-top: 0; text-align: right;}
.legal ul {text-align: right; display: inline-block; vertical-align: text-top;}

.social {margin: 0 0 0 0.5rem;}
.social li:last-of-type a {padding-right: 0;}
.social img {width: 1.5rem;}
*/
}

@media screen and (min-width:90em) {
/* BASIC */
.wrapper {max-width: 74rem;}

/* HEADER */
#main-header {padding-top: 6.375rem;}

.logo {width: 13.375rem;}
#main-header.fixed .logo {padding-top: 0.5rem;}

/* NAVI */
.nav-wrap {padding: 1.75rem 15rem 1.5rem 0; font-size: 1.125em;}
#main-header.fixed .nav-wrap {padding-bottom: 0.25rem;}

.menu li .top-level {padding: 0.75rem 0.5rem 1.25rem 0.5rem;}

.form-intro {padding: 0 16.66%;}

.text-l {width: 75%;}

/* extra table */
.table-icon img, .table-icon svg {width: 4.5rem;}

/*SIDE PANEL */
.side-gal-cont {width: 50%;}
}

@media screen and (min-width:120em) {
body {font-size: 1.2em;}

/* BASIC */
.wrapper {max-width: 88rem;}

/* HEADER */
#main-header {padding-top: 6.5rem;}

/* NAVI */
#main-header.fixed .nav-wrap {padding-bottom: 0;}

/* CONTENT */
.content, .block {padding: 1.75rem 0;}
.single-page {padding: 1.75rem 1rem;}

/* CONTACT PANEL */
.con-inner {padding: 1rem 4.5rem 1rem 1.5rem;}

#con-pull {width: 5rem; height: 5rem;}
.con-pull .close {width: 2.25rem; height: 2.25rem;}
.con-pull .close:before, .con-pull .close:after {width: 2rem;}

#con-panel .con-pull {top: 0.75rem;}
}
/* end responsiveness
--------------------------------------------- */

* + .no-marg {margin-top: 0;}

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

.icon-wrap + .color-pad {padding-top: 0.75rem;}
