/*
Theme Name: Buethus
Theme URI: https://buethus.ch
Description: Buethus
Version: 1.0
Author: Firstname Lastname
Author URI: https://buethus.ch
*/
/*
--------------Farben-------------
Hellblau: #33CBE5
Dunkelblau: #021D3A
*/

body,html,*{font-size:18px;letter-spacing: 0.6px;font-family:'Manrope';font-weight:300;color:#333333;}
body{overflow-x: hidden;}
html{scroll-behavior:smooth;overflow-x: hidden;}

a{color:#333333;text-decoration:none;font-size:100%;transition:all .3s ease;}
a:hover{text-decoration:none;color:#005249;transition:all .3s ease;}
a:focus{text-decoration:none;}

img{max-width:100%;height:auto;}

h1{font-size:80px;font-weight:500;display:block;width:max-content;position:relative;color:#fff;margin:0;line-height:1;}
h2{font-size:230%;font-weight:800;display:block;color:#021D3A;margin:0;line-height:1;}
h3{font-size:150%;font-weight:800;display:block;color:#021D3A;margin:0;line-height:1;}
p{color: #838383;}

.headline{font-size:40px;letter-spacing: 0px;font-weight:600;display:block;color:#212121;margin:0;line-height:1;font-family: 'EB Garamond';}
.content{font-size: 25px;}
.topline{font-size:26px;color:#93BA3A;padding-bottom: 5px;}
.big{font-weight: 600;}

.btn{position:relative;padding:8px 60px 8px 60px;font-size:18px;font-weight:300;background:#D5F13D;color:#fff;transition:all .3s ease;line-height:1;text-align:center;border-radius: 0px;}
.btn:hover{background:#000!important;transition:all .3s ease!important;color:#fff!important;}

ul li{list-style: disclosure-closed;padding-bottom: 10px;}

strong{font-weight:600;font-size:100%;}

.container{max-width:1650px;}
.container.wide{max-width:1675px;}

.seiteninfo{position: absolute;transform: rotate(90deg);right: -210px;width: 550px;top: 50%;border-bottom: #00000091 solid 1px;padding-left: 50px;font-weight: 500;}

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

#page-header{position: fixed;top: 0;width: 100%; max-height: 130px;background:#fff;z-index:999;box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;}
#page-header .inhalt{margin: 0px auto;}

#page-header .logocontainer{position: relative;width: 100%;padding-top: 56.25%;}
#page-header .logo{position: absolute;top: 0;left: 0;right: 0;bottom: 0;overflow: hidden;display: flex;align-items: center;justify-content: center;}
#page-header .logo img{height: 100%;object-fit: contain;position: absolute;left: 0;}

#page-header .menu-topmenu-container ul{display:flex;width: 100%;justify-content: flex-end;align-items: center;flex-direction: row;gap: 75px;list-style: none;margin: 0;padding: 0;}
#page-header .menu-topmenu-container ul li{list-style: none;}
#page-header .menu-topmenu-container ul li a{list-style: none; font-weight: 400;}
#page-header .menu-topmenu-container ul li:hover a{color: #034700;}
#page-header .contact{display: flex;flex-direction: row;justify-content: flex-start;gap: 35px;z-index:1;}
#page-header .contact .icon{width: 30px;height: 30px;position: relative;}
#page-header .contact .icon::before{content:'';width:45px;height:45px;display: block;position: absolute;background-color:#D5F13D;border-radius: 50%;top: -25%;left: -35%;}
#page-header .contact .icon2::before{content:'';width:45px;height:45px;display: block;position: absolute;background-color:#034700;border-radius: 50%;top: -25%;left: -35%;}
#page-header .contact .icon img{position: relative;z-index: 5;width: 80%;}
#page-header .menu{display: flex;justify-content: flex-end;align-items: center;gap: 130px;}

#page-header #menubuttonburger{display: none;margin-right: 5%;z-index:1;}
#page-header #menubuttonburger .custom_css_icon{margin-left:24px;width: 55px;height: 55px;position: relative;}
#page-header #menubuttonburger .custom_css_icon:hover{cursor:pointer;}
#page-header #menubuttonburger .custom_css_icon span.burger_bar{padding: 0;width: 40px;height: 3px; background-color: #000; display: block;border-radius: 6px;transition: all 0.4s ease-in-out;position: absolute;}

#page-header #menubuttonburger.active .custom_css_icon span.burger_bar:nth-child(1){transform: translateX(55px);background-color: transparent;}
#page-header #menubuttonburger.active .custom_css_icon span.burger_bar:nth-child(2){transform: rotate(45deg);}
#page-header #menubuttonburger.active .custom_css_icon span.burger_bar:nth-child(3){transform: rotate(-45deg);}
#page-header #menubuttonburger.active .custom_css_icon span.burger_bar:nth-child(4){transform: translateX(-55px);background-color: transparent;}

#page-header.scrolled #menubuttonburger .custom_css_icon span.burger_bar{background-color:#000;}

#page-header #burgermenu{display:none;position: absolute;top: 0;background-color: var(--prime);right: -15px;width: 33%;}
#page-header #burgermenu a{color:#212121 !important;font-size: 30px;}
#page-header #burgermenu ul.menu{position: fixed;background-color: #fff;top: 0;bottom: 0;left: 30%;right: 0;height: 100%;}
#page-header #burgermenu ul.menu li{width: 70%;text-align: center;font-size: 170%;}
#page-header #burgermenu ul.menu li:first-child{margin-top: 20%;}
#page-header #burgermenu ul.menu::before{content: '';position: absolute;bottom: 100%;width: 100%;height: 100%;background-color: var(--prime);z-index: -1;padding: 20px;left: 0;}
#page-header #burgermenu ul.menu::after{content: '';position: absolute;top: 100%;width: 100%;height: 1000%;background-color: var(--prime);z-index: -1;padding: 20px;left: 0;}
#page-header #burgermenu .burgermenu_upperrow a{display: none;}


#page-header.scrolled #burgermenu{display:none;position: absolute;top: 100%;background-color: #fff;right: -15px;}
#page-header.scrolled #burgermenu a{color:#000 !important;}
#page-header.scrolled #burgermenu ul.menu::before{content: '';position: absolute;bottom: 100%;width: 100%;height: 100%;background-color: #fff;z-index: -1;padding: 20px;left: 0;}
#page-header.scrolled #burgermenu ul.menu::after{content: '';position: absolute;top: 100%;width: 100%;height: 1000%;background-color: #fff;z-index: -1;padding: 20px;left: 0;}


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

#page-footer{background:#6A6A6A;padding:60px 0 15px;overflow: hidden;position: relative;}
#page-footer .text{display:block;color:#fff;}
#page-footer .main_img{max-height: 120px;}
#page-footer .kontakt img{width: 25px;margin-right: 20px;}
#page-footer .anschrift a img{width: 25px;margin-right: 15px;margin-bottom: 5px;}
#page-footer .rechtliches{display: flex;justify-content: end;}
#page-footer .spacer{margin:0 5px;}
#page-footer .anschrift{margin:50px 0;}
#page-footer .kontakt{margin:50px 0;}
#page-footer .kontakt a{margin-bottom:15px;}
#page-footer .impressum{font-size:15px;font-weight:300;}
#page-footer .datenschutz{font-size:15px;font-weight:300;}
#page-footer .spacer{font-size:15px;font-weight:500;}



/*------------------------------ACF-Flexible-Content-----------------------------------------*/

/* .inhaltsbloecke{} */
.flx_headerblock{margin-bottom:0px !important;}
.flx_headerblock .header{position: relative;display: flex;flex-direction: column;justify-content: flex-end;}
.flx_headerblock .header::before{content: '';background: rgb(0,0,0);background: linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(0,0,0,0.8) 80%, rgba(0,0,0,0.8) 100%);display: block;position: absolute; left: 0; right: 0;top: 0;bottom: 0;}
.flx_headerblock .header .headline_container{position: absolute;left:0;bottom:140px;right:0;}
.flx_headerblock .headline_h1 h1{font-size: 85px;font-family: 'EB Garamond';font-weight:bold;}
.flx_headerblock .inner{width:36%;}
.flx_headerblock .topline{color:#fff;font-size:24px;font-weight: 400}
.flx_headerblock h1{margin-bottom:30px;}
.flx_headerblock .text p{color:#fff;font-size:22px;}
.flx_headerblock .btn{padding:12px 20px 12px 20px;width: 100%;display: flex;justify-content: center;}
.flx_headerblock .btnitem .btn{color:#005249;}
.flx_headerblock .btnitem .btn img{margin-left:10px;}
.flx_headerblock .btnitem:nth-child(2) .btn{background:#6A6A6A;color:#fff;}

.flx_videoblock .header{position: relative;}
.flx_videoblock .header::before{content: '';background-color:rgba(33, 33, 33, 0.7);display: block;position: absolute; left: 0; right: 0;top: 0;bottom: 0;}
.flx_videoblock .playbutton{content: '';background-image:url('media/icons/icon-playbutton.png');display: block;background-position:center;background-repeat:no-repeat;height: 100px;position: absolute;width: 100px;left: 50%;top: 50%;z-index: 99;cursor: pointer;transform: translate(-50%,-50%);}
.flx_videoblock .header .headline_container{position: absolute;left:0;bottom:100px;right:0;}
.flx_videoblock .inner{width: 45%;}
.flx_videoblock .topline{color:#fff;}
.flx_videoblock .headline{margin-bottom:10px;color:#fff;font-size: 75px;font-weight: 500;line-height: 1;}
.flx_videoblock .text p{color:#fff;width: 60%;}
.flx_videoblock .btn{color:#005249;} 
.flx_videoblock .videobox{display:none;position:fixed;top:15%;right:25%;left:25%;bottom:15%;z-index:1001;}
.flx_videoblock .videobox.active{display:block;}
.flx_videoblock .background{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,0.6);z-index:1000;}
.flx_videoblock .background.active{display:block;}
.flx_videoblock .close{position: absolute;top: 90px;right: 400px;display: block;width: 50px;height: 50px;background: green;font-size: 150%;font-weight: 600;color: #fff;padding: 5px 15px;cursor: pointer;}

.flx_kundenrezensionen .topline_container{width: 30%;position: relative;margin-bottom: 20px;padding-top: 30px;}
.flx_kundenrezensionen .headline{margin-bottom: 100px;}
.flx_kundenrezensionen .rezension{position: relative;padding-top: 80px;background-color:#6A6A6A;padding-bottom: 70px;}
.flx_kundenrezensionen .person{position: absolute;width: max-content;top: 0;left: 50%;transform: translate(-50%,-50%);}
.flx_kundenrezensionen .sterne{position: absolute;bottom: 10%;width: 100%;left: 50%;transform: translate(-50%,0);display: flex;justify-content: center;margin-bottom: 10px;height: 6.5%;}
.flx_kundenrezensionen .person .profilbild{border-radius: 50%;width: 120px;height: 120px;}
.flx_kundenrezensionen .sterne .stern{width: 25px;margin: 0 4px;height: auto;object-fit: cover;object-position: center;}
.flx_kundenrezensionen .text p{color: #fff;text-align: center;padding: 15px 40px;font-size: 18px;}

.flx_ausstattung{position: relative;margin-top: -70px!important;}
.flx_ausstattung .headline{margin-bottom: 50px;}
.flx_ausstattung .content{position: relative;}
.flx_ausstattung .btn{position: absolute;bottom: -50px;background:#005249;}
.flx_ausstattung .inner{padding: 80px;padding-top: 0;padding-bottom: 60px;}
.flx_ausstattung img{margin-bottom: 20px;max-width: 100%;}
.flx_ausstattung .headline_element{display:inline-block;margin-bottom: 15px;margin-left: 15px;font-weight: 600;}


.flx_textblock{position: relative;}
.flx_textblock .headline{margin-bottom: 50px;}

.flx_textblock .grid_item{display: grid;grid-template-columns: 10% 10% 10% 0% 30%;grid-template-rows: 114px 114px 114px 230px 84px; gap: 14px;}

.flx_textblock .grid_img{width:104px;height:104px;cursor: pointer;object-fit: cover;object-position: center;}
.flx_textblock .grid_img.bild0{grid-column: 1;grid-row: 1;}
.flx_textblock .grid_img.bild1{grid-column: 2;grid-row: 1;}
.flx_textblock .grid_img.bild2{grid-column: 3;grid-row: 1;}
.flx_textblock .grid_img.bild3{grid-column: 1;grid-row: 2;}
.flx_textblock .grid_img.bild4{grid-column: 2;grid-row: 2;}
.flx_textblock .grid_img.bild5{grid-column: 3;grid-row: 2;}
.flx_textblock .grid_img.bild6{grid-column: 1;grid-row: 3;}
.flx_textblock .grid_img.bild7{grid-column: 2;grid-row: 3;}
.flx_textblock .grid_img.bild8{grid-column: 3;grid-row: 3;}
.flx_textblock .grid_icon{grid-column: 7;display:none;width:73px;}
.flx_textblock .grid_inhalt{grid-column: 5;grid-row: 5;display:none;padding-top: 15px;}
/* .flx_textblock .grid_description{display: flex;align-self: flex-end;font-size:25px;display:none;grid-column: 7;grid-row: 3;} */
.flx_textblock .grid_inhalt p{margin-top: 20px;}
.flx_textblock .active{display:block;}
.flx_textblock .readytoclick{cursor: pointer;}
.flx_textblock .headline{margin-bottom: 50px;}
.flx_textblock .grid_arrows{grid-column: 1;grid-row: 4;display: flex;align-items: flex-start;padding-top: 15px;}
.flx_textblock .grid_arrows .arrow{width: 40px;height: 23px;cursor: pointer;}
.flx_textblock .grid_arrows .arrow-left{transform: rotate(180deg);margin-right: 20px;} 
.flx_textblock #front-item{grid-column:5/9;grid-row:1/5;height: 100%;width: 100%;object-fit: cover;object-position: center;}

.flx_umgebung .bg{background-color: rgba(131, 131, 131, .1);padding: 70px 0;}
.flx_umgebung .headline{margin-bottom: 50px;width: 50%;}
.flx_umgebung .headline_standort{font-size: 3em;}
.flx_umgebung .btn{width:194px;height: 43px;background-color:#ADADAD;}
.flx_umgebung .btn.routenplaner{background: #005249;}
.flx_umgebung .btn.routenplaner img{width: 11px;position: absolute;left: 10%;top: 50%;transform: translate(-10%,-50%);}
.flx_umgebung .anschrift{margin-bottom: 40px;display: block;line-height: 1;font-weight:500;}
.flx_umgebung .name_standort{font-weight: 500;}
.flx_umgebung .entfernung{color:#034700;margin-left: 20px;}
.flx_umgebung .beschreibung{display:block;font-size: 80%;color: #838383;}
.flx_umgebung .item{margin-bottom: 5px;}
.flx_umgebung .button_container{position: relative;}
.flx_umgebung .button_container .button{position: absolute; bottom:0;}
.flx_umgebung .inhalt p{margin-bottom: 50px;}

.flx_preise{position: relative;}
.flx_preise .bg{padding: 70px 0;}
.flx_preise .headline{margin-bottom:50px;}
.flx_preise .main_content{gap: 24px;flex-wrap: nowrap;width: 100%;margin-left: 0!important;}
.flx_preise .item{padding: 30px;padding-bottom: 50px;background-color:rgba(131,131,131,0.1);transition: all .3s ease;}
.flx_preise .item .time{font-size: 30px;font-weight: 500;color:#212121;margin-top: 10px;}
.flx_preise .item .price{font-size: 15px;color:#212121;margin-top: 5px;}
.flx_preise .item .values{position: relative;display: flex;flex-direction: column;justify-content: center;align-items: flex-start;padding: 15px 35px 0 45px;position: relative;margin-top: 5px;}
.flx_preise .item .values .eine{display: block;padding-bottom: 15px;}
.flx_preise .item .values .eine::before{content: '';background-image: url('media/icons/nutzer.png');position: absolute;height: 35px;width: 35px;display: block;left: 0px;background-repeat: no-repeat;}
.flx_preise .item .values .zwei{display: block;padding-bottom: 15px;}
.flx_preise .item .values .zwei::before{content: '';background-image: url('media/icons/zwei-nutzer.png');position: absolute;height: 35px;width: 35px;display: block;left: 0px;background-repeat: no-repeat;}
.flx_preise .item .button{color: #005249;font-size: 20px;font-weight: bold;transition: none;position: relative;display: flex;justify-content: flex-start;align-items: center;white-space: nowrap;gap:15px;margin-top: 24px;}
.flx_preise .item .button .bild{width: 50%;border: 1px solid #005249;position: relative;}
.flx_preise .item .button .bild::after{content: '';position: absolute;height: 20px;width: 20px;display: inline-block;top: 50%;right: 8px;transform: translateY(-50%) translateX(30%) rotate(45deg);border-top: 2px solid #005249;border-right: 2px solid #005249;}
.flx_preise .item:hover{background-color:#005249;}
.flx_preise .item:hover .price, .flx_preise .item:hover .values, .flx_preise .item:hover .button, .flx_preise .item:hover .time, .flx_preise .item:hover .values .eine, .flx_preise .item:hover .values .zwei{color:#fff;}
.flx_preise .item:hover .values .eine::before{background-image: url('media/icons/nutzer-weiß.png');}
.flx_preise .item:hover .values .zwei::before{background-image: url('media/icons/zwei-nutzer-weiss.png');}
.flx_preise .item:hover .button .bild::after{border-top: 2px solid #fff;border-right: 2px solid #fff;}
.flx_preise .item:hover .button .bild{border: 1px solid #fff;}
.flx_preise .notice{margin-top: 50px;display: block;width: 100%;font-weight: 500;color: var(--color-primary);}
.flx_preise .info_icon{width: 35px;height: 35px;margin-right: 10px;}
.flx_preise .kasten{background-color:#005249;position:relative;margin-top: 50px;}
.flx_preise .kasten .headline{margin:unset;color:#fff;display: inline-block;padding:40px;margin-left: 25px;}
.flx_preise .kasten .inhalt{display: inline-block;position: absolute;top: 30%;width: 33%;}
.flx_preise .kasten .inhalt p{color:#fff;}
.flx_preise .item img{margin-bottom: 30px;margin-bottom: 30px;width: 480px;height: 600px;object-fit: cover;display: block;}


.flx_kontaktformular .bilderrahmen{position: relative;width: 100%;padding-top: 50%;}
.flx_kontaktformular{position: relative;}
.flx_kontaktformular .form-kontakt{margin: 0 auto;margin-top: 50px;}
.flx_kontaktformular input{margin-bottom: 20px;width: 99%;font-size: 16px;border: none;background-color:#F5F5F5;padding: 10px 10px 10px 20px;}
.flx_kontaktformular input#vorname, .flx_kontaktformular input#nachname, .flx_kontaktformular input#email, .flx_kontaktformular input#telefon{width: 49%;margin-right: 10px;}
.flx_kontaktformular input#ankunft, .flx_kontaktformular input#abreise, .flx_kontaktformular input#person{width: 32%;margin-right: 10px;}
.flx_kontaktformular input:focus-visible, .flx_kontaktformular textarea:focus-visible{outline: none;}
.flx_kontaktformular textarea{font-size: 16px;width: 99%;margin-bottom: 20px;border: none;background-color: #F5F5F5;padding: 10px 10px 10px 20px;}
.flx_kontaktformular .submitbox .btn{background-color:#005249;padding-top: 12px;padding-bottom: 12px;font-weight: 500;}
.flx_kontaktformular .whatsappbox .btn{background-color: transparent;color: #212121;border: 1px solid #212121;transition: all .3s ease;padding-top: 12px;padding-bottom: 12px}
.flx_kontaktformular .whatsappbox .btn:hover{background-color: #93BA3A!important;color: #fff!important;border: none!important;transition: all .3s ease!important;}
.flx_kontaktformular .pflicht{margin-bottom:20px;}
.flx_kontaktformular .buttons{display: flex;}
.flx_kontaktformular .text{padding-right: 100px;}
.flx_kontaktformular #kontaktform{display: flex;justify-content: space-between;}
.flx_kontaktformular .kontakt .btn{width: max-content;padding: 15px 50px;margin-top: 25px;margin-right: 15px;}
.flx_kontaktformular .kontakt .terms{display: flex;}
.flx_kontaktformular .kontakt .terms .checkbox{width: 40px;height: 15px;margin-top: 8px;}
.flx_kontaktformular .kontakt .submitbox .buttons .btn{margin-right: 25px!important;width: max-content!important;padding: 15px 100px;}
.flx_kontaktformular .kontaktformular a.btn{margin-right: 25px!important;width: max-content!important;padding: 15px 100px;}
#buchung .whatsapp .icon img::before{content:'';width:45px;height:45px;display: block;position: absolute;background-color:#034700;border-radius: 50%;top: -25%;left: -35%;}
#buchung .whatsapp .icon{width: 30px;height: 30px;position: relative;}
#buchung .whatsapp .icon img{position: relative;width: 10%;top: 10px;}
#buchung .whatsapp{display: block;}

.flx_ansprechpartnerbox{padding:75px 0;background:#021D3A;margin:100px 0;}
.flx_ansprechpartnerbox .links .content p{color:#fff;margin:35px 0;display:block;}
.flx_ansprechpartnerbox .links .content .headline{color:#fff;}
.flx_ansprechpartnerbox .links .content .btn{padding:15px 75px 15px 25px;}
.flx_ansprechpartnerbox .mitte{margin-top:35px;}
.flx_ansprechpartnerbox .mitte .item{margin:25px 0;}
.flx_ansprechpartnerbox .mitte .item .icon{text-align:right;}
.flx_ansprechpartnerbox .mitte .item .icon img{max-width:75%;}
.flx_ansprechpartnerbox .mitte .item .inhalt{padding-top:10px;}
.flx_ansprechpartnerbox .mitte .item .inhalt .bezeichnung{font-size:100%;font-weight:600;color:#fff;display:block;line-height:1.2;}
.flx_ansprechpartnerbox .rechts .person img{border-radius:50%;}
.flx_ansprechpartnerbox .rechts .person .info{position:absolute;bottom:0;right:0;}
.flx_ansprechpartnerbox .rechts .person .info .name{font-size:125%;font-weight:600;color:#fff;display:block;line-height:1.2;}
.flx_ansprechpartnerbox .rechts .person .info .bezeichnung{font-size:100%;font-weight:300;color:#fff;display:block;line-height:1.2;}

.flx_leistungblock.sliderblock{min-height:550px;}
.flx_leistungblock.sliderblock .slider{position:absolute;}
.flx_leistungblock{margin:100px 0;}
.flx_leistungblock .headline{margin-bottom:100px;}
.flx_leistungblock .item{padding:50px;border:solid 2px #33CBE5;margin-bottom:30px;transition:all .3s wse;display:block;}
.flx_leistungblock .item img{max-width:25%;}
.flx_leistungblock .item .inhalt h3{margin:15px 0;}
.flx_leistungblock .item:hover{background:#021D3A;border-color:#021D3A;transition:all .3s ease;}
.flx_leistungblock .item:hover .inhalt h3{color:#fff;transition:all .3s ease;}
.flx_leistungblock .item:hover .inhalt p{color:#fff;transition:all .3s ease;}

.flx_iconblock{margin:100px 0;}
.flx_iconblock .item{padding:0 25px;}
.flx_iconblock .item img{max-width:35%;margin:0 auto 25px;display:block;}
.flx_iconblock .item .inhalt{text-align:center;}
.flx_galerie{padding-top:150px !important;}
.flx_galerie .swiper{overflow: hidden;padding: 30px 15px 0 15px;}
.flx_galerie .swiper-slide{height: 88%;}
.swiper-button-next{right: 47%;}
.swiper-button-prev{left: 47%;}
.swiper-button-next::after, .swiper-button-prev::after{font-size: 160%;}
.swiper-button-next, .swiper-button-prev{top: 95%;color: #000;}

.impressum .inhaltsbloecke, .datenschutzerklaerung .inhaltsbloecke{margin-top: 200px;}
.impressum .inhaltsbloecke h1, .datenschutzerklaerung .inhaltsbloecke h1{margin-bottom: 30px;}

.impressum .inhaltsbloecke h2, .datenschutzerklaerung .inhaltsbloecke h2{font-weight: 600;padding-bottom: 20px;font-size: 190%;}
.impressum .inhaltsbloecke h3, .datenschutzerklaerung .inhaltsbloecke h3{padding: 20px 0;font-weight: 600;}
.impressum .inhaltsbloecke .flx_textblock, .datenschutzerklaerung .inhaltsbloecke .flx_textblock{padding: 0;}



/* -------------------STARTSEITE---------------------------------------------------------------------- */

div[class^="flx_"], div[class*="flx_"] {margin-bottom: 100px;padding-top:150px;margin-top:-170px;}

.flx_uebersicht{margin-bottom:100px!important;}
.flx_uebersicht .headline_content{position: relative;letter-spacing: 5px;}
.flx_uebersicht .content{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
.flx_uebersicht .headline_oben{line-height: 1.4;font-size: 250%;text-transform: uppercase;font-weight: 600;}
.flx_uebersicht .headline_farbig{color:#F09F1D;}
.flx_uebersicht .anzahl{color:#2B3550;font-size:300%;font-weight:300;}
.flx_uebersicht .beschreibung{color:#2B3550;text-transform: uppercase;font-weight: 600;font-size:120%;}
.flx_uebersicht .item{margin-top:20%;text-align: center;}


.flx_uber_uns{margin-bottom:200px!important;}
.flx_uber_uns .bild{position: relative;}
.flx_uber_uns .bild img{width:75%;right:7%;position:absolute;}
.flx_uber_uns .headline{margin-bottom: 25px;}
.flx_uber_uns .content{padding:10px 175px 0px 100px;}
.flx_uber_uns .inhalt{margin-bottom: 35px;}
.flx_uber_uns .inhalt p{font-size:90%;}
.flx_uber_uns .subline{color:#2B3550;font-weight: bold;margin-bottom: 25px;}
.flx_uber_uns .item img{border-radius: 50%;}


.flx_nachhaltig .headline{text-align: center;margin-bottom:10px;}
.flx_nachhaltig .subline{font-size:100%;font-weight:600;text-align:center;margin-bottom:30px;}
.felder{flex-direction:row;justify-content:space-around;}
.feld{position:relative;padding:50px 30px 0px 30px;display:flex;flex-direction:column;flex-grow:1;cursor: pointer;align-items:center;border: 2px solid #D9D9D9;max-width: 225px;width:100%;}
.feld.top.left::before{content:'';position: absolute;left: -2px;top: -2px;height: 25%;width: 30%;border-top: 2px solid #fff;border-left: 2px solid #fff;}
.feld.top.right::before{content:'';position: absolute;right: -2px;top: -2px;height: 25%;width: 30%;border-top: 2px solid #fff;border-right: 2px solid #fff;}
.feld.bottom.left::before{content:'';position: absolute;left: -2px;bottom: -2px;height: 25%;width: 30%;border-bottom: 2px solid #fff;border-left: 2px solid #fff;}
.feld.bottom.right::before{content:'';position: absolute;right: -2px;bottom: -2px;height: 25%;width: 30%;border-bottom: 2px solid #fff;border-right: 2px solid #fff;}

.feld:hover{transition-delay: 0s, 0.2s, 0.4s;border-color: #F09F1D;}
.flx_nachhaltig .feld img{margin-bottom:10px;height:58px;}
.flx_nachhaltig .feld .headline_feld{font-size: 125%;font-weight:500;margin-bottom:5px;}
.flx_nachhaltig .feld .inhalt p{text-align:center;font-size:80%;}



.flx_neuheiten .headline{margin-bottom:10px;}
.flx_neuheiten .inhalt p{font-size:90%;margin-bottom:30px;}
.flx_neuheiten .inner{-webkit-box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.3);box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.3);margin-top: 15px;margin-bottom: 15px;}
.flx_neuheiten .bild{position: relative;}
.flx_neuheiten .bild .icon{width:10%;position: absolute;z-index: 1;right: -15px;top: -15px;}
.flx_neuheiten .content{padding:40px;}
.flx_neuheiten .bezeichnung{color:#2B3550;font-weight: 400;margin-bottom: 10px;font-size:115%;text-transform:uppercase;}
.flx_neuheiten .button{margin-top:40px;}
.flx_neuheiten .btn{width:100%;}
.flx_neuheiten .btn:hover{background:#F09F1D;transition:all .3s ease;}
.flx_neuheiten .slider_neuheiten .owl-prev{content: '';background-image: url('media/arrow-right.png'); display: block; width: 30px; height: 55px; position: absolute;bottom: 46%;left:1%;z-index: 1;background-size: 100%;transform: translate(-50%,-10%) rotate(180deg);}
.flx_neuheiten .slider_neuheiten .owl-next{content: '';background-image: url('media/arrow-right.png'); display: block; width: 30px; height: 55px; position: absolute;bottom: 46%;right:-2%;z-index: 1;background-size: 100%;transform: translate(-50%,-8%)}
.flx_neuheiten .slider_neuheiten .owl-dots{text-align: center;padding-top: 15px;}
.flx_neuheiten .slider_neuheiten .owl-dots .owl-dot{width: 12px;height: 12px;border-radius: 50%;display: inline-block;background: #DEDEDE;margin: 0 5px;}
.flx_neuheiten .slider_neuheiten .owl-dots .owl-dot.active{background-color: #F09F1D;}


.flx_impressionen{padding-top: 210px;position: relative;}
.flx_impressionen::after{content: '';background-image: url('media/ochtrup-karte.png'); display: block; width: 500px; height: 500px; position: absolute;top:-3%;right: 25%;background-size: 100%;z-index: -1;}
.flx_impressionen .headline{line-height:1.4;font-size: 200%;}
.flx_impressionen .inhalt p{font-size:90%;padding:30px 200px 30px 0;line-height: 1.6;}
.flx_impressionen .button{margin-top: 100px;}
.flx_impressionen .btn{background:#F09F1D;}
.flx_impressionen .btn:hover{background:#2B3550;color:#fff}
.flx_impressionen .slider_impressionen{padding-left:0;}
.flx_impressionen .slider_impressionen .owl-item img{margin-top: 15px;}
.flx_impressionen .slider_impressionen .owl-dots{text-align: center;padding-top: 15px;}
.flx_impressionen .slider_impressionen .owl-dots .owl-dot{width: 12px;height: 12px;border-radius: 50%;display: inline-block;background: #DEDEDE;margin: 0 5px;}
.flx_impressionen .slider_impressionen .owl-dots .owl-dot.active{background-color: #F09F1D;}

/* -------------------PROJEKTE---------------------------------------------------------------------- */

.flx_projekte .row{padding-top:50px;}
.flx_projekte .headline{font-size:240%;line-height:1.2;margin-top: 50px;letter-spacing: 5px;}
.flx_projekte .inhalt p{font-size:90%;margin: 40px 0px;width:70%;}
.flx_projekte .bezeichnung{color:#2B3550;font-weight: bold;font-size:115%;text-transform:uppercase;letter-spacing: 1px;}
.flx_projekte .text{margin-top: 20px;height:200px;}
.flx_projekte .informationen p{font-size:90%;}
.flx_projekte .button{margin-bottom:15px;}
.flx_projekte .bilder{position:relative;}
.flx_projekte .inner{width:70%;position: absolute;right: 0;}
.flx_projekte .innerdatum{background-color: gray;width: 20%;height: 15%;min-width:fit-content;min-height:100px;position: absolute;padding:22px;}
.flx_projekte .innerdatum .fertigstellungsmonat{color:#fff;text-transform: uppercase;font-size: 150%;font-weight: 600;text-align: center;line-height:1;}
.flx_projekte .innerdatum .fertigstellungsjahr{color:#fff;font-size: 125%;font-weight:600;text-align: center;}
.flx_projekte .inneneinrichtungbild{position:absolute;left:-50%;bottom:0;width:72%;}
.flx_projekte .trennstrich{padding-right:0;margin-top:80px;}
.flx_projekte .row:last-child .trennstrich{display:none;}

/*------------------Mietobjekte-------------------------------------------------------------------------*/

.flx_mietobjekte .filterspace{width:58%;padding-top:3%;}
.flx_mietobjekte .filter{flex-direction:row;justify-content:space-between;margin-left:0;}
.flx_mietobjekte .filter_item{width:24%;display:flex;flex-direction:row;align-items:center;height: 40px;background-color:#F5F5F5;position:relative;border-radius:10px;}
.flx_mietobjekte .filter_item.active{background-color: lightgrey;}
.flx_mietobjekte .filter_item:first-child{width:12%;background-color:#fff;}
.flx_mietobjekte .filter .ueberschrift{color:#2B3550;font-weight:500;font-size:115%;text-transform:uppercase;}
.flx_mietobjekte .filter .description{text-transform:uppercase;padding-left: 50%;transform: translate(-25%,0);}
.flx_mietobjekte .filter .iconfilter{position:absolute;left:-13%;}
.flx_mietobjekte .inner{-webkit-box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.3);box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.3);border-radius: 15px;position:relative;}
.flx_mietobjekte .icon{position: absolute;right:-2%;top:-9%;}
.flx_mietobjekte .bild{border-top-left-radius: 10px;border-bottom-left-radius: 10px;}
.flx_mietobjekte .details{padding-right:100px;}
.flx_mietobjekte .bezeichnung{color:#2B3550;font-weight: bold;font-size:115%;text-transform:uppercase;padding:30px 0px;letter-spacing: 1px;}
.flx_mietobjekte .text{font-size:90%;}
.flx_mietobjekte .button{padding-top:40px;}
.flx_mietobjekte .mietobjektitem{padding-top:50px;}
.flx_mietobjekte .content{padding-left: 50px;}

/*-------------------Profil------------------------------------------------------------------------*/

.flx_profil .colzurueck{padding:30px 15px;}
.flx_profil .zurueck{padding-left:30px;position: relative;}
.flx_profil .zurueck::before{content:'';background-image: url('media/arrow-right.png');display: block; width: 20px; height: 20px; position: absolute;top: 50%;left:0;z-index: 1;background-size: 100%;transform: translate(-50%,-50%) rotate(180deg);background-size: contain;background-repeat: no-repeat;}
.flx_profil .headline_oben{line-height:1.2;font-size:250%;text-transform:uppercase;font-weight:600;margin-top:5%;letter-spacing: 1px;}
.flx_profil .inhalt{padding:70px 0px;width:75%;}
.flx_profil .anzahl{color:#2B3550;font-size:300%;font-weight: 100;}
.flx_profil .beschreibung{color:#2B3550;text-transform: uppercase;font-weight:600;font-size:120%;}
.flx_profil .item{text-align:center;}
.flx_profil .slider_profil{padding:30px 0px;}
.flx_profil .owl-carousel .owl-item img{max-height: 112px !important;object-fit: cover;}
.flx_profil .slider_profil .owl-prev{content: '';background-image: url('media/arrow-right.png'); display: block; width: 15px; height: 27px; position: absolute;bottom: 45%;left:-7%;z-index: 1;background-size: 100%;transform: translate(-45%,7%) rotate(180deg);}
.flx_profil .slider_profil .owl-next{content: '';background-image: url('media/arrow-right.png'); display: block; width: 15px; height: 27px; position: absolute;bottom: 45%;right:-10%;z-index: 1;background-size: 100%;transform: translate(-45%,10%)}
.flx_profil .bezeichnung{color:#2B3550;font-weight: bold;letter-spacing: 1px;font-size:115%;text-transform:uppercase;padding:20px 0;}
.flx_profil .details{padding:100px 0px;}
.flx_profil .itemdetails{padding:10px 5px;}

.flx_galerie .inhalt{width:90%;padding-bottom:50px;}
.flx_galerie .slider_galerie .owl-prev{content: '';background-image: url('media/arrow-right.png'); display: block; width: 40px; height: 40px; position: absolute;bottom: 50%;left:-3%;z-index: 1;background-size: 100%;transform: translate(-50%,3%) rotate(180deg);background-size: contain;background-repeat: no-repeat;}
.flx_galerie .slider_galerie .owl-next{content: '';background-image: url('media/arrow-right.png'); display: block; width: 40px; height: 40px; position: absolute;bottom: 50%;right:-5%;z-index: 1;background-size: 100%;transform: translate(-50%,5%);background-size: contain;background-repeat: no-repeat;}
.flx_galerie .slider_galerie .owl-dots{text-align: center;padding-top: 15px;}
.flx_galerie .slider_galerie .owl-dots .owl-dot{width: 12px;height: 12px;border-radius: 50%;display: inline-block;background: #DEDEDE;margin: 0 5px;}
.flx_galerie .slider_galerie .owl-dots .owl-dot.active{background-color: #F09F1D;}
.flx_galerie .owl-carousel .owl-item img{max-height: 390px;object-fit: cover;}

.flx_karte .content{position:relative;left:23%;padding-right:8rem;}
.flx_karte .headline{padding:15px 0;}
.flx_karte .headline::after{content:'';background-image: url('media/location.svg');display: block; width: 40px; height: 40px; position: absolute;top: 12%;left:-12%;z-index: 1;background-size: 100%;transform: translate(-12%,-50%);background-size: contain;background-repeat: no-repeat;}
.flx_karte .anschrift{padding-bottom:15px;line-height:1.8;}
.flx_karte .inhalt{width: 85%;}

.flx_infrastruktur .headline{text-align:center;margin-bottom:60px;}
.flx_infrastruktur .felder{flex-direction:row;justify-content:space-around;}
.flx_infrastruktur .feld{max-width:210px;padding:50px 30px 30px 30px;display:flex;flex-direction:column;align-items:center;margin:1rem;}
.flx_infrastruktur .feld .anzahl{font-size: 300%;color:#333333;font-weight:500;margin-bottom:5px;}
.flx_infrastruktur .feld .bezeichnung{text-align:center;color:#333333;text-transform: uppercase;font-weight:600;font-size:120%;min-height: 80px;display:flex;align-items: center;}

.flx_kontakt .headline{line-height:1.2;font-size:300%;text-transform:uppercase;font-weight:600;letter-spacing:6px;padding-bottom:20px;}
.flx_kontakt .dateien{margin-top: 5%;}
.flx_kontakt .dateien .btn{padding:8px 20px 8px 20px;font-size:80%;text-transform:none;width:85%;margin-bottom:15px;}
.flx_kontakt .submitbox .btn{background-color:#F09F1D;}
.flx_kontakt .submitbox .btn:hover{background:#2B3550;color:#fff}
.flx_kontakt iframe{width:100%;height:350px;margin:5% 0;}
.flx_kontakt .anfahrtheadline{padding:15px 0;position: relative;font-size: 160%;font-weight: 500;display: block;color: #2B3550;text-transform: uppercase;margin: 0;line-height: 1;letter-spacing: normal;}
.flx_kontakt .anfahrtheadline::after{content:'';background-image: url('media/location.svg');display: block; width: 40px; height: 40px;position: absolute;top: 50%;left:-10%;z-index: 1;background-size: 100%;transform: translate(-10%,-50%);background-size: contain;background-repeat: no-repeat;}
.flx_kontakt .anschrift{line-height:1.8;}
.flx_kontakt .anfahrtscontent{margin-left: 10%;}
.flx_kontakt details input{padding:10px 10px;}
.flx_kontakt input,.flx_kontakt select{padding: 10px 20px;border-radius:5px;background-color:#F2F2F2;border:none;width:100%;}
.flx_kontakt input::placeholder{color:#333333;opacity:1;}
.flx_kontakt textarea{border:none;background-color:#F2F2F2;border-radius:5px;padding:10px 20px;width:100%;}
.flx_kontakt textarea::placeholder{color:#333333;opacity:1;}
.flx_kontakt .pflicht{text-align:right;}
.flx_kontakt .datenschutz{display: flex;justify-content:center;flex-direction: row;align-items:flex-start;margin-top: 20px;}
.flx_kontakt .datenschutzcheck{width:unset;margin:0;margin-right:10px;margin-top:5px;}
.flx_kontakt .datenschutz p{font-size:95%;}
.flx_kontakt select{appearance: none;color:#333333;}
.selectpicker + select{background-image: url('media/arrow_down.png'); background-repeat: no-repeat;background-position: right 1em bottom 50%;}
.flx_kontakt .button_schufa.check::after{content:'';background-image: url('media/icons/check-mark.png');display: block; width: 35px; height: 35px;position: absolute;top: -2%;right:5%;z-index: 1;background-size: 100%;background-size: contain;background-repeat: no-repeat;}
.flx_kontakt .button_gehaltsabrechnung.check::after{content:'';background-image: url('media/icons/check-mark.png');display: block; width: 35px; height: 35px;position: absolute;top: 34%;right:5%;z-index: 1;background-size: 100%;transform: translate(-10%,-50%);background-size: contain;background-repeat: no-repeat;}
.flx_kontakt .button_fuehrungszeugnis.check::after{content:'';background-image: url('media/icons/check-mark.png');display: block; width: 35px; height: 35px;position: absolute;top: 34%;right:5%;z-index: 1;background-size: 100%;transform: translate(-10%,-50%);background-size: contain;background-repeat: no-repeat;}

.button_schufa.check a, .button_gehaltsabrechnung.check a, .button_fuehrungszeugnis.check a{background-color:#AAAAAA;}

/*-------------------------------------------------------------------------------------------*/
@media (max-width:1680px){
    
    div[class^="flx_"], div[class*="flx_"]{padding-top: 100px;margin-top: -100px!important;}

    .container{max-width: 1380px;}
    
    li{padding: 0px 45px;}
    .seiteninfo{right: -230px;}

    #page-header .menu .contact{margin-right: 30px;} 
    #page-header .menu-topmenu-container ul{width: 100%;gap: 5px;}
    #page-header .menu{gap: 10px;}

    .flx_headerblock{margin-bottom: 50px!important;}
    
    
    .flx_ausstattung{margin-bottom: 100px!important;padding-top: 150px!important;}
    .flx_ausstattung img{max-width: 90%!important;}
    .flx_ausstattung .slider_zimmer .owl-prev{transform: translate(-10%,-100%);}
    .flx_ausstattung .slider_zimmer .owl-next{transform: rotate(180deg) translate(-10%,100%);}
    .flx_ausstattung .slider_extras .owl-prev{transform: translate(-10%,-100%);}
    .flx_ausstattung .slider_extras .owl-next{transform: rotate(180deg) translate(-10%,100%);}
    .flx_ausstattung .content ul li{padding: 0 10px;}
    
    .flx_preise .notice{width: 50%;}
    .flx_preise .main_content{width: 97%;}
    .flx_preise .item img{height: 500px;}
    
    .flx_kontaktformular{padding-top: 70px;}
    .flx_kontaktformular input#vorname, .flx_kontaktformular input#nachname, .flx_kontaktformular input#email, .flx_kontaktformular input#telefon{width: 48%;}
    
    .flx_headerblock{padding-top: 150px;}
    .flx_headerblock .header{height: 850px!important;}
    .flx_headerblock .btn{padding: 12px 20px;}

    /* #umgebung{padding-top: 80px;} */
    .flx_umgebung .entfernung{margin-left: 5px;}

    .flx_videoblock .videobox{right: 18%;left: 18%;}
    .flx_videoblock .close{top: 100px;right: 190px;}

    .flx_textblock .grid_item{grid-template-columns: 10% 10% 10% 0% 27% 3% 7% 25%; grid-template-rows: 130px 130px 130px 114px 138px;}
    .flx_textblock{padding-top: 60px;margin-bottom: 50px!important;}
    .flx_textblock .uberschrift{padding-bottom: 40px;}

    .flx_kontaktformular{margin-top: -250px!important;}
 
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:1480px){
    
    .container{max-width: 1150px;}
    li{padding: 0px 25px;}
    /* #page-header{height: 11%;} */

    .flx_headerblock .headline_h1 h1{font-size: 300%;}
    .headline{font-size: 180%;}

    #page-header{height: 90px;}
    .flx_ausstattung img{max-width: 20%;}

    .flx_videoblock .inner{width: 50%;}
    .flx_videoblock .videobox{right: 10%;left: 10%;}
    .flx_videoblock .close{top: 100px;right:50px;}
    .flx_videoblock .headline{font-size: 65px;}

    .flx_headerblock .btnitem{width: 50%;}
    
    .seiteninfo{right: -245px;}

    .flx_textblock{margin-top: -220px!important;}
    .flx_textblock .grid_item{grid-template-columns: 10% 10% 10% 1% 60%;grid-template-rows: 114px 114px 114px 114px 104px;}
    .flx_textblock #front-item{grid-column: 5;}
    .flx_textblock .headline{margin-bottom: 0;}

    .flx_umgebung iframe{padding:unset;}
    .flx_umgebung .karte{width: 47%;}

    .flx_preise{margin-bottom: 30px!important;}
    .flx_preise .item img{height: 350px;}
    .flx_preise .item .time{font-size: 140%;}
    .flx_preise .main_content{width: 96%;}
    .flx_preise .grid_item{margin-left: 15px;grid-template-rows: 400px 50px 30px 80px 60px;}
    .flx_preise .kasten{margin-left:unset;}
    .flx_preise .kasten .inhalt{top: 33%;width: 66%;}
    .flx_preise .grid_item .grid_values{padding: 0 5px 0 0;}
    .flx_preise .grid_item .grid_price{font-size: 15px;}
    .flx_preise .item .values .element .value{padding: 5px 0 0 40px;}

    .flx_kundenrezensionen{margin-top: -220px!important;margin-bottom: 0px!important;}

    .swiper-button-next, .swiper-button-prev{top: 96%;}
    .swiper-button-next::after, .swiper-button-prev::after{font-size: 140%;}


    
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:1199px){
    
    #page-header .menu-topmenu-container ul li{padding: 0 10px;}
    #page-header{height: 80px;}

    .container{max-width: 930px;}
    .flx_preise .preis{font-size: 120%;}
    
    .flx_kontaktformular .bilderrahmen{padding-top: 85%;}
    
    .flx_kundenrezensionen .text p{padding: 15px 30px;}
    .flx_headerblock .headline_h1 h1{font-size: 75px;}
    
    .text{font-size: 85%;}
    
    .content{font-size: 120%;}
    
    .flx_preise .mittig:nth-child(2n+1)::after{bottom: 10px;height: 60px;}
    .flx_preise .kasten .inhalt{top: 20%!important;}
    .flx_preise .notice{margin-top: 0;}
    
    #page-footer .logo img{left: 75%;transform: translate(-70%,-75%);width: 65%;}

    .flx_headerblock{margin-bottom: 20px!important;}
    .flx_headerblock .header{height: 710px!important;}
    .flx_headerblock .inner{width: 45%;}
    .flx_headerblock .headline_h1 h1{font-size: 280%;}

    .flx_ausstattung .inner{padding: 20px;padding-bottom: 40px;}
    .flx_ausstattung{padding-top: 150px!important;margin-top: -120px!important;}

    .seiteninfo{right:-235px;}

    .flx_videoblock .header .headline_container{bottom: 30px;}
    .flx_videoblock .inner{width: 55%;}
    .flx_videoblock .btn{padding: 8px 40px 8px 40px;}

    .flx_umgebung .karte{width: 100%;height: 400px;}
    .flx_umgebung .bg{padding-bottom: 100px;}
    .flx_umgebung .standorte{width: 100%;margin-top: 20px;}
    .flx_umgebung .anschrift{margin-bottom: 20px;}
    .flx_umgebung .button.green{padding-bottom: 25px;}


    .flx_preise .main_content{width: 100%;display: flex;flex-direction: column;gap: 12px;}
    /* .flx_preise .item{padding-bottom: 50px;margin-bottom: 50px;} */
    .flx_preise .item img{height: 380px;width: 100%;}
    .flx_preise .item .values{padding:unset;}
    .flx_preise .item .values .eine, .flx_preise .item .values .zwei{padding-left: 45px;}
    .flx_preise .item .values .element .value{font-size: 20px;}
    .flx_preise .item .button{font-size: 20px;}
    .flx_preise .item .price{font-size: 16px;}
    .flx_preise .notice{width: 100%;}
    .flx_preise .kasten .inhalt{top: 10%;}

    .flx_kontaktformular .datenschutz .pad-l-0{padding-left: 8px;}
    .flx_kontaktformular .datenschutz input{margin-top: 55%;}
    .flx_kontaktformular .form-kontakt{margin-top: 30px;}

    .flx_kontaktformular .content{width: 60px;}
    
    .flx_galerie{margin-bottom: 0!important;padding-bottom: 70px;}
    .swiper-button-next{right: 46%;}
    .swiper-button-prev{left: 46%;}
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:991px) {
    
    .container{max-width: 730px;}
    
    .seiteninfo{right: -250px;}

    .btn{padding: 15px 50px 15px 50px;font-size: 100%;}

    #page-header{height: 90px;}
    #page-header .menu .contact{margin-right: 10px;}
    #page-header #menubuttonburger .custom_css_icon{width: 45px;height: 45px;}
    #page-header #menubuttonburger .custom_css_icon span.burger_bar{width: 30px;}
    #page-header #menubuttonburger .custom_css_icon span.burger_bar:nth-child(1){top: 12px;left: 7.5px;}
    #page-header #menubuttonburger .custom_css_icon span.burger_bar:nth-child(2),
    #page-header #menubuttonburger .custom_css_icon span.burger_bar:nth-child(3){top: 21px;right: 7.5px;}
    #page-header #menubuttonburger .custom_css_icon span.burger_bar:nth-child(4){bottom: 12px;left: 7.5px;}

    .flx_headerblock .headline_h1 h1{font-size: 220%;}
    .flx_headerblock .inner{width: 55%;}
    .flx_headerblock .buttons{flex-wrap: nowrap;}
    .flx_headerblock .btnitem{width: max-content;}
    .flx_headerblock .container .button a.btn{padding: 10px 30px;}
    .flx_headerblock .header{height: 600px!important;}


    .flx_videoblock .videobox{bottom: 26%;top: 26%;}
    .flx_videoblock .close{top: 200px;right: 20px;}
    .flx_videoblock .header .headline_container{top: 15px;}
    .flx_videoblock .inner{width: 100%;}
    .flx_videoblock .playbutton{left: 80%;}
    .flx_videoblock .header{height: 450px!important;}
    .flx_videoblock .header .headline_container{top: 50px;}

    .flx_umgebung .entfernung{width: 75px;height: 75px;right: 15px;top: 15px;}
    .flx_umgebung .bg{padding-bottom: 60px;padding-top: 60px;}

    .flx_preise .item{width: 96%;}
    .flx_preise .aufanfrage{font-size: 85%;}
    .flx_preise .mittig:nth-child(2n+1)::after{bottom: 5px;height: 50px;}
    .flx_preise .anzahl{padding-left: 15px;}
    .flx_preise .info{font-size: 130%;}
    .flx_preise .kasten .headline{margin-left: 0;}
    .flx_preise .kasten .inhalt{top: 20%;width: 60%;}
    .flx_preise .kasten .inhalt p{font-size: 90%;}
    .flx_preise .notice{margin-top: 0;}
    .flx_preise .main_content{width:100%;gap:12px;}
    .flx_preise .grid_item{margin-left: 0px;grid-template-rows: 280px 50px 0px 80px 60px;}
    .flx_preise .grid_item .grid_values .element .value{padding: 5px 0 0 5px;font-size: 15px;}
    .flx_preise .grid_item .grid_price{display: none;}
    .flx_preise .grid_item .grid_button{gap: 5px;}
    .flx_preise .grid_item .grid_button .bild::after{right: 6px;height: 15px;width: 15px;}
    .flx_preise{margin-top: -250px!important;}

    .flx_kontaktformular .bilderrahmen{padding-top: 75%;}
    .flx_kontaktformular .datenschutz .pad-l-0{padding-left: 10px;}
    .flx_kontaktformular .form-kontakt{width: 80%;}
    .flx_kontaktformular .content{font-size: unset;width:80%;}
    .flx_kontaktformular input, .flx_kontaktformular textarea{width: 98%;}
    .flx_kontaktformular .kontakt .terms .checkbox{margin-right: 10px;}
    .flx_kontaktformular input#ankunft, .flx_kontaktformular input#abreise, .flx_kontaktformular input#person{width: 48%;}

    .flx_kundenrezensionen .bildoben img{width: 40%;}
    .flx_kundenrezensionen .item{width: 100%;margin-bottom: 75px;}
    .flx_kundenrezensionen .sterne .stern{height: 25px;}

    .text{font-size: 100%;}

    #page-footer .logo::after{top: -100px;left: -25%;}
    #page-footer .logo img{left: 50%;top: 60%;transform: translate(-60%,-50%);width: 85%;}

    .flx_ausstattung .items{width:100%;}
    .flx_ausstattung .content{width: 90%;}
    .flx_ausstattung .btn{bottom: -60px;padding: 10px 50px;}
    .flx_ausstattung .headline{margin-bottom: 30px;}
    .flx_ausstattung img{max-width: 100%!important;padding-left: 0;}
    .flx_ausstattung .content ul{padding-left: 1rem!important;}


     /* .flx_textblock{margin-top: -110px!important;padding-top: 70px!important;margin-bottom: 0!important;} */
    .flx_textblock .headline{margin-bottom: 50px;}
    .flx_textblock {padding-top: 70px;}
    .flx_textblock .grid_item{grid-template-columns:  repeat(3, 1fr);grid-template-rows: 320px 50px 100px 100px 100px}
    .flx_textblock .grid_img.bild0{grid-column: 1;grid-row: 3;}
    .flx_textblock .grid_img.bild1{grid-column: 2;grid-row: 3;}
    .flx_textblock .grid_img.bild2{grid-column: 3;grid-row: 3;}
    .flx_textblock .grid_img.bild3{grid-column: 1;grid-row: 4;}
    .flx_textblock .grid_img.bild4{grid-column: 2;grid-row: 4;}
    .flx_textblock .grid_img.bild5{grid-column: 3;grid-row: 4;}
    .flx_textblock .grid_img.bild6{grid-column: 1;grid-row: 5;}
    .flx_textblock .grid_img.bild7{grid-column: 2;grid-row: 5;}
    .flx_textblock .grid_img.bild8{grid-column: 3;grid-row: 5;}
    .flx_textblock .grid_icon{grid-column: 6;grid-row: 1;}
    .flx_textblock .grid_inhalt{grid-column: 2/4;grid-row: 2;padding-left: 20px; padding-top:0; font-size: 14px;}
    .flx_textblock .grid_description{grid-column: 3;grid-row: 2;}
    .flx_textblock .grid_arrows{grid-column: 1;grid-row: 2; padding-top: 0;}
    .flx_textblock #front-item{grid-column:1/4; grid-row:1}

    /* .flx_textblock{margin-bottom: 0!important;} */
    .flx_textblock #front-item{height: 100%;width: 100%;}
    .flx_textblock .headline{margin-bottom: 0;}

    .flx_galerie .swiper-slide{height: 85%;}
    .swiper-button-next, .swiper-button-prev{top: 95%;}
    .swiper-button-next{right: 45%;}
    .swiper-button-prev{left: 45%;}


    #page-footer .main_img{height:unset;}
    #page-footer .scrollup{right: 75px;}
    #page-footer .kontakt{width: 50%;}
    #page-footer .middle img{margin-right: 5px;}
    #page-footer .right img{margin-right: 5px;}
    #page-footer .left .text:last-child{margin-bottom: 20px;}   

    #page-footer .kontakt{margin-top: 0;}
    #page-footer .anschrift br{display: none;}
    #page-footer .anschrift a{padding-top: 15px;}
    

    /* Burgermenü */
    .menu-topmenu-container #menu-topmenu.menu{display: none;}
    #page-header #menubuttonburger{display: block;}
    #page-header .menu-topmenu-container ul{display: block;}
    #page-header .logocontainer{padding-top: 95px;}
    #page-header .logocol{width:25%;}
    #page-header .menu{width: 75%;}

}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:767px) {
    
    .container{max-width: 580px;}
    
    #page-header #burgermenu{width: 65%;}
    #page-header #burgermenu ul.menu li{left: 20%;width: 70%;}
    #page-header .logocol{width: 30%;}
    #page-header .menu{width: 70%;}
    #page-header .contact .icon:first-child{margin-right:-20px;}
    #page-header .contact .icon{width: 25px;height: 25px;}
    #page-header .contact .icon::before{width: 45px;height: 45px;top:-40%;left:-40%}
    #page-header #menubuttonburger .custom_css_icon span.burger_bar:nth-child(4){bottom: 12px;}
    #page-header #menubuttonburger .custom_css_icon span.burger_bar:nth-child(2),
    #page-header #menubuttonburger .custom_css_icon span.burger_bar:nth-child(3){top: 20.5px}
    #page-header #menubuttonburger .custom_css_icon span.burger_bar:nth-child(1){top: 11px;}
    #page-header .contact .icon img{margin-top: -5px;width: 100%}
    #page-header .logocol{width: 40%;}
    #page-header .menu{width: 60%;}
    #page-header{height: 100px;}
    #page-header .menu .contact{margin-right:unset;gap: 55px;padding-right: 20px;}
    

    .headline{font-size: 35px;}

    .seiteninfo{display: none;}

    .flx_headerblock .header{height: 80vh!important;}
    .flx_headerblock .headline_h1 h1{font-size: 180%;}
    .flx_headerblock .header .headline_container{bottom: 100px;}
    .flx_headerblock .inner{width: 75%;}

    .flx_videoblock .videobox{top: 28%;bottom: 28%;right: 5%;left: 5%;}
    .flx_videoblock .close{top:150px;right: 30px;}
    .flx_videoblock .headline{font-size: 55px;}
    .flx_videoblock .playbutton{left: 85%;}

    .flx_kundenrezensionen .bildoben img{width: 20%;}
    .flx_kundenrezensionen .rezension{margin-bottom: 120px;}
    .flx_kundenrezensionen .rezension{margin-bottom: 20px;}
    .flx_kundenrezensionen .rezension{padding-bottom: 40px;padding-top: 60px;}
    .flx_kundenrezensionen .text p{font-size: 20px;}

    .flx_ausstattung .btn{bottom: -50px;}
    .flx_ausstattung .content{width: 100%;}

    .flx_umgebung .btn{width: max-content;}
    .flx_umgebung .btn.routenplaner img{display: none;}
    .flx_umgebung .headline_standort{font-size: 35px;}
    .flx_umgebung .btn{padding: 11px 20px;width: 180px;}
    .flx_umgebung .karte{margin-bottom: 20px;}
    .flx_umgebung .headline{width: 100%;}

    .flx_kontaktformular{margin-bottom: 100px!important;}
    .flx_kontaktformular .fbox input{padding: 5px 10px 5px 20px;}
    .flx_kontaktformular textarea{padding: 5px 10px 5px 20px;}
    .flx_kontaktformular .datenschutz .pad-l-0{padding-left: 15px;}
    .flx_kontaktformular .datenschutz input{margin-top: 70%;}
    .flx_kontaktformular .form-kontakt{width: 100%;margin-top: 20px;}
    .flx_kontaktformular .fbox input{font-size: 20px;}
    .flx_kontaktformular textarea{font-size: 20px;}
    .flx_kontaktformular .content{width: 80%;}
    .flx_kontaktformular .bilder{width: 100%;margin-bottom: 20px;}
    .flx_kontaktformular .form-kontakt{width: 97%;}
    .flx_kontaktformular .kontakt .btn{padding: 15px 92px;}
    .flx_kontaktformular .info.mittig{margin-left: -10px;}
    .flx_kontaktformular .kontakt .submitbox{padding-left: 0;}
    .MO_captcha{padding: 15px;}

    .flx_preise .grid_col{width:100%;}
    .flx_preise .kasten{margin-top: 25px;}
    .flx_preise .kasten .headline{padding: 20px;padding-bottom: 0;}
    .flx_preise .kasten .inhalt{width: 100%;padding: 20px;display: block;position: unset;}
    .flx_preise .notice{margin-top: 25px;}
    .flx_preise .main_content{flex-wrap: wrap;}
    .flx_preise .col{margin-bottom: 50px;}
    .flx_preise .col:last-child{margin-bottom:unset;}
    .flx_preise .item{width: 100%;}
    .flx_preise .item img{margin-bottom: 20px;}
    .flx_preise .item .price{display: block;font-size: 20px;}
    .flx_preise .item .values .element .value{padding: 5px 0 0 40px;font-size: 20px;}
    .flx_preise .item .button{margin-top: 30px;}
    .flx_preise .item .button .bild{width: 35%;}
    .flx_preise .col{width: 85%;}

    .swiper-button-next::after, .swiper-button-prev::after{font-size: 130%;}
    .swiper-button-next{right: 43%;}
    .swiper-button-prev{left: 43%;}

    #page-footer .scrollup{border-right: 15px solid transparent;border-bottom: 30px solid white;border-left: 15px solid transparent;}
    #page-footer .logo_container{width:30%}
    #page-footer .dreieck_container{width:70%}
    #page-footer .logo img{width: 100%;}
    #page-footer .anschrift{margin:  35px 0;}
    #page-footer .kontakt{width: 60%;}


    
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:600px) {

    body, html, *{font-size: 15px;}
    .container{max-width: 390px;}
    #page-header .contact .icon:first-child{margin-right:-25px;}
    #page-header .menu .contact{margin-right: 0px;}
    #page-header .contact .icon img{margin-top: 0;}

    #page-header #burgermenu ul.menu{left: 0;width: 100%;}
    #page-header #burgermenu ul.menu li{width: 100%;}
    #page-header #burgermenu ul.menu li:first-child{margin-top: 35%;}


    .flx_headerblock .headline_h1 h1{font-size: 210%;width: 100%;}
    .flx_headerblock .headline_h1{margin-top: 10px;margin-bottom: 30px;}

    .flx_headerblock .btnitem{width: 100%;}
    .flx_headerblock .btn{width: 60%;margin-top: 10px;}
    .flx_headerblock .inner{width: 100%;}
    .flx_headerblock .btn{padding: 8px 5px;}
    .flx_headerblock .header .headline_container{bottom: 75px;}

    .flx_preise .info{font-size: 100%;padding: 10px;}
    .flx_preise .notice{font-size: 18px;}
    .flx_preise .grid_item .grid_price{font-size: 16px;}
    .flx_preise .grid_col{width: 100%;}
    .flx_preise .info_icon{width: 40px;height: 40px;margin-right: 3px;float: left;}

    .flx_kontaktformular .checklinks{width:7%;}
    .flx_kontaktformular .textrechts{width:93%;}
    .flx_kontaktformular .fbox input{font-size: 20px;}
    .flx_kontaktformular textarea{font-size: 20px;}
    .flx_kontaktformular .kontaktformular .info{font-size: 17px;}
    .flx_kontaktformular .datenschutz .pad-l-0{padding-left: 0;margin-left: 35px;margin-top: -20px;}
    .flx_kontaktformular .datenschutz input{margin-top: 5px;}
    .flx_kontaktformular .content{width: 100%;}
    .flx_kontaktformular input#vorname, .flx_kontaktformular input#nachname, .flx_kontaktformular input#email, .flx_kontaktformular input#telefon,.flx_kontaktformular input#ankunft, .flx_kontaktformular input#abreise, .flx_kontaktformular input#person, .flx_kontaktformular input, .flx_kontaktformular textarea{width: 96%;}
    .flx_kontaktformular .kontakt .terms{font-size: 13px;}
    .flx_kontaktformular .kontakt .btn{padding: 15px 46px;}


    .flx_videoblock .close{top: 150px;right: 0px;}
    .flx_videoblock .videobox{bottom: 32%;top: 32%;right: 0%;left: 0%;}
    .flx_videoblock .headline{font-size: 40px;}
    .flx_videoblock .text p{font-size: 17px;}
    .flx_videoblock .playbutton{left: 75%;top: 55%;}

    .flx_ausstattung .btn{bottom: -50px;}
    .flx_ausstattung{margin-top: -50px!important;margin-bottom: 120px!important;}
    .flx_ausstattung .inner{padding-left: 0;}
    .flx_ausstattung .content ul li{padding: 4px 10px;}

    .flx_kundenrezensionen .text p{font-size: 20px;}

    .flx_umgebung .button_container .button{position: unset;}
    .flx_umgebung .anschrift{margin: 20px 0;width: 100%;}
    .flx_umgebung .button.green{margin-bottom:20px;}
    .flx_umgebung .button{float: right;}
    .flx_umgebung .button.green{width: 100%;}
    .flx_umgebung .name_standort{display: block;}
    .flx_umgebung .entfernung{margin-left: 0;}

    
    .swiper-button-next{right: 15%;}
    .swiper-button-prev{left: 15%;}



    #page-footer .logo img{width: 120%;max-width: 120%;}
    #page-footer .main_img{max-width: 140%;}
    #page-footer .scrollup{right: 40px;border-right: 15px solid transparent;border-bottom: 30px solid white;border-left: 15px solid transparent;}
    #page-footer .kontakt{width: 100%;}
    #page-footer .kontakt a{margin-bottom: 10px;}

}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:400px) {

    .container{max-width: 340px;}

    #page-header #burgermenu ul.menu{left: 0;right: 0;}
    #page-header .menu-topmenu-container ul{width: 100%;}
    #page-header #burgermenu ul.menu li {width: 94%;}
    #page-header #burgermenu ul.menu li:first-child {margin-top: 125px;}

    .flx_headerblock .headline_h1 h1{font-size: 27px;}
    .flx_headerblock .btnitem{width: 100%;}
    .flx_headerblock .btn{width: 60%;}

    .flx_ausstattung .btn{bottom: -55px;}
    .flx_ausstattung{margin-top: -50px!important;}

    .flx_preise .notice{font-size: 18px;}
    .flx_preise .item .values .element .value{font-size: 16px;top: 10px;}
    .flx_preise .info_icon{width: 30px;height: 30px;position: relative;top: -3px;}
    .flx_preise .item img{height: 260px;}

    .flx_kontaktformular .fbox input{font-size: 17px;}
    .flx_kontaktformular textarea{font-size: 17px;}
    .flx_kontaktformular .datenschutz input{margin-top: 7px;}
    .flx_kontaktformular .btn{padding-top: 10px;padding-bottom: 10px;}
    .flx_kontaktformular .content{width: 100%;}
    .flx_kontaktformular .datenschutz .pad-l-0{margin-left: 35px;padding-left: 0px}
    .flx_kontaktformular .form-kontakt{margin-left: 10px;}
    .flx_kontaktformular input#vorname, .flx_kontaktformular input#nachname, .flx_kontaktformular input#email, .flx_kontaktformular input#telefon, .flx_kontaktformular input, .flx_kontaktformular textarea{font-size: 17px;}
    .flx_kontaktformular .kontakt .btn{padding: 15px 36px;}
    .flx_kontaktformular .kontaktformular .info{font-size: 16px;}


    .flx_kundenrezensionen .rezension{padding-bottom: 25px}
    .flx_kundenrezensionen .text p{font-size: 14px;}

    #page-header .logocol{width: 38%;}
    #page-header .menu{width: 62%;}

}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:350px) {
    #page-header .menu .contact{margin-right: 0px;}
    
       
       
    
    .headline{font-size: 30px;}

    .flx_headerblock .headline_h1 h1{font-size: 27px;}

    .flx_ausstattung .btn{bottom: -55px;}

    .flx_videoblock .header .headline_container{top: 20px;}
    .flx_videoblock .playbutton{left: 80%;}


    .flx_preise .notice{font-size: 16px;}
    .flx_preise .grid_item .grid_values .element .value{padding: 5px 0 0 10px}
}


/* ==========================================================================
   Overrides 
   ========================================================================== */

:root {
    --color-primary: #005a47;
    --color-primary-dark: #00443c;
    --color-accent: #93BA3A;

    --color-text: #333333;
    --color-muted: #6f6f6f;
    --color-light: #f6f7f4;
    --color-border: rgba(2, 29, 58, 0.12);

    --font-base: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: 'EB Garamond', Georgia, serif;

    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 22px;

    --shadow-soft: 0px 3px 6px 0px rgba(2, 29, 58, 0.05);
    --shadow-card: 0 12px 35px rgba(2, 29, 58, 0.1);

    --container-padding: clamp(20px, 4vw, 48px);
}

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

html {
    scroll-padding-top: 120px;
}

body,
html,
* {
    font-family: var(--font-base);
    color: var(--color-text);
    letter-spacing: 0.2px;
}

body {
    background: #fff;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

p {
    color: var(--color-muted);
    line-height: 1.75;
}

img {
    border-radius: inherit;
}

::selection {
    background: var(--color-accent);
    color: var(--color-primary-dark);
}

.container {
    width: min(100% - var(--container-padding), 1650px);
    max-width: 1650px;
    margin-inline: auto;
}

.container.wide {
    width: min(100% - var(--container-padding), 1720px);
    max-width: 1720px;
}

/* -------------------- Typography -------------------- */

h1,
h2,
h3,
.headline {
    text-wrap: balance;
   font-family: 'EB Garamond';
}

h1 {
    font-size: clamp(46px, 7vw, 65px);
    line-height: 0.95;
    letter-spacing: -1.5px;
}

h2 {
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.05;
    letter-spacing: -0.8px;
}

h3 {
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.15;
}

.headline {
    font-family: var(--font-display);
    font-size: clamp(38px, 4vw, 52px);
    line-height: 0.98;
    letter-spacing: -0.5px;
    color: var(--color-primary-dark);
}

.topline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: clamp(15px, 1.3vw, 20px);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.content {
    font-size: clamp(18px, 1.6vw, 23px);
}

/* -------------------- Links & buttons -------------------- */

a {
    color: inherit;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        opacity 0.25s ease;
}

a:hover {
    color: var(--color-primary);
}

.btn,
button.btn,
input.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    min-height: 48px;
    padding: 12px 24px;

    border: 0;
    border-radius: var(--radius-sm);
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.1;
    letter-spacing: 0.02em;
    transform: translateY(0);
}

.btn:hover,
button.btn:hover,
input.btn:hover {
    background: var(--color-primary) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(2, 29, 58, 0.12);
}

.btn img {
    max-width: 18px;
    max-height: 18px;
}

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

#page-header {
    min-height: 92px;
    max-height: none;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(2, 29, 58, 0.08);
    box-shadow: 0 12px 40px rgba(2, 29, 58, 0.08);
}

#page-header .container,
#page-header .row {
    min-height: inherit;
}

#page-header .row {
    align-items: center;
}

#page-header .logocontainer {
    padding-top: 72px;
}

#page-header .logo img {
    max-height: 68px;
    object-fit: contain;
}

#page-header .menu {
    gap: clamp(24px, 4vw, 80px);
}

#page-header .menu-topmenu-container ul {
    gap: clamp(18px, 3vw, 54px);
}

#page-header .menu-topmenu-container ul li {
    padding: 0;
}

#page-header .menu-topmenu-container ul li a {
    position: relative;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-primary-dark);
}

#page-header .menu-topmenu-container ul li a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    height: 2px;
    background: var(--color-primary);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.25s ease;
}

#page-header .menu-topmenu-container ul li:hover a::after,
#page-header .menu-topmenu-container ul li.current-menu-item a::after {
    transform: scaleX(1);
    transform-origin: left;
}

#page-header .contact .icon::before,
#page-header .contact .icon2::before {
    background: #034700;
}

/* Mobile burger menu */
#page-header #burgermenu ul.menu {
    height: 100vh;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

#page-header #burgermenu a {
    font-size: clamp(24px, 6vw, 36px);
    font-weight: 700;
    color: var(--color-primary-dark) !important;
}

/* -------------------- Generic ACF sections -------------------- */

div[class^="flx_"],
div[class*="flx_"] {
    position: relative;
}

.seiteninfo {
    color: var(--color-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 16px;
}

/* -------------------- Hero / Headerblock -------------------- */

.flx_headerblock .header {
    min-height: 760px;
    overflow: hidden;
}

.flx_headerblock .header::before {
    /* overlay */
}

.flx_headerblock .header .headline_container {
    bottom: clamp(80px, 12vw, 150px);
}

.flx_headerblock .inner {
    width: min(620px, 48%);
}

.flx_headerblock .topline {
    color: var(--color-accent);
}

.flx_headerblock .headline_h1 h1 {
    font-family: var(--font-display);
    font-size: clamp(52px, 7vw, 80px);
    line-height: 0.92;
    letter-spacing: -1px;
}

.flx_headerblock .text p {
    max-width: 620px;
    color: rgba(255, 255, 255, 0.86);
}

.flx_headerblock .btnitem .btn {
    color: var(--color-primary-dark);
}

.flx_headerblock .btnitem:nth-child(2) .btn {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: none;
    backdrop-filter: blur(12px);
}

/* -------------------- Ausstattung -------------------- */

.flx_ausstattung .headline {
    margin-bottom: 28px;
}

.flx_ausstattung .bild img,
.flx_ausstattung img {
    max-height: 550px;
    border-radius: var(--radius-sm);
}

/* -------------------- Textblock image grid -------------------- */
.flx_textblock .grid_img {
    height: 100%;
    width: 100%;
    border-radius: var(--radius-sm);
    box-shadow: 0 8px 24px rgba(2, 29, 58, 0.08);
    opacity: 0.8;
    transition:
        transform 0.25s ease,
        opacity 0.25s ease,
        box-shadow 0.25s ease;
}

.flx_textblock .grid_img:hover,
.flx_textblock .grid_img.active {
    opacity: 1;
    transform: translateY(-4px) scale(1.05);
    box-shadow: var(--shadow-card);
}

.flx_textblock #front-item {
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-soft);
}

.flx_textblock .grid_arrows .arrow {
    width: 46px;
    height: 46px;
    padding: 14px;
    border-radius: 999px;
    background: #fff;
        border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 22px rgba(2, 29, 58, 0.08);
    object-fit: contain;
    transition: transform 0.25s ease, background-color 0.25s ease;
}

.flx_textblock .grid_arrows .arrow:hover {
    background: var(--color-accent);
    transform: translateY(-2px);
}

.flx_textblock .grid_arrows .arrow-left:hover {
    transform: rotate(180deg) translateY(2px);
}

/* -------------------- Preise -------------------- */

.flx_preise .bg {
    background-color: rgba(131, 131, 131, .1);
    border-radius: var(--radius-sm);
}

.flx_preise .item {
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(12px);
}

.flx_preise .item:hover {
    background: var(--color-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 24px 60px rgba(4, 71, 0, 0.11);
}

.flx_preise .item .time {
    color: var(--color-primary-dark);
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.15;
}

.flx_preise .item .price,
.flx_preise .item .values {
    color: var(--color-muted);
}

.flx_preise .item .button {
    width: fit-content;
    padding: 12px 24px;
    border-radius: var(--radius-sm);
    color: var(--color-primary-dark);
    font-size: 16px;
    font-weight: 800;
}

.flx_preise .item:hover .button {
    background: #fff;
    color: var(--color-primary-dark);
}

.flx_preise .kasten {
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

/* -------------------- Umgebung -------------------- */

.flx_umgebung iframe {
    background-color: #fff;
    padding: 12px;
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-soft);
    border: 1px solid var(--color-border);
}

.flx_umgebung .item {
    padding: 12px 22px;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: var(--shadow-soft);
    border: 1px solid var(--color-border);
}

.flx_umgebung .headline_standort {
    color: var(--color-primary-dark);
    font-family: var(--font-display);
    font-weight: 700;
}

.flx_umgebung .btn.routenplaner {
    background: var(--color-primary);
    color: #fff;
}

/* -------------------- Galerie / Swiper -------------------- */

.flx_galerie .swiper {
    padding-bottom: 50px;
}

.flx_galerie .swiper-slide {
    border-radius: var(--radius-sm);
    object-fit: cover;
    overflow: hidden;
}

.swiper-button-next,
.swiper-button-prev {
    height: 48px;
    border-radius: 999px;
    background: #fff;
    color: var(--color-primary);
    transition: color 0.25s ease;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 24px;
    font-weight: 700;
}
.swiper-button-next:hover::after,
.swiper-button-prev:hover::after {
    color: var(--color-accent);
}

/* -------------------- Kontaktformular -------------------- */

.flx_kontaktformular input,
.flx_kontaktformular textarea,
.flx_kontakt input,
.flx_kontakt select,
.flx_kontakt textarea {
    border-radius: var(--radius-sm);
    background: #f4f5f2;
    border: 1px solid transparent;
    color: var(--color-primary-dark);
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

.flx_kontaktformular input:focus-visible,
.flx_kontaktformular textarea:focus-visible,
.flx_kontakt input:focus-visible,
.flx_kontakt select:focus-visible,
.flx_kontakt textarea:focus-visible {
    border-color: #009d7854;
    box-shadow: 0 0 0 2px #009d7854;
    background: #fff;
    outline: none;
}

.flx_kontaktformular .submitbox .btn,
.flx_kontakt .submitbox .btn {
    background: var(--color-primary);
    color: #fff;
    box-shadow: 0 12px 26px #009d7854;
}

.flx_kontaktformular .whatsappbox .btn {
    border-radius: 999px;
    border: 1px solid #009d7854;
}

/* -------------------- Kontakt page -------------------- */

.flx_kontakt .headline {
    font-family: var(--font-display);
    color: var(--color-primary-dark);
    letter-spacing: -0.5px;
    text-transform: none;
}

.flx_kontakt iframe {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
}

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

#page-footer {
    background-color: var(--color-primary-dark);
    margin-top: 80px;
}

#page-footer .text,
#page-footer p,
#page-footer a {
    color: rgba(255, 255, 255, 0.82);
}

#page-footer a:hover {
    color: var(--color-accent);
}

#page-footer .main_img {
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

#page-footer .scrollup {
    border-right: none;
    border-bottom: none;
    border-left: none;

    position: absolute;
    right: 80px;

    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);

    transition: 
        transform 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease;
}

#page-footer .scrollup::before {
    content: "";
    width: 13px;
    height: 13px;

    border-top: 2px solid #fff;
    border-left: 2px solid #fff;

    transform: translateY(3px) rotate(45deg);
}

#page-footer .scrollup:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.65);
}

#page-footer .rechtliches {
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    padding-top: 20px;
    margin-top: 20px;
}

/* -------------------- Small cards / old shadow elements -------------------- */

.flx_neuheiten .inner,
.flx_mietobjekte .inner {
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    border: 1px solid var(--color-border);
}

.flx_neuheiten .btn,
.flx_impressionen .btn,
.flx_kontakt .dateien .btn {
    border-radius: 999px;
}

/* -------------------- Responsive refresh -------------------- */

@media (max-width: 1199px) {
    html {
        scroll-padding-top: 100px;
    }

    #page-header {
        min-height: 82px;
    }

    #page-header .logocontainer {
        padding-top: 82px;
    }

    .flx_headerblock .header {
        min-height: 660px;
    }

    .flx_headerblock .inner {
        width: min(620px, 60%);
    }
}

@media (max-width: 991px) {
    body,
    html,
    * {
        letter-spacing: 0.1px;
    }

    #page-header .menu {
        gap: 24px;
    }

    .flx_headerblock .inner {
        width: 75%;
    }

    .flx_headerblock .buttons {
        gap: 12px;
    }

    .flx_headerblock .btn {
        width: auto;
        min-width: 170px;
    }

    .headline {
        width: 100%;
    }

    .flx_preise .item {
        margin-inline: auto;
    }

    #page-footer .rechtliches {
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    :root {
        --container-padding: 32px;
    }

    html {
        scroll-padding-top: 105px;
    }

    .container {
        max-width: none;
    }

    #page-header {
        height: auto;
        min-height: 92px;
    }

    #page-header .logocontainer {
        padding-top: 82px;
    }

    #page-header .contact {
        gap: 34px;
    }

    #page-header #burgermenu {
        width: 100%;
        right: 0;
    }

    #page-header #burgermenu ul.menu {
        left: 0;
        right: 0;
        width: 100%;
    }

    .flx_headerblock .header {
        height: 50vh !important;
        min-height: 560px;
    }

    /* .flx_headerblock .header::before {
        background:
            linear-gradient(180deg, rgba(2, 29, 58, 0.28) 0%, rgba(2, 29, 58, 0.86) 100%);
    } */

    .flx_headerblock .inner {
        width: 100%;
    }

    .flx_headerblock .headline_h1 h1 {
        font-size: clamp(42px, 12vw, 64px);
    }

    .flx_headerblock .buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    .flx_headerblock .btnitem,
    .flx_headerblock .btn {
        width: 100%;
        max-width: 280px;
    }

    .flx_ausstattung .content,
    .flx_kontaktformular .content {
        width: 100%;
        padding-right: 0;
    }

    .flx_preise .item {
        width: 100%;
        margin-bottom: 0;
    }

    .swiper-button-next {
        right: 38%;
    }

    .swiper-button-prev {
        left: 38%;
    }

    #page-footer {
        padding-top: 48px;
        margin-top: 48px;
    }

    #page-footer .kontakt,
    #page-footer .anschrift {
        width: 100%;
    }
}

@media (max-width: 600px) {
    :root {
        --container-padding: 24px;
    }

    body,
    html,
    * {
        font-size: 16px;
    }

    p {
        line-height: 1.65;
    }

    .topline {
        font-size: 13px;
    }

    .topline::before {
        width: 28px;
    }

    .btn {
        min-height: 46px;
        padding: 12px 24px;
        font-size: 15px;
    }

    #page-header .logocol {
        width: 40%;
    }

    #page-header .menu {
        width: 60%;
    }

    .flx_headerblock .header {
        min-height: 540px;
    }

    .flx_headerblock .header .headline_container {
        bottom: 56px;
    }

    .flx_textblock .grid_img {
        width: 100%;
        aspect-ratio: 1 / 1;
    }

    .flx_textblock #front-item {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .flx_kontaktformular input#vorname,
    .flx_kontaktformular input#nachname,
    .flx_kontaktformular input#email,
    .flx_kontaktformular input#telefon,
    .flx_kontaktformular input#ankunft,
    .flx_kontaktformular input#abreise,
    .flx_kontaktformular input#person,
    .flx_kontaktformular input,
    .flx_kontaktformular textarea {
        width: 100%;
        margin-right: 0;
    }

    .swiper-button-next {
        right: 28%;
    }

    .swiper-button-prev {
        left: 28%;
    }
}

@media (max-width: 400px) {
    :root {
        --container-padding: 20px;
    }

    .headline {
        font-size: 34px;
    }

    .flx_headerblock .headline_h1 h1 {
        font-size: 38px;
    }

    .flx_preise .item {
        padding: 24px;
    }

    .flx_umgebung .btn,
    .flx_umgebung .btn.routenplaner {
        width: 100%;
    }
}

/* -------------------- Accessibility -------------------- */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}