body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
header,footer,nav,section,aside,main,article,figure,figcaption{display:block}body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse}caption,th,td{text-align:left;text-align:start;vertical-align:top}abbr,acronym{font-variant:normal;border-bottom:1px dotted #666;cursor:help}blockquote,q{quotes:none}fieldset,img,iframe{border:0}ul{list-style-type:none}sup{vertical-align:text-top}sub{vertical-align:text-bottom}del{text-decoration:line-through}ins{text-decoration:none}body{font:12px/1 "Lucida Grande","Lucida Sans Unicode",Verdana,sans-serif;color:#000}input,button,textarea,select{font-family:inherit;font-size:99%;font-weight:inherit}pre,code{font-family:Monaco,monospace}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}h1{font-size:1.8333em}h2{font-size:1.6667em}h3{font-size:1.5em}h4{font-size:1.3333em}table{font-size:inherit}caption,th{font-weight:700}a{color:#00f}h1,h2,h3,h4,h5,h6{margin-top:1em}h1,h2,h3,h4,h5,h6,p,pre,blockquote,table,ol,ul,form{margin-bottom:12px}
.mobile_menu{position:fixed;z-index:100;display:none}.mobile_menu .inner{height:100%;background:#000;overflow-y:scroll}.mobile_menu.active.position_left{box-shadow:2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_top{box-shadow:0 2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_right{box-shadow:-2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_bottom{box-shadow:0 -2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.no_shadow{box-shadow:none!important}.mobile_menu_trigger{display:none}.mobile_menu_wrapper{position:relative;width:100%;overflow:hidden}.mobile_menu_overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:99}.mobile_menu_overlay.background{background:rgba(0,0,0,.5)}.mobile_menu li.submenu_hide>ul{display:none}.mobile_menu li.submenu_show>ul{display:block}body.ie8 .mobile_menu,body.ie8 .mobile_menu_trigger,body.ie9 .mobile_menu,body.ie9 .mobile_menu_trigger{display:none!important}
.rs-columns {
  clear: both;
  display: inline-block;
  width: 100%;
}

.rs-column {
  float: left;
  width: 100%;
  margin-top: 7.69231%;
  margin-right: 7.69231%;
}
.rs-column.-large-first {
  clear: left;
}
.rs-column.-large-last {
  margin-right: -5px;
}
.rs-column.-large-first-row {
  margin-top: 0;
}
.rs-column.-large-col-1-1 {
  width: 100%;
}
.rs-column.-large-col-2-1 {
  width: 46.15385%;
}
.rs-column.-large-col-2-2 {
  width: 100%;
}
.rs-column.-large-col-3-1 {
  width: 28.20513%;
}
.rs-column.-large-col-3-2 {
  width: 64.10256%;
}
.rs-column.-large-col-3-3 {
  width: 100%;
}
.rs-column.-large-col-4-1 {
  width: 19.23077%;
}
.rs-column.-large-col-4-2 {
  width: 46.15385%;
}
.rs-column.-large-col-4-3 {
  width: 73.07692%;
}
.rs-column.-large-col-4-4 {
  width: 100%;
}
.rs-column.-large-col-5-1 {
  width: 13.84615%;
}
.rs-column.-large-col-5-2 {
  width: 35.38462%;
}
.rs-column.-large-col-5-3 {
  width: 56.92308%;
}
.rs-column.-large-col-5-4 {
  width: 78.46154%;
}
.rs-column.-large-col-5-5 {
  width: 100%;
}
.rs-column.-large-col-6-1 {
  width: 10.25641%;
}
.rs-column.-large-col-6-2 {
  width: 28.20513%;
}
.rs-column.-large-col-6-3 {
  width: 46.15385%;
}
.rs-column.-large-col-6-4 {
  width: 64.10256%;
}
.rs-column.-large-col-6-5 {
  width: 82.05128%;
}
.rs-column.-large-col-6-6 {
  width: 100%;
}
@media screen and (max-width: 900px) {
  .rs-column {
    margin-top: 7.69231%;
    margin-right: 7.69231%;
  }
  .rs-column.-large-first {
    clear: none;
  }
  .rs-column.-large-last {
    margin-right: 7.69231%;
  }
  .rs-column.-large-first-row {
    margin-top: 7.69231%;
  }
  .rs-column.-medium-first {
    clear: left;
  }
  .rs-column.-medium-last {
    margin-right: -5px;
  }
  .rs-column.-medium-first-row {
    margin-top: 0;
  }
  .rs-column.-medium-col-1-1 {
    width: 100%;
  }
  .rs-column.-medium-col-2-1 {
    width: 46.15385%;
  }
  .rs-column.-medium-col-2-2 {
    width: 100%;
  }
  .rs-column.-medium-col-3-1 {
    width: 28.20513%;
  }
  .rs-column.-medium-col-3-2 {
    width: 64.10256%;
  }
  .rs-column.-medium-col-3-3 {
    width: 100%;
  }
  .rs-column.-medium-col-4-1 {
    width: 19.23077%;
  }
  .rs-column.-medium-col-4-2 {
    width: 46.15385%;
  }
  .rs-column.-medium-col-4-3 {
    width: 73.07692%;
  }
  .rs-column.-medium-col-4-4 {
    width: 100%;
  }
  .rs-column.-medium-col-5-1 {
    width: 13.84615%;
  }
  .rs-column.-medium-col-5-2 {
    width: 35.38462%;
  }
  .rs-column.-medium-col-5-3 {
    width: 56.92308%;
  }
  .rs-column.-medium-col-5-4 {
    width: 78.46154%;
  }
  .rs-column.-medium-col-5-5 {
    width: 100%;
  }
  .rs-column.-medium-col-6-1 {
    width: 10.25641%;
  }
  .rs-column.-medium-col-6-2 {
    width: 28.20513%;
  }
  .rs-column.-medium-col-6-3 {
    width: 46.15385%;
  }
  .rs-column.-medium-col-6-4 {
    width: 64.10256%;
  }
  .rs-column.-medium-col-6-5 {
    width: 82.05128%;
  }
  .rs-column.-medium-col-6-6 {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .rs-column {
    margin-top: 7.69231%;
    margin-right: 7.69231%;
  }
  .rs-column.-large-last {
    margin-right: 7.69231%;
  }
  .rs-column.-large-first-row {
    margin-top: 7.69231%;
  }
  .rs-column.-medium-first {
    clear: none;
  }
  .rs-column.-medium-last {
    margin-right: 7.69231%;
  }
  .rs-column.-medium-first-row {
    margin-top: 7.69231%;
  }
  .rs-column.-small-first {
    clear: left;
  }
  .rs-column.-small-last {
    margin-right: -5px;
  }
  .rs-column.-small-first-row {
    margin-top: 0;
  }
  .rs-column.-small-col-1-1 {
    width: 100%;
  }
  .rs-column.-small-col-2-1 {
    width: 46.15385%;
  }
  .rs-column.-small-col-2-2 {
    width: 100%;
  }
  .rs-column.-small-col-3-1 {
    width: 28.20513%;
  }
  .rs-column.-small-col-3-2 {
    width: 64.10256%;
  }
  .rs-column.-small-col-3-3 {
    width: 100%;
  }
  .rs-column.-small-col-4-1 {
    width: 19.23077%;
  }
  .rs-column.-small-col-4-2 {
    width: 46.15385%;
  }
  .rs-column.-small-col-4-3 {
    width: 73.07692%;
  }
  .rs-column.-small-col-4-4 {
    width: 100%;
  }
  .rs-column.-small-col-5-1 {
    width: 13.84615%;
  }
  .rs-column.-small-col-5-2 {
    width: 35.38462%;
  }
  .rs-column.-small-col-5-3 {
    width: 56.92308%;
  }
  .rs-column.-small-col-5-4 {
    width: 78.46154%;
  }
  .rs-column.-small-col-5-5 {
    width: 100%;
  }
  .rs-column.-small-col-6-1 {
    width: 10.25641%;
  }
  .rs-column.-small-col-6-2 {
    width: 28.20513%;
  }
  .rs-column.-small-col-6-3 {
    width: 46.15385%;
  }
  .rs-column.-small-col-6-4 {
    width: 64.10256%;
  }
  .rs-column.-small-col-6-5 {
    width: 82.05128%;
  }
  .rs-column.-small-col-6-6 {
    width: 100%;
  }
}

.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}
/* ============================================================================
   0. THEME VARIABLES
   Change these values to update fonts and colors globally.
   ========================================================================= */

:root {
    /* Fonts */
    --font-heading: "Barlow", sans-serif;
    --font-paragraph: "Barlow", sans-serif;
    --font-heading-weight: 100; /* Barlow Thin */
    --font-paragraph-weight: 100; /* Barlow Thin */

    /* Core palette */
    --color-white: #fff;
    --color-black: #000;
    --color-gray-light: #dcdcdc;
    --color-gray-medium: #9b9b9b;
    --color-gray-dark: #282828;
    --color-blue-dark: #000;
    --color-gray-super-light: #f5f5f5;

    /* Shared open/close menu control geometry */
    --menu-control-size: 44px;
    --menu-control-padding: 8px;
    --menu-control-right: 3vw;
    --header-padding-y: 25px;
    --menu-control-top: var(--header-padding-y);

    /* Transparent / overlay colors */
    --color-white-40: rgba(255, 255, 255, 0.4);
    --color-black-0: rgba(0, 0, 0, 0);
    --color-black-40: rgba(0, 0, 0, 0.4);
    --color-black-70: rgba(0, 0, 0, 0.7);
    --color-black-100: rgba(0, 0, 0, 1);
    --color-surface-dark-75: rgba(18, 18, 18, 0.75);
    --color-surface-dark-50: rgba(31, 31, 31, 0.5);
}


/* ============================================================================
   1. ANIMATIONS
   ========================================================================= */

h1, h2, p {
    animation: fadeIn; /* keyframes provided by animate.css (CDN) */
    animation-duration: 1.2s;
}

@keyframes translateAfter {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(0, 0.14em); }
}

@keyframes translateBefore {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(0, -0.14em); }
}


