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%}
.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}}
@font-face {
   font-family: "Brown";
   font-weight:300;
   src:url('../../files/fonts/Brown-Regular.otf') format("opentype");
}
@font-face {
   font-family: "Brown";
   font-weight:600;
   src:url('../../files/fonts/Brown-Bold.otf') format("opentype");
}
@font-face {
    font-family: "AlbertinaST";
    src:url('../../files/fonts/DTLAlbertinaST.otf') format("opentype");
}
/* CSS KWER */

:root {
  /* beige */
  --col1: #d6d1bd;
  /* gruen */
  /* --green: #e6ffe5; */
  --green: #9faaa4;
  --col5: #E7E5DB;
  /* yellow */
  /* --yellow: #fffcdc; */
  --yellow: var(--col5);

  --hg: #ffffff;

  --white: #ffffff;
  --black: #000000;
  --grey: #f2f2f2;

  --width: 100%;
  --maxwidth: 1350px;

  --font1: "Brown", sans-serif;
  --font2: "AlbertinaST", sans-serif;

  /* set via script */
  --before-header-height: 70px;
}

*:focus,
*:active {
  outline: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  background: var(--hg);
  font-family: var(--font1);
  font-style: normal;
  font-size: 1.2em;
  line-height: 1.8;
  font-weight: 300;
  letter-spacing: 1px;
}

#wrapper {
  width: var(--width);
}

.container {
  padding: 250px 150px 250px 150px !important;
}

video {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center center;
}

/*
#main .container, #container #main .mod_article {
    padding-top: 200px !important;
}
*/

#full #immo.mod_article {
  padding-bottom: 200px !important;
}

.mod_article [class^="ce_"],
.mod_article [class*=" ce_"],
.mod_article [class^="content-"],
.mod_article [class*=" content-"],
.mod_article [class^="mod_"],
.mod_article [class*=" mod_"] {
  margin: 0px;
}

p strong,
strong {
  font-weight: 600 !important;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

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

p a {
  text-decoration: underline;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.mt-auto {
  margin-top: auto;
}

.paddinner {
  padding: 50px;
}

.paddinner-right {
  padding-right: 80px !important;
}

.paddinner-left {
  padding-left: 80px !important;
}

.margin-bottom {
  margin-bottom: 80px !important;
}

.margin-top {
  margin-top: 80px !important;
}

.pad-top {
  padding-top: 250px !important;
}

.pad-bot {
  padding-bottom: 250px !important;
}

.no-pad {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.no-pad-left {
  padding-left: 0px !important;
}

.no-pad-right {
  padding-right: 0px !important;
}

.no-pad-top {
  padding-top: 0px !important;
}

.no-pad-bot {
  padding-bottom: 0px !important;
}

.pad-sm {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.pad-top-sm {
  padding-top: 150px;
}

.pad-bot-sm {
  padding-bottom: 150px;
}

.content-end {
  align-content: end;
}

.content-end p {
  margin-bottom: -5px;
}

.abstand-ueberschrift {
  width: 80%;
  max-width: 650px;
}

.fix-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
}

.fix-buttons a {
  text-align: center;
  color: var(--white);
  text-decoration: none;
  line-height: 3.5;
  background-color: var(--black);
  text-transform: uppercase;
  font-size: 1.2em;
}

.fix-buttons a:hover {
  background-color: var(--col1);
}

h1 {
  font-size: 4em;
  line-height: 1;
  color: var(--black);
  font-family: var(--font2);
  font-weight: 300;
  position: relative;
  margin-top: 0px;
  margin-bottom: 50px;
}

h2 {
  font-size: 4em;
  font-family: var(--font2);
  line-height: 1;
  color: var(--black);
  font-weight: 300;
  margin-bottom: 50px !important;
  margin-top: 0px;
}

h3,
.sub-claim h2 {
  font-size: 2.8em;
  font-family: var(--font2);
  line-height: 1;
  font-weight: 300;
  margin-bottom: 0px;
  margin-top: 0px;
  padding-bottom: 5px;
}

/* Sub-Claim ehem. h3, jetzt h2 (Heading-Reihenfolge) — visuell identisch zur h3-Basisregel */
.sub-claim h2 {
  margin-bottom: 0px !important;
  color: inherit;
}

.no-marg-bot h2 {
  margin-bottom: 0px !important;
}

.cta {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: var(--white);
}

.bigfont p {
  font-size: 8vw;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
  margin: 0px;
}

.rhombus {
  width: 100px;
  height: auto;
  padding-left: 100px;
  margin-bottom: 50px !important;
  margin-top: 60px !important;
  transform: translateY(-50%);
}

.logo {
  position: absolute;
  width: 150px;
  height: auto;
  left: 50px;
  top: 50px;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}

.scroll .logo {
  width: 70px;
  height: auto;
  top: 20px;
}

.place-below-before-header {
  top: var(--before-header-height) !important;
}

/* CTA seitlich */

.cta-header {
  z-index: 1;
  position: fixed;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
}

.cta-header a {
  display: block;
  padding-top: 3px;
  padding-bottom: 3px;
  position: relative;
}

.cta-header img {
  width: 80px;
  height: auto;
}

.cta-header span {
  display: inline-block;
  position: absolute;
  font-size: 1em;
  content: "Immobilie finden";
  color: var(--white);
  top: 25px;
  text-align: right;
  width: 200px;
  line-height: 1;
  font-family: var(--font2);
  transition: 0.3s ease-out;
  -webkit-transition: 0.3s ease-out;
  opacity: 0;
  visibility: hidden;
}

.cta-header a:hover span {
  right: 95px;
  opacity: 1;
  visibility: visible;
}

.scroll .cta-header span {
  color: var(--black);
}

/* Merkliste-Zähler als Badge ({{propstack::bookmarks}} liefert leer bei 0);
   überschreibt die Label-Span-Regeln oben, daher alle deren Properties gesetzt */
.cta-header a span.bookmark-count {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0px;
  left: 10px;
  right: auto;
  z-index: 1;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: var(--black);
  color: var(--white);
  font-size: 13px;
  text-align: center;
  line-height: 1;
  transition: none;
  -webkit-transition: none;
  opacity: 1;
  visibility: visible;
}

.cta-header a span.bookmark-count:empty {
  display: none;
}

/*

.cta-header a:nth-child(2):hover::before {
    content: "Immobilie anbieten";
}

.cta-header a:nth-child(3):hover::before {
    content: "Merkliste";
}
*/

/* Before Header + Navigation */

.before-header {
  position: fixed;
  z-index: 1;
  width: 100%;
  z-index: 100;
  background-color: var(--white);
}

.before-header .header-inner {
  padding: 50px 50px 50px 250px;
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.1);
}

.before-header .header-inner .logo,
.before-header-rechts,
.before-header-rechts .mainnav {
  display: inline-block;
}

.before-header-rechts {
  display: flex;
  text-align: right;
}

.before-header-rechts .mainnav {
  width: 100%;
  margin-left: auto;
  max-width: 1650px;
}

.before-header-rechts .mainnav ul {
  display: flex;
  justify-content: space-between;
  margin: 0px;
}

/* Der aktive Punkt ist ein <strong>, die uebrigen sind <a>. Schrift und
   Zeilenhoehe gehoeren deshalb auf den INHALT, nicht auf das <li> - lagen
   sie am <li>, hatte der aktive Eintrag eine andere Zeilenbox als seine
   Geschwister und die Flex-Leiste sprang beim Seitenwechsel. */
.before-header-rechts .mainnav a,
.before-header-rechts .mainnav li.active strong {
  color: var(--black);
  line-height: 1;
  font-family: var(--font2);
  text-transform: none;
  transition: 0.3s ease;
  -webkit-transition: 0.3s ease;
  align-content: center;
}

.before-header-rechts .mainnav a:hover,
.before-header-rechts .mainnav li.active strong,
.before-header-rechts .mainnav li a.trail strong {
  text-decoration: underline;
  font-weight: 300 !important;
  transition: 0.3s ease;
  -webkit-transition: 0.3s ease;
}

.mainnav {
  display: inline-block;
  border-bottom: 0px solid var(--black);
}

.mainnav ul {
  padding-left: 0px;
}

.mainnav li {
  list-style: none;
  padding: 0px;
  display: inline-block;
  margin-right: 0px;
}

.mainnav li a,
.mainnav li.active strong,
.mod_changelanguage li a {
  font-size: 1.3em;
  font-weight: 300;
  text-decoration: none;
}

.mainnav li a.trail {
  text-decoration: underline;
}

.mainnav li.active,
.mainnav li.trail {
  color: var(--black) !important;
}

.mobilenav {
  display: none;
  position: fixed;
  top: 30px;
  right: 30px;
  z-index: 1000;
}

/* Button */

.button {
  display: block;
  margin-top: 55px !important;
}

.button a {
  color: var(--white);
  padding: 15px 30px 12px 30px;
  text-decoration: none;
  display: inline-block;
  font-weight: 600;
  background-color: var(--black);
}

.button a:hover {
  color: var(--black);
  background-color: var(--green);
}

.button.yellow a:hover {
  color: var(--black);
  background-color: var(--yellow);
}

/* Grid */

.two-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  grid-gap: 200px;
}

.two-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 100px;
}

.two-grid-2-1 {
  display: grid;
  grid-template-columns: 3fr 1fr;
  grid-gap: 50px;
}

.three-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 100px;
  row-gap: 100px;
}

.three-grid.steps {
  row-gap: 0px;
}

/* Container */

#container .mod_article,
#full .mod_article {
  padding: 250px 150px 250px 150px;
}

#container img,
#full img {
  width: 100%;
  height: auto;
}

/* Footer */

footer {
  background-color: var(--col1);
  color: var(--black);
  padding: 150px 150px 140px 150px;
  font-size: 0.9em;
}

.footer-links-tel a {
  color: var(--black) !important;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  text-decoration: none;
}

.footer-links-tel a:hover {
  text-decoration: underline;
}

.footer-grid {
  display: grid;
  grid-template-columns: 20% 80%;
  grid-template-areas: "logo text";
  gap: 0px;
  align-items: end;
  padding-top: 0px;
  padding-bottom: 0px;
  font-size: 1.2em;
  line-height: 1.6em;
}

.footer-text {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  grid-template-areas: "telefon adress details-1 details-2";
  gap: 100px;
  align-items: end;
  padding-top: 0px;
  padding-bottom: 0px;
  grid-area: text;
  margin-left: auto;
  height: 100%;
  align-content: flex-end;
}

footer .button a {
  font-weight: 500;
}

.footer-logo {
  width: 300px;
}

.footer-logo img {
  width: 100%;
  height: auto;
}

.footer-grid a {
  color: var(--black);
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  text-decoration: none;
}

.footer-links-tel {
  grid-area: telefon;
  height: 100%;
  align-content: flex-end;
  font-family: var(--font2);
  font-weight: 400;
  font-size: 2.2em;
  line-height: 1.1;
  margin-bottom: 0px;
  display: block;
}

.footer-contact-first {
  grid-area: adress;
  height: 100%;
  align-content: flex-end;
}

.footer-details.footer-details-1 {
  grid-area: details-1;
  height: 100%;
  align-content: flex-end;
}

.footer-details.footer-details-2 {
  grid-area: details-2;
  height: 100%;
  align-content: flex-end;
}

.footer-details nav ul {
  margin: 0px;
  padding: 0px;
}

.footer-details nav li {
  list-style: none;
}

.footer-details nav li a,
.footer-details nav li strong.active {
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  font-weight: 500;
}

