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

body {margin:0; font-family:'Montserrat', sans-serif; font-size: 1em; color: rgba(0,0,0,1); background: rgba(204,236,244,1); line-height: 1.5;}
body.fix, .has-lightbox body {height: 100%; overflow: hidden;}

/***************************** FORMAT *****************************/
h1, h2, .h1 {font-size: 1.75em;} /* .h1 kommt von der Hinweisbox und ist nirgends anders in Verwendung */
h3, h4, h2.small {font-size: 1.375em;}
h5, h6, .col-head h3 {font-size: 1.25em;}
h1, h2, h3, h4, h5, h6, .h1 {line-height: 1.25;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {color: inherit; border: 0 !important; text-decoration: none;}

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

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

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 {font-family:'Montserrat', sans-serif; font-weight: 300;}
p + p, ul + p, ol + p {margin-top: 0.75rem;}
p + ul, p + ol {margin-top: 0.25rem;}
blockquote p, .big {font-size: 1.125em;}

p.bold, .bold, h1, h2, h3, h4, .btn {font-weight: 700;}
p.extra, .extra, .extra p {font-weight: 800;}
b, strong, p.medium, .medium, h5, h6 {font-weight: 600;}

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

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

.center-text {text-align: center;}
.white, .white a, a.white {color: rgba(255,255,255,1);}

footer {font-style: inherit;}
footer li, .filter li, .bc-item {padding: 0;}
footer li:before, .filter li:before, .bc-item:before, .bc-item:last-of-type:after, .meta li:first-of-type:before {content: '';}
footer ul + p {margin-top: 0;}

.bc, .small {font-size: 0.875em;}
.bc-item {display: inline-block;}
.bc-item:after {content: '\002f';}
.bc-item a {padding-right: 0.25rem;}

.meta ul {white-space: nowrap;}
.meta li {display: inline-block;}
.meta li {padding: 0 0 0 0.375rem;}
.meta li:first-of-type {padding: 0;}

/***************************** LINKS/SPANS *****************************/
a {text-decoration: none; color: inherit;}
a, a p, a span, input[type='submit'] {-webkit-transition: color .3s, background .3s, border .3s, opacity .3s; transition: color .3s, background .3s, border .3s, opacity .3s;}
a:hover, .outro a {color: rgba(0,139,208,1);}
.white a:hover, a.white:hover, .outro a:hover, a.color-text:hover, a:hover .color-text, a.blue:hover, a:hover .blue {color: rgba(212,50,23,1);}

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

.color-text, .blue, a.phone.blue, a.phone.blue:hover {color: rgba(0,139,208,1);}
a:hover p {color: rgba(0,0,0,1);}

.img-link {display: block;}

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

.btn {display: inline-block; padding: 0.25rem 0.5rem; background: rgba(0,139,208,1); color: rgba(255,255,255,1);}

path {transition: fill .3s;}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {height: auto; margin: 0 auto; max-width: 32rem; position: relative;}
main {display: block; padding-top: 3.5rem; background: rgba(255,255,255,1);}
.content {padding: 1.5rem 1rem;}
.bc {padding: 1rem 1rem 0 1rem;}
.bc + .content {padding-top: 1rem;}

figure img, picture {width: 100%; display: block;}
.stretch-w img, .stretch-w picture {width: 100%; height: auto;}
.stretch-h img, .stretch-h picture, .sl-small .stretch-w img {width: auto; height: 100%;}

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

.blue-bg, .video {background: rgba(0,139,208,1);}
.light-bg {background: rgba(204,236,244,1);}

/* HEADER */
#main-header {position: absolute; width: 100%; background: rgba(255,255,255,1); z-index: 1; padding: 1rem;}
.logo {width: 10rem; padding-top: 0.25rem;}
.logo a {display: block;}

#main-header.fixed {position: fixed; top: 0; padding: 0.5rem 1rem; border-bottom: 0.25rem solid rgba(0,139,208,1);}

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

#main-nav {width: 100%;}
#main-nav ul {width: 100%; height: auto; display: none; padding: 1rem 0 0 0; font-weight: 600;}
#main-nav ul li {padding: 0; border-top: 1px solid rgba(204,236,244,1);}
#main-nav ul li:first-of-type {border-top: none;}
#main-nav ul li a {padding: 1rem; display: block;}
#main-nav ul li a:hover {color: rgba(0,139,208,1);}
#main-nav ul li.active a, a.active {color: rgba(212,50,23,1);}

/* nav pull */
#pull {width: 2.5rem; height: 2.5rem; padding: 0.125rem 0 1rem 0.75rem; position: absolute; top: 0; right: 0; z-index: 12;}
#main-header.fixed #pull {padding-top: 0.125rem;}

.burger-wrap {position: relative;}

.burger, .burger:before, .burger:after {width: 1.75rem; height: 0.25rem; display: block; position: absolute; background: rgba(0,0,0,1);
-webkit-transition: all 0.3s; -ms-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;
-webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg);}
.open .burger:after {top: 0.5rem; width: 1.75rem;
-webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg);}

