

:root{

--main: #123654;
--green: #87AC62;
--background: #F2F4F6;
--white: #ffffff;
--hover: #7FA559;
--item: #E7F0F4;
--dot: #667F8B;
--checkbox: #F2F2F2;

}

body,html,*{font-size:20px;line-height:1.5;font-family:'Jost';font-weight:400;}
html{scroll-behavior: smooth;overflow-x: hidden;}

a{color:var(--white);text-decoration:none;font-size:100%;transition:all .3s ease;}
a:hover{text-decoration:none;color:var(--green);transition:all .3s ease;}
a:focus{text-decoration:none;}

li{list-style:none;position:relative;}

ul{padding:0;margin:0;}

img{max-width:100%;height:auto;}

p{font-size: 100%;color: var(--main);}
.headline{font-size:220%;font-weight:500;display:block;color:var(--main);line-height:1.3;}
.subline{font-size:130%;font-weight:500;color:var(--green);white-space: nowrap;}
.subline-wrapper{display: flex;align-items: center;justify-content: flex-end;gap: 15px;margin-bottom: 30px;}
.subline-wrapper::before{content: '';background: var(--green);height: 2px;flex: 1;}

h1{font-size: 320%!important;color: var(--white)!important;}

.btn{position:relative;padding:5px 50px;background:var(--green);color: var(--white);transition:all .3s ease;text-align:center;border-radius: 0;margin-top: 40px;}
.btn a{font-weight: 500;}
.btn a:hover{color: var(--white);}
.btn:hover{background: var(--hover);}

.btnzwei{display: inline-flex;background: transparent;transition: all 0.3s ease;margin-top: 40px;position: relative;padding-left: 25px;}
.btnzwei a{font-weight: 500;color: var(--main);text-decoration: none;z-index: 5;display: flex;flex-direction: row;}
.btnzwei a:hover{color: var(--main);}
.btnzwei a::before{content: '';position: absolute;top: 0;right: 10px;width: 100%;height: 100%;background-color: rgba(18, 54, 84, 0.15);transform: scaleX(0);transform-origin: right;transition: transform 0.4s ease;z-index: 1;border-radius: 20px;}
.btnzwei:hover a::before{transform: scaleX(1);}
.btnzwei .plus{position: relative;width: 30px;height: 30px;border: 2px solid var(--main);border-radius: 50%;display: flex;align-items: center;justify-content: center;z-index: 5;transition: all 0.4s ease;background: var(--background);margin-left: 10px;}
.btnzwei .plus::before, .btnzwei .plus::after{content: '';position: absolute;background-color: var(--main);transition: all 0.4s ease;}
.btnzwei .plus::before{width: 50%;height: 2px;}
.btnzwei .plus::after{width: 2px;height: 50%;}
.btnzwei:hover .plus{background: var(--main);transition: all 0.4s ease;}
.btnzwei:hover .plus::before, .btnzwei:hover .plus::after{background-color: var(--white);transition: all 0.4s ease;}

.btnbewerbung{position: relative;padding: 5px 20px;background-color: rgba(77, 139, 159, 0.15);border: solid 1px var(--main);font-size: 90%;cursor: pointer;} 
/* rgba(135, 172, 98, 0.15); */


strong{font-weight:500;font-size:100%;}

