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

html {
-webkit-text-size-adjust: 100%;
--black: rgba(0,0,0,1);
--white: rgba(255,255,255,1);
--dark-blue-1: rgba(0,52,85,0.5); /* Overlay */
--dark-blue-2: rgba(165,180,202,1); /* Background */
--dark-blue-3: rgba(208,216,228,1); /* Background */
--blue-1: rgba(0,131,161,1); /* Texthighlight */
--blue-2: rgba(194,213,224,1); /* Background */
--light-blue-1: rgba(229,236,243,1); /* Footer */
/*--blue-3: rgba(0,96,132,1); optional background - not clear if needed */

--radius-s: 0.375rem;
}

body {font-family: 'Public Sans', Helvetica, Arial, sans-serif; margin:0; color: var(--black); line-height: 1.5; font-weight: 300;}
body.open-panel {height: 100%; overflow: hidden;}

/***************************** FORMAT *****************************/
h1, h2, .extra, .h1 {font-size: 1.75em;}
h3, h4, .col-head h2 {font-size: 1.375em;}
h5, h6, h2.small, h3.small, .entry h2 {font-size: 1.25em;}
h2.big, h3.big, .col-cap .big {font-size: 1.5em;}
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, .extra, .h1, .col-cap .big, .big-intro, .lead {text-wrap: balance; line-height: 1.25;}
.heading-group {font-size: 1em !important;}

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.25em;}

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-half {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, ul, ol {}
p + p, ul + p, ol + p, * + .margin-basic {margin-top: 0.75em;}
p + ul, p + ol, * + .margin-small {margin-top: 0.25em;}

blockquote > *, .big, .large, .entry h3, .entry h4 {font-size: 1.125em;}
blockquote {margin: 0; text-wrap: balance; line-height: 1.25;}
blockquote + *, * + blockquote, * + .lead, .lead + * {margin-top: 1.5em;}
.text blockquote > *, .big-intro > p, .lead {font-size: 1.25em;}

b, strong, .bold {font-variant: normal; font-weight: 700;}
.semi {font-weight: 600; color: red;} /* brauch ma wohl nicht... */
.medium, .entry h2, .entry h3, .entry h4 {font-weight: 500;}

.small {font-size: 0.875em;}

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.375em; position: relative; counter-increment: list-count;}
ol li:before {content: counter(list-count) '.'; position: absolute; left: 0; vertical-align: bottom;}

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

.white, .white *, .white a.phone, .white a.phone:hover {color: var(--white);}

sub, sup, .sub, .sup, .copyright, .headimg .small {font-size: 0.75em;}
sub, .sub {vertical-align: sub;}
sup, .sup {vertical-align: top;}

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

.headimg .extra, .text .extra {line-height: 1.125;}

/***************************** LINKS/SPANS *****************************/
a, button, a span, button span {text-decoration: none; color: inherit;
transition: color .3s, background-color .3s, background-size .3s, border .3s, opacity .3s;}
a:hover, button:hover , .blue {color: var(--blue-1);}

a.phone, a.phone:hover {color: var(--black); cursor: text;}

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

a svg {transition: fill .3s;}

a:focus-visible, a:focus-visible img, button:focus-visible {outline-style: auto;}
.img-wrap .bl:focus-visible {outline-offset: -0.125rem; border: 1px solid transparent;}

.skip-link {display: block; position: absolute; top: 0; left: 50%; transform: translate(-50%,-100%); transition: all .3s;}
.skip-link:focus {transform: translate(-50%,0); top: 0.5rem; z-index: 1;}