/* icon nav */
.icon-nav {display: none;}

/* search */
.field-group {display: -webkit-flex; display: -webkit-box; display: -ms-flexbox; display: flex; flex-flow: row wrap; -ms-flex-wrap: wrap; justify-content: flex-start;}
.field-group .field {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial;}
.even {justify-content: space-between;}

.field-group .f-l, .field-group .f-xl {width: 100%; margin-top: 0.5rem;}
.field-group .f-m {-ms-flex: 2; -webkit-flex: 2; flex: 2;}
.field-group .f-s {-ms-flex: 1; -webkit-flex: 1; flex: 1;}

.search-pull {display: block; width: 1.5rem; height: 1.5rem; position: absolute; right: 2.5rem; top: 0;}
.search-pull:hover path {fill: rgba(0,139,208,1);;}

.search-wrap {padding-top: 1rem;}
.search-wrap .field-group {justify-content: flex-end;}
button, input[type='submit'], input[type='text'], input[type='search'] {line-height: 1.5em; border: none; border-radius: none; -webkit-appearance: none; width: 100%;}
input[type='text'], input[type='search'] {height: 100%; background: none; padding: 0 0.5rem;}

.result {margin: 1rem 0; padding-top: 1rem;}
.result:first-of-type, .result-div + .result {margin-top: 0;}

.result + .result {border-top: 0.125rem solid rgba(204,236,244,1);}

.result .bc {margin-bottom: 0.5rem;}

.result + .result-div {margin-top: 2.5rem; padding-top: 1.5rem; border-top: 0.125rem solid rgba(0,139,208,1);}

/* SLIDER / HEADIMG */
.headimg {position: relative; overflow: hidden;}
.sl-large .slide {max-height: 70vh;}
.sl-large figure {padding-bottom: 50%;}
.sl-small {min-height: 8rem; max-height: 20rem;}
.sl-small figure {padding-bottom: 20%; min-height: 8rem;}
.img-wrap img, .pos-wrap img {position: absolute; top: 50%; left: 50%; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}

.headslider figcaption, .page-title {position: absolute; top: 0; left: 0; width: 100%; padding: 1rem;}
.headslider figcaption {font-size: 1.5em; line-height: 1.25;}
.page-title h1 {width: 75%;}

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

.video + *, * + .video, .text-img + *, * + .text-img {margin-top: 1.5em;}

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

.side-gal, .jf-wrap {overflow-y: scroll; overflow-x: hidden; transition: transform .3s;}
.side-gal-cont {width: 100%; min-height: 101%; padding: 2rem 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;}
.side-gal .small-arrow {display: block; width: 100%; height: 2rem;}

#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/icon.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 arrow */
.small-arrow .arrow {width: 2rem; height: 2rem; position: relative; border-radius: 50%; margin: 0 auto; background: rgba(255,255,255,0.8); opacity: 0.25; transition: opacity .3s, background .3s;}