@keyframes menuFadeIn {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ============================================================================
   2. LANDSCAPE / DESKTOP
   ========================================================================= */

@media screen and (min-width: 980px) {


    /* Layout */
    p, h1, h2, h3{
       margin: auto;
    }    
    section {
        margin: 100px 20%;
    }

    .portrait {
        display: none;
    }

    /* Header / navigation */

    .mod_navigation ul {
        float: right;
    }

    .mod_navigation li {
        float: left;
    }

    .mod_navigation li {
        font: var(--font-paragraph-weight) 16.5px var(--font-paragraph);
        text-decoration: none;
        margin-top: 18px;
        margin-left: 12px;
        margin-right: 12px;
    }

    /* Lottie players */
    #footer .ce_lottie_player,
    #hero .ce_lottie_player {
        padding: 10% 5% 15% 10%;
    }

    #footer .ce_lottie_player {
        width: 30%;
        float: left;
    }

    /* Footer */
    #footer .content-text {
        margin-right: 8%;
    }

    .mod_newsletterSubscribeNotificationCenter div:first-child {
        padding-right: 2%;
        flex: 0 0 25%;
    }

    /* Typography */
    h1 {
        font-size: 54px;
        line-height: 62px;
        margin-top: 60px;
        margin-bottom: 60px;
    }

    h2 {
        font-size: 32px;
        line-height: 48px;
        margin-top: 60px;
        margin-bottom: 60px;
    }

    h3 {
        margin-top: 0;
        margin-bottom: 0;
        font-size: 32px;
        line-height: 48px;
    }

    p,
    #container a,
    #footer a,
    #container li,
    #footer li,
    figcaption {
        font-size: 24px;
        line-height: 36px;
    }

}


