:root{
    --light: #f5f5f5;
    --red: #e40413;
    --red-hover: #b9010e;
    --dark: #333333;
    --white: #ffffff;
    --black: #111111;
    --lightgrey: #E2E2E2;
    --green: #46b450;
    --green-hover: #389e42;
}


body,html,*{font-size:20px;line-height:1.5;font-family:'Nata Sans';font-weight:300;}
html{scroll-behavior: smooth;}
body{overflow-x: hidden !important;}

a{color:var(--black);text-decoration:none;font-size:100%;transition:all .3s ease;}
a:hover{text-decoration:none;color:var(--red);transition:all .3s ease;}
a:focus{text-decoration:none;}
p a{text-decoration: underline;}
p a:hover{color: var(--red);}
li{list-style:none;padding-left:30px;position:relative;}
li:before{content:'';width:20px;height:20px;display:block;background:url('media/checkmark.svg');background-repeat:no-repeat;background-size:100%;background-position:center;position:absolute;top:5px;left:0;}

ul{padding:0;margin:0;}

img{max-width:100%;height:auto;}

p{color: var(--dark);}

h1{font-size:325%;font-weight:800;text-transform:uppercase;display:block;width:max-content;position:relative;color:var(--black);margin:0;line-height:1;}
h2{font-size:250%;font-weight:800;display:block;color:var(--black);text-transform:uppercase;margin:0;line-height:1;}
h3{font-size:150%;font-weight:800;display:block;color:var(--black);text-transform:uppercase;margin:0;line-height:1;}

.headline{font-size:250%;font-weight:800;display:block;color:var(--black);text-transform:uppercase;margin:0;line-height:1;padding-bottom: 50px; width: 75%;}
.subline{font-size:115%;font-weight:800;display:block;color:var(--black);text-transform:uppercase;}
.topline{color: var(--red); width: fit-content; padding-left: 50px; position: relative; font-weight: 400; padding-bottom: 10px;}
.topline::before{content: ''; display: block; position: absolute; width: 30px; height: 2px; padding-right: 15px; background-color: var(--red); left: 0; top: 16px;}
.topline::after{content: ''; display: block; position: absolute; width: 8px; height: 8px; border-radius: 8px; background-color: var(--red); left: 26px; top: 13px;}

.headline.dark{color: var(--white);}

.btn{position:relative;border:solid 2px var(--red);padding:15px 55px 15px 30px;font-size:100%;font-weight:900; text-transform: uppercase; background:var(--red);color:var(--white);transition:all .3s ease;line-height:1;text-align:center; border-radius: 10px;}
.btn:hover{background:var(--red-hover);border:solid 2px var(--red-hover);transition:all .3s ease;color:var(--white);}
.btn::after{content: ''; position: absolute; display: block; background-image: url('media/arrow_right.svg'); background-repeat: no-repeat; background-size: contain; 
            width: 20px; height: 20px; right: 20px; top: 15px; filter: invert(100%); transition: all 0.3s ease;}
.btn:hover::after{filter: invert(0);}
strong{font-weight:600;font-size:100%;}

.btn.notdienst{padding:5px 30px 7px;margin-left:25px;}
.btn.notdienst:after{display:none;}

/* .container{max-width:1500px;}
.container.wide{max-width:1800px;} */

.notdienstpopup{display:none;position: fixed;top: 50%;left: 50%;transform: translateY(-50%) translateX(-50%);width: 50%;height: 50%;z-index: 99999;background: var(--white);padding: 75px;}
.notdienstpopup .content a{display:block;position:relative;padding-left:25px;margin:15px 0;}
.notdienstpopup .content a::before{content: ''; display: block; position: absolute; background-repeat: no-repeat; background-size: contain; width: 20px; height: 20px; left: 0; top: 6px;}
.notdienstpopup .content a.email::before{background-image: url("media/mail.svg"); top: 9px;}
.notdienstpopup .content a.telefon::before{background-image: url("media/telefon.svg"); width: 18px; height: 18px;}
.notdienstpopup .content a.whatsapp{padding:5px 30px 7px;background:#25D366;color:var(--white);font-size:100%;font-weight:900; text-transform: uppercase;width:max-content;margin:20px 0;}

.notdienstpopup .closepopup{position:absolute;top:0;right:0;padding:15px;font-size:150%;font-weight:900;line-height:1;cursor:pointer;background-color:var(--red);color:var(--white);text-align:center;align-content:center;}
.notdienstpopupbackground{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--black);opacity:0.7;z-index:999;}

.notdienstpopup.active, .notdienstpopupbackground.active{display:block;}
/*------------------------------------Header-------------------------------------------------*/

#page-header{position:absolute;top:0;right:0;left:0;padding:25px 0;background:#fff;z-index:999;}

/* #page-header .logo img{width: 200px;} */
#page-header .logowrapper{align-content:center;}
#page-header .infos{text-align: end;}
#page-header .infos a{padding-left: 75px; position: relative;}
#page-header .infos a::before{content: ''; display: block; position: absolute; background-repeat: no-repeat; background-size: contain; width: 20px; height: 20px; left: 47px; top: 4px;}
#page-header .infos .email::before{background-image: url("media/mail.svg"); top: 6px;}
#page-header .infos .telefon::before{background-image: url("media/telefon.svg"); width: 18px; height: 18px;}