.small-arrow .arrow:before, .small-arrow .arrow:after {display: block; content: ''; width: 0.125rem; height: 1rem; position: absolute; top: 0.375rem; background: rgba(20,20,20,1); transition: all .3s;}
.small-arrow .arrow:before {left: 0.625rem; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.small-arrow .arrow:after {right: 0.625rem; -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

.open .small-arrow .arrow {background: rgba(0,139,208,1); opacity: 1;}
.open .small-arrow:hover .arrow {background: rgba(212,50,23,1);}
.open .small-arrow .arrow:before, .open .small-arrow .arrow:after {top: 0.5rem; background: rgba(255,255,255,1);}
.open .small-arrow .arrow:before {left: 0.9375rem;}
.open .small-arrow .arrow:after {right: 0.9375rem;}

/* CONTENT */
.block + .block, .single-text + .big-gap, .single-text + .columns, .single-text article + article {margin-top: 1.5rem;} /*.single-text + .single-text, .single-text + .columns*/

.single-text, .columns, .single-page {padding-bottom: 1rem;}
.img-wrap {position: relative; padding-bottom: 56.25%; overflow: hidden;}

.col + .col, /*.single-text article + article,*/ .bc + .block {margin-top: 1rem;}
.block + .small-gap, .small-gap + .small-gap {margin-top: 0;}

.img-wrap + .text, .text + .text, .simple-img + .text {margin-top: 1em;} /* .simple-img kommt von der Hinweisbox und ist nirgends anders in Verwendung */
.text + .img-wrap {margin-top: 1.5em;}

.col-head {padding: 0 0 0.25rem 0;}
.col-img + .col-text {padding: 0.5rem 0 0 0;}
.light-bg .col-text {padding: 0.5rem;}

.small-pad {padding: 0.25rem 1rem;} /* .simple-img kommt bei dem Link für die Hinweisbox vor und ist nirgends anders in Verwendung */

/* single page */
.sidecol .text-s + .text-l, .sidecol .text-l + .text-s, .sidecol-rev .text-s + .text-l {margin-top: 1.25rem;}

.single-head {padding-bottom: 0.75rem;}

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

/* NEWS */
.filter ul {display: none;}
.filter-pull {display: block; position: relative;}
.filter-pull .plus:before, .filter-pull .plus:after {background: rgba(0,0,0,1); transition: transform .3s;}
.open .filter-pull .plus:after {-ms-transform: translate(-50%,-50%) rotate(90deg); -webkit-transform: translate(-50%,-50%) rotate(90deg); transform: translate(-50%,-50%) rotate(90deg);}

.meta {width: 100%; padding: 0.125rem 0.25rem;}
.img-wrap .meta { position: absolute; left: 0; bottom: 0;}
@media (hover:hover) {
.img-wrap .meta {-ms-transform: translateY(100%); -webkit-transform: translateY(100%); transform: translateY(100%); transition: transform .3s;}
a:hover .img-wrap .meta {-ms-transform: translateY(0); -webkit-transform: translateY(0); transform: translateY(0);}
}

.filter .active {padding-left: 1.25em; position: relative;}
.filter .active:before, .filter .active:after {display: block; content: ''; width: 0.875em; height: 0.1875em; background: rgba(212,50,23,1); position: absolute; left: 0; top: 50%;}
.filter .active:before {-ms-transform: translateY(-50%) rotate(45deg); -webkit-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg);}
.filter .active:after {-ms-transform: translateY(-50%) rotate(-45deg); -webkit-transform: translateY(-50%) rotate(-45deg); transform: translateY(-50%) rotate(-45deg);}

/* pagination */
.pagination {width: 100%; padding-top: 1rem;}

.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; background: rgba(0,139,208,1);}
.pagination ul li.disabled, a.disabled {opacity: 0.5; pointer-events: none;}

.pagination ul li a:hover, .pagination ul li a.active {color: rgba(255,255,255,1); background: rgba(212,50,23,1);}

/* footer nav poup */
.footer-nav {padding-top: 2rem;}
.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: 1.25rem;}
.footer-nav .next-art a {padding-right: 1.25rem;}

.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%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); transition: all .3s; -webkit-transition: all .3s;}
*/

.footer-nav .prev-art a:after, .footer-nav .next-art a:after {content: ''; width: 0; height: 0; position: absolute; top: 50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); transition: all .3s; -webkit-transition: all .3s; border-style: solid;}

.footer-nav .prev-art a:after {left: 0; border-width: 0.5rem 0.875rem 0.5rem 0; border-color: transparent rgba(0,0,0,1) transparent transparent;}
.footer-nav .next-art a:after {right: 0; border-width: 0.5rem 0 0.5rem 0.875rem; border-color: transparent transparent transparent rgba(0,0,0,1);}
.footer-nav .prev-art a:hover:after {border-right-color: rgba(0,139,208,1);}
.footer-nav .next-art a:hover:after {border-left-color: rgba(0,139,208,1);}

/* FOOTER */
#main-footer {padding: 1rem; border-top: 0.5rem solid rgba(0,139,208,1);}
.address {margin-top: 1rem;}

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