.footer-details nav li strong.active {
  color: var(--black);
}

.footer-contact a,
.footer-details a {
  text-decoration: none;
}

.footer-contact a:hover,
.footer-details a:hover,
.footer-grid a:hover {
  color: var(--black);
  text-decoration: underline;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}

.footer-bottom {
  display: grid;
  grid-template-columns: 30% 55% 15%;
  align-items: center;
  padding-top: 40px;
  font-size: 0.9em;
  flex-wrap: wrap;
}

.footer-bottom nav li {
  display: inline-block;
  list-style: none;
}

.footer-bottom nav ul {
  margin: 0px !important;
  padding: 0px;
}

.footer-bottom .nav-bottom {
  display: inline-grid;

  margin: 0px !important;
}

.footer-bottom nav a {
  color: var(--black);
  text-decoration: none;
  padding-right: 20px;
}

.footer-bottom nav a:hover {
  text-decoration: underline;
}

.footer-bottom nav strong.active {
  text-decoration: underline;
  padding-right: 20px;
  font-weight: normal;
}

.copy-right svg {
  width: 80px;
  margin-left: 10px;
}

.copy-right a {
  font-size: 0.8em;
  text-decoration: none;
  color: var(--black);
  display: inline-block;
}

.footer-details p {
  color: var(--black);
}

.footer-contact p {
  color: var(--black);
}

.footer-links-tel p srtong {
  color: var(--black);
}

/* Breadcrumb */

.mod_breadcrumb {
  display: inline-block;
  position: absolute;
  left: 50px;
  top: 40px;
  z-index: 9;
  line-height: 1.2;
}

.mod_breadcrumb li {
  display: inline-block;
  list-style-type: none;
  margin-right: 25px;
  position: relative;
  text-transform: lowercase;
}

.mod_breadcrumb li a {
  text-decoration: none;
}

.mod_breadcrumb li::after {
  content: "/";
  position: absolute;
  right: -20px;
  top: 1px;
}

.mod_breadcrumb li.active {
  font-weight: bold;
}

.mod_breadcrumb li.active::after {
  display: none;
}

.mod_breadcrumb ul {
  margin: 0px;
  padding-left: 0px;
}

/* Overlay */

.close .lines::before,
.close .lines::after {
  background: var(--white) !important;
}

.overlay {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 999;
  background: var(--black);
  opacity: 0;
  right: -100%;
  transition: all 0.3s ease;
  overflow-x: hidden;
  overflow-y: auto;
}

body.sidePanelOpen .overlay {
  display: none;
  opacity: 0;
  right: 0px;
}

/* Invertiertes Logo im Menue-Overlay, Position spiegelt .logo.
   Frueher ein ::before-Pseudoelement mit pointer-events:none -> war nie klickbar.
   Jetzt ein echter Link (Modul 14), damit das Logo mobil zur Startseite fuehrt. */
.overlay .overlay-logo {
  position: absolute;
  left: 50px;
  top: 50px;
  width: 150px;
  z-index: 2;
  display: block;
}

.overlay .overlay-logo img {
  display: block;
  width: 100%;
  height: auto;
}

/* Scroll-Sperre bei offenem Menue-Overlay */
html:has(body.sidePanelOpen),
body.sidePanelOpen {
  overflow: hidden;
}

.overlay {
  overscroll-behavior: contain;
}

.overlay .inner {
  width: 100%;
  display: block;
  height: 100%;
}

.overlay .overlay-right {
  display: grid;
  width: 100%;
  position: relative;
  height: 55vh;
  align-items: center;
  grid-template-rows: 1fr auto 1fr;
}

.overlay .navi {
  grid-row-start: 2;
  padding-top: 50px;
  height: fit-content;
}

.image-nav {
  bottom: -5px;
  position: absolute;
  left: 25px;
  right: 25px;
  width: calc(100% - 50px);
  height: 45vh;
}

.overlay-contact {
  grid-row-start: 3;
  display: flex;
  gap: 20px;
  align-items: start;
  padding: 25px;
  flex-wrap: wrap;
  flex-direction: column;


  a {
    color: white;
    text-decoration: none;
    transition: all 0.3s ease-out;
    display: flex;
    gap: 10px;
    align-items: center;

    img {
      height: 1.5em;
      width: auto;
    }

    &:hover span {
      text-decoration: underline;
    }
  }
}

/* Mobile Navigation */

.overlay .navi ul {
  margin: 0px;
  padding: 0px;
  padding-left: 25px;
  padding-right: 25px;
  width: 100%;
}

.overlay .navi li {
  list-style: none;
  padding-top: 3px;
  padding-bottom: 3px;
}

.overlay .navi li a,
.overlay .navi li .active {
  color: var(--white);
  font-size: 1.75em;
  font-weight: 400 !important;
  transition: all 0.3s ease;
  line-height: 1.5;
  text-decoration: none;
}

.overlay .navi li a:hover,
.overlay .navi li .active {
  color: var(--white) !important;
  opacity: 0.5;
}

.sidePanelOpen .mobilenav {
  top: 32px;
}

.overlay .mobilenav::before {
  left: 25px !important;
  top: 25px !important;
  display: none;
}

#immo h2,
#immo h1 {
  padding-left: 0px;
}

.us-immo .marquee,
.us-immo .mod_article {
  background-color: var(--col5);
}

.bg-green {
  background-color: var(--green);
}

.us-immo .immo-list .layout_list:hover {
  background-color: var(--white);
}





/* TEAM */

.two-grid-team .rte {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0px;
}

.two-grid-team .rte p {
  margin: 0;
  padding-bottom: 15px;
  padding-top: 18px;
  border-bottom: 2px solid var(--black);
}

.two-grid-team .rte p:nth-child(2),
.two-grid-team .rte p:nth-child(4) {
  text-align: right;
}

.two-grid-team a,
.content-text a {
  text-decoration: underline !important;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}

.two-grid-team a:hover,
.content-text a:hover {
  opacity: 0.5 !important;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}

.team h3 {
  padding-bottom: 25px;
  padding-top: 30px;
}

/* Taetigkeitsbereich pro Mitarbeiter: Zeile mit Trennstrich UNTER der Rolle, vor dem Kontaktblock */
.team .media--above .rte h3 + p {
  margin: 0;
  padding-top: 0;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--black);
  line-height: 1.4;
}

.rhombus.pos-right {
  display: flex;
  align-items: center;
  margin-left: auto !important;
  margin-bottom: 0px;
  padding-left: 0px;
  transform: none;
}

/* SCHRITTE VERKAUF & VERMIETUNG */

.steps .content-text {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.steps h3 {
  padding-bottom: 15px;
}

.steps h2 {
  border-bottom: 2px solid var(--black);
  font-size: 3.5em;
  margin-bottom: 30px !important;
  padding-bottom: 30px;
}

.steps p {
  margin-top: 10px;
  margin-bottom: 0px;
}

/* IMPRESSUM */

.impr h2 {
  font-size: 2em;
  margin-bottom: 10px !important;
  margin-top: 50px !important;
}

/* GROSSER TEXT */

/* Claims ehem. h3, jetzt h2 (Heading-Reihenfolge) — visuell identisch:
   margin-bottom/color neutralisieren die h2-Basisregel (50px !important / var(--black)) */
.big-font :is(h2, h3) {
  font-size: 9.5vw;
  padding-top: 0px;
  padding-bottom: 0px;
  margin-top: 0px;
  margin-bottom: 0px !important;
  color: inherit;
}

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

.big-font.content-text a:hover {
  color: var(--col1);
  opacity: 1 !important;
}

/* AUFZÄHLUNG LISTE GROSS */

.list-big li {
  font-size: 2.3em;
  font-family: var(--font2);
  line-height: 1;
  font-weight: 300;
  margin-top: 25px;
  margin-bottom: 25px;
  list-style-type: none;
  position: relative;
}

.list-big ul {
  padding-left: 40px;
  margin-top: 50px;
  margin-bottom: 50px;
}

.list-big li::before {
  position: absolute;
  display: inline-block;
  width: 20px;
  height: 20px;
  left: -40px;
  top: 15px;
  content: "";
  background-image: url("../../files/grafiken/rhombus.svg");
  background-size: 100%;
  background-repeat: no-repeat;
}

.home .mod_breadcrumb li.active,
.home .mod_breadcrumb li::after {
  display: none;
}

/* AKKORDEON */

.handorgel__header__button {
  padding: 20px 20px 20px 20px;
  border-bottom: 2px solid var(--black);
  border-top: 0px;
  font-family: var(--font2);
  font-size: 0.4em;
  line-height: 1;
  max-width: unset !important;
}

h2.handorgel__header {
  margin-bottom: 0px !important;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}

h2.handorgel__header button {
  position: relative;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}

h2.handorgel__header button::after {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "→";
  top: 50%;
  right: 10px;
  width: 35px;
  height: 35px;
  font-size: 0.85em;
  transform: translateY(-50%);
  transition: transform 0.3s ease-out;
  -webkit-transition: transform 0.3s ease-out;
}

h2.handorgel__header.handorgel__header--opened button::after {
  transform: translateY(-50%) rotate(90deg);
}

@media (hover: hover) {
  h2.handorgel__header:hover button::after {
    transform: translateY(-50%) rotate(90deg);
  }
}

.handorgel__content__inner {
  padding: 25px 20px 25px 20px;
}

.handorgel__content__inner p {
  margin: 0px;
}

.handorgel__content__inner h4 {
  margin-top: 0px;
  margin-bottom: 10px;
}

.handorgel__content {
  border-bottom: 0px !important;
  border-top: 0px !important;
  background-color: transparent;
}

.content-accordion {
  border-bottom: 0px !important;
  border-top: 2px solid var(--black) !important;
  background-color: transparent;
  margin-top: 65px !important;
}

.immo-detail>div {
  margin-bottom: 60px !important;
}

.details #container .mod_article {
  padding-top: 100px;
  padding-bottom: 0px;
}

.details #full .mod_article {
  padding-top: 0px;
  padding-bottom: 100px;
}

.us-immo .big-font :is(h2, h3) {
  line-height: 1.4;
}

.home-einleitung {
  margin-top: 200px !important;
}
/* Pagination */

.pagination {
  /* inside a grid listing (e.g. .immo-list) the nav must span its own full row */
  grid-column: 1 / -1;
  padding: 50px;
  text-align: center;
}

.pagination p {
  margin-bottom: 15px;;
  display: none;
}

.pagination ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.pagination ul li {
  margin: 0;
  padding: 0;
}

.pagination a,
.pagination strong {
  display: inline-block;
  min-width: 52px;
  padding: 15px 20px 12px 20px;
  border: 2px solid var(--black);
  color: var(--black);
  text-decoration: none;
  font-weight: 600;
}

.pagination a:hover {
  background-color: var(--green);
}

.pagination strong.active {
  background-color: var(--black);
  color: var(--white);
}

/* --- Cookiebar (KWER-Standard: kein Schliessen-X, Buttons in Markenfarbe) --- */
.contao-cookiebar .cc-close {
  display: none;
}
.contao-cookiebar .cc-btn.success {
  background: #111;
  border-color: #111;
  color: #fff;
}
.contao-cookiebar .cc-btn.success:hover {
  background: #2b2e34;
  border-color: #2b2e34;
}

/* --- Sticky Footer: kurze Seiten (z.B. 404) füllen min. den Viewport, Footer bündig unten --- */
#wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
#container {
  flex: 1 0 auto;
}