.gradient{position: absolute;width: 100%;height: 100vh;background: #123654;background: -webkit-linear-gradient(180deg, rgba(18, 54, 84, 1) 0%, rgba(18, 54, 84, 0.88) 23%, rgba(18, 54, 84, 0.23) 88%, rgba(18, 54, 84, 0) 100%);background: -moz-linear-gradient(180deg, rgba(18, 54, 84, 1) 0%, rgba(18, 54, 84, 0.88) 23%, rgba(18, 54, 84, 0.23) 88%, rgba(18, 54, 84, 0) 100%);background: linear-gradient(180deg, rgba(18, 54, 84, 1) 0%, rgba(18, 54, 84, 0.88) 23%, rgba(18, 54, 84, 0.23) 88%, rgba(18, 54, 84, 0) 100%);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#123654", endColorstr="#123654", GradientType=0);}
.gradientzwei{position: absolute;width: 70%;height: 100%;background: #123654;background: -webkit-linear-gradient(90deg, rgba(18, 54, 84, 1) 0%, rgba(18, 54, 84, 0.67) 35%, rgba(18, 54, 84, 0.35) 67%, rgba(18, 54, 84, 0) 100%);background: -moz-linear-gradient(90deg, rgba(18, 54, 84, 1) 0%, rgba(18, 54, 84, 0.67) 35%, rgba(18, 54, 84, 0.35) 67%, rgba(18, 54, 84, 0) 100%);background: linear-gradient(90deg, rgba(18, 54, 84, 1) 0%, rgba(18, 54, 84, 0.67) 35%, rgba(18, 54, 84, 0.35) 67%, rgba(18, 54, 84, 0) 100%);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#123654", endColorstr="#123654", GradientType=1);}
.gradientdrei{position: absolute;width: 100%;height: 100vh;background: #123654;background: -webkit-linear-gradient(135deg, rgba(18, 54, 84, 1) 0%, rgba(18, 54, 84, 0.67) 35%, rgba(18, 54, 84, 0.35) 67%, rgba(18, 54, 84, 0) 100%);background: -moz-linear-gradient(135deg, rgba(18, 54, 84, 1) 0%, rgba(18, 54, 84, 0.67) 35%, rgba(18, 54, 84, 0.35) 67%, rgba(18, 54, 84, 0) 100%);background: linear-gradient(135deg, rgba(18, 54, 84, 1) 0%, rgba(18, 54, 84, 0.67) 35%, rgba(18, 54, 84, 0.35) 67%, rgba(18, 54, 84, 0) 100%);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#123654", endColorstr="#123654", GradientType=0);}

.img-wrapper{position: relative;height: 300px;overflow: hidden;display: inline-block;}
.img-wrapper::before {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(18, 54, 84, 0.5);opacity: 0;transition: opacity .4s ease;z-index: 2;pointer-events: none;}
.img-wrapper:hover::before {opacity: 1;}
.img-wrapper img{width: 100%;height: 100%;object-fit: cover;transition: all 0.4s ease;display: block;}
.img-wrapper:hover img{transform: scale(1.05);}
.img-wrapper .plus{position: absolute;top: 50%;left: 50%;width: 75px;height: 75px;border: 2px solid rgba(255,255,255,0.8);border-radius: 50%;display: flex;align-items: center;justify-content: center;background: rgba(255,255,255,0.15);backdrop-filter: blur(5px);transform: translate(-50%, -50%) scale(0);transition: transform 0.3s ease, background 0.3s ease;z-index: 5;}
.img-wrapper .plus::before, .img-wrapper .plus::after{content: '';position: absolute;background-color: white;}
.img-wrapper .plus::before{width: 40%;height: 3px;}
.img-wrapper .plus::after{width: 3px;height: 40%;}
.img-wrapper:hover .plus{transform: translate(-50%, -50%) scale(1);}

.custom-dots{position: relative;bottom: 21px;}

.container{max-width:1500px;}
/* .container.wide{max-width:1800px;} */

/*------------------------------------Header-------------------------------------------------*/

#page-header{position:fixed;top:0;right:0;left:0;padding: 10px 0 25px;width: 100%;z-index: 9999;}

#page-header .topheader{height: 40px;text-align: right;transition: all .3s ease;opacity: 1;}
#page-header .topheader .mail{padding: 0 50px;position: relative;font-size: 75%;font-weight: 500;}
#page-header .topheader .mail::before{content:'';width:20px;height:20px;display:block;background:url('media/icons/mail_grau.svg');background-repeat:no-repeat;background-size:100%;background-position:center;position:absolute;left: 20px;top: 2px;}
#page-header .topheader .tel{padding: 0 0 0 50px;position: relative;font-size: 75%;font-weight: 500;}
#page-header .topheader .tel::before{content:'';width:20px;height:20px;display:block;background:url('media/icons/phone_grau.svg');background-repeat:no-repeat;background-size:100%;background-position:center;position:absolute;left: 20px;top: 2px;}

#page-header #toppermenu{height: 100%;padding: 35px 0 0;}
#page-header .logo img{width: 200px;height: auto;object-fit: cover;}
#page-header .mainheader{padding: 0 60px 0 20px;position: relative;background: transparent;z-index: 0;}
#page-header .mainheader::before {content: "";position: absolute;inset: 0;background-color: rgba(18, 54, 84, 0.6);backdrop-filter: blur(7px) brightness(1);-webkit-backdrop-filter: blur(10px) brightness(1);z-index: -1;}
#page-header .menu{display: flex;flex-direction: row;align-items: center;justify-content: end;}
#page-header .menu-item a{width: max-content;display: block;position: relative;z-index: 5;font-weight: 500;}
#page-header .menu-item{margin: 0 40px;}
#page-header .menu-item:last-child{margin: 0 0 0 150px;}
#page-header .menu-item a::before{content: '';width: 100%;height: 2px;background: var(--green);position: absolute;top: 30px;transform: scaleX(0);transform-origin: left;opacity: 0;transition: transform .4s ease, opacity .4s ease;}
#page-header .menu-item a:hover::before{transform: scaleX(1);opacity: 1;}
#page-header .menu-item:last-child a:hover::before{display: none;}

#page-header .sub-menu{display: none;}
#page-header .sub-menu a{font-weight: 400;}
#page-header .menu-item-has-children:hover .sub-menu {display: block;position: absolute;top: 66px;left: -20px;background-color: rgba(18, 54, 84, 0.6);backdrop-filter: blur(7px) brightness(1);-webkit-backdrop-filter: blur(10px) brightness(1);z-index: 10;padding: 0 0 5px;}
#page-header .menu-item-has-children .sub-menu::before {content: '';position: absolute;top: -40px;left: 0;width: 100%;height: 40px;background: transparent;}
#page-header .sub-menu .menu-item a:hover::before{display: none;}
#page-header .sub-menu .menu-item a:hover{font-weight: 500;}
#page-header .sub-menu .menu-item{margin: 10px 20px!important;}

#page-header #toppermenu li:nth-child(1) .sub-menu{width: 370px;}
#page-header #toppermenu li:nth-child(2) .sub-menu{width: 320px;}
#page-header #toppermenu li:nth-child(3) .sub-menu{width: 130px;}

#page-header.bottom .topheader{opacity: 0;height:0;pointer-events: none;transition: all .3s ease;}

#page-header #toppermenu .burgerbutton{display:none;width:40px;height:30px;position:absolute;top:25px;right:35px;cursor:pointer;z-index: 2;}
#page-header #toppermenu .burgerbutton span{display:block;width:100%;height:3px;margin:8px 0;background: var(--white);border-radius:20px;transition:all .3s ease;}
#page-header #toppermenu .burgerbutton.active span:nth-child(1){transform:rotate(45deg);transition:all .3s ease;margin-top:22px;background-color: var(--white);}
#page-header #toppermenu .burgerbutton.active span:nth-child(2){opacity:0;transition:all .3s ease;background-color: var(--white);}
#page-header #toppermenu .burgerbutton.active span:nth-child(3){transform:rotate(-45deg);transition:all .3s ease;margin-top:-22px;background-color: var(--white);}

/*------------------------------------Footer-------------------------------------------------*/

#page-footer{background:var(--main);padding:15px 0;position: relative;z-index: 999;}
#page-footer .menu a{color: var(--white);}

#page-footer .logobild img{width: 200px;height: auto;object-fit: cover;}
#page-footer .logobild{display: flex;justify-content: center;}

#page-footer .row.upper{margin-bottom: 50px;}
#page-footer .firmenname{margin-bottom: 30px;}
#page-footer .firmenadresse{position: relative;padding-left: 50px;}
#page-footer .firmenadresse::before{content:'';width:30px;height:30px;display:block;background:url('media/icons/standort_weiss.svg');background-repeat:no-repeat;background-size:100%;background-position:center;position:absolute;top: 0;left: 0;}
#page-footer .kontaktdaten .tel{position: relative;padding-left: 50px;}
#page-footer .kontaktdaten .tel::before{content:'';width:30px;height:30px;display:block;background:url('media/icons/phone_weiss.svg');background-repeat:no-repeat;background-size:100%;background-position:center;position:absolute;top: 0;}
#page-footer .kontaktdaten .mail{position: relative;padding-left: 50px;}
#page-footer .kontaktdaten .mail::before{content:'';width:30px;height:30px;display:block;background:url('media/icons/mail_weiss.svg');background-repeat:no-repeat;background-size:100%;background-position:center;position:absolute;top: 0;}
#page-footer .kontaktdaten p{color: var(--white);}
#page-footer .kontaktdaten a{color: var(--white);}

#page-footer .bottommenu{display: flex;flex-direction: row;margin-top: 60px;}
#page-footer .links .menu{display: flex;flex-direction: column;}
#page-footer .rechts .menu{display: flex;flex-direction: column;}

#page-footer .copyright{color: var(--white);}
#page-footer .copyright span{font-size: 80%;}
#page-footer .footermenu li{font-size: 80%;margin: 0 auto;}
#page-footer ul{display: flex;flex-direction: row;}

#page-footer a:hover, #page-footer li:hover{color: var(--green);}

/*------------------------------ACF-Flexible-Content-----------------------------------------*/

.inhaltsbloecke{margin: 0;}
.impressum .inhaltsbloecke, .datenschutz .inhaltsbloecke, .barrierefreiheitserklaerung .inhaltsbloecke{margin: 200px 0 50px;}
.impressum h1, .datenschutz h1, .barrierefreiheitserklaerung h1{color: var(--main)!important;}

.flx_headerblock.video{position: relative;padding-bottom: 0;}
.flx_headerblock.video .thumbnail{object-fit: cover;height: 100vh;}
.flx_headerblock.video .inhalt{position: absolute;width: 40%;bottom: 0;margin-bottom: 150px;}
.flx_headerblock.video .headline{margin-bottom: 30px;}
.flx_headerblock.video .subline{color: var(--white);}
.flx_headerblock.video p{color: var(--white);margin-top: 60px;font-weight: 500;width: 80%;}
/* .flx_headerblock.video .play-button {position: absolute;top: 50%;right: 20%;transform: translateY(-50%);width: 100px;height: 100px;border: 2px solid var(--white);border-radius: 50%;background: rgba(255,255,255,0.1);backdrop-filter: blur(10px);display: flex;align-items: center;justify-content: center;cursor: pointer;z-index: 5;transition: transform 0.2s ease, background 0.2s ease;}
.flx_headerblock.video .play-button:hover {transform: translateY(-50%) scale(1.1);background: rgba(255,255,255,0.2);}
.flx_headerblock.video .play-button .triangle {width: 0;height: 0;border-left: 30px solid var(--white);border-top: 22px solid transparent;border-bottom: 22px solid transparent;position: relative;left: 5px;bottom: 1px;} */

.flx_headerblock.videozwei{position: relative;padding-bottom: 0;}
.flx_headerblock.videozwei .thumbnail{object-fit: cover;height: 100vh;}
.flx_headerblock.videozwei .inhalt{position: absolute;width: 35%;bottom: 0;margin-bottom: 150px;}
.flx_headerblock.videozwei .headline{margin-bottom: 30px;width: 75%;}
.flx_headerblock.videozwei .subline{color: var(--white);}
.flx_headerblock.videozwei p{color: var(--white);margin-top: 60px;font-weight: 500;width: 80%;}
.flx_headerblock.videozwei .btn{position: fixed;bottom: 120px;right: calc((100vw - 1470px) /2);z-index: 10;}
/* .flx_headerblock.videozwei .play-button {position: absolute;top: 50%;right: 20%;transform: translateY(-50%);width: 100px;height: 100px;border: 2px solid var(--white);border-radius: 50%;background: rgba(255,255,255,0.1);backdrop-filter: blur(10px);display: flex;align-items: center;justify-content: center;cursor: pointer;z-index: 5;transition: transform 0.2s ease, background 0.2s ease;}
.flx_headerblock.videozwei .play-button:hover {transform: translateY(-50%) scale(1.1);background: rgba(255,255,255,0.2);}
.flx_headerblock.videozwei .play-button .triangle {width: 0;height: 0;border-left: 30px solid var(--white);border-top: 22px solid transparent;border-bottom: 22px solid transparent;position: relative;left: 5px;bottom: 1px;} */

.flx_textblock.mitbildernrechts{padding: 100px 0;}
.flx_textblock.mitbildernrechts .links img{height: 400px;object-fit: cover;width: 100%;}
.flx_textblock.mitbildernrechts .rechts img{height: 500px;object-fit: cover;width: 100%;margin-top: 100px;}
.flx_textblock.mitbildernrechts strong{font-weight: 600;}

.flx_textblock.mitbildernlinks{padding: 100px 0;}
.flx_textblock.mitbildernlinks .links img{height: 400px;object-fit: cover;width: 100%;}
.flx_textblock.mitbildernlinks .rechts img{height: 500px;object-fit: cover;width: 100%;margin-top: 100px;}
.flx_textblock.mitbildernlinks strong{font-weight: 600;}

.flx_textblock.miticons{padding: 100px 0;}
.flx_textblock.miticons .headline{display: flex;justify-content: center;margin-bottom: 50px;}
.flx_textblock.miticons .col-md-4 .headline{font-size: 130%;display: block;margin-bottom: 20px;}
.flx_textblock.miticons img{width: auto;height: 90px;margin-bottom: 30px;}
.flx_textblock.miticons strong{font-weight: 600;}
.flx_textblock.miticons .item{content: '';width: 100%;height: 4px;background: var(--item);position: relative;margin-top: 30px;}
.flx_textblock.miticons .item::before{content: '';position: absolute;width: 32%;height: 4px;background: var(--green);}
.flx_textblock.miticons .item::after{content: '';position: absolute;width: 15px;height: 15px;border-radius: 50%;background: var(--green);left: 32%;top: -6px;}
.flx_textblock.miticons .button{display: flex;justify-content: end;}

.flx_textblock.nurtext{padding: 100px 0;}

.flx_leistungsblock{padding: 100px 0;}
.flx_leistungsblock .item{margin-bottom:50px;}
.flx_leistungsblock .row .headline{font-size: 130%;}
.flx_leistungsblock .img-wrapper{height: 300px;overflow: hidden;margin-bottom: 30px;}
.flx_leistungsblock img{height: 320px;width: 470px;object-fit: cover;transition: all .3s ease;}
.flx_leistungsblock .col-12.button{display: flex;justify-content: end;}

.flx_referenzblock.uebersicht{padding: 100px 0;}
.flx_referenzblock.uebersicht .row .headline{font-size: 130%;}
.flx_referenzblock.uebersicht .img-wrapper{height: 300px;overflow: hidden;margin-bottom: 30px;}
.flx_referenzblock.uebersicht img{height: 320px;width: 470px;object-fit: cover;transition: all .3s ease;}
.flx_referenzblock.uebersicht .col-12.button{display: flex;justify-content: end;margin-bottom: 30px;}

.flx_referenzblock.slider{padding: 100px 0;}
.flx_referenzblock.slider .headline{color: var(--white);}
.flx_referenzblock.slider .subline{color: var(--white);}
.flx_referenzblock.slider .beschreibung{color: var(--white);font-weight: 500;font-size: 130%;}
.flx_referenzblock.slider .img-wrapper{width: 100%;max-width: 440px;max-height: 450px;margin-bottom: 5px;margin-right: 50px;}
.flx_referenzblock.slider .slider{position: relative;padding-left: calc((100vw - 1470px) /2)}
/* .flx_referenzblock.slider .owl-item.active{max-width: 440px;width: 100%!important;} */
/* .flx_referenzblock.slider .item{width: 440px;} */
.flx_referenzblock.slider .effekt{position: absolute;height: 100%;width: 9%;bottom: 50px;right: 0;z-index: 5;background: rgba(255, 255, 255, 0);backdrop-filter: blur(20px);-webkit-backdrop-filter: blur(20px);}
.flx_referenzblock.slider .owl-nav{padding-right: calc((100vw - 1470px) /2);display: flex!important;justify-content: space-between;margin-top: 50px;}
.flx_referenzblock.slider .owl-nav .owl-prev{content: '';background: url('media/icons/pfeil_links_grau.svg')!important;background-repeat: no-repeat!important;width: 55px;height: 30px;object-fit: contain;}
.flx_referenzblock.slider .owl-nav .owl-next{content: '';background: url('media/icons/pfeil_rechts_weiß.svg')!important;background-repeat: no-repeat!important;width: 55px;height: 30px;object-fit: contain;}
.flx_referenzblock.slider .custom-dots{padding-right: calc((100vw - 1470px) /2);display: flex;justify-content: center;}
.flx_referenzblock.slider .custom-dots .dot{display: inline-block;width: 12px;height: 12px;margin: 0 10px;border-radius: 50%;background: var(--dot);cursor: pointer;transition: all .3s ease;}
.flx_referenzblock.slider .custom-dots .dot.active{background: var(--green);}
.flx_referenzblock.slider .owl-stage-outer{height: 350px;}

.flx_bildblock.einbild{position: relative;}
.flx_bildblock.einbild img{width: 100%;height: 650px;object-fit: cover;}
.flx_bildblock.einbild .inhalt{position: absolute;bottom: 0;width: 27%;margin-bottom: 150px;}
.flx_bildblock.einbild .headline{color: var(--white);width: 75%;}
.flx_bildblock.einbild .subline{color: var(--white);}
.flx_bildblock.einbild p{color: var(--white);}

.flx_bildblock.sammlung{padding: 100px 0;}
.flx_bildblock.sammlung .col-5 img, .flx_bildblock.sammlung .col-7 img{width: 100%;height: 300px;object-fit: cover;}
.flx_bildblock.sammlung .col-4 img{width: 100%;height: 300px;object-fit: cover;margin-top: 25px;}
.flx_bildblock.sammlung .img-wrapper::before{display: none;}
.flx_bildblock.sammlung .img-wrapper{width: 100%;height: 300px;}

.flx_kontaktblock{padding: 100px 0;}
.flx_kontaktblock .headline{width: 75%;}
.flx_kontaktblock a{color: var(--main);}
.flx_kontaktblock a:hover{color: var(--green);}
.flx_kontaktblock .kontaktdaten{margin-top: 50px;}
.flx_kontaktblock .kontaktdaten .firmenadresse p, .flx_kontaktblock .kontaktdaten a{font-weight: 500;font-size: 130%;}
.flx_kontaktblock .firmenadresse, .flx_kontaktblock .kontaktdaten .tel, .flx_kontaktblock .mail{position: relative;padding-left: 50px;}
.flx_kontaktblock .firmenadresse::before{content:'';width:30px;height:30px;display:block;background:url('media/icons/standort_blau.svg');background-repeat:no-repeat;background-size:100%;background-position:center;position:absolute;top: 0;left: 0;}
.flx_kontaktblock .kontaktdaten .tel::before{content:'';width:30px;height:30px;display:block;background:url('media/icons/phone_blau.svg');background-repeat:no-repeat;background-size:100%;background-position:center;position:absolute;top: 0;left: 0;}
.flx_kontaktblock .mail::before{content:'';width:30px;height:30px;display:block;background:url('media/icons/mail_blau.svg');background-repeat:no-repeat;background-size:100%;background-position:center;position:absolute;top: 0;left: 0;}
.flx_kontaktblock .formular{margin-top: 20px;}
.flx_kontaktblock .formular .datenschutz a{font-weight: 600;}
.flx_kontaktblock .formular .row input, .flx_kontaktblock .formular .row textarea{width: 100%;border: none;border-bottom: solid 1px var(--main);}
.flx_kontaktblock .formular .row textarea{height: 50px!important;margin-top: 15px;resize: none;}
.flx_kontaktblock .formular .betreff input{height: 30px!important;}
.flx_kontaktblock .formular span{color: var(--main);font-size: 105%;}
.flx_kontaktblock .formular .pflichtfeld{display: flex;justify-content: end;}
.flx_kontaktblock .formular .pflichtfeld p{font-size: 80%;margin-bottom: 0;}
.flx_kontaktblock .custom-checkbox input[type="checkbox"] {appearance: none;-webkit-appearance: none;width: 16px;height: 16px;border: 1px solid var(--main);border-radius: 50%;cursor: pointer;position: relative;transition: all 0.2s ease;padding-bottom: 0;background: var(--checkbox);top: 2px;flex-shrink: 0;}
.flx_kontaktblock .custom-checkbox input[type="checkbox"]::after {content: "";position: absolute;top: 50%;left: 50%;width: 10px;height: 10px;background: var(--main);border-radius: 50%;transform: translate(-50%, -50%);opacity: 0;transition: opacity 0.2s ease;}
.flx_kontaktblock .custom-checkbox input[type="checkbox"]:checked::after {opacity: 1;}
.flx_kontaktblock .btn input[type="submit"]{border: none;background: transparent;color: var(--white);font-weight: 500;width: max-content;padding: 5px 50px;}
.flx_kontaktblock .btn p{margin: 0;}
.flx_kontaktblock .wpcf7-spinner{display: none;}
.flx_kontaktblock .btn{padding: 0;float: right;}
.flx_kontaktblock .formular span.wpcf7-not-valid-tip{font-size: 100%;}
.flx_kontaktblock .formular .col-md-6 label, .flx_kontaktblock .formular .col-md-12 label, .flx_kontaktblock .formular .col-md-4 label{margin-bottom: 10px;color: var(--main);font-size: 80%;}
.flx_kontaktblock .wpcf7-list-item{margin: 0;}

.flx_googlemaps{height: 550px;}
.flx_googlemaps .map-wrapper iframe{filter: grayscale(100%);-webkit-filter: grayscale(100%);}

.flx_benefits{padding: 100px 0;}
.flx_benefits .headline{display: flex;justify-content: center;margin-bottom: 50px;}
.flx_benefits .item img{height: 90px;width: auto;margin-bottom: 30px;}
.flx_benefits .inhalt .headline{font-size: 130%;display: block;margin-bottom: 20px;width: 75%;}
.flx_benefits .strong{font-weight: 600;}
.flx_benefits .col-md-4{margin-bottom: 50px;}
.flx_benefits .button{display: flex;justify-content: center;}

.flx_stellenangebote{padding: 100px 0;}
.flx_stellenangebote .headline{display: flex;justify-content: center;margin-bottom: 50px;}
.flx_stellenangebote .inhalt .headline{font-size: 130%;margin-bottom: 30px;display: block;width: 85%;}
.flx_stellenangebote .row.spans{display: flex;flex-direction: row;}
.flx_stellenangebote .row.spans span{width: max-content;padding-left: 35px;color: var(--main);position: relative;margin-left: 15px;}
.flx_stellenangebote span.umfang::before{content:'';width:25px;height:25px;display:block;background:url('media/icons/umfang_gruen.svg');background-repeat:no-repeat;background-size:contain;background-position:center;position:absolute;top: 0;left: 0;}
.flx_stellenangebote span.ort::before{content:'';width:26px;height:26px;display:block;background:url('media/icons/standort_gruen.svg');background-repeat:no-repeat;background-size:contain;background-position:center;position:absolute;top: 0;left: 0;}
.flx_stellenangebote .col-md-4{margin-bottom: 50px;}
.flx_stellenangebote .btnzwei{margin-top: 20px;}
.flx_stellenangebote .btnzwei:hover .plus{background: var(--main);}
.flx_stellenangebote .btnzwei .plus{background: var(--white);}
.flx_stellenangebote .btnzwei .plus:hover{background: var(--main);}
.flx_stellenangebote .img-wrapper{height: 320px;margin-bottom: 20px;}
.flx_stellenangebote .col-12.button{display: flex;justify-content: end;}

.flx_teamstimmen{padding: 100px 0;}
.flx_teamstimmen .ueberschrift p{width: 75%;}
.flx_teamstimmen .slider{overflow: visible;position: relative;}
.flx_teamstimmen .owl-stage-outer{overflow: visible;}
.flx_teamstimmen img{width: 120px!important;height: 120px;object-fit: cover;border-radius: 50%;position: absolute;top: -60px;object-position: top;}
.flx_teamstimmen .item{display: flex;flex-direction: column;align-items: center;background: var(--background);position: relative;padding: 80px 100px 50px;margin-top: 100px;}
.flx_teamstimmen span.name{color: var(--main);font-size: 130%;font-weight: 500;}
.flx_teamstimmen span.position{color: var(--main);font-size: 100%;}
.flx_teamstimmen span.inhalt{color: var(--main);font-size: 130%;font-weight: 500;text-align: center;margin-top: 30px;}
.flx_teamstimmen .effektlinks{position: absolute;height: 80%;width: 20%;top: 35px;left: -17.5%;z-index: 5;background: rgba(255, 255, 255, 0);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);}
.flx_teamstimmen .effektrechts{position: absolute;height: 80%;width: 20%;top: 35px;right: -17.5%;z-index: 5;background: rgba(255, 255, 255, 0);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);}
.flx_teamstimmen .owl-nav{display: flex!important;justify-content: space-between;margin-top: 50px;}
.flx_teamstimmen .owl-nav .owl-prev{content: '';background: url('media/icons/pfeil_links_grau.svg')!important;background-repeat: no-repeat!important;width: 55px;height: 30px;object-fit: contain;}
.flx_teamstimmen .owl-nav .owl-next{content: '';background: url('media/icons/pfeil_rechts_gruen.svg')!important;background-repeat: no-repeat!important;width: 55px;height: 30px;object-fit: contain;}
.flx_teamstimmen .custom-dots{display: flex;justify-content: center;}
.flx_teamstimmen .custom-dots .dot{display: inline-block;width: 12px;height: 12px;margin: 0 10px;border-radius: 50%;background: var(--dot);cursor: pointer;transition: all .3s ease;}
.flx_teamstimmen .custom-dots .dot.active{background: var(--green);}

.flx_teameindruecke{padding: 100px 0;}
.flx_teameindruecke .headline{color: var(--white);}
.flx_teameindruecke .subline{color: var(--white);}
.flx_teameindruecke .slider{overflow: visible;position: relative;}
.flx_teameindruecke .owl-stage-outer{overflow: visible;}
.flx_teameindruecke .img-wrapper{max-width: 440px;width: 100%;}
.flx_teameindruecke .img-wrapper:hover::before{display: none;}
.flx_teameindruecke .effektlinks{position: absolute;height: 110%;width: 17.5%;top: -35px;left: -17.5%;z-index: 5;background: rgba(255, 255, 255, 0);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);}
.flx_teameindruecke .effektrechts{position: absolute;height: 110%;width: 17.5%;top: -35px;right: -17.5%;z-index: 5;background: rgba(255, 255, 255, 0);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);}
.flx_teameindruecke .owl-nav{display: flex!important;justify-content: space-between;margin-top: 50px;}
.flx_teameindruecke .owl-nav .owl-prev{content: '';background: url('media/icons/pfeil_links_grau.svg')!important;background-repeat: no-repeat!important;width: 55px;height: 30px;object-fit: contain;}
.flx_teameindruecke .owl-nav .owl-next{content: '';background: url('media/icons/pfeil_rechts_weiß.svg')!important;background-repeat: no-repeat!important;width: 55px;height: 30px;object-fit: contain;}
.flx_teameindruecke .custom-dots{display: flex;justify-content: center;}
.flx_teameindruecke .custom-dots .dot{display: inline-block;width: 12px;height: 12px;margin: 0 10px;border-radius: 50%;background: var(--dot);cursor: pointer;transition: all .3s ease;}
.flx_teameindruecke .custom-dots .dot.active{background: var(--green);}
.flx_teameindruecke .button{display: flex;justify-content: center;}