.white .ul, .white .ul-rev {background-image: linear-gradient(0deg, var(--white), var(--white));}
.ul {background: linear-gradient(0deg, var(--black), var(--black)) no-repeat left bottom / 100% 0.0625em;}
.ul-rev {background: linear-gradient(0deg, var(--blue-1), var(--blue-1)) no-repeat right bottom / 0 0.0625em;}
.ul.blue, .blue .ul {background-image: linear-gradient(0deg, var(--blue-1), var(--blue-1));}
.ul:hover, .ul:focus-visible, a:hover .ul, .ul.download:hover {background-size: 0 0.0625em; background-position-x: right;}
.ul-rev:hover, .ul-rev:focus-visible, #mn .active .ul-rev, a:hover .ul-rev {background-size: 100% 0.0625em; background-position-x: left;}
.ul.download, .ul-rev.download:hover, .ul-rev.download:focus-visible {background-size: calc(100% - 1.25em) 0.0625em; background-position-x: left 1.25em;}

.download {position: relative; padding-left: 1.25em;}
.download:before {width: 0.875em; height: 100%; left: 0; top: 0; display: block; position: absolute; content: url(../images/layout/icon-pdf.svg);}

.bl {display: block;}
.img-wrap .bl {position: absolute; width: 100%; height: 100%; top: 0; left: 0;}

.btn {display: inline-block; padding: 0.375em 0.75em; border: 0.125rem solid var(--black); font-weight: 400; background: linear-gradient(0deg, var(--dark-blue-3), var(--dark-blue-3)) no-repeat left bottom / 0 100%;}
.btn:hover, a:hover .btn, .btn:active {background-size: 100% 100% !important;}
.white .btn {border-color: var(--white);}
.btn:hover, .white .btn:hover, a:hover .btn, .white a:hover .btn {border-color: var(--blue-1);}

.btn-rounded {display: inline-block; padding: 0.375em 0.75em; border-radius: var(--radius-s); background: var(--dark-blue-2);}
.btn-rounded:hover {background: var(--dark-blue-3); color: var(--blue-1);}
.btn-rounded:active {background: var(--blue-1);}
.btn-light {background: var(--light-blue-1);}

.btn, .btn-rounded {font-weight: 500;}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {height: auto; margin: 0 auto; max-width: 32rem; position: relative;}
main {display: block;}
.no-hero {padding-top: 5rem;}

.bg-black {background: var(--black);}
.bg-db-2 {background: var(--dark-blue-2);}
.bg-db-3 {background: var(--dark-blue-3);}
.bg-b-2 {background: var(--blue-2);}

.hidden {display: none;}

/* HEADER */
#mh {position: absolute; width: 100%; z-index: 2; padding: 4.5rem 0 0 0; top: -4.5rem; transition: top .3s -1s;}
.mh-inner {padding: 0.5rem 1rem;}
.logo {height: 3rem; width: auto; z-index: 4; transition: height .3s;}
.logo a {display: block; width: 100%; height: 100%;}
.logo svg {height: 100%; width: auto;}

#mh.fixed {position: fixed; background: rgba(255,255,255,0.8); top: 0; padding-top: 0; transition: top .3s .2s; backdrop-filter: blur(0.0625rem)}
.open-panel #mh.fixed {backdrop-filter: none;}
#mh.fixed .mh-inner {padding: 0.25rem 1rem;}
#mh.fixed .logo {height: 2rem;}

.logo, #pull {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left;}
#mh .cols {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row nowrap; -ms-flex-wrap: nowrap; justify-content: space-between; align-items: center;}

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


#mn, .side-panel {position: absolute; right: 0; top: 0; z-index: 3;}
.side-panel, .nav-panel {display: none;}
.nav-panel, #mn ul, .panel-wrap, .panel-cont {width: 100%; height: 100%; -ms-transform: translateX(100%); -webkit-transform: translateX(100%); transform: translateX(100%);}
.nav-panel, .panel-wrap {position: fixed; right: 0; top: 0; z-index: 3; transition: transform .3s .3s;}
#mn.open .nav-panel, #mn.open ul, .side-panel.open .panel-wrap, .side-panel.open .panel-cont {-ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0);}
#mn ul, .panel-cont {position: absolute; right: 0; z-index: 3; padding: 4.5rem 2rem; background: rgba(255,255,255,1); transition: transform .3s; overflow: auto; -webkit-overflow-scrolling: touch;}
#mn.open .nav-panel, .side-panel.open .panel-wrap {transition: none;}
#mn.open .nav-panel ul {box-shadow: 0 0 2rem rgba(0,0,0,0.5);}
#mn:after, .side-panel:after {display: block; content: ''; position: fixed; width: 0; height: 0; top: 0; left: 0; background: var(--dark-blue-1); opacity: 0; pointer-events: none; transition: opacity .3s;}
#mn.open:after, .side-panel.open:after {width: 100%; height: 100%; opacity: 1; backdrop-filter: blur(0.125rem);}