/* --- Kicker "My Home is My Home" (ehem. h3, jetzt p) — visuell identisch zur .big-font h3 --- */
.big-font p.big-kicker {
  font-family: var(--font2);
  font-size: 9.5vw;
  font-weight: 300;
  line-height: 1.4;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .big-font p.big-kicker {
    font-size: 12vw;
  }
}

/* Akkordeon: Header-Button-Umbruch (ehem. Inline-Style im accordion.html.twig) */
.handorgel__header__button {
  max-width: 95%;
  white-space: normal;
}

/* Propstack */

.layout_list .meta-price span,
.layout_list .meta-living-space span {
  display: block;
  width:100%;
}

.property-gallery {
  margin: 4rem 0;
}

.property-gallery ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem;
}

.property-gallery li {
  margin: 0;
}

.property-gallery .image_container {
  margin: 0;
  overflow: hidden;
  border-radius: 0px;
  aspect-ratio: 4 / 3;
}

.property-gallery a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.property-gallery picture {
  display: block;
  width: 100%;
  height: 100%;
}

.property-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.5s ease, filter 0.35s ease;
}

.property-gallery .image_container:hover img {
  transform: scale(1.05);
  filter: brightness(1.03);
}

.property-gallery .image_container {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.property-gallery .image_container:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
}

#property_search_keyword,
#property_search_marketingType,
#property_search_rsType,
#property_search_save {
  width: 100%;
  padding: 8px 10px 7px 13px;
  background-color: white;
  border: 2px solid rgb(0, 0, 0);
  border-radius: 0;
  font-family: Avenir, sans-serif;
  line-height: 27px;
  color: black;
  outline: none;
  -webkit-appearance: none;
  font-size: 0.9em !important;
  box-shadow: none !Important;

}

#property_search {
  padding: 40px 40px 30px;
}

.property-search {
  width: 100%;
  margin-bottom: 0px;
  background-color: white;
  z-index: 1;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
  border: 1px solid var(--black);
}

.property-search .widget-choice {
  font-family: var(--font2);
}

.property-search .widget-reset_button .button {
  margin-top: 20px !important;
}

.mod_brkwsky_propstack_search {
  margin-bottom: 80px !important;
  position: relative;
}

.suche-text {
  position: absolute;
  bottom: 41px;
  right: 44px;
}

#property_search div {
  display: inline-block;
}

#property_search div:nth-child(2) {
  position: relative;
  margin-right: 5px;
  width: 60% !important;
}

#property_search div:nth-child(1) {
  width: 100%;
  margin-right: 5px;
  margin-bottom: 12px;
}

#property_search div:nth-child(3) {
  position: relative;
  margin-right: 5px;
  width: calc(20% - 13px) !important;
}

#property_search div:nth-child(4) {
  margin-right: 0px;
  width: calc(20% - 13px) !important;
}

#property_search div:nth-child(5) {
  margin-right: 5px;
  width: 16% !important;
}

#property_search_save {
  background-color: black;
  color: white;
  position: relative;
  border-color: black;
  transition: 0.3s ease-out;
  -webkit-transition: 0.3s ease-out;
}

#property_search_save:hover {
  background-color: white;
  color: black;
  cursor: pointer;
}

/* Tablet */
@media (max-width: 991px) {
  .property-gallery ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 640px) {
  .property-gallery {
    margin: 3rem 0;
  }

  .property-gallery ul {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .property-gallery .image_container {
    border-radius: 0px;
  }
}

.immo-titel {
  background-color: var(--grey);
  width: 100%;
  padding: 50px;
  box-sizing: border-box;
}

.immo-header {
  height: 800px;
  position: relative;
  z-index: 0;
}

.immo-header:after {
  content: "";
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(0deg, rgb(0 0 0 / .65) 0%, #fff0 100%);
  z-index: 1;
}

.immo-header h1 {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 50px;
  margin-bottom: 0px !important;
  color: white;
  z-index: 2;
  width: 80%;
}

.immo-header .property-image,
.immo-header .image_container,
.immo-header picture,
.immo-header img {
  width: 100%;
  height: 100%;
}

.immo-header img {
  display: block;
  object-fit: cover;
  object-position: center;
}

.immo-header .bookmark {
  position: absolute;
  left: 70px;
  bottom: 70px;
  background-image: url("../../files/grafiken/bookmark.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  border: 0px;
  color: var(--white);
  font-size: 0;
  width: 52px;
  height: 64px;
  background-color: transparent;
  cursor: pointer;
}

.immo-header .bookmark:hover,
.immo-header .bookmark.active {
  background-image: url("../../files/grafiken/bookmark_checked.svg");
}

.gslide-description {
  display: none;
}

.immo-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 0px;
  position: relative;
}

.immo-list .layout_list {
  padding: 50px;
  display: flex;
  flex-direction: column;
  position: relative;
}

.immo-list .layout_list:hover {
  background-color: var(--green);
}

.immo-list .layout_list .property-headline {
  order: 2;
}

.immo-list .layout_list .property-headline h3 {
  font-size: 1.4em;
  margin-top: 30px;
  margin-bottom: 30px;
  text-decoration: none;
  line-height: 1.2;
}

.immo-list .layout_list .property-headline h3 a {
  text-decoration: none;
}

.immo-list .layout_list .property-image {
  order: 1;
}

.immo-list .layout_list .property-details {
  order: 3;
  margin-top: auto;
}

.immo-list .layout_list .button {
  order: 4;
}

.immo-list .layout_list .button a:hover {
  background-color: var(--white);
}

.us-immo .immo-list .layout_list .button a:hover {
  background-color: var(--green);
}

.immo-list .layout_list .property-details-object {
  border-bottom: 2px solid var(--black);
  padding-top: 10px;
  padding-bottom: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.immo-list .layout_list .list-meta {
  border-bottom: 2px solid var(--black);
  padding-top: 18px;
  padding-bottom: 15px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.number-of-rooms-value {
  white-space: nowrap;
}

.list-meta .meta-price {
  display: flex;
  flex-wrap: wrap-reverse;
}

.immo-list .bookmark {
  position: absolute;
  right: 70px;
  top: 70px;
  background-image: url("../../files/grafiken/bookmark.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  border: 0px;
  color: var(--white);
  font-size: 0;
  width: 52px;
  height: 64px;
  background-color: transparent;
  cursor: pointer;
}

.immo-list .bookmark:hover,
.immo-list .bookmark.active {
  background-image: url("../../files/grafiken/bookmark_checked.svg");
}

.immo-list .meta-price {
  font-weight: 600;
}

.immo-list .meta-living-space {
  text-align: right;
}

.immo-list .property-details-object .address {
  text-align: right;
}


#container #immo.mod_article {
  padding: 100px 150px 100px 150px;
}

.details .immo-titel .ce_text.meta.block .meta-data {
  display: block !important;
}

.details .immo-titel .ce_text.meta.block .label {
  display: block !important;
}

.details .immo-titel .ce_text.meta.block .value,
.details .immo-titel .ce_text.address{
  text-align: left;
  margin-right: auto;
  margin-left: initial;
  font-size: 3rem;

  font-family: var(--font2);
}

.details .immo-titel .ce_text.address{
    line-height:1.2;
  margin-bottom:30px;
}

.details #main h2,
.details #full h2 {
  font-size: 3rem;
}

.details .immo-titel .button {
  margin-top: 0px !important;
}

.mod_brkwsky_propstack_reader.immo-titel {
  padding: 50px !important;
}

.broker .broker-data.name {
  font-weight: bold;
}

.broker .ce_image {
  max-width: 300px;
}

.ce_text.meta.block h2 {
  margin: 0 0 48px;
  line-height: 1;
  font-weight: 400;
}

.ce_text.meta.block .meta-data {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 20px 0 20px;
  border-top: 2px solid var(--black);
}

.ce_text.meta.block .meta-data:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.ce_text.meta.block .label,
.ce_text.meta.block .value {

  line-height: 1;
  letter-spacing: 0.01em;
}

.ce_text.meta.block .label {
  font-weight: 700;
}

.ce_text.meta.block .value {
  font-weight: 400;
  text-align: right;
  margin-left: auto;
}

.ce_text.meta {
  margin-bottom: 30px;
}

/* Abstand ueber dem Highlights-Block in der Sidebar der Detailseite.
   Haengt am Wrapper von Modul 33, nicht an .other-note - so bleibt die
   Regel auf diese eine Stelle beschraenkt, falls otherNote spaeter noch
   woanders ausgegeben wird. */
.mod_brkwsky_propstack_reader.immo-highlights {
  margin-top: 50px;
}

@media (max-width: 1024px) {
  .ce_text.meta.block {
    padding: 50px 30px;
  }

  .ce_text.meta.block h2 {
    margin-bottom: 36px;
    font-size: clamp(44px, 8vw, 72px);
  }

  .ce_text.meta.block .meta-data {
    padding: 24px 0 26px;
  }

  .ce_text.meta.block .label,
  .ce_text.meta.block .value {
    font-size: 22px;
  }
}

@media (max-width: 767px) {
  .ce_text.meta.block {
    padding: 0px;
  }

  .ce_text.meta.block h2 {
    margin-bottom: 28px;
    font-size: 42px;
    line-height: 1;
  }

  .ce_text.meta.block .meta-data {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 18px 0 20px;
  }

  .ce_text.meta.block .value {
    text-align: left;
    margin-left: 0;
  }

  .ce_text.meta.block .label,
  .ce_text.meta.block .value {
    font-size: 18px;
  }
}


/* Formular */

.ce_form.block form {
  max-width: 1400px;
  margin: 0 auto;
}

.ce_form.block .formbody {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.ce_form.block .widget {
  margin: 0;
}

.ce_form.block .widget-text label,
.ce_form.block .widget-textarea label {
  position: absolute;
  left: 32px;
  top: 26px;
  font-size: 0;
  line-height: 1;
  margin: 0;
  pointer-events: none;
}

.ce_form.block .widget-text,
.ce_form.block .widget-textarea {
  position: relative;
}

.ce_form.block input[type="text"],
.ce_form.block input[type="email"],
.ce_form.block input[type="tel"],
.ce_form.block textarea {
  width: 100%;
  background: transparent;
  border: 3px solid var(--black);
  border-radius: 0;
  box-shadow: none;
  color: var(--black);
  line-height: 1.3;
  padding: 15px 25px;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.2s ease, background 0.2s ease;
  font-family: var(--font);
}

.ce_form.block input[type="text"],
.ce_form.block input[type="email"],
.ce_form.block input[type="tel"] {
  min-height: 80px;
}

.ce_form.block textarea {
  min-height: 280px;
  resize: vertical;
}

.ce_form.block input::placeholder,
.ce_form.block textarea::placeholder {
  color: var(--black);
  opacity: 1;
}

.ce_form.block input:focus,
.ce_form.block textarea:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.15);
}

.ce_form.block .widget-checkbox {
  margin-top: 0px;
}

.ce_form.block .widget-checkbox fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.ce_form.block .widget-checkbox span {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}

.ce_form.block .widget-checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  border: 3px solid var(--black);
  background: transparent;
  margin: 0px 0 0;
  flex: 0 0 22px;
  position: relative;
  cursor: pointer;
}

.ce_form.block .widget-checkbox input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 0px;
  width: 8px;
  height: 14px;
  border: solid var(--black);
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

.ce_form.block .widget-checkbox label {
  line-height: 1.4;
  color: var(--black);
  cursor: pointer;
}

.ce_form.block .widget-checkbox a,
.ce_form.block .widget-checkbox label a {
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.ce_form.block .widget-submit {
  margin-top: 28px;
}

.ce_form.block .submit,
.ce_form.block button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  min-height: 60px;
  padding: 10px 25px;
  border: 0;
  background: var(--black);
  color: var(--white);
  line-height: 1;
  cursor: pointer;
  font-size: 1.2rem;
  text-transform: none;
  transition: background-color 0.2s ease, color 0.2s ease;
  font-family: var(--font1);
}

.ce_form.block .submit:hover,
.ce_form.block button[type="submit"]:hover {
  background: var(--green);
  color: var(--black);
}

.ce_form.block .submit:focus,
.ce_form.block button[type="submit"]:focus {
  outline: none;
}

@media (max-width: 1024px) {
  .ce_form.block {
    padding: 50px 30px;
  }

  .ce_form.block .widget-text label::after,
  .ce_form.block .widget-textarea label::after,
  .ce_form.block input[type="text"],
  .ce_form.block input[type="email"],
  .ce_form.block input[type="tel"],
  .ce_form.block textarea {
    font-size: 22px;
  }

  .ce_form.block .widget-checkbox label {
    font-size: 20px;
  }

  .ce_form.block .submit,
  .ce_form.block button[type="submit"] {
    min-width: 260px;
    min-height: 82px;
    font-size: 24px;
  }

  .details .immo-titel .ce_text.address{
    font-size: 2.1rem;
  }
}

@media (max-width: 767px) {
  .ce_form.block {
    padding: 0px
  }

  .ce_form.block .formbody {
    gap: 20px;
  }

  .ce_form.block input[type="text"],
  .ce_form.block input[type="email"],
  .ce_form.block input[type="tel"],
  .ce_form.block textarea {
    font-size: 18px;
    padding: 20px 20px;
    border-width: 2px;
  }

  .ce_form.block input[type="text"],
  .ce_form.block input[type="email"],
  .ce_form.block input[type="tel"] {
    min-height: 72px;
  }

  .ce_form.block textarea {
    min-height: 220px;
    padding-top: 56px;
  }

  .ce_form.block .widget-text label,
  .ce_form.block .widget-textarea label {
    left: 22px;
    top: 20px;
  }

  .ce_form.block .widget-text label::after,
  .ce_form.block .widget-textarea label::after {
    font-size: 18px;
  }

  .ce_form.block .widget-checkbox label {
    font-size: 17px;
  }

  .ce_form.block .submit,
  .ce_form.block button[type="submit"] {
    width: 100%;
    min-width: 0;
    min-height: 68px;
    font-size: 20px;
  }
  .details .immo-titel .ce_text.meta.block .value,
  .details .immo-titel .ce_text.address{
    font-size: 1.8rem;
  }
}
/* ===== BEGIN floating labels — Immobilienbewertung form (2026-07-01) =====
   Rewindable: restore files/css/propstack.css.bak_prefloat_20260701 + cache:clear.
   Scoped to #bewertungsformular so the existing inquiry form is untouched. */
#bewertungsformular .widget-text,
#bewertungsformular .widget-textarea {
  position: relative;
}