.flx_kontaktblock.ansprechpartner .col-12{display: flex;align-items: center;margin: 50px 0;}
.flx_kontaktblock.ansprechpartner .bild img{height: 120px;width: 120px;object-fit: cover;border-radius: 50%;}
.flx_kontaktblock.ansprechpartner .person{display: flex;flex-direction: column;margin-left: 15px;}
.flx_kontaktblock.ansprechpartner span.name{color: var(--main);font-size: 130%;font-weight: 500;}
.flx_kontaktblock.ansprechpartner span.position{color: var(--main);}

.flx_team{padding:50px 0;}
.flx_team .headerbox{width:35%;}
.flx_team .item{position:relative;margin-bottom:25px;}
.flx_team .item .img-wrapper{height:575px;width:100%;position:relative;}
.flx_team .item .img-wrapper img{object-position:top;}
.flx_team .item .img-wrapper .border-bottom{display:block;width:50%;height:7.5px;background-color:var(--green);position:absolute;bottom:0;left:0;z-index:99;}
.flx_team .item:hover .img-wrapper:before{opacity:1;}
.flx_team .item:hover .img-wrapper img{transform: scale(1.05);}
.flx_team .item .inhalt{display:none;position:absolute;bottom:50px;left:25px;right:25px;z-index:9;}
.flx_team .item:hover .inhalt{display:block;}
.flx_team .item .inhalt .name{display:block;font-size:125%;font-weight:600;color:var(--white);}
.flx_team .item .inhalt .mail, .flx_team .item .inhalt .telefon{color:var(--white);display:block;}
.flx_team .item .inhalt .mail:hover, .flx_team .item .inhalt .telefon:hover{color:var(--hover);}