/* ============================================================================
   3. MAIN
   ========================================================================= */

/* --- Base ---------------------------------------------------------------- */

body {
    background-color: var(--color-white);
    padding-top: 102px;
}

#container {
    padding: 3%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 100px;
}

#footer {
    padding: 3%;
}

#footer-content {
    margin-top: 30px;
}

iframe {
    width: 100%;
    height: 100vh;
}

video {
    width: 100%;
}

p {
    hyphens: auto;
    color: var(--color-black);
}

ul {
    list-style-type: disc;
}

ul,
ol {
    list-style-position: outside;
    padding-left: 30px;
}

.mod_article {
    overflow: visible;
}

section > * {
    margin-left: auto;
    margin-right: auto;
}

section.summary {
    padding-top: 40px;
    padding-bottom: 40px;
}

section.quote {
    margin: 0;
    padding-top: 30%;
    padding-bottom: 30%;
    text-align: center;
}

/* --- Header / navigation -------------------------------------------------- */

#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
    box-sizing: border-box;
    min-height: 0;
    margin-top: 0;
    padding: var(--header-padding-y) 3%;
    background: rgba(245, 245, 245, 0.52);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/*
 * Header row:
 * logo left, Contact + menu trigger aligned together on the right.
 */
#header > .inside {
    display: flex;
    align-items: center;
    gap: 40px;
}

#logo {
    flex: 0 1 auto;
    margin-right: auto;
}

#logo a,
#logo img {
    display: block;
}

#logo img {
    position: static;
    width: clamp(150px, 24vw, 250px);
    height: auto;
    padding: 0;
}

/* Both mobile-menu modules sit on the same header row */
#contact,
#navigation {
    flex: 0 0 auto;
    margin: 0;
}

#contact .mobile_menu_trigger {
    display: block;
}

#navigation .mobile_menu_trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 0;
}

/* Shared trigger geometry */
#contact .mobilemenu,
#navigation .mobilemenu {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 44px;
    margin: 0;
    float: none;
    cursor: pointer;
}

/* Contact trigger */
#contact .mobilemenu {
    min-width: 92px;
    padding: 9px 16px;
    border: 1px solid var(--color-black);
    border-radius: 0;
}

#contact .mobilemenu p {
    margin: 0;
    padding: 0;
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    font-size: 16.5px;
    line-height: 1;
    color: var(--color-blue-dark);
    animation: none;
}

/* Navigation trigger */
#navigation {
    width: var(--menu-control-size);
    height: var(--menu-control-size);
}

#navigation .mobilemenu {
    position: fixed;
    top: var(--menu-control-top);
    right: var(--menu-control-right);
    z-index: 99999;
    width: var(--menu-control-size);
    height: var(--menu-control-size);
    min-height: var(--menu-control-size);
    padding: var(--menu-control-padding);
    line-height: 0;
}

#navigation .menu-icon {
    display: block;
    width: 28px;
    height: 28px;
    margin-top: 12px;
    object-fit: contain;
    object-position: center;
    vertical-align: middle;
}

/* Small interaction polish */
#contact .mobilemenu,
#navigation .mobilemenu {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

#contact .mobilemenu:hover,
#navigation .mobilemenu:hover {
    opacity: 0.72;
}

#contact .mobilemenu:active,
#navigation .mobilemenu:active {
    transform: translateY(1px);
}