.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.75rem; height: 2.75rem; position: fixed; right: 1rem; bottom: 1rem; display: none; z-index: 100;}
#back-top a, #back-top a:active {width: 2.75rem; height: 2.75rem; display: block; padding: 0.625rem 0.25rem; background: rgba(204,236,244,1); border-radius: 20%; -webkit-border-radius: 20%; opacity: 0.3; transition: opacity 0.3s; border: 0.125rem solid rgba(0,139,208,1);}
#back-top a:hover {opacity: 1;}
#back-top .arrow {width: 2rem; height: 1.25rem; position: relative;}

#back-top a:hover .arrow {-ms-animation: pulse 0.5s 1; -webkit-animation: pulse 0.5s 1; 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
--------------------------------------------- */

/* medium */
@media screen and (min-width:48em) {
/***************************** FORMAT *****************************/
.footer ul {white-space: nowrap;}
.footer li {display: inline-block; padding-right: 0.5rem;}
.footer li:after {content: '\00b7'; position: absolute; right: 0; bottom: 0;}
.footer li:last-of-type:after {content: '';}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 45rem;}
main {padding-top: 3.75rem;}
.content {padding: 2rem 0 1.5rem 0;}
.bc {padding: 1rem 0 0 0;}
.bc + .content {padding-top: 1.5rem;}

/* HEADER */
.logo {width: 12rem;}

/*#main-header.fixed #pull {padding-top: 0.375rem;}*/
.sl-small .stretch-w img {width: 100%; height: auto;}

/* NAVI */
/* nav pull */
#pull {top: 0.25rem; right: 0.5rem;}

/* search */
.search-pull {top: 0.25rem; right: 3rem;}

.search-wrap {padding-left: 14rem;}

/* SLIDER / HEADIMG */
.sl-small figure {min-height: auto;}
.headslider figcaption, .page-title h1 {font-size: 2em;}
.headslider figcaption, .page-title {padding: 2rem 0;}

/* gallery*/
.side-gal-cont {padding: 2rem 2rem 1rem 2rem;}
.side-inner {padding-bottom: 1.5rem;}

.close-btn {right: 2rem;}

/* CONTENT */
.block + .block, .single-text + .big-gap, .single-text + .columns, .single-text article + article {margin-top: 2rem;}
.simple-pad {padding-left: 0.5rem; padding-right: 0.5rem;}

.single-text, .columns, .single-page {padding-bottom: 2rem;}

.single-text {max-width: 34rem; margin: 0 auto;}

.small-pad {padding: 0.375rem 0.5rem;}

/* columns */
.columns {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;}
.centered {justify-content: center;}
.col {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left; padding: 1rem 0.5rem 0 0.5rem;}
.col + .col {margin-top: 0;}

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

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

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

.col-inner {height: 100%;}

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

/* NEWS */
.filter {padding: 0 0.5rem;}

/* 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 */
#main-footer {padding: 1rem 0;}
}

/* large */
@media screen and (min-width:64em) {

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 61.5rem;}
main {padding-top: 4.25rem;}

.content {padding: 2.5rem 0 1.5rem 0;}

/* HEADER */
.logo {width: 14rem;}

/* NAVI */
/* nav pull */
#pull {right: 0.75rem;}

/* icon nav */
.icon-nav {display: block; width: 100%; position: absolute; left: 0; bottom: 0;}
.icon-nav-wrap {width: 100%; max-width: 60.5rem; margin: 0 auto;}
.icon-nav .columns {padding-bottom: 0; justify-content: space-evenly;}
.icon-nav .col {flex-grow: 1; padding: 0 0.25rem;}
.icon-nav a {display: block; width: 100%; height: 100%; padding: 0.5rem; color: rgba(255,255,255,1); position: relative;}
.icon-nav span {font-size: 0.75em; display: block; width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}

.icon-nav a:hover, .icon-nav .inv a {opacity: 0.3;}
.icon-nav .inv a:hover, .icon-nav .inv .active {opacity: 1;}

.col-1 .col {width: 100%;}
.col-2 .col {width: 50%;}
.col-3 .col {width: 33.33%;}
.col-4 .col {width: 25%;}
.col-5 .col {width: 20%;}
.col-6 .col {width: 16.66%;}