/* reserve top space for the floating label; also style number inputs like the rest */
#bewertungsformular .widget-text input[type="text"],
#bewertungsformular .widget-text input[type="email"],
#bewertungsformular .widget-text input[type="tel"],
#bewertungsformular .widget-text input[type="number"],
#bewertungsformular .widget-textarea textarea {
  padding: 27px 25px 9px;
}
#bewertungsformular .widget-text input[type="number"] {
  width: 100%;
  min-height: 80px;
  background: transparent;
  border: 3px solid var(--black);
  border-radius: 0;
  color: var(--black);
  line-height: 1.3;
  -moz-appearance: textfield;
  appearance: textfield;
  font-family: var(--font);
}
/* remove the native up/down spinner (Wohnfläche/Baujahr) so they match the plain text fields */
#bewertungsformular .widget-text input[type="number"]::-webkit-outer-spin-button,
#bewertungsformular .widget-text input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* label resting state = inside the field (acts as the visible field name) */
#bewertungsformular .widget-text label,
#bewertungsformular .widget-textarea label {
  position: absolute;
  left: 28px;
  top: 26px;
  font-size: 20px;
  line-height: 1;
  margin: 0;
  color: var(--black);
  pointer-events: none;
  transition: top .15s ease, font-size .15s ease;
}

/* hide the (now redundant) placeholder text — the label is the cue */
#bewertungsformular .widget-text input::placeholder,
#bewertungsformular .widget-textarea textarea::placeholder {
  color: transparent;
}

/* float the label up on focus OR when the field has a value */
#bewertungsformular .widget-text:has(input:focus) label,
#bewertungsformular .widget-text:has(input:not(:placeholder-shown)) label,
#bewertungsformular .widget-textarea:has(textarea:focus) label,
#bewertungsformular .widget-textarea:has(textarea:not(:placeholder-shown)) label {
  top: 8px;
  font-size: 12.5px;
}
/* ===== END floating labels ===== */

/* ===== BEGIN form layout + field styling (Immobilienbewertung, 2026-07-01) =====
   Rewind: restore files/css/propstack.css.bak_prelayout_20260701 + revert DB (contao:backup). */

/* 6-col base grid so we can mix 2-per-row (contact, span 3) and 3-per-row
   (property details, span 2) in the same grid; long fields span full */
#bewertungsformular .formbody,
#bewertungsformular .wiz-step {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 24px;
  row-gap: 26px;
  align-items: start;
}
#bewertungsformular .formbody > *,
#bewertungsformular .wiz-step > * { grid-column: 1 / -1; margin: 0; }
#bewertungsformular .formbody > .col-half,
#bewertungsformular .wiz-step > .col-half { grid-column: span 3; }   /* 2 per row */
#bewertungsformular .formbody > .col-third,
#bewertungsformular .wiz-step > .col-third { grid-column: span 2; }  /* 3 per row */

/* section headings (grouping) */
#bewertungsformular .fgt { grid-column: 1 / -1; }
#bewertungsformular .fgt h3 {
  font-family: var(--font1);
  font-size: 1.5rem;
  line-height: 1.15;
  margin: 0;
  color: var(--black);
}
#bewertungsformular .fgt .req-note { font-size: 14px; margin: 6px 0 0; color: var(--black); opacity: .6; }
#bewertungsformular .fgt--gap { margin-top: 26px; }

/* selects: same box as text fields, floated-inside label, custom chevron */
#bewertungsformular .widget-select { position: relative; }
#bewertungsformular .widget-select label {
  position: absolute;
  left: 28px;
  top: 8px;
  font-size: 12.5px;
  line-height: 1;
  margin: 0;
  color: var(--black);
  pointer-events: none;
  z-index: 1;
}
#bewertungsformular .widget-select select {
  width: 100%;
  min-height: 80px;
  background-color: transparent;
  border: 3px solid var(--black);
  border-radius: 0;
  color: var(--black);
  font-family: var(--font);
  font-size: 20px;
  line-height: 1.3;
  padding: 30px 54px 9px 25px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 22px center;
}
#bewertungsformular .widget-select select:focus { outline: none; background-color: rgba(255,255,255,.15); }

/* Ausstattung options in three columns */
#bewertungsformular .ausstattung-grid fieldset {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px 24px;
}
#bewertungsformular .ausstattung-grid legend { grid-column: 1 / -1; margin-bottom: 6px; }

/* tablet: property details drop to 2 per row, ausstattung to 2 cols */
@media (max-width: 900px) {
  #bewertungsformular .formbody > .col-third,
  #bewertungsformular .wiz-step > .col-third { grid-column: span 3; }
  #bewertungsformular .ausstattung-grid fieldset { grid-template-columns: 1fr 1fr; }
}
/* stack to one column on small screens */
@media (max-width: 640px) {
  #bewertungsformular .formbody,
  #bewertungsformular .wiz-step { grid-template-columns: 1fr; }
  #bewertungsformular .formbody > .col-half,
  #bewertungsformular .formbody > .col-third,
  #bewertungsformular .wiz-step > .col-half,
  #bewertungsformular .wiz-step > .col-third { grid-column: 1 / -1; }
  #bewertungsformular .ausstattung-grid fieldset { grid-template-columns: 1fr; }
}
/* ===== END form layout + field styling ===== */

/* ===== BEGIN required-field error state (Immobilienbewertung) ===== */
#bewertungsformular .widget.error input,
#bewertungsformular .widget.error select,
#bewertungsformular .widget.error textarea {
  border-color: #cc0000;
}
#bewertungsformular p.error {
  color: #cc0000;
  font-size: 14px;
  line-height: 1.3;
  margin: 7px 0 0 2px;
}
/* ===== END required-field error state ===== */

/* ===== BEGIN native invalid-on-submit red border (Immobilienbewertung) ===== */
#bewertungsformular .widget input:user-invalid,
#bewertungsformular .widget select:user-invalid,
#bewertungsformular .widget textarea:user-invalid {
  border-color: #cc0000;
}
/* ===== END native invalid-on-submit red border ===== */

/* ===== heading matches the form width (Immobilienbewertung) ===== */
#bewertungsformular h2 {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

/* ===== error-state layout fix (Immobilienbewertung) =====
   Contao injects <p class="error"> BEFORE the input, colliding with the
   absolute floating label. Reorder so the message sits BELOW the field. */
#bewertungsformular .widget-text.error,
#bewertungsformular .widget-textarea.error,
#bewertungsformular .widget-select.error {
  display: flex;
  flex-direction: column;
}
#bewertungsformular .widget-text.error > p.error,
#bewertungsformular .widget-textarea.error > p.error,
#bewertungsformular .widget-select.error > p.error {
  order: 1; /* field keeps default order 0 -> message renders last (below) */
}
/* ===== END error-state layout fix ===== */

/* ===== nudge floated labels down (were too close to the top border) ===== */
#bewertungsformular .widget-text:has(input:focus) label,
#bewertungsformular .widget-text:has(input:not(:placeholder-shown)) label,
#bewertungsformular .widget-textarea:has(textarea:focus) label,
#bewertungsformular .widget-textarea:has(textarea:not(:placeholder-shown)) label,
#bewertungsformular .widget-select label {
  top: 13px;
}

/* ===== cap the whole form CE (covers form, heading AND the post-send
   "Anfrage verschickt" confirmation, which sits outside <form>) ===== */
#bewertungsformular {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

/* ===== BEGIN lighter fields (2026-07-06): thinner borders + smaller type,
   scoped to #bewertungsformular so the inquiry form keeps the bold 3px look ===== */
#bewertungsformular .widget-text input[type="text"],
#bewertungsformular .widget-text input[type="email"],
#bewertungsformular .widget-text input[type="tel"],
#bewertungsformular .widget-text input[type="number"],
#bewertungsformular .widget-textarea textarea,
#bewertungsformular .widget-select select {
  border-width: 1.5px;
  font-size: 16px;
}
/* resting (in-field) label = the visible field cue */
#bewertungsformular .widget-text label,
#bewertungsformular .widget-textarea label {
  font-size: 16px;
}
/* floated-up state a touch smaller */
#bewertungsformular .widget-text:has(input:focus) label,
#bewertungsformular .widget-text:has(input:not(:placeholder-shown)) label,
#bewertungsformular .widget-textarea:has(textarea:focus) label,
#bewertungsformular .widget-textarea:has(textarea:not(:placeholder-shown)) label,
#bewertungsformular .widget-select label {
  font-size: 11.5px;
}
/* checkboxes (Ausstattung + Datenschutz): thinner box + checkmark to match */
#bewertungsformular .widget-checkbox input[type="checkbox"] {
  border-width: 1.5px;
}
#bewertungsformular .widget-checkbox input[type="checkbox"]:checked::after {
  border-width: 0 2px 2px 0;
}
/* textareas (Besondere Ausstattung + Nachricht): half the theme's 280px height */
#bewertungsformular .widget-textarea textarea {
  min-height: 140px;
}
/* ===== END lighter fields ===== */