.mod_navigation a,
.mod_navigation li,
.mod_navigation .active {
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    font-size: 16.5px;
    line-height: 1.4;
    text-decoration: none;
    color: var(--color-blue-dark);
    list-style-type: none;
}

.mod_navigation li.first a:hover {
    box-shadow: none;
    outline: none;
    border: none;
    border-bottom: 3px solid var(--color-white-40);
}

/* --- Image caption overlay ------------------------------------------------ */

.content-image figure {
    position: relative;
    overflow: hidden;
}

.content-image figcaption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;

    box-sizing: border-box;
    padding: 14px 20px;

    text-align: center;
    color: var(--color-black);

    background: rgba(245, 245, 245, 0.52);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    pointer-events: none;
}


/* --- Mobile menu overlay --------------------------------------------------- */
/*
 * These rules intentionally live at top level, not inside a media query.
 * The menu extension decides when the overlay is shown; CSS only styles it.
 */
.mobile_menu {
    position: fixed !important;
    z-index: 100000 !important; /* above logo (999) and catalog (9999) */
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    color: var(--color-black);
    background: var(--color-gray-super-light);
    box-shadow: none !important;
    isolation: isolate;
}

.mobile_menu .inner {
    box-sizing: border-box;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(80px, 10vh, 110px)
        clamp(24px, 8vw, 64px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    color: var(--color-black);
    background: var(--color-gray-super-light);
}

/* Menu navigation */
.mobile_menu .mod_customnav,
.mobile_menu .mod_navigation {
    width: min(100%, 680px);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* Keep the actual UL/LI menu block vertically centered in either popup. */
.mobile_menu .mod_customnav > ul,
.mobile_menu .mod_navigation > ul {
    width: 100%;
}

.mobile_menu .mod_customnav > ul,
.mobile_menu .mod_navigation > ul {
    float: none;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mobile_menu .mod_customnav li,
.mobile_menu .mod_navigation li {
    float: none;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mobile_menu .mod_customnav a,
.mobile_menu .mod_customnav strong,
.mobile_menu .mod_customnav span,
.mobile_menu .mod_navigation a,
.mobile_menu .mod_navigation .active,
.mobile_menu .mod_navigation strong,
.mobile_menu .mod_navigation span {
    display: block;
    padding: 0.3em 0;
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    font-size: clamp(30px, 8vw, 46px);
    line-height: 1.12;
    text-decoration: none;
    color: var(--color-black);
}

.mobile_menu .mod_customnav a:hover,
.mobile_menu .mod_customnav a:focus-visible,
.mobile_menu .mod_customnav .active,
.mobile_menu .mod_navigation a:hover,
.mobile_menu .mod_navigation a:focus-visible,
.mobile_menu .mod_navigation .active {
    color: var(--color-black);
    opacity: 0.72;
}

/* Fade menu items in when the extension marks the overlay active */
.mobile_menu .mod_customnav > ul > li,
.mobile_menu .mod_navigation > ul > li {
    opacity: 0;
}

.mobile_menu.active .mod_customnav > ul > li,
.mobile_menu.active .mod_navigation > ul > li {
    animation: menuFadeIn 0.65s ease both;
}

.mobile_menu.active .mod_customnav > ul > li:nth-child(1) { animation-delay: 0.05s; }
.mobile_menu.active .mod_customnav > ul > li:nth-child(2) { animation-delay: 0.12s; }
.mobile_menu.active .mod_customnav > ul > li:nth-child(3) { animation-delay: 0.19s; }
.mobile_menu.active .mod_customnav > ul > li:nth-child(4) { animation-delay: 0.26s; }
.mobile_menu.active .mod_customnav > ul > li:nth-child(5) { animation-delay: 0.33s; }
.mobile_menu.active .mod_customnav > ul > li:nth-child(6) { animation-delay: 0.40s; }
.mobile_menu.active .mod_customnav > ul > li:nth-child(n+7) { animation-delay: 0.47s; }

.mobile_menu.active .mod_navigation > ul > li:nth-child(1) { animation-delay: 0.05s; }
.mobile_menu.active .mod_navigation > ul > li:nth-child(2) { animation-delay: 0.12s; }
.mobile_menu.active .mod_navigation > ul > li:nth-child(3) { animation-delay: 0.19s; }
.mobile_menu.active .mod_navigation > ul > li:nth-child(4) { animation-delay: 0.26s; }
.mobile_menu.active .mod_navigation > ul > li:nth-child(5) { animation-delay: 0.33s; }
.mobile_menu.active .mod_navigation > ul > li:nth-child(6) { animation-delay: 0.40s; }
.mobile_menu.active .mod_navigation > ul > li:nth-child(n+7) { animation-delay: 0.47s; }

/* Any extra content in the overlay uses black text on the light background */
.mobile_menu p,
.mobile_menu li,
.mobile_menu h1,
.mobile_menu h2,
.mobile_menu h3,
.mobile_menu h4,
.mobile_menu h5,
.mobile_menu h6,
.mobile_menu a {
    color: var(--color-black);
}

/* Close control */
.mobile_menu [data-mobile-menu="close"],
.mobile_menu .mm-close,
.mobile_menu .close {
    position: fixed;
    top: var(--menu-control-top);
    right: var(--menu-control-right);
    z-index: 100002;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--menu-control-size);
    height: var(--menu-control-size);
    min-height: var(--menu-control-size);
    padding: var(--menu-control-padding);
    box-sizing: border-box;
    cursor: pointer;
    color: var(--color-black);
}

/* Black SVG loaded as an <img> */
.mobile_menu [data-mobile-menu="close"] img,
.mobile_menu .mm-close img,
.mobile_menu .close img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: none;
}

/* Inline SVG */
.mobile_menu [data-mobile-menu="close"] svg,
.mobile_menu .mm-close svg,
.mobile_menu .close svg {
    width: 100%;
    height: 100%;
    fill: var(--color-black) !important;
    stroke: var(--color-black) !important;
}

.mobile_menu [data-mobile-menu="close"] svg *,
.mobile_menu .mm-close svg *,
.mobile_menu .close svg * {
    fill: inherit !important;
    stroke: inherit !important;
}

/* --- Hero / background media ---------------------------------------------- */

#hero {
    position: relative;
    overflow: hidden;
}

/*
 * Only create hero space when Contao actually renders a page image.
 * If the hero is empty on a subpage, it collapses to 0 height.
 */
#hero:has(.mod_pageimage img) {
    min-height: 600px;
}