.icon-nav .icon-wrap {position: relative; width: 100%; max-width: 14rem;}
.icon-nav figure {position: relative; width: 100%; height: 0; padding-bottom: 60%;}
.icon-nav img {position: absolute; width: 80%; top: 0.25rem; left: 0;}

/* search */
.search-pull {right: 3.25rem;}
.search-wrap {padding-left: 50%;}

.result {margin: 1.5rem 0; padding-top: 1.5rem;}
.result + .result-div {margin-top: 4.5rem; padding-top: 2rem;}

/* SLIDER / HEADIMG */
.headslider figcaption, .page-title h1 {font-size: 2.5em;}
.headslider figcaption, .page-title {padding: 3rem 0;}

/* gallery*/
.side-gal, .jf-wrap {background: rgba(0,0,0,0.25);}
.side-gal-cont {width: 60%; padding: 4.375rem 3rem 2rem 3rem; background: rgba(255,255,255,1);}
.side-inner {padding-bottom: 2rem;}

.close-btn {right: 3rem; top: 2.25rem;}


/* CONTENT */
.single-text {max-width: 38rem;}
.single-text article + article {margin-top: 2.5rem;}

.simple-pad {padding-left: 0.75rem; padding-right: 0.75rem;}

.small-pad {padding: 0.5rem 0.75rem;}

/* columns */
.col-m {width: 33.33%; max-width: 33.33%;}

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

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

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

.text-cols .col-inner {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;}
.text-cols .col-img, .text-cols .col-text {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left; width: 50%; max-width: 50%;}
.text-cols:nth-of-type(2n+2) .col-inner {flex-flow: row-reverse;}
.text-cols .img-wrap {height: 100%; padding-bottom: 66.66%;}
.text-cols .col-text {padding: 0.75rem;}

/* single page */
.single-page {}

.sidecol .text-s + .text-l, .sidecol .text-l + .text-s, .sidecol-rev .text-s + .text-l {margin-top: 0;}
.sidecol .text-s, .sidecol .text-l {float: left;}
.sidecol-rev .text-s, .sidecol-rev .text-l {float: right;}
.sidecol .text-s, .sidecol-rev .text-s {width: 30%}
.sidecol .text-l, .sidecol-rev .text-l {width: 70%}

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

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

/* NEWS */
.filter {padding-right: 0;}
.filter ul {display: block;}
.filter-pull .plus {display: none;}

/* FOOTER */
#main-footer {padding: 1.5rem 0; border-top-width: 1rem;}

.address {margin-top: 0; float: left;}
.legal {float: right;}
}

@media screen and (min-width:74em) {

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

/* HEADER */
.logo {width: 16rem;}

/* NAVI */
#main-nav {position: absolute; right: 0.75rem; top: 0; background: none; width: 75%; padding-right: 2rem;}
#main-nav ul {display: block; text-align: right; padding: 0; 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-end;}
#main-nav ul li {border-top: none; -webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left;}
#main-nav ul li a {padding: 1rem 0.375rem;}

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

/* icon nav */
.icon-nav-wrap {max-width: 70.5rem;}
.icon-nav span {font-size: 0.875em;}

/* search */
.search-pull {right: 0; top: 0.75rem;}

/* SLIDER */
.headslider figcaption, .page-title h1 {font-size: 2.75em;}

/* CONTENT */
.col-img + .col-text {padding: 0.75rem 0 0 0;}
.light-bg .col-text {padding: 0.75rem;}
.text-cols .col-text {padding: 1rem;}

}

@media screen and (min-width:100em) {
/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 76rem;}
main {padding-top: 4.5rem;}
.content {padding: 3rem 0 1.5rem 0;}

/* HEADER */
.logo {width: 18rem;}

/* NAVI */
#main-nav ul li a {padding: 1rem 0.5rem;}

/* icon nav */
.icon-nav-wrap {max-width: 76.5rem;}

.side-gal-cont {width: 55%;}
}

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

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

/* HEADER */
.logo {width: 20rem;}

/* NAVI */
/* icon nav */
.icon-nav-wrap {max-width: 90.5rem;}

.side-gal-cont {width: 50%;}

/* CONTENT */
.single-text, .columns, .single-page {padding-bottom: 3rem;}

.single-text {max-width: 42rem;}
}
/* end responsiveness
--------------------------------------------- */

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

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

.side-inner .single-text {max-width: 100%;}