/* muted hint line under a field (e.g. examples for "Besondere Ausstattung") */
#bewertungsformular .field-hint {
  grid-column: 1 / -1;
  font-size: 14px;
  line-height: 1.35;
  margin: -16px 0 0;
  color: var(--black);
  opacity: .6;
}

/* ===== buttons on a .bg-green section: hover must not blend into the green bg ===== */
.bg-green .button a:hover {
  background-color: var(--col1);
  color: var(--black);
}

/* ===================================================================
   Immobilienbewertung – Schritt-fuer-Schritt-Formular (Wizard)
   Struktur aus HTML-Feldern des Formulars, Steuerung aus dem Skript in
   Feld 28. Ohne JavaScript fehlt .wiz-on: dann stehen alle Schritte
   untereinander und das Formular verhaelt sich wie vor dem Umbau.
   Optik in der harten Formensprache der Seite (3px schwarze Rahmen,
   keine Rundungen), nicht wie die weiche Kundenreferenz.

   ⚠️ Das 6-spaltige Raster liegt auf .wiz-step (siehe oben), weil die
   Schritt-Container jetzt die direkten Kinder von .formbody sind.
   =================================================================== */

/* Die Huelle selbst darf das Raster nicht stoeren */
#bewertungsformular .wiz {
  display: block;
}

#bewertungsformular .wiz-progress {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 45px;
}

#bewertungsformular .wiz-bar {
  height: 4px;
  background: var(--col5);
  transition: background 0.3s ease;
}

#bewertungsformular .wiz-bar.is-done {
  background: var(--black);
}

/* Schritte: erst wenn das Skript uebernommen hat, wird ausgeblendet */
#bewertungsformular .wiz.wiz-on .wiz-step {
  display: none;
}

#bewertungsformular .wiz.wiz-on .wiz-step.is-active {
  display: grid;
}

/* Kopfbereich ist EIN Rasterelement, sonst reisst der row-gap
   Zaehler, Titel und Vorspann auseinander */
#bewertungsformular .wiz-head {
  grid-column: 1 / -1;
}

#bewertungsformular .wiz-count {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 0 0 6px;
  opacity: 0.55;
}

#bewertungsformular .wiz-title {
  font-family: var(--font2);
  margin: 0;
}

#bewertungsformular .wiz-lead {
  margin: 10px 0 0;
}

/* -------------------------------------------------------------------
   Karten und Pillen
   fieldset ist als Flex-/Grid-Container unzuverlaessig (die <legend>
   verhaelt sich je nach Browser eigenwillig). Deshalb bekommt der
   fieldset display:contents und das Layout liegt auf dem .widget.
   ------------------------------------------------------------------- */
#bewertungsformular .widget-radio.wiz-cards fieldset,
#bewertungsformular .widget-radio.wiz-pills fieldset,
#bewertungsformular .widget-checkbox.ausstattung-grid fieldset {
  display: contents;
}

#bewertungsformular .widget-radio.wiz-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

#bewertungsformular .widget-radio.wiz-pills,
#bewertungsformular .widget-checkbox.ausstattung-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

#bewertungsformular .widget-radio.wiz-cards > fieldset > legend,
#bewertungsformular .widget-radio.wiz-pills > fieldset > legend,
#bewertungsformular .widget-checkbox.ausstattung-grid > fieldset > legend {
  width: 100%;
  grid-column: 1 / -1;
  float: none;
  padding: 0;
  margin: 0 0 4px;
  font-weight: 600;
}

#bewertungsformular .widget-radio.wiz-cards input.radio,
#bewertungsformular .widget-radio.wiz-pills input.radio,
#bewertungsformular .widget-checkbox.ausstattung-grid input.checkbox {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

#bewertungsformular .widget-radio.wiz-cards label,
#bewertungsformular .widget-radio.wiz-pills label,
#bewertungsformular .widget-checkbox.ausstattung-grid label {
  display: block;
  cursor: pointer;
  border: 3px solid var(--black);
  background: transparent;
  text-align: center;
  font-weight: 600;
  line-height: 1.25;
  transition: background 0.2s ease, color 0.2s ease;
}

#bewertungsformular .widget-radio.wiz-cards label {
  padding: 38px 20px;
  font-size: 20px;
}

#bewertungsformular .widget-radio.wiz-pills label,
#bewertungsformular .widget-checkbox.ausstattung-grid label {
  padding: 14px 24px;
  font-size: 17px;
}

#bewertungsformular .widget-radio.wiz-cards input.radio:checked + label,
#bewertungsformular .widget-radio.wiz-pills input.radio:checked + label,
#bewertungsformular .widget-checkbox.ausstattung-grid input.checkbox:checked + label {
  background: var(--black);
  color: var(--white);
}

#bewertungsformular .widget-radio.wiz-cards input.radio:focus-visible + label,
#bewertungsformular .widget-radio.wiz-pills input.radio:focus-visible + label,
#bewertungsformular .widget-checkbox.ausstattung-grid input.checkbox:focus-visible + label {
  outline: 3px solid var(--green);
  outline-offset: 3px;
}

/* Ausgeblendete Felder (ein Grundstueck hat keine Etage) */
#bewertungsformular .wiz-hidden {
  display: none !important;
}

/* -------------------------------------------------------------------
   Navigation
   ------------------------------------------------------------------- */
#bewertungsformular .wiz-nav {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 45px;
}

#bewertungsformular .wiz-btn {
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  padding: 15px 30px 12px;
  border: 3px solid var(--black);
  background: transparent;
  color: var(--black);
  transition: background 0.2s ease, color 0.2s ease;
}

#bewertungsformular .wiz-btn--next {
  margin-left: auto;
  background: var(--black);
  color: var(--white);
}

#bewertungsformular .wiz-btn:hover {
  background: var(--green);
  color: var(--black);
}

#bewertungsformular .wiz-nav .widget-submit {
  margin-left: auto;
  margin-top: 0;
}

#bewertungsformular .wiz-btn[hidden],
#bewertungsformular .wiz-nav .widget-submit[hidden] {
  display: none;
}

@media (max-width: 900px) {
  #bewertungsformular .widget-radio.wiz-cards {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  #bewertungsformular .wiz-progress {
    gap: 6px;
    margin-bottom: 30px;
  }

  #bewertungsformular .widget-radio.wiz-cards {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  #bewertungsformular .widget-radio.wiz-cards label {
    padding: 24px 20px;
  }

  #bewertungsformular .wiz-nav {
    margin-top: 32px;
    gap: 12px;
  }

  #bewertungsformular .wiz-btn {
    padding: 13px 20px 10px;
    font-size: 16px;
  }
}

/* ===================================================================
   Bestaetigung nach dem Absenden der Bewertungsanfrage.
   Contao ersetzt das Formular per AJAX durch .form-confirmation - der
   Block steht dann allein unter der Ueberschrift und braucht eigenes
   Gewicht, sonst wirkt er wie eine Fussnote.
   =================================================================== */
#bewertungsformular .form-confirmation {
  grid-column: 1 / -1;
}

.form-danke {
  border: 3px solid var(--black);
  padding: 45px 45px 40px;
  max-width: 760px;
}

.form-danke h3 {
  font-family: var(--font2);
  margin: 0 0 20px;
}

.form-danke p {
  margin: 0 0 16px;
  line-height: 1.5;
}

.form-danke p:last-child {
  margin-bottom: 0;
}

.form-danke-tel {
  margin-top: 26px !important;
  padding-top: 22px;
  border-top: 1px solid var(--black);
  font-weight: 600;
}

.form-danke-tel a {
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.form-danke-tel a:hover {
  background: var(--green);
}

@media (max-width: 640px) {
  .form-danke {
    padding: 28px 24px 26px;
  }
}

/* Anker "Zum Formular": Ziel liegt am ce_form-Wrapper (= Headline). Ohne
   Offset landet der native Fragment-Sprung hinter der fixen .before-header
   (89px) und man sieht Schritt 1. 180px = klar unter der Bar, deckungsgleich
   mit dem JS-Scroll des Wizards (hoch() -> -180). Elisa, 2026-08-04. */
#bewertungsformular {
  scroll-margin-top: 180px;
}

.clicker{display:inline-block;z-index:10000}.lines-button{border-radius:50%}.navname{color:#FFFFFF}.lines-button{transition:0.3s;cursor:pointer;border:0px;display:inline-block;padding:0px;box-shadow:0 !important;background:transparent}.lines-button:hover{opacity:1}.lines-button:active{transition:0}.lines{display:inline-block;width:2rem;height:0.2rem;background:#1a1a1a;transition:0.3s;position:relative;background:transparent;top:-5px}.lines:before,.lines:after{display:inline-block;width:2rem;height:0.2rem;background:#1a1a1a;transition:0.3s;position:absolute;left:0px;content:"";-webkit-transform-origin:0.1428571429rem center;transform-origin:0.1428571429rem center}.lines:before{top:0.2857142857rem}.lines:after{top:-0.2857142857rem}.lines-button:hover .lines:before{top:0.3636363636rem;left:0px}.lines-button:hover .lines:after{top:-0.3636363636rem;left:0px}.lines-button.close{z-index:1000}.lines-button.arrow.close .lines:before,.lines-button.arrow.close .lines:after{top:0;width:1.1111111111rem}.lines-button.arrow.close .lines:before{-webkit-transform:rotate3d(0, 0, 1, 40deg);transform:rotate3d(0, 0, 1, 40deg)}.lines-button.arrow.close .lines:after{-webkit-transform:rotate3d(0, 0, 1, -40deg);transform:rotate3d(0, 0, 1, -40deg)}.lines-button.arrow-up.close{-webkit-transform:scale3d(0.8, 0.8, 0.8) rotate3d(0, 0, 1, 90deg);transform:scale3d(0.8, 0.8, 0.8) rotate3d(0, 0, 1, 90deg)}.lines-button.minus.close .lines:before,.lines-button.minus.close .lines:after{-webkit-transform:none;transform:none;top:0;width:2rem}.lines-button.x.close .lines{background:transparent}.lines-button.x.close .lines:before,.lines-button.x.close .lines:after{-webkit-transform-origin:50% 50%;transform-origin:50% 50%;top:0px;left:0px;width:2rem}.lines-button.x.close .lines:before{-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg)}.lines-button.x.close .lines:after{-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg)}
.marquee{--gap: 1rem;position:relative;display:flex;overflow:hidden;user-select:none}.marquee__content{flex-shrink:0;display:flex;justify-content:space-around;min-width:100%;padding:0px}.marquee__content li{padding-bottom:0px !important;padding-top:20px !important}@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(calc(-100% - var(--gap)))}}@media (prefers-reduced-motion:reduce){.marquee__content{animation-play-state:paused !important}}.enable-animation{padding-top:0px;padding-bottom:0px}.enable-animation .marquee__content{animation:scroll 40s linear infinite}.marquee--reverse .marquee__content{animation-direction:reverse}.marquee--hover-pause:hover .marquee__content{animation-play-state:paused}.marquee--fit-content{max-width:fit-content}.marquee--pos-absolute .marquee__content:last-child{position:absolute;top:0;left:0}.enable-animation .marquee--pos-absolute .marquee__content:last-child{animation-name:scroll-abs}@keyframes scroll-abs{from{transform:translateX(calc(100% + var(--gap)))}to{transform:translateX(0)}}.marquee__content{margin:0px}.marquee__content>*{flex:0 0 auto;color:black;list-style:none;margin:0px;text-align:center;font-size:8vw !important;font-weight:300;font-family:var(--font1)}.marquee__content li a{color:var(--black) !important;text-decoration:none !important;font-weight:300;text-transform:uppercase;letter-spacing:5px;padding-left:30px;padding-right:30px}section>*+*{margin-block-start:0.5rem}.marquee__content li{box-sizing:border-box;padding:0px;height:auto}.marquee-header{position:absolute;bottom:-2%;left:0;width:100%;background-color:var(--white)}@media (max-width:767px){.marquee__content>*{font-size:12vw !important}}
/* @media (min-width: 1750px) and (max-width: 2249px)  */