#hero > .inside {
    position: relative;
}

#hero:has(.mod_pageimage img) > .inside {
    min-height: 600px;
    display: flex;
    align-items: center;
}

/* Hero image as full-size background layer */
#hero .mod_pageimage {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
}

#hero .mod_pageimage figure {
    width: 100%;
    height: 100%;
    margin: 0;
}

#hero .mod_pageimage img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*
 * White wash over the image only.
 * Increase 0.85 toward 1 for an even whiter image.
 */
#hero .mod_pageimage::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.7);
    z-index: 1;
    pointer-events: none;
}

/* Hero content stays fully opaque above image + overlay */
#hero .mod_article {
    position: relative;
    z-index: 2;
    width: 100%;
}


#overlay-mainvisual {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
}

.animation {
    background-color: var(--color-black-70);
}

.content-player {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

.video_container video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: 100%;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: -1;
}

#symbol {
    position: relative;
    margin: auto;
    padding-top: 200px;
    padding-bottom: 200px;
}


/* --- Responsive columns spacing ------------------------------------------- */

.rs-columns {
    margin-top: 60px;
    margin-bottom: 60px;
}

/* --- Gallery --------------------------------------------------------------- */

.content-gallery {
    margin-top: 40px;
    margin-bottom: 20px;
}

.content-gallery > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.content-gallery > ul > li {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.content-gallery figure {
    margin: 0;
}

.content-gallery a {
    display: block;
}

.content-gallery img {
    display: block;
    width: 100%;
    height: auto;
}

/* --- Single images: use the same layout/style as the gallery --------------
 * The text and the normal Contao gallery span the full width.
 * The individual .content-image elements form the same 2-column grid.
 * GLightbox itself still requires the images to be wrapped in links; see JS.
 */

#article-208 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

#article-208 > .content-text,
#article-208 > .content-gallery {
    grid-column: 1 / -1;
}

#article-208 > .content-image {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

#article-208 > .content-image figure {
    margin: 0;
}

#article-208 > .content-image a {
    display: block;
}

#article-208 > .content-image img {
    display: block;
    width: 100%;
    height: auto;
}

/* --- Catalog strip -------------------------------------------------------- */

#catalog {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: var(--color-black-40);
    z-index: 9999;
}

#catalog ul {
    overflow-x: auto;
}

#catalog li img {
    max-height: 150px;
    min-width: 140px;
}

.catalog-list {
    display: flex;
    list-style-type: none;
    padding: 0;
    margin: 0;
    overflow: visible;
    z-index: 1000;
}

.catalog-list li {
    margin: 1%;
}

.catalog-list li img {
    filter: brightness(60%);
    transition: transform 0.3s ease, filter 0.3s ease;
}

.catalog-list li:hover img {
    transform: scale(1.2);
    filter: brightness(100%);
    z-index: 999;
    overflow: visible;
}

.catalog #main {
    height: 35vh;
    float: right;
}

.app-icon img {
    border-radius: 15px;
}

/* --- Footer --------------------------------------------------------------- */

#footer,
.inside {
    overflow: visible;
    position: relative;
}

#footer {
    font-size: 22px;
    line-height: 32px;
    min-height: 300px;
    color: var(--color-black);
    padding-bottom: 200px;
    background-color: var(--color-gray-super-light);
}

/* Keep all normal footer typography black */
#footer p,
#footer a,
#footer li,
#footer figcaption,
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6 {
    color: var(--color-black);
}

.catalog #footer .content-gallery {
    margin-top: 100px;
}

.catalog #footer .content-image h1 {
    float: none;
}

#address {
    margin-top: 200px;
    text-align: center;
}

#made-possible {
    margin-bottom: 100px;
}

#outreach,
#copyright {
    text-align: center;
    text-wrap: balance;
}

#copyright {
    margin-top: 100px;
    margin-bottom: 100px;
}