#karriere-single .flx_karriere{padding-bottom: 100px;}
#karriere-single .flx_karriere .headerbild{position: relative;}
#karriere-single .flx_karriere .gradient{height: 100%;}
#karriere-single .flx_karriere .bild img{width: 100%;height: 600px;object-fit: cover;object-position: center;}
#karriere-single .flx_karriere .row.jobtitel{display: flex;align-items: center;}
#karriere-single .flx_karriere h1{color: var(--main)!important;width: 100%;}
#karriere-single .flx_karriere .row.jobtitel span{font-size: 50%;margin-left: 15px;}
#karriere-single .flx_karriere .headline{font-size: 140%;margin-bottom: 30px;}
#karriere-single .flx_karriere .row.spans span{width: max-content;padding-left: 35px;color: var(--main);position: relative;margin-left: 15px;margin-bottom: 50px;}
#karriere-single .flx_karriere span.umfang::before{content:'';width:25px;height:25px;display:block;background:url('media/icons/umfang_gruen.svg');background-repeat:no-repeat;background-size:contain;background-position:center;position:absolute;top: 0;left: 0;}
#karriere-single .flx_karriere span.ort::before{content:'';width:26px;height:26px;display:block;background:url('media/icons/standort_gruen.svg');background-repeat:no-repeat;background-size:contain;background-position:center;position:absolute;top: 0;left: 0;}
#karriere-single .flx_karriere .row.upper{margin-bottom: 50px;padding-top: 100px;}
#karriere-single .flx_karriere li{list-style: disc;color: var(--main);}
#karriere-single .flx_karriere li::marker{color: var(--green);}
#karriere-single .flx_karriere ul{padding-left: 20px;}