#page-header .fixed_kontakt{position: fixed; right: 0; bottom: 15%;}
#page-header .fixed_kontakt .email{background-color: var(--dark); transition: all 0.3s ease; border-top-left-radius: 50px; border-bottom-left-radius: 50px; padding: 5px 15px; display: block; align-content: center; margin-bottom: 10px;}
#page-header .fixed_kontakt .telefon{background-color: var(--dark); transition: all 0.3s ease; border-top-left-radius: 50px; border-bottom-left-radius: 50px; padding: 5px 15px; display: block; align-content: center;margin-bottom: 10px;}
#page-header .fixed_kontakt .instagram{background-color: var(--dark); transition: all 0.3s ease; border-top-left-radius: 50px; border-bottom-left-radius: 50px; padding: 5px 15px; display: block; align-content: center;margin-bottom: 10px;}
#page-header .fixed_kontakt .facebook{background-color: var(--dark); transition: all 0.3s ease; border-top-left-radius: 50px; border-bottom-left-radius: 50px; padding: 5px 15px; display: block; align-content: center;}
#page-header .fixed_kontakt .email:hover, 
#page-header .fixed_kontakt .instagram:hover, 
#page-header .fixed_kontakt .facebook:hover, 
#page-header .fixed_kontakt .telefon:hover{background-color: var(--red);}
#page-header .fixed_kontakt .email img{height: 20px; margin-top: -5px;}
#page-header .fixed_kontakt .telefon img{height: 25px; margin-top: -3px;}
#page-header .fixed_kontakt .instagram img{height: 25px; margin-top: -6px;filter: invert()}
#page-header .fixed_kontakt .facebook img{height: 25px; margin-top: -6px;filter: invert()}


#page-header #toppermenu{padding-top: 50px;}
#page-header #toppermenu .menu{text-align: end;}
#page-header #toppermenu .menu li{display: inline-block; padding-left:35px;}
#page-header #toppermenu .menu li::before{display: none;}
#page-header #toppermenu .menu li a{font-weight:900; text-transform: uppercase;}
#page-header #toppermenu .menu li a{padding:30px 0;text-decoration:none;position:relative; font-weight: 900;}
#page-header #toppermenu .menu li a::before{content: '';position: absolute;width: 100%;height: 2px;border-radius: 5px;background-color: var(--red);bottom: 25px;left: 0;transform-origin: right;transform: scaleX(0);transition: transform .3s ease-in-out;}
#page-header #toppermenu .menu li a:hover::before{transform-origin: left;transform: scaleX(1);}
#page-header #toppermenu .menu li:last-child a{position:relative; border:solid 2px var(--red);padding:10px 55px 10px 20px;font-size:100%;background:var(--red);color:var(--white)!important;transition:all .3s ease;line-height:1;text-align:center; border-radius: 10px;}
#page-header #toppermenu .menu li:last-child a::after{content: ''; position: absolute; display: block; background-image: url('media/arrow_right.svg');filter: brightness(100); background-repeat: no-repeat; background-size: contain; width: 20px; height: 20px; right: 20px; top: 14px; transition: all 0.3s ease;}
#page-header #toppermenu .menu li:last-child a::before{display: none;}
#page-header #toppermenu .menu li.current-menu-item a{color: var(--red);}
#page-header #toppermenu .menu li:last-child a:hover{color: var(--white); background-color: var(--red-hover);border-color: var(--red-hover);}
/* #page-header #toppermenu .menu li:last-child a:hover::after{} */
#page-header #toppermenu.active{display: block;}


#page-header .burgerbutton{display:none; z-index: 999; width:40px;height:30px;position:absolute;top:40%;right:15px;cursor:pointer; background: none; border: none;}
#page-header .burgerbutton span{display:block;width:100%;height:3px;margin:8px 0;background:var(--dark);border-radius:20px;transition:all .3s ease;}
#page-header .burgerbutton span:nth-child(1){margin-top: 0px;}
#page-header .burgerbutton.active span:nth-child(1){transform:rotate(45deg);transition:all .3s ease;margin-top:4px;}
#page-header .burgerbutton.active span:nth-child(2){opacity:0;transition:all .3s ease;}
#page-header .burgerbutton.active span:nth-child(3){transform:rotate(-45deg);transition:all .3s ease;margin-top:-22px;}


#page-header .menu-mobile{position:absolute;display:none; top:0; right:0; bottom:0; transition:all .3s ease;background:var(--white);height:100vh;  width: 50vw; padding-top: 50px;box-shadow: 0 0 13px #0002;}
#page-header .menu-mobile.active{display: block;}
#page-header .menu-mobile .menu{position:relative; padding: 25px; text-align: center;}
#page-header .menu-mobile .menu li{display:block;margin:0 10px;padding:10px 25px;position:unset;}
#page-header .menu-mobile .menu li.current-menu-item a{color: var(--red);}
#page-header .menu-mobile .menu li:before{display:none;}
#page-header .menu-mobile .menu li a{padding:30px 0;text-decoration:none;position:relative; font-weight: 900;font-size: 140%;}
#page-header .menu-mobile .menu li a::before{content: '';position: absolute;width: 100%;height: 2px;border-radius: 5px;background-color: var(--red);bottom: 25px;left: 0;transform-origin: right;transform: scaleX(0);transition: transform .3s ease-in-out;}
#page-header .menu-mobile .menu li a:hover::before{transform-origin: left;transform: scaleX(1);}
#page-header .menu-mobile .menu li:last-child{padding-top: 30px;}
#page-header .menu-mobile .menu li:last-child a{color: var(--white); background-color: var(--red); padding: 10px 20px; border-radius: 10px; transition: all 0.3s ease;}
#page-header .menu-mobile .menu li:last-child a::before{display: none;}
#page-header .menu-mobile .menu li:last-child a:hover{color: var(--white); background-color: var(--red-hover);}