#mn ul {font-size: 1.125em;}
#mn ul li {padding: 1rem 0;}
#mn a {display: inline-block;}
#mn .active a {color: var(--blue-1);}

/* nav pull */
.burger:before {top: 50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);}
#pull, .close-btn {width: 2.5rem; height: 2.5rem; padding: 0.625rem 0 0.625rem 0.75rem; position: relative; z-index: 12;}

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

.burger, .burger:before, .burger:after {width: 100%; height: 0.125rem; display: block; background: rgba(0,0,0,1);
-webkit-transition: all 0.3s; -ms-transition: all 0.3s; transition: all 0.3s;}
.burger:before, .burger:after {position: absolute; content: '';}
.burger:after {bottom: 0; top: auto;}

.open .burger, #pull.open:hover .burger, .close-btn:hover .burger {background: none;}
.open .burger:before {top: 50%;
-webkit-transform: translateY(-50%) rotate(45deg); -ms-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg);}
.open .burger:after {top: 50%; bottom: auto;
-webkit-transform: translateY(-50%) rotate(-45deg); -ms-transform: translateY(-50%) rotate(-45deg); transform: translateY(-50%) rotate(-45deg);}

button:hover .burger, button:hover .burger:before, button:hover .burger:after {background: var(--blue-1);}

/* IMAGES / SLIDER / MEDIA */
img, svg {width: 100%; display: block;}
.stretch-w img {width: 100%; height: auto;}
.stretch-h img {width: auto; height: 100%;}

.entry .stretch-w img {width: auto; max-width: 100%;}