@media (min-width: 1750px) and (max-width: 2249px) {
  .footer-text {
    grid-template-columns: repeat(2, max-content);
    grid-template-areas:
      "telefon details-1"
      "adress  details-2";
    column-gap: 100px;
    row-gap: 0px;
  }

  .footer-links-tel {
    align-content: flex-start;
  }

  .footer-logo {
    width: 250px;
  }

  .home-einleitung {
    margin-top: 100px !important;
  }
}

/* @media (min-width: 1450px) and (max-width: 1749px)  */

@media (min-width: 1450px) and (max-width: 1749px) {
  body {
    font-size: 1.1em;
  }

  .marquee__content li a {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .mod_breadcrumb {
    top: 10px;
    left: 40px;
  }

  .logo {
    width: 130px;
    height: auto;
    left: 40px;
    top: 40px;
  }

  .overlay .overlay-logo {
    width: 130px;
    left: 40px;
    top: 40px;
  }

  .scroll .logo {
    width: 60px;
    height: auto;
    top: 15px;
  }

  .before-header .header-inner {
    padding: 40px 40px 40px 270px;
  }

  .cta-header img {
    width: 70px;
    height: auto;
  }

  .mainnav li a,
  .mainnav li.active strong,
  .mod_changelanguage li a {
    font-size: 1.2em;
  }

  .before-header-rechts .mainnav {
    max-width: 1200px;
  }

  .impr #main .pad-top-sm {
    padding-top: 140px;
  }

  /*
#main .container, #container #main .mod_article {
  padding-top: 120px !important;
}
*/

  #full #immo.mod_article {
    padding-bottom: 120px !important;
  }

  .container {
    padding: 170px 100px 170px 100px !important;
  }

  #container .mod_article,
  #full .mod_article {
    padding: 170px 100px 170px 100px;
  }

  .abstand-ueberschrift {
    width: calc(100% - 40px);
  }

  .rhombus {
    width: 80px;
    height: auto;
    padding-left: 70px;
    margin-bottom: 20px !important;
    margin-top: 45px !important;
  }

  h1,
  h2 {
    font-size: 3.3em;
    margin-bottom: 40px !important;
  }

  .immo-detail h2 {
    margin-bottom: 30px !important;
  }

  .details #container .mod_article {
    padding-top: 140px;
  }

  h3,
  .sub-claim h2 {
    font-size: 2.3em;
  }

  .team h3 {
    padding-bottom: 10px;
    padding-top: 25px;
  }

  .list-big li {
    font-size: 2em;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .list-big ul {
    padding-left: 35px;
    margin-top: 40px;
    margin-bottom: 45px;
  }

  .list-big li::before {
    width: 18px;
    height: 18px;
    left: -35px;
    top: 10px;
  }

  .button {
    margin-top: 40px !important;
  }

  .two-grid {
    grid-gap: 100px;
  }

  .two-grid-2 {
    grid-gap: 60px;
  }

  .two-grid-2-1 {
    grid-gap: 40px;
  }

  .pad-top-sm {
    padding-top: 100px;
  }

  .pad-bot-sm {
    padding-bottom: 100px;
  }

  .paddinner-left {
    padding-left: 0px !important;
  }

  .paddinner-right {
    padding-right: 40px !important;
  }

  .paddinner {
    padding: 40px;
  }

  .pad-sm {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .immo-list .layout_list {
    padding: 40px;
  }

  #immo h2,
  #immo h1 {
    padding-left: 40px;
  }

  .pad-top {
    padding-top: 170px;
  }

  .pad-bot {
    padding-bottom: 170px;
  }

  .margin-top {
    margin-top: 40px !important;
  }

  .margin-bottom {
    margin-bottom: 40px !important;
  }

  footer {
    padding: 100px 100px 90px 100px;
  }

  .footer-text {
    grid-template-columns: repeat(2, max-content);
    grid-template-areas:
      "telefon details-1"
      "adress  details-2";
    column-gap: 100px;
    row-gap: 0px;
  }

  .footer-links-tel {
    align-content: flex-start;
  }

  .footer-logo {
    width: 180px;
  }

  .footer-grid {
    grid-template-columns: 15% 85%;
  }

  .three-grid {
    grid-gap: 40px;
    row-gap: 80px;
  }

  .steps .content-text {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }

  .mod_breadcrumb {
    top: 30px;
  }

  .home-einleitung {
    margin-top: 100px !important;
  }
  
  .handorgel__header__button {
    font-size: 0.45em;
  }
}

/* @media (min-width: 1090px) and (max-width: 1449px)  */

@media (min-width: 1090px) and (max-width: 1449px) {
  body {
    font-size: 1em;
  }

  .marquee__content li a {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .mod_breadcrumb {
    left: 30px;
  }

  .logo {
    width: 90px;
    height: auto;
    left: 30px;
    top: 30px;
  }

  .overlay .overlay-logo {
    width: 90px;
    left: 30px;
    top: 30px;
  }

  .scroll .logo {
    width: 45px;
    height: auto;
    top: 15px;
  }

  .before-header .header-inner {
    padding: 30px 30px 30px 180px;
  }

  .cta-header img {
    width: 70px;
    height: auto;
  }

  .mainnav li a,
  .mainnav li.active strong,
  .mod_changelanguage li a {
    font-size: 1em;
  }

  .before-header-rechts .mainnav {
    max-width: 1100px;
  }

  .impr #main .pad-top-sm {
    padding-top: 130px;
  }

  /*
#main .container, #container #main .mod_article {
  padding-top: 100px !important;
}
*/

  #full #immo.mod_article {
    padding-bottom: 100px !important;
  }

  .container {
    padding: 140px 70px 140px 70px !important;
  }

  #container .mod_article,
  #full .mod_article {
    padding: 140px 70px 140px 70px;
  }

  .abstand-ueberschrift {
    width: 100%;
  }

  .rhombus {
    width: 65px;
    height: auto;
    padding-left: 70px;
    margin-bottom: 10px !important;
    margin-top: 40px !important;
  }

  h1,
  h2 {
    font-size: 3.2em;
    margin-bottom: 30px !important;
  }

  h3,
  .sub-claim h2 {
    font-size: 2.3em;
  }

  .team h3 {
    padding-bottom: 5px;
    padding-top: 20px;
  }

  .list-big li {
    font-size: 1.9em;
    margin-top: 17px;
    margin-bottom: 17px;
  }

  .list-big ul {
    padding-left: 30px;
    margin-top: 35px;
    margin-bottom: 40px;
  }

  .list-big li::before {
    width: 15px;
    height: 15px;
    left: -30px;
    top: 8px;
  }

  .button {
    margin-top: 35px !important;
  }

  .two-grid {
    grid-gap: 70px;
  }

  .two-grid-2 {
    grid-gap: 40px;
  }

  .two-grid-2-1 {
    grid-gap: 30px;
  }

  .pad-top-sm {
    padding-top: 140px;
  }

  .pad-bot-sm {
    padding-bottom: 140px;
  }

  .paddinner-left {
    padding-left: 0px !important;
  }

  .paddinner-right {
    padding-right: 30px !important;
  }

  .paddinner {
    padding: 30px;
  }

  .pad-sm {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .immo-list {
    grid-template-columns: 1fr 1fr;
  }

  .immo-list .layout_list {
    padding: 30px;
  }

  #immo h2,
  #immo h1 {
    padding-left: 30px;
  }

  .pad-top {
    padding-top: 140px;
  }

  .pad-bot {
    padding-bottom: 140px;
  }

  .margin-top {
    margin-top: 30px !important;
  }

  .margin-bottom {
    margin-bottom: 30px !important;
  }

  footer {
    padding: 90px 30px 80px 30px;
  }

  .footer-text {
    grid-template-columns: repeat(2, max-content);
    grid-template-areas:
      "telefon details-1"
      "adress  details-2";
    column-gap: 30px;
    row-gap: 0px;
  }

  .footer-links-tel {
    align-content: flex-start;
  }

  .footer-logo {
    width: 170px;
  }

  .footer-grid {
    grid-template-columns: 15% 85%;
  }

  .button a {
    padding: 13px 25px 10px 25px;
  }

  .marquee-header {
    padding-top: 0px;
    padding-bottom: 15px;
  }

  .three-grid {
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px;
    row-gap: 80px;
  }

  .steps .content-text {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  .mod_breadcrumb {
    top: 25px;
  }

  #container #immo.mod_article {
    padding: 60px;
  }

  .home-einleitung {
    margin-top: 0px !important;
  }
  
  .handorgel__header__button {
    font-size: 0.45em;
  }

}

/* @media (min-width: 992px) and (max-width: 1089px)  */