#page-header.bottom{padding: 10px 0;position:fixed;top:0;left:0;right:0;background:#fff;-webkit-animation: fadein 2s; /* Safari, Chrome and Opera > 12.1 */              -moz-animation: fadein 2s; /* Firefox < 16 */-ms-animation: fadein 2s; /* Internet Explorer */-o-animation: fadein 2s; /* Opera < 12.1 */animation: fadein 2s;z-index:999;}
#page-header.bottom .infos{display:none;}
#page-header.bottom #toppermenu{padding-top:0px;}
#page-header.bottom .logo img{width:75%;}
#page-header.bottom .container > .row{align-items: center;}


@keyframes fadein {
    from { top: -125px; }
    to   { top: 0; }
}
@-moz-keyframes fadein {
    from { top: -125px; }
    to   { top: 0; }
}
@-webkit-keyframes fadein {
    from { top: -125px; }
    to   { top: 0; }
}
@-ms-keyframes fadein {
    from { top: -125px; }
    to   { top: 0; }
}

/*------------------------------------Footer-------------------------------------------------*/

#page-footer{background:var(--dark);padding:85px 0 15px; color: var(--white);}
#page-footer a{color: var(--white); font-size: 85%;}
#page-footer a:hover{color: var(--red);}
#page-footer .headline{font-size: 85%;}
#page-footer .logo{margin-top:-35px;display:block;}

#page-footer .backtotop .scrollup{cursor:pointer;}
#page-footer .backtotop .scrollup:hover img{transform:scale(1.1);transition:all .3s ease;}
#page-footer .backtotop .scrollup img{margin:0 auto;display:block;transition:all .3s ease;}

#page-footer .anfahrt .headline{padding-bottom: 25px;}
#page-footer .anfahrt .adresse p{font-size: 85%; color: var(--white);}

#page-footer .kontakt .headline{padding-bottom: 25px;}
#page-footer .kontakt{position: relative;}
#page-footer .kontakt a{padding-left: 30px; position: relative; display: block; padding-bottom: 10px; width: fit-content;}
#page-footer .kontakt a::before{content: ''; display: block; position: absolute; background-repeat: no-repeat; background-size: contain; width: 20px; height: 20px; left: 0; top: 5px;}
#page-footer .kontakt .email::before{background-image: url("media/mail-light.svg"); }
#page-footer .kontakt .telefon::before{background-image: url("media/telefon-light.svg"); width: 18px; height: 18px;}
#page-footer .kontakt .instagram{display: block; position: absolute; right: 50px; top: 0;}
#page-footer .kontakt .instagram::before{display: none;}
#page-footer .kontakt .instagram img{height: 40px; width: 40px; filter: invert(100%);}
#page-footer .kontakt .facebook{display: block; position: absolute; right: 50px; top: 60px;}
#page-footer .kontakt .facebook::before{display: none;}
#page-footer .kontakt .facebook img{height: 40px; width: 40px; filter: invert(100%);}



#page-footer .copyright, #page-footer .rechtliches{padding-top: 50px;}
#page-footer .copyright span{display:block;color:#fff;font-size:75%;}

#page-footer .rechtliches{text-align: end;}
#page-footer .rechtliches a{display: inline-block; padding: 0 10px;}

/*------------------------------ACF-Flexible-Content-----------------------------------------*/

.inhaltsbloecke{margin-top:175px;}
div[class^="flx_"], div[class*="flx_"]{padding:75px 0;}