/* --- Footer logos --------------------------------------------------------- */


#footer-logos {
    margin-top: 60px;
}

#footer-logos ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 90px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer-logos li {
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer-logos img {
    display: block;
    width: auto;
    height: 42px;
    max-width: 100%;
    object-fit: contain;

    /* Force SVG and PNG logos to the same dark grey */
    filter: brightness(0) invert(16%);
}

@media screen and (max-width: 979px) {
    #footer-logos ul {
        flex-direction: column;
        gap: 55px;
    }
}

/* --- Headings ------------------------------------------------------------- */

h1,
h2,
h3,
h4 {
    text-wrap: balance;
}

h4,
h5,
h6 {
    margin-top: 40px;
    margin-bottom: 30px;
    font: var(--font-heading-weight) 36px/48px var(--font-heading);
}

.caption h3 {
    margin-bottom: 10%;
}

/* --- Links ---------------------------------------------------------------- */

#hero a,
#main a {
    color: var(--color-coral);
}

#footer a {
    color: var(--color-black);
}

/* --- Call-to-action item -------------------------------------------------- */

.action-item {
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    color: var(--color-black);
    background-color: var(--color-white);
    width: fit-content;
    margin-left: 20px;
    margin-top: 40px;
    margin-bottom: 40px;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 5px;
}

#footer .action-item {
    color: var(--color-black);
    background-color: transparent;
    border: 1px solid var(--color-black);
}

#footer .action-item a {
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    text-decoration: none;
    color: var(--color-black);
}


/* Light footer surfaces: remove the old inverted dark-panel treatment */
#footer .mod_newsletterSubscribeNotificationCenter,
#footer #outreach {
    color: var(--color-black);
    background-color: rgba(0, 0, 0, 0.035);
}

#footer input {
    color: var(--color-black);
    background-color: var(--color-white);
    border: 1px solid var(--color-black);
}

#footer input::placeholder {
    color: var(--color-black);
    opacity: 0.55;
}

#footer button[type="submit"] {
    color: var(--color-black);
    background-color: transparent;
    border: 1px solid var(--color-black);
}

/* --- Forms / newsletter --------------------------------------------------- */

.mod_newsletterSubscribeNotificationCenter {
    text-align: center;
}

.mod_newsletterSubscribeNotificationCenter,
#outreach {
    margin-top: 200px;
    margin-bottom: 100px;
    padding: 5% 1%;
    background-color: var(--color-surface-dark-75);
    border-radius: 10px;
    margin-left: 2%;
    margin-right: 2%;
}

.mod_newsletterSubscribeNotificationCenter p {
    font-size: 22px;
    line-height: 32px;
}

body.newsletter .mod_newsletterSubscribeNotificationCenter {
    display: none;
}

input {
    width: 85%;
    height: 80px;
    margin-top: 20px;
    margin-bottom: 20px;
    border-radius: 5px;
    font: var(--font-paragraph-weight) 18px var(--font-paragraph);
    color: var(--color-white);
    background-color: var(--color-gray-dark);
    padding-left: 25px;
    padding-top: 5px;
    padding-bottom: 5px;
    border: none;
    max-width: 600px;
}

button[type="submit"],
.mod_navigation .last {
    border-radius: 5px;
    background-color: var(--color-pink);
    border: none;
    padding: 5px;
    margin: 15px;
    color: var(--color-white);
    cursor: pointer;
}

button[type="submit"] {
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    text-decoration: none;
    font-size: 28px;
    font-weight: 700;
}

button[type="submit"],
.action-item {
    transition: transform 0.2s ease;
}

button[type="submit"]:hover,
.action-item:hover {
    transform: scale(1.1);
}

/* --- Errors --------------------------------------------------------------- */



.widget p.error,
.mod_newsletterSubscribeNotificationCenter p.error {
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    color: var(--color-error);
    position: fixed;
    background-color: var(--color-surface-dark-50);
    top: 70px;
    left: 0;
    z-index: 999999;
    width: 100%;
    text-align: center;
    margin: auto;
    padding: 2%;
}

/* ============================================================================
   5. PORTRAIT / MOBILE
   ========================================================================= */