@media (min-width: 992px) and (max-width: 1089px) {
  body {
    font-size: 1em;
  }

  .marquee__content li a {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .marquee-header {
    padding-top: 0px;
    padding-bottom: 15px;
  }

  .rhombus {
    width: 55px;
    height: auto;
    padding-left: 50px;
    margin-bottom: 10px !important;
    margin-top: 35px !important;
  }

  .mod_breadcrumb {
    left: 30px;
  }

  .logo {
    width: 80px;
    height: auto;
    left: 30px;
    top: 20px;
  }

  .overlay .overlay-logo {
    width: 80px;
    left: 30px;
    top: 20px;
  }

  .scroll .logo {
    width: 60px;
  }

  .before-header .header-inner {
    padding: 35px 30px 35px 150px;
  }

  .cta-header img {
    width: 70px;
    height: auto;
  }

  .mainnav li a,
  .mainnav li.active strong,
  .mod_changelanguage li a {
    font-size: 1.05em;
  }

  .before-header-rechts .mainnav {
    max-width: 1100px;
  }

  .impr h2 {
    margin-top: 30px !important;
  }

  .impr #main .pad-top-sm {
    padding-top: 80px;
  }

  /*
#main .container, #container #main .mod_article {
  padding-top: 100px !important;
}
*/

  #full #immo.mod_article {
    padding-bottom: 100px !important;
  }

  .container {
    padding: 120px 30px 120px 30px !important;
  }

  #container .mod_article,
  #full .mod_article {
    padding: 120px 30px 120px 30px;
  }

  .abstand-ueberschrift {
    width: 100%;
  }

  h1,
  h2 {
    font-size: 3em;
    margin-bottom: 25px !important;
  }

  h3,
  .sub-claim h2 {
    font-size: 2.3em;
  }

  .team h3 {
    padding-bottom: 10px;
    padding-top: 20px;
  }

  .list-big li {
    font-size: 1.9em;
    margin-top: 17px;
    margin-bottom: 17px;
  }

  .list-big ul {
    padding-left: 30px;
    margin-top: 35px;
    margin-bottom: 40px;
  }

  .list-big li::before {
    width: 15px;
    height: 15px;
    left: -30px;
    top: 8px;
  }

  .button {
    margin-top: 30px !important;
  }

  .two-grid {
    grid-gap: 70px;
  }

  .two-grid-2 {
    grid-gap: 70px;
  }

  .two-grid-2-1 {
    grid-gap: 30px;
  }

  .pad-top-sm {
    padding-top: 120px;
  }

  .pad-bot-sm {
    padding-bottom: 120px;
  }

  .paddinner-left {
    padding-left: 0px !important;
  }

  .paddinner-right {
    padding-right: 30px !important;
  }

  .paddinner {
    padding: 30px;
  }

  .pad-sm {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .immo-list .layout_list {
    padding: 30px;
  }

  #immo h2,
  #immo h1 {
    padding-left: 30px;
  }

  .pad-top {
    padding-top: 120px;
  }

  .pad-bot {
    padding-bottom: 120px;
  }

  .margin-top {
    margin-top: 30px !important;
  }

  .margin-bottom {
    margin-bottom: 30px !important;
  }

  footer {
    padding: 80px 30px 70px 30px;
  }

  .footer-text {
    grid-template-columns: repeat(2, max-content);
    grid-template-areas:
      "telefon details-1"
      "adress  details-2";
    column-gap: 50px;
    row-gap: 0px;
  }

  .footer-links-tel {
    align-content: flex-start;
  }

  .footer-logo {
    width: 170px;
  }

  .footer-grid {
    grid-template-columns: 15% 85%;
  }

  .three-grid {
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px;
    row-gap: 80px;
  }

  .steps .content-text {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }

  .button a {
    padding: 13px 25px 10px 25px;
  }

  .immo-list .layout_list {
    padding: 30px;
  }

  .immo-list {
    grid-template-columns: 1fr 1fr;
  }

  .mobilenav {
    display: block !important;
    top: 25px;
    right: 30px;
    z-index: 1000;
  }

  .mobilenav .line-button {
    width: 60px;
    height: 60px;
  }

  body.sidePanelOpen .overlay {
    display: block;
    opacity: 1;
    right: 0px;
  }

  .mainnav {
    display: none !important;
  }

  .mod_breadcrumb {
    top: 25px;
  }

  #container #immo.mod_article {
    padding: 50px;
  }

  .immo-list .bookmark {
    top: 40px;
    right: 40px;
  }

  .home-einleitung {
    margin-top: 0px !important;
  }
  
  .handorgel__header__button {
    font-size: 0.45em;
  }
}

/* @media (min-width: 768px) and (max-width: 991px)  */

@media (min-width: 768px) and (max-width: 991px) {
  body {
    font-size: 1em;
  }

  .mainnav {
    display: none !important;
  }

  .two-grid {
    grid-template-columns: 1fr 1fr;
  }

  .marquee__content li a {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .marquee-header {
    padding-top: 0px;
    padding-bottom: 15px;
    bottom: -1.5%;
  }

  .rhombus {
    width: 55px;
    height: auto;
    padding-left: 50px;
    margin-bottom: 10px !important;
    margin-top: 35px !important;
  }

  .mod_breadcrumb {
    left: 30px;
  }

  .logo {
    width: 80px;
    height: auto;
    left: 30px;
    top: 20px;
  }

  .overlay .overlay-logo {
    width: 80px;
    left: 30px;
    top: 20px;
  }

  .scroll .logo {
    width: 60px;
  }

  .before-header .header-inner {
    padding: 35px 30px 35px 150px;
  }

  .cta-header img {
    width: 60px;
    height: auto;
  }

  .mainnav li a,
  .mainnav li.active strong,
  .mod_changelanguage li a {
    font-size: 1.05em;
  }

  .before-header-rechts .mainnav {
    max-width: 1100px;
  }

  .impr h2 {
    margin-top: 30px !important;
  }

  .impr #main .pad-top-sm {
    padding-top: 80px;
  }

  /*
#main .container, #container #main .mod_article {
  padding-top: 100px !important;
}
*/

  #full #immo.mod_article {
    padding-bottom: 100px !important;
  }

  .container {
    padding: 120px 30px 120px 30px !important;
  }

  #container .mod_article,
  #full .mod_article {
    padding: 120px 30px 120px 30px;
  }

  .abstand-ueberschrift {
    width: 100%;
  }

  h1,
  h2 {
    font-size: 3em;
    margin-bottom: 25px !important;
  }

  h3,
  .sub-claim h2 {
    font-size: 2.3em;
  }

  .team h3 {
    padding-bottom: 10px;
    padding-top: 20px;
  }

  .list-big li {
    font-size: 1.9em;
    margin-top: 17px;
    margin-bottom: 17px;
  }

  .list-big ul {
    padding-left: 30px;
    margin-top: 35px;
    margin-bottom: 40px;
  }

  .list-big li::before {
    width: 15px;
    height: 15px;
    left: -30px;
    top: 8px;
  }

  .button {
    margin-top: 30px !important;
  }

  .two-grid {
    grid-gap: 70px;
  }

  .two-grid-2 {
    grid-gap: 70px;
  }

  .two-grid-2-1 {
    grid-gap: 30px;
    grid-template-columns: 1fr;
  }

  .pad-top-sm {
    padding-top: 100px;
  }

  .pad-bot-sm {
    padding-bottom: 100px;
  }

  .paddinner-left {
    padding-left: 0px !important;
  }

  .paddinner-right {
    padding-right: 30px !important;
  }

  .paddinner {
    padding: 30px;
  }

  .pad-sm {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .pad-top {
    padding-top: 120px;
  }

  .pad-bot {
    padding-bottom: 120px;
  }

  .margin-top {
    margin-top: 30px !important;
  }

  .margin-bottom {
    margin-bottom: 30px !important;
  }

  .three-grid {
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px;
    row-gap: 80px;
  }

  .steps .content-text {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }

  .button a {
    padding: 13px 25px 10px 25px;
  }

  #immo h2,
  #immo h1 {
    padding-left: 30px;
  }

  .immo-list {
    display: grid;
    grid-template-columns: 1fr;
  }

  .immo-list .layout_list {
    padding: 30px;
  }

  footer {
    padding: 70px 30px 60px 30px;
  }

  .footer-text {
    grid-template-columns: repeat(1, max-content);
    grid-template-areas:
      "telefon"
      "adress"
      "details-1"
      "details-2";
    column-gap: 0px;
    row-gap: 0px;
  }

  .footer-links-tel,
  .footer-contact-first {
    margin-bottom: 25px;
  }

  .footer-links-tel {
    align-content: flex-end;
  }

  .footer-logo {
    width: 100px;
    margin-bottom: 40px;
  }

  .footer-grid {
    display: block;
  }

  .button a {
    padding: 13px 25px 10px 25px;
  }

  .mobilenav {
    display: block !important;
    top: 25px;
    right: 30px;
    z-index: 1000;
  }

  .mobilenav .line-button {
    width: 60px;
    height: 60px;
  }

  body.sidePanelOpen .overlay {
    display: block;
    opacity: 1;
    right: 0px;
  }

  .mod_breadcrumb {
    top: 25px;
  }

  .immo-header h1 {
    padding: 30px;
    width: 100%;
  }

  .immo-titel {
    padding: 30px;
  }

  #container #immo.mod_article {
    padding: 30px;
  }

  #property_search div:nth-child(2),
  #property_search div:nth-child(3),
  #property_search div:nth-child(4),
  #property_search div:nth-child(5) {
    width: 100% !important;
    margin-bottom: 10px;
  }

  .immo-list .bookmark {
    top: 30px;
    right: 30px;
  }

  .details #main h2,
  .details #full h2 {
    font-size: 2.2rem;
  }

  .broker .ce_image {
    max-width: 150px;
  }

  .details .immo-titel .ce_text.meta.block .value {
    font-size: 2.2rem;
  }

  .ce_text.meta {
    margin-bottom: 0px;
  }

  .immo-header h1 {
    font-size: 2.2rem;
  }

  .ce_text.meta.block {
    padding: 0px;
  }

  .ce_form.block textarea,
  .ce_form.block input[type="text"],
  .ce_form.block input[type="email"],
  .ce_form.block input[type="tel"],
  .ce_form.block textarea {
    padding: 10px;
  }

  .immo-header {
    height: 700px;
  }

  .details #container .mod_article,
  .details #full .mod_article {
    padding: 30px !important;
  }

  .ce_text.meta.block .label,
  .ce_text.meta.block .value {
    font-size: 1rem;
  }

  .ce_form.block .widget-text label::after,
  .ce_form.block .widget-textarea label::after,
  .ce_form.block input[type="text"],
  .ce_form.block input[type="email"],
  .ce_form.block input[type="tel"],
  .ce_form.block textarea {

    font-size: 1rem;
  }

  .ce_form.block {
    padding: 0px;
  }

  .ce_form.block .widget-checkbox label {
    font-size: 1rem;
  }

  .ce_form.block input[type="text"],
  .ce_form.block input[type="email"],
  .ce_form.block input[type="tel"] {
    min-height: 50px;
  }

  .home-einleitung {
    margin-top: 0px !important;
  }
  
  .handorgel__header__button {
    font-size: 0.45em;
    padding: 15px 15px 15px 15px;
  }
  
  h2.handorgel__header button::after {
    right: 0px;
  }

}

/* @media (max-width: 767px)  */