.img-wrap {position: relative; width: 100%; overflow: hidden;}
.img-wrap img {position: absolute; top: 50%; left: 50%; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
.img-low .img-wrap {padding-bottom: 56.25%;}
.img-mid .img-wrap {padding-bottom: 66.66%;}
.img-high .img-wrap {padding-bottom: 80%;}

.headimg, .entry-img, .text-img {position: relative;}
.headimg .img-wrap, .headmap .map-wrap {position: relative; max-height: 80vh;}
.headimg .img-wrap, .img-semi .img-wrap, .headmap .map-wrap {padding-bottom: 75%;}

.headimg figcaption {position: absolute; top: 5rem; left: 1rem; width: 75%; margin-inline-start: -0.125em;}

.video {width: 100%; padding-bottom: 56.25%; position: relative;}
.video iframe, .video video {width: 100%; height: 100%; position: absolute; top: 0; left: 0;}

@supports (object-fit: cover){
.stretch-w img, .stretch-h img {width: 100%; height: 100%; object-fit: cover;}
.contain .stretch-w img, .contain .stretch-h img {object-fit: contain;}
}
@supports (aspect-ratio: 1/ 1) {
.img-wrap, .video, .headmap .map-wrap {padding-bottom: 0 !important;}
.img-wrap img {position: relative; top: auto; left: auto; -ms-transform: translate(0,0); -webkit-transform: translate(0,0); transform: translate(0,0);}
.img-low .img-wrap, .video {aspect-ratio: 16 / 9;}
.img-mid .img-wrap {aspect-ratio: 3 / 2;}
.headimg .img-wrap, .img-semi .img-wrap, .headmap .map-wrap {aspect-ratio: 4 / 3;}
.img-high .img-wrap {aspect-ratio: 9 / 8;}
.headmap .map-wrap {height: 100%;}

.load img {transform: scale(1.05);}
}

.video + *, * + .video, .text-img + *, * + .text-img, .map-wrap + *, * + .map-wrap, .text-extra + *, * + .text-extra {margin-top: 1.5em;}
.margin-big + *, * + .margin-big {margin-top: 2em;}
.margin-extra + *, * + .margin-extra {margin-top: 2.5em;}

.soften img, a.lighten:hover img {opacity: 0.6;}
.soften a img, a.soften img, a.lighten img {transition: opacity .3s;}
.soften a:hover img, a.soften:hover img {opacity: 1;}

.slider figcaption {background: rgba(255,255,255,0.8);}
.slider figcaption, .img-copy {position: absolute; padding: 0.5rem 1rem; left: 0; bottom: 0;}
.slider .img-copy {bottom: auto; left: auto; top: 0; right: 0;}
.entry-img .img-copy, .text-img .img-copy {bottom: auto; transform: translateY(-100%);}

/* CLS Fix - Slider */
.slider, .slider-head, .slider-multi {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row nowrap; -ms-flex-wrap: nowrap; overflow: auto hidden; width: 100%;}
.slide {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left; padding: 0; width: 100%; min-width: 100%;}
.slick-initialized .slide {min-width: initial;}
/* CLS Fix - Slider */


/* CONTENT */
.block, .col, .single-head, .col-xl {width: 100%;}
.block {padding: 1rem 0;}
.block + .small-gap {padding-top: 0;}
.pad {padding: 1rem;}

.cols, .rows {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row wrap; -ms-flex-wrap: wrap;}
.col, .row {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left;}
.rows {flex-direction: column;}
.row {float: none;}
.mob-cols .col {width: auto;}

.text-extra .col + .col , .it-cols .col-head + .col-text {margin-top: 0.75em;}

.entry + .entry {margin-top: 1.5rem;} /* .entry wird im Side-Panel und bei den Stellenanzeigen verwendet. Hier haben h2 - h4 eine kleiner Schriftgröße */
.entry figcaption {padding-top: 0.25em;}
.col-img + .col-text, .no-bg .col-img + .col-cap {padding-top: 0.375em;}

/* single page */
.single-page {padding-bottom: 1.5rem;}
.text-s + .text-l, .text-l + .text-s {/*margin-top: 1.25rem;*/}

/* accordion */
.accordion.pad {padding: 0 1rem;}
.acc-head {position: relative; padding: 1rem 0;}
.acc-head button {width: 100%; justify-content: space-between; align-items: center;}
.acc-head span {padding-right: 1rem;}

.acc-head .cross {width: 1.375rem; height: 1.375rem; position: relative;}
.open .acc-head .cross:before {-ms-transform: translate(-50%,-50%) rotate(90deg); -webkit-transform: translate(-50%,-50%) rotate(90deg); transform: translate(-50%,-50%) rotate(90deg);}

.acc-entry + .acc-entry {border-top: 0.125rem solid var(--black);}
.bg-black .acc-entry + .acc-entry {border-top-color: var(--white);}

.acc-cont {padding: 0 0 1.5rem 0; display: none;}

@media (scripting: none){
.no-js .acc-cont {display: block;}
}

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

/* side panel */
.close-btn {position: absolute; top: 1rem; right: 1rem;}
.side-inner {padding: 0 0 2rem 0;}

/* small close */
.close-small {margin: 1.5rem auto 0 auto; align-items: center;}
.close-small .close {width: 1em; height: 1em; position: relative; transition: background .3s; margin-right: 0.5em;}
.close-small .cross {-ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg);}

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

.bg-black .cross:before, .bg-black .cross:after {background: var(--white);}

button:hover .close {border-color: var(--blue-1);}
button:hover .cross:before, button:hover .cross:after {background: var(--blue-1);}

/* FOOTER */
.mf-inner {background: var(--light-blue-1); padding-top: 1rem;}
.mf-bottom {width: 100%; padding: 1rem 0; margin-top: 2rem; border-top: 0.0625rem solid var(--black);}