@media screen and (max-width: 979px) {

    :root {
        --header-padding-y: 23px;
    }

    body {
        padding-top: 94px;
    }

    .rs-columns {
        margin-top: 40px;
        margin-bottom: 40px;
    }

    .landscape {
        display: none;
    }

    section {
        margin-top: 30px;
        margin-bottom: 30px;
    }


    #navi-landscape {
        display: none;
    }

    /* Header / mobile-menu triggers */
    #header > .inside {
        gap: 8px;
    }

    #logo img {
        width: clamp(130px, 40vw, 190px);
    }

    #contact .mobilemenu {
        min-width: 82px;
        min-height: 42px;
        padding: 8px 12px;
    }

    #contact .mobilemenu p {
        font-size: 15px;
    }

    :root {
        --menu-control-size: 42px;
        --menu-control-padding: 7px;
    }

    #navigation .mobilemenu {
        width: var(--menu-control-size);
        height: var(--menu-control-size);
        min-height: var(--menu-control-size);
        padding: var(--menu-control-padding);
    }

    #navigation .menu-icon {
        width: 28px;
        height: 28px;
        margin-top: 0;
    }

    /* Footer */
    #footer .content-image {
        width: 25%;
        margin: auto;
    }

    #footer .content-image,
    #footer h1,
    #footer h2 {
        text-align: center;
    }


    /* Gallery */
    .content-gallery > ul,
    #article-208 {
        grid-template-columns: 1fr;
    }

    /* Catalog strip */
    .catalog-list li {
        justify-content: space-between;
    }

    .catalog #footer .mod_article {
        margin-top: -59vw;
    }

    /* Lottie + forms */
    .ce_lottie_player {
        padding: 20%;
    }

    input.captcha {
        margin: auto;
    }

    /* Typography */
    h1 {
        font-size: 48px;
        line-height: 54px;
        margin-top: 10px;
        margin-bottom: 20px;
    }

    h2 {
        font-size: 32px;
        line-height: 48px;
        margin-top: 10px;
        margin-bottom: 20px;
    }

    h3 {
        margin-top: 0;
        margin-bottom: 0;
        font-size: 32px;
        line-height: 48px;
    }

    p,
    #container a,
    #footer a,
    #container li,
    #footer li,
    figcaption {
        font-size: 24px;
        line-height: 36px;
    }

}

/* ============================================================================
   6. FONTS
   ========================================================================= */

/* Body copy and general text */
a,
p,
li,
figcaption {
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
}

/* All headings */

h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    color: var(--color-black);
}

h1, h2 {
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    text-align: center;
    color: var(--color-blue-dark);
}

#hero h1 {
    position: relative;
    max-width: 900px;
    z-index: 3;
    text-shadow:
        0 0 24px rgba(255, 255, 255, 1),
        0 0 24px rgba(255, 255, 255, 0.95),
        0 0 40px rgba(255, 255, 255, 0.85),
        0 0 70px rgba(255, 255, 255, 0.7);
}

/* Quotes are paragraphs, so keep them Barlow Light */
section.quote p {
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
}




@media screen and (max-width: 420px) {
    body {
        padding-top: 90px;
    }
    #header {
        margin-top: 0;
    }

    #header > .inside {
        gap: 6px;
    }

    #logo img {
        width: clamp(118px, 37vw, 150px);
    }

    #contact .mobilemenu {
        min-width: 74px;
        padding-left: 9px;
        padding-right: 9px;
    }

    #contact .mobilemenu p {
        font-size: 14px;
    }

    :root {
        --menu-control-size: 40px;
        --menu-control-padding: 6px;
        --header-padding-y: 23px;
        --menu-control-top: calc(var(--header-padding-y) + 1px);
    }

    #navigation .mobilemenu {
        width: var(--menu-control-size);
        height: var(--menu-control-size);
        min-height: var(--menu-control-size);
        padding: var(--menu-control-padding);
    }
}

@media (prefers-reduced-motion: reduce) {
    h1,
    h2,
    p,
    .mobile_menu.active .mod_navigation > ul > li {
        animation: none;
    }

    .mobile_menu .mod_navigation > ul > li {
        opacity: 1;
        transform: none;
    }
}


/* ============================================================================
   CONTENT HYPERLINK BUTTON
   Matches the Contact button in the fixed header.
   ========================================================================= */


.content-hyperlink {
    display: flex;
    justify-content: center;
    margin-top: 60px;
    margin-bottom: 60px;
}


.content-hyperlink a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 92px;
    min-height: 44px;
    margin: 0;
    padding: 9px 16px;
    border: 1px solid var(--color-black);
    border-radius: 0;
    background: transparent;
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    font-size: 16.5px;
    line-height: 1;
    color: var(--color-blue-dark) !important;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.content-hyperlink a:hover,
.content-hyperlink a:focus-visible {
    opacity: 0.72;
    text-decoration: none;
}

.content-hyperlink a:active {
    transform: translateY(1px);
}

@media screen and (max-width: 979px) {
    .content-hyperlink a {
        min-width: 82px;
        min-height: 42px;
        padding: 8px 12px;
        font-size: 15px;
    }
}

@media screen and (max-width: 420px) {
    .content-hyperlink a {
        min-width: 74px;
        padding-left: 9px;
        padding-right: 9px;
        font-size: 14px;
    }
}


/* --- Header language switch ------------------------------------------------
   Matches the Contact button typography; active language is plain,
   inactive language reads like an underlined text link.
   ------------------------------------------------------------------------- */

#header .mod_changelanguage {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
}

#header .mod_changelanguage ul,
#header .mod_changelanguage .level_1 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#header .mod_changelanguage li {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    font-size: 16.5px;
    line-height: 1;
    color: var(--color-blue-dark);
}

#header .mod_changelanguage li::marker {
    content: "";
}

#header .mod_changelanguage a,
#header .mod_changelanguage strong {
    display: inline;
    margin: 0;
    padding: 0;
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    font-size: inherit;
    line-height: 1;
    color: var(--color-blue-dark);
}

#header .mod_changelanguage a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.14em;
}