/*-------------------------------------Bewerbungsformular------------------------------------*/
#karriere-single .formular{position: relative;}
#karriere-single .bewerbungsformular{background-color: rgba(242, 242, 242, 0.85);backdrop-filter: blur(15px) brightness(1.1); -webkit-backdrop-filter: blur(15px) brightness(1.1);position: absolute;bottom: 0;padding: 50px;}
#karriere-single .formular .headline{margin-bottom: 0px;}
#karriere-single .formular span.jobbeschreibung{font-size: 100%;}
#karriere-single .formular .wpcf7.js{margin-top: 20px;}
#karriere-single .formular p{margin-bottom: 10px;}
#karriere-single .formular .custom-file-upload input[type="file"]{display: none;}
#karriere-single .formular{margin-top: 20px;}
#karriere-single .formular .datenschutz a{font-weight: 600;color: var(--main);}
#karriere-single .formular .datenschutz a:hover{color: var(--green);}
#karriere-single .formular .wpcf7-list-item{margin: 0;}
#karriere-single .formular .row input{width: 100%;border: none;border-bottom: solid 1px var(--main);padding-bottom: 5px;background: rgba(242, 242, 242, 0);color: var(--main)!important;-webkit-text-fill-color: var(--main) !important;font-size: 80%;}
#karriere-single .formular .row select{width: 100%;border: none;border-bottom: solid 1px var(--main);padding-bottom: 5px;background: rgba(242, 242, 242, 0);color: var(--main)!important;-webkit-text-fill-color: var(--main) !important;font-size: 80%;}
#karriere-single .formular .aufmerksam label{margin-bottom: 20px;}
#karriere-single .formular .pflichtfeld p{font-size: 80%;}
#karriere-single .formular .dokumente label{margin-bottom: 10px;}
#karriere-single .formular .datenschutz span{font-size: 105%;}
#karriere-single .formular .row .col-md-12 label{font-size: 80%;}
#karriere-single .formular span{color: var(--main);}
#karriere-single .formular .pflichtfeld{display: flex;justify-content: end;}
#karriere-single .formular .custom-checkbox input[type="checkbox"] {appearance: none;-webkit-appearance: none;width: 16px;height: 16px;border: 1px solid var(--main);border-radius: 50%;cursor: pointer;position: relative;transition: all 0.2s ease;padding-bottom: 0;background: var(--checkbox);top: 2px;flex-shrink: 0;}
#karriere-single .formular .custom-checkbox input[type="checkbox"]::after {content: "";position: absolute;top: 50%;left: 50%;width: 10px;height: 10px;background: var(--main);border-radius: 50%;transform: translate(-50%, -50%);opacity: 0;transition: opacity 0.2s ease;}
#karriere-single .formular .custom-checkbox input[type="checkbox"]:checked::after {opacity: 1;}
#karriere-single .formular .item{display: flex;justify-content: center;}
#karriere-single .formular .btn input[type="submit"]{border: none;background: transparent;color: var(--white);font-weight: 500;width: max-content;padding: 5px 100px;}
#karriere-single .formular .btn p{margin: 0;}
#karriere-single .formular .wpcf7-spinner{display: none;}
#karriere-single .formular .btn{padding: 0;float: right;}
#karriere-single .formular span.wpcf7-not-valid-tip{font-size: 80%;}