/* social */
#mf .icon {width: 2rem;}

#mf .col + .col {margin-top: 0.75rem;}
.social .col {width: auto !important;}
.social .col + .col {margin-top: 0 !important; margin-left: 1rem;}

#mf svg {fill: var(--color-1);}
#mf a:hover svg, .social a:hover svg {fill: var(--blue-1);}

/* 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 {transform: rotate(45deg); -webkit-transform: rotate(45deg); left: 0.625rem;}
.arrow:after {transform: rotate(-45deg); -webkit-transform: rotate(-45deg); right: 0.625rem;}

#back-top {width: 2.5rem; height: 2.5rem; position: fixed; right: 0.75rem; bottom: 1rem; display: none; z-index: 2;}
#back-top button, #back-top button:active {width: 2.5rem; height: 2.5rem; display: block; padding: 0.625rem 0.25rem; background: var(--dark-blue-1); border-radius: var(--radius-s);}
#back-top button:hover {background: var(--black);}
#back-top .arrow {width: 2rem; height: 1.25rem; position: relative;}

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


/* responsiveness
--------------------------------------------- */
/* special setup - extra declarations for mobile */
@media screen and (max-width:64em) {
.block .text-s + .text-l {padding-top: 0;}
}


/* medium */
@media screen and (min-width:48em) {
/***************************** FORMAT *****************************/
.extra {font-size: 2.5em;}
blockquote > *, .big {font-size: 1.25em;}
.headimg .big {font-size: 1.375em;}
h3.big, .teaser-cap .big {font-size: 1.625em;} /* .teaser-cap .big - scheint etwas sinnfrei aber war angelegt. Jetzt sorgts nur für eine etwas größeren Stellentitel bei den Karrierekacheln. */

.text {font-size: 1.125em;}
.text .extra {font-size: 2.2em; font-size: calc(2.5em/1.125);} /* calculate the right font-size in text-class context, but leave a fallback size */
.text .img-copy {font-size: 0.75em; font-size: calc(0.875em/1.125);}

/***************************** LAYOUT *****************************/
/* BASIC */
main, #mf {padding-right: 4rem;}
.wrapper {max-width: 42rem;}

/* NAVI */
#mn ul {width: 50%; font-size: 1.25em;}

/* IMAGES / SLIDER / MEDIA */
.headimg figcaption {width: 66.66%;}
.headimg .img-copy {left: 1rem; bottom: 0.5rem;}

@supports (aspect-ratio: 1/ 1) {
.img-high .img-wrap {aspect-ratio: 5 / 6;}
}

/* CONTENT */
.block {padding: 1.5rem 0;}

.col-s {width: 33.33%; max-width: 33.33%;}
.col-l {width: 66.66%; max-width: 66.66%;}
.col-m, .col-m-s, .col-m-l {width: 50%; max-width: 50%;}
.col-bg {height: 100%;}

.it-cols .col-xl:nth-of-type(2n+2) .cols, .cols-rev .cols, .it-cols-rev .col-xl:nth-of-type(2n+1) .cols {flex-direction: row-reverse;}
.it-cols-rev .col-xl:nth-of-type(2n+2) .cols {flex-direction: row;}

.it-cols .img-wrap {height: 100%;}
.it-cols .text {display: -ms-flexbox; display: -webkit-flex; display: flex; flex-direction: column; justify-content: space-between;}

.text-extra .col + .col {margin-top: 0;}
.text-extra .cols, .text-extra.cols {column-gap: 2rem;}
.text-extra .col {width: auto; flex-grow: 1; min-width: 40%;} /* min-width als Dirty-Hack um zweispaltigkeit zu forcieren */

/*.teaser-cap*/ .pad-top-extra {padding-top: 3rem;}
.it-cols .col-text {margin-top: auto;}

.entry + .entry {margin-top: 2rem;}

.col-m .no-bg .col-img + .col-cap {padding-top: 0.5em;}

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

/* side panel */
.close-btn {top: 1rem; right: 2rem;}

/* FOOTER */
#mf .cols {column-gap: 2rem; justify-content: space-between;}
#mf .col {width: auto;}
#mf .col + .col {margin-top: 0;}
#mf .social {width: 100%; padding-top: 1rem;}
}