#header .mod_changelanguage a:hover,
#header .mod_changelanguage a:focus-visible {
    opacity: 0.72;
}

#header .mod_changelanguage strong,
#header .mod_changelanguage .active {
    text-decoration: none;
}

@media screen and (max-width: 979px) {
    #header .mod_changelanguage li {
        font-size: 15px;
    }

    #header .mod_changelanguage ul,
    #header .mod_changelanguage .level_1 {
        gap: 7px;
    }
}

@media screen and (max-width: 420px) {
    #header .mod_changelanguage li {
        font-size: 14px;
    }

    #header .mod_changelanguage ul,
    #header .mod_changelanguage .level_1 {
        gap: 6px;
    }
}


/* --- GLightbox -------------------------------------------------------------
   Light frosted-glass overlay, shadowless images and black controls.
   Caption/title overlays the bottom of the image.
   ------------------------------------------------------------------------- */

.glightbox-container,
.glightbox-container .goverlay {
    background: rgba(245, 245, 245, 0.52) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.glightbox-container .gcontainer,
.glightbox-container .ginner-container,
.glightbox-container .gslide,
.glightbox-container .gslide-inner-content {
    background: transparent !important;
}

/* Image */
.glightbox-container .gslide-media,
.glightbox-container .gslide-image,
.glightbox-container .gslide-image img {
    box-shadow: none !important;
    filter: none !important;
}

/* Caption overlay */
.glightbox-container .ginner-container.desc-bottom {
    position: relative;
}

.glightbox-container .gslide-description.description-bottom {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 2;
    width: 100%;
    transform: translateX(-50%);
    background: rgba(245, 245, 245, 0.52) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    text-align: center;
    pointer-events: none;
}

.glightbox-container .gdesc-inner {
    padding: 14px 20px !important;
    background: transparent !important;
}

.glightbox-container .gslide-title,
.glightbox-container .gslide-desc {
    margin: 0 !important;
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    font-size: 16.5px;
    line-height: 1.4;
    text-align: center;
    color: var(--color-black) !important;
}

/* Close / previous / next controls */
.glightbox-container .gclose,
.glightbox-container .gnext,
.glightbox-container .gprev {
    color: var(--color-black) !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Force all GLightbox SVG icons to black */
.glightbox-container .gclose svg,
.glightbox-container .gnext svg,
.glightbox-container .gprev svg,
.glightbox-container .gclose svg path,
.glightbox-container .gnext svg path,
.glightbox-container .gprev svg path {
    fill: var(--color-black) !important;
    stroke: var(--color-black) !important;
    color: var(--color-black) !important;
}


/* ============================================================================
   ACCORDION / HANDORGEL
   Clean text-only styling aligned with the site typography.
   ========================================================================== */

.content-accordion {
    margin-top: 40px;
    margin-bottom: 40px;
}

/* Make the accordion title visually match h3 */
.content-accordion .handorgel__header {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    font-family: var(--font-heading);
    font-weight: var(--font-heading-weight);
    font-size: 32px;
    line-height: 48px;
    text-transform: uppercase;
    color: var(--color-black);
}

/* Simple text trigger with underline */
.content-accordion .handorgel__header__button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    margin: 0;
    padding: 14px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    text-align: left;
    font: inherit;
    color: var(--color-black);
    text-decoration: none;
    cursor: pointer;
}

/* Remove possible theme/plugin button backgrounds and borders */
.content-accordion .handorgel__header__button:hover,
.content-accordion .handorgel__header__button:focus,
.content-accordion .handorgel__header__button:focus-visible {
    background: transparent;
    color: var(--color-black);
    box-shadow: none;
    outline: none;
}

/* Plus / minus control on the right */
.content-accordion .handorgel__header__button::after {
    content: "+";
    flex: 0 0 auto;
    margin-left: auto;
    font-family: var(--font-paragraph);
    font-weight: var(--font-paragraph-weight);
    font-size: 40px;
    line-height: 1;
    text-decoration: none !important;
    text-decoration-line: none !important;
}

.content-accordion .handorgel__header--open .handorgel__header__button::after,
.content-accordion .handorgel__header--opened .handorgel__header__button::after {
    content: "−";
}

/* Answer/content: plain text, no grey panel */
.content-accordion .handorgel__content,
.content-accordion .handorgel__content__inner,
.content-accordion .content-text,
.content-accordion .rte {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.content-accordion .handorgel__content__inner {
    padding: 8px 0 28px;
}

.content-accordion .handorgel__content p:first-child {
    margin-top: 0;
}

.content-accordion .handorgel__content p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 979px) {
    .content-accordion .handorgel__header {
        font-size: 32px;
        line-height: 48px;
    }

    .content-accordion .handorgel__header__button {
        padding: 12px 0;
    }
}

@media screen and (max-width: 420px) {
    .content-accordion {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .content-accordion .handorgel__header__button {
        gap: 16px;
    }

    .content-accordion .handorgel__header__button::after {
        font-size: 34px;
    }
}


/* --- Paragraph spacing ----------------------------------------------------- */
p + p {
    margin-top: 0.9em;
}