/*-------------------------------------------------------------------------------------------*/
@media (max-width:1799px){

    .flx_referenzblock.slider .effekt{display: none;}
 
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:1500px){

    #page-header .menu-item{margin: 0 30px;}
    #page-header .menu-item:last-child{margin-left: 100px;}

    .headline{font-size:190%;}
    .subline{font-size:110%;}
    
    h1{font-size: 240%!important;}

    p{font-size: 90%;}

    .flx_headerblock.video .inhalt{width: 50%;margin-bottom: 100px;}

    .flx_referenzblock.slider .effekt{display: none;}
    .flx_referenzblock.slider .owl-nav{padding: 0 15px;}

    .flx_bildblock.einbild .inhalt{width: 37%;}

    .flx_kontaktblock .kontaktdaten .firmenadresse p, .flx_kontaktblock .kontaktdaten a{font-size: 115%;}

    .flx_googlemaps{height: 400px;}
    .flx_googlemaps iframe{height: 400px;}

    .flx_headerblock.videozwei .btn{right: 15px;bottom: 15px;}
    .flx_headerblock.videozwei .inhalt{width: 45%;margin-bottom: 100px;}

}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:1199px){

    #page-header #toppermenu .burgerbutton{display: block;top: 33px;}
    #page-header #toppermenu.active .menu {display: block;background-color: rgba(18, 54, 84, 0.6);backdrop-filter: blur(7px) brightness(1);-webkit-backdrop-filter: blur(10px) brightness(1);box-shadow: -4px 12px 12px rgba(0,0,0,0.06)}
    #page-header #toppermenu .menu li{display: block;padding: 15px 0;margin: 0 30px 0 0;width: max-content;margin: 0 auto;}
    #page-header #toppermenu .menu li.btn{padding: 10px 75px;}
    #page-header #toppermenu .menu{display: none;position: absolute;right: 0;top: 107px;width: 30%;padding: 10px 0 30px 0;z-index: 1;}
    #page-header .menu-item-has-children .sub-menu::before{top: 0;right: -100px;width: 100px;height: 30%;left: unset;}
    #page-header .menu-item-has-children:hover .sub-menu{top: -10px;right: 192px;left: unset;padding: 20px;background-color: rgba(18, 54, 84, 1);backdrop-filter: blur(7px);z-index: 10;}
    #page-header #toppermenu li:nth-child(3) .sub-menu::before{height: 100%;}
    #page-header #toppermenu li:nth-child(2) .sub-menu, #page-header #toppermenu li:nth-child(3) .sub-menu{right: 194px;}
    #page-header #toppermenu .menu .sub-menu li{margin: 10px 0!important;padding: 0!important;}
    #page-header .topheader .mail{padding-right: 5px;}

    .flx_headerblock.video .inhalt{width: 60%;}

    .flx_bildblock.einbild .inhalt{width: 44%;}

    .flx_kontaktblock.ansprechpartner .bild img{height: 90px;width: 90px;}

    #page-footer .footermenu li{margin: 0 10px;}
    #page-footer ul{justify-content: end;}

}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:991px) {

    #page-header #toppermenu .menu li.btn{padding: 10px 50px;}
    #page-header .menu-item-has-children:hover .sub-menu{right: 158px;}
    #page-header #toppermenu li:nth-child(2) .sub-menu, #page-header #toppermenu li:nth-child(3) .sub-menu{right: 160px;}
    #page-header .menu-item-has-children .sub-menu::before{right: -60px;width: 60px;height: 40%;}

    .headline{font-size:160%;}
    .subline{font-size:90%;}
    
    h1{font-size: 190%!important;}

    p{font-size: 75%;}

    .btn{padding: 5px 30px;}

    .flx_headerblock.video p{margin-top: 20px;}

    .flx_leistungsblock .col-sm-6{margin-bottom: 30px;}

    .flx_bildblock.einbild .inhalt{width: 48%;}

    .flx_kontaktblock .kontaktdaten .firmenadresse p, .flx_kontaktblock .kontaktdaten a{font-size: 100%;}

    .flx_kontaktblock.ansprechpartner .col-3.bild{width: max-content;}

    .flx_headerblock.videozwei .inhalt{width: 60%;}

    .flx_benefits .inhalt .headline{font-size: 100%;width: 90%;}

    .flx_stellenangebote .col-sm-6{margin-bottom: 30px;}

    #page-footer .bottommenu{justify-content: space-evenly;}

    #karriere-single .bewerbungsformular{position: relative;margin-right: 15px;}
    #karriere-single .flx_karriere .row.upper{padding-top: 50px;}

}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:767px) {

    #page-header .logo img{height: 90px;object-fit: cover;top: 5px;position: relative;}
    #page-header .mainheader{height: 100px;}
    #page-header #toppermenu .menu{top: 100px;}
    #page-header .menu-item-has-children:hover .sub-menu{right: 123px;}
    #page-header #toppermenu li:nth-child(2) .sub-menu, #page-header #toppermenu li:nth-child(3) .sub-menu{right: 125px;}
    #page-header #toppermenu .menu li.btn{padding: 5px 35px;}
    #page-header .menu-item-has-children .sub-menu::before{right: -45px;width: 45px;}

    .flx_textblock.mitbildernrechts, .flx_leistungsblock, .flx_leistungsblock, .flx_referenzblock.slider, .flx_kontaktblock, .flx_benefits, .flx_stellenangebote, .flx_teamstimmen, .flx_teameindruecke, .flx_referenzblock.uebersicht, .flx_bildblock.sammlung{padding: 50px 0;}

    a{font-size: 80%;}

    .flx_headerblock.video .inhalt{width: 80%;}

    .flx_textblock.mitbildernrechts .rechts img{margin-top: 50px;}
    .flx_textblock.mitbildernrechts .links img{margin-top: 50px;}

    .flx_bildblock.einbild .inhalt{width: 62%;}

    .flx_teamstimmen span.inhalt div, .flx_teamstimmen span.inhalt p {font-size: 65%;}
    .flx_teamstimmen span.name{font-size: 110%;}
    .flx_teamstimmen span.position{font-size: 85%;}
    .flx_teamstimmen .item{padding: 80px 20px 50px;}

    .flx_kontaktblock.ansprechpartner span.name{font-size: 100%;}
    .flx_kontaktblock.ansprechpartner span.position{font-size: 80%;}

    .flx_bildblock.sammlung .col-5 img, .flx_bildblock.sammlung .col-7 img{height: 200px;}
    .flx_bildblock.sammlung .col-4 img{margin-top: 0;height: 200px;}
    .flx_bildblock.sammlung .row.upper, .flx_bildblock.sammlung .row.lower{height: 200px;margin-top: 25px;}

    .flx_team{padding:35px 0;}

    #page-footer .firmenadresse, #page-footer .kontaktdaten .tel, #page-footer .kontaktdaten .mail{padding-left: 35px;}
    #page-footer .kontaktdaten .tel::before, #page-footer .kontaktdaten .mail::before{width: 25px;height: 25px;top: -3px;}
    #page-footer .firmenadresse::before{width: 25px;height: 25px;top: 5px;}
    
}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:600px) {

    #page-header #toppermenu .menu{width: 100%;}
    #page-header .menu-item-has-children:hover .sub-menu{position: relative;left: 0;right: 0;top: 0;margin-top: 10px;padding: 5px;}
    #page-header .menu-item a{margin: 0 auto;font-size: 80%;}
    #page-header #toppermenu .menu .sub-menu li{margin: 10px auto!important;}
    #page-header .menu-item-has-children .sub-menu::before{display: none;}
    #page-header #toppermenu .menu li.btn{padding: 5px 50px;}

    a{font-size: 90%;}

    .flx_headerblock.video .inhalt{width: 90%;}

    .flx_referenzblock.slider .beschreibung{font-size: 100%;}

    .gradientzwei{width: 100%;}

    .flx_bildblock.einbild .inhalt{width: 75%;}

    .flx_headerblock.videozwei p{margin-top: 30px;}
    .flx_headerblock.videozwei .inhalt{width: 95%;}

    .flx_benefits .inhalt .headline{font-size: 80%;width: 100%;}

    .flx_team .headerbox{width:100%;}
    .flx_team .item .img-wrapper{height:425px;}
    .flx_team .item .inhalt{display:block;position:unset;}
    .flx_team .item .inhalt .name{color:var(--main);}
    .flx_team .item .inhalt .telefon, .flx_team .item .inhalt .mail{color:var(--main);}
    .flx_team .item .inhalt .telefon:hover, .flx_team .item .inhalt .mail:hover{color:var(--hover);}

    .flx_bildblock.sammlung .col-5 img, .flx_bildblock.sammlung .col-7 img{height: 100px;}
    .flx_bildblock.sammlung .col-4 img{margin-top: 0;height: 100px;}
    .flx_bildblock.sammlung .row.upper, .flx_bildblock.sammlung .row.lower{height: 100px;margin-top: 15px;padding: 0 5px;}
    .flx_bildblock.sammlung .col-5, .flx_bildblock.sammlung .col-7, .flx_bildblock.sammlung .col-4{padding: 0 10px;}

}
/*-------------------------------------------------------------------------------------------*/
@media (max-width:400px) {

    #page-header #toppermenu li:nth-child(1) .sub-menu, #page-header #toppermenu li:nth-child(2) .sub-menu{width: 300px;}

    .flx_bildblock.einbild .inhalt{margin-bottom: 75px;}

    #page-footer .footermenu li{margin: 0 3px;}
    #page-footer .links .menu{width: 140px;}

}