/* large */
@media screen and (min-width:64em) {
/***************************** FORMAT *****************************/
.big h1, .big h2, .big .h1 {font-size: 2em;}

.extra {font-size: 3.5em;}
.big {font-size: 1.375em;}
.headimg .big, .text blockquote > *, .big-intro > p, .lead {font-size: 1.5em;}
.text .extra {font-size: 3.125em; font-size: calc(3.5em/1.125); margin-inline-start: -0.0625em;}
h3.big, .col-cap .big {font-size: 1.75em;}

/***************************** LAYOUT *****************************/
/* BASIC */
main, #mf {padding-right: 5rem;}
.no-hero {padding-top: 7rem;}
.wrapper {max-width: 58rem;}

/* HEADER */
.mh-inner {padding: 1.5rem 1.5rem 0 2rem;}
#mh.fixed .mh-inner {padding: 0.375rem 1.5rem 0.375rem 2rem;}

.logo {height: 4rem;}
#mh .cols {align-items: flex-start;}
#mh.fixed .cols {align-items: center;}

/* NAVI */
#mn ul {width: 33.33%; font-size: 1.375em;}

/* nav pull */
#pull {height: 1.25rem; padding: 0 0 0 0.75rem;}

/* IMAGES / SLIDER / MEDIA */
.headimg figcaption {top: 8rem; left: 2rem; /*width: 50%;*/ margin-inline-start: -0.25em;}

.margin-big + *, * + .margin-big {margin-top: 2.5em;}
.margin-extra + *, * + .margin-extra {margin-top: 3.5em;}

/* CONTENT */
.block {padding: 2rem 0;}


.col-m-s {width: 33.33%; max-width: 33.33%;}
.col-m-l {width: 66.66%; max-width: 66.66%;}

.it-cols .pad, .col-m .pad {padding: 1.5rem;}
/*.teaser-cap, .col-m .teaser-cap*/ .pad-top-extra {padding-top: 4rem;}

/* single page */
.single-page, .block-last {padding-bottom: 4rem;}

.text-s + .text-l, .text-l + .text-s {margin-top: 0;}
.text-s {width: 30%; max-width: 30%;}
.text-l {width: 70%; max-width: 70%;}

.mc-right .text-s {padding-right: 0.75rem;}
.mc-right .text-l {padding-left: 1.5rem;}
.mc-left .text-s {padding-left: 0.75rem;}
.mc-left .text-l {padding-right: 1.5rem;}

.text-xl {width: 80%;}

.block .text-l {margin-left: auto;}

@supports (position: sticky) {
.sticky {position: sticky; top: 0;}
.side-col .sticky {top: 3rem;}
}

/* accordion */
.accordion.pad {padding: 0 1.5rem;}
.acc-head {padding: 1.5rem 0;}
.acc-head .cross {width: 1.5rem; height: 1.5rem;}
.acc-head span {padding-right: 2rem;}
.acc-cont {padding: 0 0 2rem 0;}

/* side panel */
.side-panel.open {background: rgba(0,0,0,0.5);}
.panel-cont {width: 80%; padding: 4.5rem 4rem;}

.close-btn {right: 4rem;}

.footnotes, .form-head + .form-wrap {padding-top: 2rem;}

/* file upload */
.dd-box {padding: 5rem 3rem;}
.has-advanced-upload .dd-box {outline-offset: -1rem;}
.is-dragover .dd-box {outline-offset: -1.5rem;}

/* FOOTER */
#mf .cols {column-gap: 3rem; justify-content: flex-start;}
#mf .social {width: auto; margin-left: auto; padding-top: 0;}

.mf-top {font-size: 0.875em;}

#back-top {right: 1.25rem;}
}