@media (max-width: 767px) {
  body {
    font-size: 1em;
  }

  .mainnav {
    display: none !important;
  }

  .two-grid {
    grid-template-columns: 1fr;
  }

  .marquee__content li a {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .marquee-header {
    padding-top: 0px;
    padding-bottom: 0px;
    bottom: 0%;
  }

  .rhombus {
    width: 60px;
    height: auto;
  }

  .mod_breadcrumb {
    left: 20px;
    font-size: 0.9em;
  }

  .logo {
    width: 70px;
    height: auto;
    left: 20px;
    top: 20px;
  }

  .overlay .overlay-logo {
    width: 70px;
    left: 20px;
    top: 20px;
  }

  .scroll .logo {
    width: 60px;
  }

  .before-header .header-inner {
    padding: 35px 20px 35px 150px;
  }

  .cta-header img {
    width: 60px;
    height: auto;
  }

  .cta-header a {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .mainnav li a,
  .mainnav li.active strong,
  .mod_changelanguage li a {
    font-size: 1.05em;
  }

  .before-header-rechts .mainnav {
    max-width: 1100px;
  }

  .impr h2 {
    margin-top: 30px !important;
  }

  .impr #main .pad-top-sm {
    padding-top: 80px;
  }

  /*
#main .container, #container #main .mod_article {
  padding-top: 80px !important;
}
*/

  #full #immo.mod_article {
    padding-bottom: 60px !important;
  }

  .container {
    padding: 60px 20px 60px 20px !important;
  }

  #container .mod_article,
  #full .mod_article {
    padding: 60px 20px 60px 20px;
  }

  .abstand-ueberschrift {
    width: 100%;
  }

  h1,
  h2 {
    font-size: 2.5em;
    margin-bottom: 25px !important;
  }

  h3,
  .sub-claim h2 {
    font-size: 2em;
  }

  .button {
    margin-top: 30px !important;
  }

  .two-grid,
  .two-grid-2,
  .two-grid-2-1 {
    grid-gap: 60px;
  }

  /* Bewertungs-Teaser: Ueberschrift und Textblock gehoeren zusammen.
     Einspaltig kamen 60px Grid-Abstand + 60px pad-top-sm = 120px zusammen,
     das riss die beiden Haelften der gleichen Aussage auseinander. */
  .teaser-bewertung {
    grid-gap: 30px;
  }

  .teaser-bewertung > .pad-top-sm {
    padding-top: 0;
  }

  .paddinner-left {
    padding-left: 0px !important;
  }

  .paddinner-right {
    padding-right: 0px !important;
  }

  .pad-sm {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .pad-top-sm {
    padding-top: 60px;
  }

  .pad-bot-sm {
    padding-bottom: 60px;
  }

  .paddinner {
    padding: 20px;
  }

  .pad-top {
    padding-top: 60px;
  }

  .pad-bot {
    padding-bottom: 60px;
  }

  .margin-top {
    margin-top: 25px !important;
  }

  .margin-bottom {
    margin-bottom: 35px !important;
  }

  footer {
    padding: 55px 20px 50px 20px;
  }

  .footer-logo {
    width: 90px;
    margin-bottom: 25px;
  }

  .footer-text {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "telefon"
      "adress"
      "details-1"
      "details-2";
    grid-gap: 0px;
    row-gap: 0px;
  }

  .footer-text>* {
    margin-bottom: 20px;
  }

  .footer-text .footer-details-1,
  .footer-text .footer-details-2 {
    margin-bottom: 0px !important;
  }

  .footer-grid {
    grid-template-columns: 22% 78%;
  }

  .footer-links-tel {
    font-size: 1.9em;
  }

  .button a {
    padding: 13px 25px 10px 25px;
  }

  .header-slider,
  .header-slider .mod_rocksolid_slider {
    height: 550px !important;
  }

  .footer-grid,
  .footer-contact,
  .footer-bottom {
    display: block;
  }

  .rhombus {
    padding-left: 0px;
    margin-bottom: 50px !important;
    margin-top: 0px !important;
    transform: translateY(0%);
  }

  .two-grid-2-1,
  .two-grid-2 {
    grid-template-columns: 1fr;
  }

  .change,
  .change-reverse {
    display: flex;
    flex-direction: column;
  }

  .change .content-headline,
  .change .content-element-group {
    order: 2;
    display: block;
    /* Bild */
  }

  .change .content-image {
    order: 1;
    display: block;
    /* Text */
  }

  .change .margin-bottom {
    margin-bottom: 0px !important;
    margin-top: 60px;
    padding-bottom: 4px;
  }

  .change-reverse .content-headline,
  .change-reverse .content-element-group {
    order: 1;
    display: block;
    /* Bild */
  }

  .change-reverse .content-image {
    order: 2;
    display: block;
    /* Text */
  }

  .change-reverse .pad-top-sm.content-element-group {
    padding-top: 0px;
    margin-bottom: 60px;
  }

  .change .pad-bot-sm.content-element-group,
  .change .change-marg-top {
    padding-bottom: 0px;
    margin-top: 60px;
  }

  .change .pad-bot-sm.content-hyperlink {
    padding-bottom: 0px;
  }

  .change-no-pad-top {
    padding-top: 0px;
  }

  /*.change .content-image {
      margin-top: 40px;
  }
  
  .change .content-element-group {
      margin-top: 60px;
  }
  */

  .order .content-element-group:first-child {
    order: 2;
  }

  .order .content-element-group:last-child {
    order: 1;
  }

  .mobile-flex-reverse {
    display: flex;
    flex-direction: column-reverse;

    &:has(> .pad-top-sm) {
      gap: 60px;

      &>.pad-top-sm {
        padding-top: 0;
      }
    }
  }

  .mobilenav {
    display: block !important;
    top: 25px;
    right: 20px;
    z-index: 1000;
  }

  .mobilenav .line-button {
    width: 60px;
    height: 60px;
  }

  body.sidePanelOpen .overlay {
    display: block;
    opacity: 1;
    right: 0px;
  }

  .overlay .navi {
    padding-top: 5px;
  }

  .immo-list {
    display: grid;
    grid-template-columns: 1fr;
  }

  .immo-list .layout_list {
    padding: 20px 0;
  }

  #immo h2,
  #immo h1 {
    padding-left: 0;
  }

  .immo-list .layout_list:hover,
  .us-immo .immo-list .layout_list:hover {
    background-color: transparent;
  }

  .overlay .overlay-right,
  .overlay {
    height: 100vh;
    height: 100dvh;
  }

  .overlay .navi ul {
    padding-left: 20px;
    padding-right: 20px;
  }

  .list-big li {
    font-size: 1.9em;
    margin-top: 17px;
    margin-bottom: 17px;
  }

  .list-big ul {
    padding-left: 30px;
    margin-top: 35px;
    margin-bottom: 40px;
  }

  .list-big li::before {
    width: 15px;
    height: 15px;
    left: -30px;
    top: 8px;
  }

  .three-grid {
    grid-template-columns: 1fr;
    grid-gap: 0px;
    row-gap: 60px;
  }

  .rhombus.pos-right {
    margin-bottom: 0px !important;
    margin-top: 20px !important;
  }

  .big-font :is(h2, h3) {
    font-size: 12vw;
  }

  .steps .content-text {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  .right {
    text-align: left !important;
  }

  /* CTA-Dock als Leiste unten: Finden / Bewerten / Merkliste,
     Icon als ::before, Kurzlabel aus data-short (Modul 10) als ::after */
  .cta-header {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    z-index: 100;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    transform: none;
    padding-bottom: env(safe-area-inset-bottom);
    background-color: var(--black);
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.2);
  }

  body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }

  .cta-header a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 64px;
    padding: 0 4px;
    color: var(--white);
    text-decoration: none;
  }

  .cta-header img,
  .cta-header a > span:not(.bookmark-count) {
    display: none;
  }

  .cta-header a::before {
    content: "";
    width: 22px;
    height: 22px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .cta-header a::after {
    content: attr(data-short);
    font-family: var(--font2);
    font-size: 14px;
    line-height: 1.2;
  }

  .cta-header a[href*="immobilie-finden"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='7'/%3E%3Cpath d='M21 21l-5.5-5.5'/%3E%3C/svg%3E");
  }

  .cta-header a[href*="immobilie-bewerten"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.5 6.4A7.5 7.5 0 1 0 18.5 17.6'/%3E%3Cpath d='M4 10h10M4 14h10'/%3E%3C/svg%3E");
  }

  .cta-header a[href*="merkliste"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
  }

  /* Merkliste-Zähler rechts oben am Herz, weißer Ring gegen die schwarze Leiste */
  .cta-header a span.bookmark-count {
    top: 6px;
    left: calc(50% + 4px);
    right: auto;
    width: 20px;
    height: 20px;
    font-family: var(--font1);
    font-size: 12px;
    background-color: var(--white);
    color: var(--black);
  }

  .mod_breadcrumb {
    top: 15px;
  }

  .immo-header h1 {
    padding: 30px;
    width: 100%;
  }

  .immo-titel {
    padding: 30px;
  }

  #container #immo.mod_article {
    padding: 30px;
  }

  #property_search {
    padding: 25px 15px 20px;
  }

  .pagination {
    padding: 30px 0;
  }

  .pagination a,
  .pagination strong {
    min-width: 40px;
    padding: 10px 12px 8px;
  }

  .pagination li.first,
  .pagination li.last {
    display: none;
  }

  /* Nur aktuelle Seitenzahl zwischen Zurueck/Vorwaerts, sonst umbricht die Zeile */
  .pagination ul:has(li.previous):has(li.next) li:not(.previous):not(.next):not(:has(strong)) {
    display: none;
  }

  #property_search div:nth-child(2),
  #property_search div:nth-child(3),
  #property_search div:nth-child(4),
  #property_search div:nth-child(5) {
    width: 100% !important;
    margin-bottom: 10px;
  }

  .immo-list .bookmark {
    top: 30px;
    right: 30px;
  }

  .details #main h2,
  .details #full h2 {
    font-size: 2rem;
  }

  .broker .ce_image {
    max-width: 150px;
  }

  .details .immo-titel .ce_text.meta.block .value {
    font-size: 2rem;
  }

  .ce_text.meta {
    margin-bottom: 0px;
  }

  .immo-header h1 {
    font-size: 2rem;
  }

  .ce_form.block textarea,
  .ce_form.block input[type="text"],
  .ce_form.block input[type="email"],
  .ce_form.block input[type="tel"],
  .ce_form.block textarea {
    padding: 20px;
  }

  .immo-header {
    height: 500px;
  }

  .details #container .mod_article,
  .details #full .mod_article {
    padding: 30px !important;
  }

  .home-einleitung {
    margin-top: 0px !important;
  }
  
  .handorgel__header__button {
    font-size: 0.5em;
    padding: 15px 15px 15px 0px;
  }
  
  /*
  
    body {
        background: var(--hg);
        font-family: var(--font1);
        font-style: normal;
        font-size: 1em;
        line-height: 1.4;
        font-weight: 300;
    }
    .header-slider, .header-slider .mod_rocksolid_slider {
        height:600px!important;
    }
    h1 {
        font-size:2em;
        margin-top:50px;
        margin-bottom:30px;
    }
    h2 {
        font-size:1.8em;
    }
    h3,
    .sub-claim h2 {
        font-size:1.4em;
    }
    .mainnav {
        display: none!important;
    }
    .before-header .header-inner {
        padding:30px 50px 30px 150px;
    }
    .logo {
        width:80px;
        left:20px;
        top:20px;
    }
    .two-grid,
    .two-grid-2,
    .two-grid-2-1 {
        grid-template-columns: 1fr;
        grid-gap:50px;
    }
    .fix-buttons {
        grid-template-columns: 1fr;
        grid-gap:1px
    }
    #container .mod_article, #full .mod_article {
        padding:30px;
    }
    
    .container {
        padding:30px!important;
    }
    
    .paddinner {
        padding:0px;
    }

    .paddinner-right {
        padding-right:0px!important;
    }
    
    .paddinner-left {
        padding-left:0px!important;
    }
    
    .margin-bottom {
        margin-bottom:30px!important;
    }
    
    .margin-top {
        margin-top:30px!important;
    }
    .abstand-ueberschrift {
        max-width:100%!important;
    }
    .footer-grid,
    .footer-contact,
    .footer-bottom {
        display:block;
    }
    .footer-grid {
        padding-top:0px;
        padding-bottom:0px;
    }
    footer .inside {
        padding:0px;
    }
    .footer-contact-first {
        margin-top:30px;
    }
    .footer-links-tel {
        margin-bottom:30px;
        margin-top:30px;
    }
    .footer-logo {
        width:100px;
    }
    
    */
}

/* Touch-Geraete: Hover-Effekte neutralisieren (Buttons, Pagination, Karten, Merk-Herzen) */
@media (hover: none) {
  .button a:hover,
  .button.yellow a:hover,
  .immo-list .layout_list .button a:hover,
  .us-immo .immo-list .layout_list .button a:hover {
    color: var(--white);
    background-color: var(--black);
  }

  .fix-buttons a:hover {
    background-color: var(--black);
  }

  .pagination a:hover {
    background-color: transparent;
  }

  .immo-list .layout_list:hover,
  .us-immo .immo-list .layout_list:hover {
    background-color: transparent;
  }

  .immo-list .bookmark:hover:not(.active),
  .immo-header .bookmark:hover:not(.active) {
    background-image: url("../../files/grafiken/bookmark.svg");
  }
}