.flx_headerblock{position:relative; background-repeat: no-repeat; background-position: top; background-size: cover; padding: 150px 0!important;}
.flx_headerblock:before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(51, 51, 51, 0) 80%);z-index:0}
.flx_headerblock .container{position: relative; z-index: 10;}
.flx_headerblock h1{color:#fff;font-size:550%;width:50%;line-height:1;}
.flx_headerblock .topline{color: white;}
.flx_headerblock .topline::before{background-color: var(--white);}
.flx_headerblock .topline::after{background-color: var(--white);}
.flx_headerblock .content{color:#fff;}
.flx_headerblock .content p{max-width:55%;font-size:120%;margin-bottom:50px; color: var(--white);}
.flx_headerblock .btn{font-weight: 900; text-transform: uppercase; padding: 10px 30px;border:none;}
.flx_headerblock .btn::after{display: none;}
.flx_headerblock .btn.link1{margin-right: 25px;margin-bottom: 25px;}
.flx_headerblock .btn.link2{background-color: var(--white); color: var(--dark);margin-bottom: 25px;}
.flx_headerblock .btn.link2:hover{background-color: var(--lightgrey); color: var(--dark);}

.flx_headerblock.mitfarbe{height:250px;}
.flx_headerblock.mitfarbe .content{top:unset;bottom:20%;}

.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_bildblock{margin-bottom:200px;}
.flx_bildblock .inhalt{width:75%;display:block;margin:0 auto;}
.flx_bildblock .imageone{width:75%;display:block;position:relative;}
.flx_bildblock .imageone:after{content:'';display:block;width:100px;height:100px;background:#33CBE5;position:absolute;bottom:-25px;left:-25px;opacity:0.8;}
.flx_bildblock img{width:100%;}
.flx_bildblock .imagetwo{width: 40%;float: right;margin-top: -250px;position: relative;}

.flx_textblock .headline{width: 100%;}
.flx_textblock .text ul{margin:50px 0; border-right: 2px solid var(--lightgrey);}
.flx_textblock .text ul li{display:inline-block;font-weight:500;margin:8px 0;}

.flx_textblock.mitbildrechts img{position:relative;z-index:99;}
.flx_textblock.mitbildrechts .grafisches_element{display:block;width:100px;height:100px;background:#33CBE5;position:absolute;bottom:-25px;left:-10px;opacity:0.8;z-index:100;}
.flx_textblock.mitbildlinks img{position:relative;z-index:99;}
.flx_textblock.mitbildlinks .grafisches_element{display:block;width:100px;height:100px;background:#33CBE5;position:absolute;bottom:-25px;left:-10px;opacity:0.8;z-index:100;}


.flx_textblock .formular{position:relative;z-index:99;background:#fff;padding:25px;width:75%;margin-top:-250px;float:right;-webkit-box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.05);-moz-box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.05);box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.05);}
.flx_textblock .formular input, .flx_textblock .formular textarea{border:none;background:#f2f2f2;color:#444;margin:5px 0;width:100%;padding:10px;}
.flx_textblock .formular .datenschutz input{width:12px;margin-right:2px;}
.flx_textblock .formular .datenschutz p{font-size:75%;}
.flx_textblock .formular input.btn:hover{background:#333;color:#fff;transition:all .3s ease;}

.flx_textblock.mitslider .kontakt{align-content: center;}
.flx_textblock.mitslider .kontakt img{display: block; width: 35px; height: 35px; margin-bottom: 10px;}
.flx_textblock.mitslider .kontakt .telefon{font-weight: 500; display: block;}
.flx_textblock.mitslider .slider{position: relative}
.flx_textblock.mitslider .stacked-slider {position: relative; width: 100%; height: 700px; overflow: hidden;}
.flx_textblock.mitslider .slide {position: absolute; top: 0; opacity: 0; width: 100%; transition: all 0.5s ease;}
.flx_textblock.mitslider .slide.active {opacity: 1;}
.flx_textblock.mitslider .slide.leaving {transform: translateX(-120%) scale(0.9); opacity: 0;}
.flx_textblock.mitslider .slide img {width: 470px; height: 635px; margin: 5px; border-radius: 10px; border: 4px solid white;-webkit-box-shadow: 10px 10px 20px -3px rgba(0,0,0,0.2); box-shadow: 10px 10px 20px -3px rgba(0,0,0,0.2);object-fit: cover;}

.flx_textblock.mitslider .slider .button{position: absolute; top: 50%; transform: translateY(-50%); right: 10px; z-index: 99; border-radius: 30px; width: 60px; height: 30px; }
.flx_textblock.mitslider .slider .button button{width: 60px; height: 30px; border-radius: 15px;background:rgba(255,255,255,0.7); opacity:1;border: 2px var(--white) solid;;backdrop-filter: blur(3px);}
.flx_textblock.mitslider .slider .button button::after{content: ''; background-image: url("media/arrow_right.svg"); background-repeat: no-repeat; width: 20px; height: 20px;
                                                        position: absolute; right: 0px; top: 50%; transform: translateY(-50%); background-size: contain;}

.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_kachelblock .row{justify-content:center;}
.flx_kachelblock .headline{font-size: 250%; width: 50%; padding: 30px 0 75px;}
.flx_kachelblock .kachel{background-color: var(--light); padding: 50px; margin-bottom: 30px;min-height:95%;border-radius: 10px;}
.flx_kachelblock .kachel  img{height: 70px; width: auto;}
.flx_kachelblock .kachel .headline{color: var(--black); width: 100%; font-size: 120%; padding: 25px 0;}
.flx_kachelblock .kachel .link{width: 30px; height: 30px; display: block; position: relative; margin-left: auto; background-image: url("media/plus.svg"); background-repeat: no-repeat;}
.flx_kachelblock .kachel .link::before{content: ''; display: none; position: absolute; height: 2px; width: 350px; background-color: var(--lightgrey); left: -373px; top: 10px;}
.flx_kachelblock .btn{margin: 50px auto 0; display: block; width: fit-content;}

.flx_kontakt .container{background-color: var(--light); padding: 100px 0; border-radius: 10px;}
.flx_kontakt h2{padding-bottom: 30px;}
.flx_kontakt label{width: 100%; font-size: 80%; color: var(--dark); font-weight: 600; margin-bottom: 15px;}
.flx_kontakt select{width: 100%; background-color: white; border: none; border-radius: 5px; padding: 10px; color: var(--dark);}
.flx_kontakt input{width: 100%; border: none; border-radius: 5px; padding: 5px 10px;}
.flx_kontakt textarea{width: 100%; max-height: 150px; border: none; border-radius: 5px; padding: 5px 10px;}
.flx_kontakt input[type="checkbox"]{width: fit-content;}
.flx_kontakt .wpcf7-form-control-wrap{width: 100%; display: block;margin-top: 5px;}
.flx_kontakt .wpcf7-list-item{margin: 0;}
.flx_kontakt div[data-id="firmenname-group"] p{margin-bottom: 0;}
.flx_kontakt .wpcf7-submit{width: fit-content; padding:10px 30px;font-size:100%;font-weight:600;background:var(--green);color:var(--white);transition:all .3s ease;line-height:1;text-align:center; border-radius: 10px;}
.flx_kontakt .wpcf7-submit:hover{background-color: var(--green-hover); color: var(--white);}
.flx_kontakt .bild{position: relative;}
.flx_kontakt .bild::before{content: ''; display: block; position: absolute; top: -120px; left: 50%; width: 120%; text-align: center; color: var(--white); 
                        transform: translateX(-50%); padding: 10px 0; background-color: var(--red); border-radius: 10px; font-weight: 600; font-size: 150%;}
.flx_kontakt .bild::after{content: ''; display: block; position: absolute; width: 30px; height: 30px; left: 50%; top: -60px; transform: rotate(45deg) translateX(-50%);
                        background-color: var(--red);}
.flx_kontakt .formular a{text-decoration:underline;}

/*Contact Form 7 Anpassungen*/
.wpcf7 form.sent .wpcf7-response-output{background-color: #46b450!important;color: var(--white)!important;padding: 1rem!important;text-align: center!important;font-weight: 600!important;border-radius: 10px!important;}
.wpcf7 form.sent .uacf7-form-wrapper-container{display: none!important;}
.wpcf7 .wpcf7-acceptance a{font-weight: 500;text-decoration: underline;}
.wpcf7 .wpcf7-acceptance a:hover{color: var(--red);}


.flx_kundenstimmen .headline{padding-bottom: 50px; width: 50%;}
.flx_kundenstimmen .name{font-size: 80%;}
.flx_kundenstimmen .kundenstimme-slide{background-color: var(--light); padding: 20px; border-radius: 10px;}


.flx_slider{background-color: var(--dark); padding: 150px 0!important; overflow-x: hidden;}
.flx_slider .container{position: relative}
.flx_slider .headline{padding-bottom: 100px;}
.flx_slider .btn{position: absolute; top: 50px; right: 0; padding: 10px 55px 10px 30px;}
.flx_slider .btn::after{content: ''; position: absolute; display: block; background-image: url('media/arrow_right.svg'); background-repeat: no-repeat; background-size: contain; 
                                                        width: 20px; height: 20px; right: 20px; top: 10px; filter: invert(100%); transition: all 0.3s ease;}
/* .flx_slider .btn:hover::after{filter: invert(0);} */

.flx_slider .slider {width: calc(100vw - (100vw - 100%)/2); position: relative;}
.flx_slider .slider .item{background-color: var(--white); padding: 50px; border-radius: 10px;min-height:420px;}
.flx_slider .slider .item h2{color: var(--red); font-weight: 900; padding-bottom: 10px;}
.flx_slider .slider .item h4{font-weight: 900; text-transform: uppercase; padding-bottom: 10px;}
/* .flx_slider .slider .owl-dots{width:90%;display:flex;align-items:center;margin-top:15px;}
.flx_slider .slider .owl-dots .owl-dot{width:100px;height:2px;background:var(--white);display: inline-block;}
.flx_slider .slider .owl-dots .owl-dot.active{width:100px;height:5px;background:var(--white);border-radius:5px;display: inline-block;} */
.flx_slider .slider .owl-nav{width:10%;display:flex;justify-content:space-between;margin-top:25px;}
.flx_slider .slider .owl-nav .owl-prev{display:inline-block;width:25px;height:35px;background:url('media/arrow_right.svg');background-size:100%;background-position:center;background-repeat:no-repeat;filter:brightness(50);transform:rotate(180deg);}
.flx_slider .slider .owl-nav .owl-next{display:inline-block;width:25px;height:35px;background:url('media/arrow_right.svg');background-size:100%;background-position:center;background-repeat:no-repeat;filter:brightness(50);}


.flx_teaser{padding: 50px 0!important;}
.flx_teaser .item{padding-right: 25px;display:flex;gap:15px;}
.flx_teaser .item .text{color: var(--white);font-weight: 900; text-transform: uppercase;align-content:center;}

.flx_referenzen{color: var(--light);}
.flx_referenzen .topline.top{margin: auto;}
.flx_referenzen .headline.top{margin: auto; text-align: center; padding-bottom: 100px;}
.flx_referenzen .slide{color: var(--white); padding: 100px; border-radius: 10px;opacity: 0.8;}
.flx_referenzen .logo{max-height: 100px; width: auto;}
.flx_referenzen .stacked-slider .button{position: absolute; top: 50%; transform: translateY(-50%); right: 115px; left: auto; z-index: 99; border-radius: 30px; width: 60px; height: 30px; border: 2px var(--dark) solid;}
.flx_referenzen .stacked-slider .button button.next{width: 60px; height: 30px; position: absolute; top: -2px; left: -2px; border-radius: 15px;background: white; opacity: 0.8;border: none;}
.flx_referenzen .stacked-slider .button button.next::after{content: ''; background-image: url("media/arrow_right.svg"); background-repeat: no-repeat; width: 20px; height: 20px;
                                                        position: absolute; right: 0px; top: 50%; transform: translateY(-50%); background-size: contain;}
.flx_referenzen .stacked-slider {position: relative; width: 100%; height: 730px; /*overflow: hidden;*/}
.flx_referenzen .slide{position: absolute; top: 0; opacity: 0; width: 90%; transition: all 0.5s ease; background-color: var(--white);}
.flx_referenzen .slide.active {opacity: 1;box-shadow: 0 0 15px #0002;}
.flx_referenzen .slide.leaving {transform: translateX(-120%) scale(0.9); opacity: 0;}
.flx_referenzen .slide .headline{width: 70%;}
.flx_referenzen .slide img {width: 100%; height: auto; margin: 5px; border-radius: 10px; border: 4px solid white; -webkit-box-shadow: 10px 10px 20px -3px rgba(0,0,0,0.2); box-shadow: 10px 10px 20px -3px rgba(0,0,0,0.2);}


.flx_leistungen .nav-item{display: block; align-content: center;}
.flx_leistungen button{position:relative; padding:15px 30px;font-size:100%;font-weight:900; text-transform: uppercase; background: #afb2ba; color:#fff;transition:all .3s ease;line-height:1;text-align:center; border-radius: 10px;}
.flx_leistungen button.nav-link:hover{background-color: var(--dark);color: var(--white);}
.flx_leistungen button.nav-link.active{background-color: var(--red); font-size: 130%; padding: 15px 35px; position: relative; z-index: 1;}
.flx_leistungen button.nav-link.active:hover{background-color: var(--red); font-size: 130%; padding: 15px 35px; position: relative; z-index: 1;}
.flx_leistungen button.nav-link.active:hover{color: var(--white);}
.flx_leistungen button.nav-link.active::before{content: ''; display: block; z-index: 0; position: absolute; width: 40px; height: 40px; left: 50%; bottom: -20px; 
                                            transform: translateX(-50%); background-color: var(--red); clip-path: polygon(0 50%, 100% 50%, 50% 100%);}
.flx_leistungen ul{width: fit-content; margin: auto; padding-bottom: 100px;}
.flx_leistungen ul li::before{display: none;}
.flx_leistungen .content{position: relative;}
.flx_leistungen .content .accordion{margin: 0; padding-top: 0;}
.flx_leistungen .content .accordion .accordion-item{border:none;margin-bottom:10px;}
.flx_leistungen .content .accordion .accordion-header{font-size:100%;}
.flx_leistungen .content .accordion .accordion-button{padding: 15px 0; font-weight:600;color:var(--dark);border-bottom:solid 2px var(--lightgrey);background:none;border-radius: 0;box-shadow:none;}
/* .flx_leistungen .content .accordion .accordion-item:last-child .accordion-button{border-bottom: none;} */
.flx_leistungen .content .accordion .accordion-button::after{content: ''; width: 25px; height: 25px; display: block; position: absolute; right: 0; top: 12.5px; background-image: url("media/plus.svg"); background-repeat: no-repeat;background-size:100%;}
.flx_leistungen .content .accordion .accordion-button a{font-weight: 500;}
.flx_leistungen .content .accordion .accordion-body{padding:15px 0;}
.flx_leistungen img{width: 100%;border-radius: 10px;}
.flx_leistungen .headline{width: 100%;}
.flx_leistungen .btn{float: right;margin-top: 50px;padding: 10px 30px;}
.flx_leistungen .btn::after{display: none;}


/*-------------------------------Stellenangebote------------------------------------------*/    
.flx_karriere{position: relative;padding:50px 0;}
.flx_karriere .stellenanzeige{font-size: 120%; font-weight: 600; line-height: 2.5;}
.flx_karriere .stellenbtn{margin-bottom: 100px; margin-top: 70px;}
.flx_karriere .stellenangebot{padding: 50px;}
.flx_karriere .jobbild::after{position: absolute; content:'';background: linear-gradient(0deg, rgba(33,33,38,1) 0%, rgba(255,255,255,0) 100%);bottom: 0; right: 0;height: 200px;width: 100%;}
.flx_karriere .jobinfosStelle{z-index: 5; text-align: center; width: 100%;position: absolute; bottom: 30px; left: 0; right: 0; margin-inline: auto;}
.flx_karriere .titel{font-weight: 500; font-size: 100%; position: relative; color: var(--white);}
.flx_karriere .wmd{font-weight: 300; font-size: 80%; position: relative;display:block;margin-top:-5px;}
.flx_karriere .subline{padding-left: 0px;}
.flx_karriere .lower{text-align: center;}
.flx_karriere .lower{padding-top: 50px;}
.flx_karriere .karrieretitel{padding:25px 0;}
.flx_karriere .einleitung{padding: 150px 150px;}
.flx_karriere .headline{color: var(--black); font-weight: 900; line-height: 1; padding-bottom: 0; font-size: 300%;margin-bottom:0;}
.flx_karriere .stelleneinleitung{background: white;}

.flx_karriere .sliderKarriere{padding-top: 0; height: 50vh;}
.flx_karriere .sliderKarriere .scrollBtn:hover{background-color: var(--darkred);}
.flx_karriere .item{width: 100%; margin: auto; height: 500px; background-repeat: no-repeat; background-position: center; background-size: cover; position: relative; z-index: 5;margin:15px 0;}
.flx_karriere .carouselImage{padding: 50px; height: 70%;}
.flx_karriere .item::after{position: absolute;content:'';background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 60%);bottom: 0; right: 0;top:0;left:0;}

.flx_karriere .owl-prev{position: absolute; top : 0px; right: 280px; width: 50px; height: 50px;}
.flx_karriere .owl-next{position: absolute; top : 0px; right: 200px; width: 50px; height: 50px;} 
.flx_karriere .scrollText{z-index: 5;position: absolute; bottom: 100px; left: 30px; font-size: 120%;}  
.flx_karriere .scrollButtons{z-index: 5; position: absolute; bottom: 50px; left: 30px;}
.flx_karriere .scrollBtn{position:relative;padding:10px 30px;font-size: 90%;font-weight: 600;color:#fff;transition:all .3s ease;line-height:1;text-align:center;border-radius:10px; margin-right: 10px;background-color: var(--red);}
.flx_karriere .scrollBtn:hover{background-color:var(--red-hover);transition:all .3s ease;}


/*-------------------------------Karriere-Single--------------------------------------------*/
.flx_karrieresingle{overflow: hidden;}
#phpsingle-karriere .ansprechpartner{padding-top: 100px;}
#phpsingle-karriere .ansprechpartnerheadline{padding-bottom: 30px;}
#phpsingle-karriere .kontaktinformation{font-weight: 500;}
#phpsingle-karriere .ansprechbild{width: 400px; margin: 50px 0 0 250px;}
#phpsingle-karriere a{color: var(--dark);}
#phpsingle-karriere .content{padding: 20px 0px 20px 0px; font-weight: 600; font-size: 120%;}
#phpsingle-karriere .headline{padding-bottom: 20px; font-size: 300%;width: max-content;max-width: 100%;}
#phpsingle-karriere h4{padding: 0; font-size: 180%; color: var(--black);font-weight: 600;}
#phpsingle-karriere .bewerbungstelle{font-weight: 500;background-color: var(--dark);color: var(--white);width: max-content;padding: 10px 30px;border-radius: 10px;margin: 30px 0;font-weight: 500;}
#phpsingle-karriere .bewerbung{padding: 50px; margin-top: -75px; background-color: var(--lightgrey); color: var(--black);}
#phpsingle-karriere h2{padding-bottom: 30px;}
#phpsingle-karriere label{width: 100%; font-size: 80%; color: var(--dark); font-weight: 600; margin-bottom: 15px;}
#phpsingle-karriere select{width: 100%; background-color: white; border: none; border-radius: 5px; padding: 10px; color: var(--dark);}
#phpsingle-karriere input, #phpsingle-karriere textarea{width: 100%; border: none; border-radius: 5px; padding: 5px 10px;}
#phpsingle-karriere textarea{height: 200px;}
#phpsingle-karriere input[type="checkbox"]{width: fit-content;}
#phpsingle-karriere .wpcf7-form-control-wrap{width: 100%; display: block;margin-top: 5px;}
#phpsingle-karriere .wpcf7-list-item{margin: 0;}
#phpsingle-karriere div[data-id="firmenname-group"] p{margin-bottom: 0;}
#phpsingle-karriere .pflicht{text-align: end; margin-bottom: 15px; font-size: 80%;}
#phpsingle-karriere .wpcf7-form-control-wrap[data-name="Zustimmung"]{margin-bottom: 15px;}
#phpsingle-karriere .wpcf7-acceptance .wpcf7-list-item-label{font-size: 100%;}
#phpsingle-karriere .wpcf7-submit{width: fit-content; padding:10px 30px;font-size:100%;font-weight:600;background:var(--green);color:#fff;transition:all .3s ease;line-height:1;text-align:center; border-radius: 10px;}
#phpsingle-karriere .wpcf7-submit:hover{background-color: var(--green-hover); color: var(--white);}
#phpsingle-karriere .einleitung{padding: 100px 0 100px 0;}
#phpsingle-karriere .bildheadline{width: 55%;}
#phpsingle-karriere .einleitungKarriere{padding: 20px 0}
#phpsingle-karriere .einleitungKarriere p{font-size: 90%; font-weight: 400;}
#phpsingle-karriere ul{list-style: none; padding: 50px 0 50px 0;}
#phpsingle-karriere li{padding-bottom: 15px; font-weight: 400;}
#phpsingle-karriere li::before{content: ''; background-repeat: no-repeat; height: 25px; width: 25px; display: block; position: absolute; left: -5px; top: 5px;background-size: contain;}
#phpsingle-karriere .bildwrapper::after{content: ''; width: 50%; background: linear-gradient(90deg, rgba(33,33,38,1) 0%, rgba(255,255,255,0) 100%); height: 100%;position: absolute; top: 0; left: 0; z-index: 0;}



/*-----------------------------------Benefits---------------------------------------------*/    
.flx_benefits{padding-bottom: 100px;}
.flx_benefits .inner{padding: 30px;}
.flx_benefits .benefit{font-size: 120%; font-weight: 600;};
.flx_benefits .benefitrow{text-align: center;}
.flx_benefits .benefitbeschreibung{padding-top: 10px;}
.flx_benefits .icon{padding-bottom: 10px;}
.flx_benefits .headline{width: fit-content; padding-top: 10px;}
.flx_benefits .subline{padding-top: 20px; padding-bottom: 30px; text-align: center; font-size: 280%; font-weight: 700;}
.benefitlogo{max-height: 100px;}


/*-------------------------------------------------------------------------------------------*/
@media (min-width:1630px){
    .container{max-width: 1600px;}

    .flx_kachelblock .kachel .link::before{display: block;}
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:1480px){
    #page-header #toppermenu .menu li{padding-left: 20px;}
    
    .flx_headerblock h1{font-size: 280%;}

    .flx_slider .btn{right: 25px;}
    .flx_slider .slider .item{min-height:490px;}

    .flx_referenzen .headline.top{width: 85%;}
    .flx_kachelblock .kachel .headline{font-size: 105%;}

    .flx_karriere .jobbild{height: 250px!important;}
    .flx_karriere .item{width: 100%; height: 500px;}
    .flx_karriere .owl-prev{top : 0px; right: 170px;}
    .flx_karriere .owl-next{top : 0px; right: 100px;} 
    .flx_karriere .scrollText{bottom: 100px;}  
    .flx_karriere .scrollButtons{bottom: 50px;}
    .textbild.bildpadding{padding: 50px;}
    .flx_karriere .einleitung{padding: 50px;}
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:1199px){
    .headline{width: 100%;}
    
    #page-header #toppermenu{display: none;}
    #page-header .burgerbutton{display: block;}
    #page-header .infos{display: none;}
    .inhaltsbloecke{margin-top: 100px;}

    .flx_slider .slider .item{min-height:570px;}

    .flx_kontakt .bild::before{display: none;}
    .flx_kontakt .bild::after{display: none;}

    .flx_kachelblock .headline{width: 100%;}
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:991px) {

    /* #page-footer .kontakt .instagram{right: 15px;} */

    h2{font-size: 200%;}
    .headline{width: 100%; font-size: 200%;}

    .container, .container-md, .container-sm{max-width: 100%;}

    .flx_headerblock .content p{width: 75%;font-size: 100%;}
    .flx_headerblock::before{background: linear-gradient(90deg,rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 60%, rgba(51, 51, 51, 0) 100%);}
    /* .flx_textblock.mitslider .slider .button{left: 250px;} */

    .flx_teaser .item{padding: 30px 0;}
    .flx_teaser .item .text{align-content: center;}

    .flx_textblock .text ul{border: none;}
    .flx_textblock.mitslider .kontakt{display: flex;gap: 20px;flex-wrap: wrap;}

    .flx_slider .slider .item{min-height:380px;}
    .flx_slider .btn{top: unset; bottom: -60px;}

    .flx_karriere .einleitung{padding: 10px;}
    .flx_karriere .jobbild{height: 300px!important;}

    .flx_karriere .karrieretitel{padding: 100px 0 20px 20px;}
    .flx_karriere .sliderKarriere{padding-top: 30px;}
    .flx_karriere .item{height: 360px;}
    .flx_karriere .owl-prev{top : -50px; right: 170px;}
    .flx_karriere .owl-next{top : -50px; right: 100px;} 
    .textbild.bildpadding{margin-top: 20px; padding: 20px;}
    .flx_karriere .headline{padding-top: 50px;}

    .flx_kachelblock .kachel{min-height:max-content;}

    .flx_referenzen .slide .bild{display: none;}


}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:767px) {
    #page-footer .kontakt{margin-bottom: 1rem;}
    #page-footer .kontakt .instagram{top: 50px;}
    #page-footer .kontakt .facebook{top: 0;}
    #page-footer .logo img{margin-bottom: 2rem;}
    .topline{margin-top: 25px;}
    h2{font-size: 150%;}

    #page-header .menu-mobile{width: 100vw;}
    #page-header .logo img{width: 60%;}
    .flx_kontakt .bild{display: none;}
    .flx_headerblock .content p{max-width: 100%;}

    .flx_textblock.mitslider .slider{margin-top: 50px;}
    /* .flx_textblock.mitslider .slider .button{left: 320px;} */

    .flx_slider .slider .item{min-height:400px;}
    .flx_referenzen .slide{padding: 25px;}


    .flx_referenzen .stacked-slider .button{right: 115px;top: 150px;}
    .flx_referenzen .stacked-slider{height: 500px;}

    .flx_leistungen button.nav-link.active::before{display: none;}
    .flx_leistungen button.nav-link{margin-bottom: 25px;}
    .flx_leistungen ul{padding-bottom: 25px;}
    /* .flx_leistungen .btn{bottom: -35px;} */

    .flx_kontakt .formular{padding: 0 50px;}

    #page-footer .rechtliches{text-align: start;}
    #page-footer .rechtliches a:first-child{padding-left: 0;}
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:600px) {

    body,html,*{font-size:16px;}
    li::before{top: 3px;}

    #page-header .menu-mobile .menu li a{font-size: 120%;}

    .flx_textblock.mitslider .kontakt img{width: 30px;height: 30px;}

    .flx_leistungen img{max-width: 320px;}

    #page-header .fixed_kontakt{display: none;}

    /* #page-footer .kontakt .instagram{top: 0;} */

    .flx_headerblock .btn{margin-bottom: 25px;}

    .flx_karriere .stellenangebot{padding: 20px 30px 20px 30px;}
    .flx_karriere .karrieretitel{padding: 50px 0 20px 20px;}
    .flx_karriere .item{height: 350px;}
    .flx_karriere .owl-prev{right: 100px;}
    .flx_karriere .owl-next{right: 30px;} 
    .flx_karriere .scrollText{bottom: 80px; font-size: 100%;}  
    .flx_karriere .scrollButtons{bottom: 40px;}
    .textbild.bildpadding{margin-top: 20px; padding: 0;}

    .flx_textblock.mitslider .slide img{width: 280px;height: 480px;}
    .flx_textblock.mitslider .stacked-slider{height: 500px;}
    .flx_textblock.mitslider .slider .button{display: none;}

    .flx_slider .slider .item{min-height:280px;padding: 30px;}
    .flx_slider .slider .owl-nav{width: 30%;margin-top: 20px;}

    .flx_kachelblock .kachel{padding: 30px;}

    .flx_referenzen .stacked-slider .button{right: 65px;}

}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:400px) {
    #page-header .menu-mobile .menu li a{font-size: 100%;}

    #page-footer .kontakt .facebook,
    #page-footer .kontakt .instagram{right: 15px;}

}