@media screen and (min-width:74em) {
/***************************** FORMAT *****************************/
.extra {font-size: 4em;}
.headimg .big {font-size: 1.75em;}
.text .extra {font-size: 3.5em; font-size: calc(4em/1.125);}

.col-cap .big {font-size: 2.25em;} /* Job Tiles */

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

/* NAVI */
#mn ul {padding: 5rem 2rem; font-size: 1.5em;}

/* CONTENT */
.entry + .entry {margin-top: 2.5rem;}

/* FOOTER */
#mf .cols {column-gap: 4rem;}
}

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

/***************************** FORMAT *****************************/
.text blockquote > *, .big-intro > p, .lead {font-size: 1.75em;}

/***************************** LAYOUT *****************************/
/* BASIC */
main, #mf {padding-right: 6rem;}
.no-hero {padding-top: 9rem;}
.wrapper {max-width: 88rem;}

/* HEADER */
.mh-inner {padding: 2.5rem 1.75rem 0 4rem;}
#mh.fixed .mh-inner {padding: 0.5rem 1.75rem 0.5rem 4rem;}

#mh.fixed .logo {height: 2.5rem;}

/* NAVI */
#mn ul {padding: 5rem 3rem;}

/* nav pull */
#pull {height: 1.5rem; padding: 0;}

/* IMAGES / SLIDER / MEDIA */
.headimg figcaption {top: 10rem; left: 4rem; width: 50%;}

/* CONTENT */
.block {padding: 2.5rem 0;}
.pad {padding: 1.5rem;}

.it-cols .col-xl .pad, .col-m .pad {padding: 2rem;}

/*.teaser-cap*/ .pad-top-extra {padding-top: 6rem !important;}

.entry + .entry {margin-top: 3rem;}

/* single page */
.single-page, .block-last {padding-bottom: 5rem;}

.mc-right .text-s {padding-right: 1rem;}
.mc-right .text-l {padding-left: 2rem;}
.mc-left .text-s {padding-left: 1rem;}
.mc-left .text-l {padding-right: 2rem;}

/* accordion */
.accordion.pad {padding: 0 2rem;}
.acc-head {padding: 2rem 0;}
.acc-head .cross {width: 1.75rem; height: 1.75rem;}
.acc-cont {padding: 0 0 2.5rem 0;}

/* side panel */
.panel-cont {width: 66.66%; padding: 6.5rem 6rem;}
.close-btn {top: 2rem; right: 6rem;}
}

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

/***************************** LAYOUT *****************************/
/* BASIC */
main, #mf {padding-right: 8rem;}
.wrapper {max-width: 100rem;}

/* NAVI */
#mn ul {padding: 6rem 4rem;}

/* HEADER */
.mh-inner {padding: 2.5rem 2.75rem 0 5rem;}
#mh.fixed .mh-inner {padding: 0.5rem 2.75rem 0.5rem 5rem;}

/* IMAGES / SLIDER / MEDIA */
.headimg figcaption {top: 12rem; left: 5rem;}

/* CONTENT */
.block {padding: 3rem 0;}

.it-cols .col-xl .pad, .col-m .pad {padding: 2.5rem;}

/* single page */
.single-page, .block-last {padding-bottom: 6rem;}
}
/* end responsiveness
--------------------------------------------- */

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

.single-head, .no-pad-bottom {padding-bottom: 0;}

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

@-webkit-keyframes rotate {
0% {transform: translate(-50%,-50%) rotate(0deg);}
100% {transform: translate(-50%,-50%) rotate(360deg);}
}
@-moz-keyframes rotate {
0% {transform: translate(-50%,-50%) rotate(0deg);}
100% {transform: translate(-50%,-50%) rotate(360deg);}
}
@keyframes rotate {
0% {transform: translate(-50%,-50%) rotate(0deg);}
100% {transform: translate(-50%,-50%) rotate(360deg);}
}
