/*------------------------------ACF-Flexible-Content-----------------------------------------*/

.inhaltsbloecke{margin-top:130px;overflow:hidden;}
div[class^="flx_"], div[class*="flx_"]{padding:100px 0;}

.flx_headerblock{position:relative;padding:0!important;}
.flx_headerblock .content{position:absolute;top:25%;z-index:10;width: 50%;}
.flx_headerblock .content .iconbox{width:10%;float:left;padding-top:5px;}
.flx_headerblock .content .iconbox img{width:65px;height:auto;}
.flx_headerblock .content .headerbox .headline{color:var(--white);font-size:300%;margin-bottom:15px; font-weight: 900;}
.flx_headerblock .content .headerbox .subline{color:var(--white);font-size:100%;margin-bottom:20px; font-weight: 600;}
.flx_headerblock .content .headerbox p{color:var(--white); font-size:140%; font-weight: 600; margin-bottom: 40px;}
.flx_headerblock .content .headerbox .extratext{text-transform: uppercase; font-size: 150%; font-weight: 900; transform: rotate(270deg); color: var(--white); width: fit-content; position: absolute; top: 153px;  right: -50px;}

.flx_headerblock.mitbild img{width: 100%;}
.flx_headerblock.mitbild h1{text-transform: uppercase;}
.flx_headerblock.mitbild .content{bottom:10%;top:unset; background-color: var(--blue); color: var(--white); width: 950px; padding: 50px;}

.flx_headerblock.mitvideo:before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background: linear-gradient(90deg,rgba(7, 31, 53, 0.7) 0%, rgba(7, 31, 53, 0) 100%);z-index:5}
.flx_headerblock.mitvideo:after{content:'';position:absolute;right:0;bottom:0;left:0;width: 0px;height: 0px;transform:rotate(180deg);border-style: solid;border-width: 100px 2560px 0 0;border-color:var(--white) transparent transparent transparent;z-index:5}

.flx_headerblock.mitfarbe{height:250px;}
.flx_headerblock.mitfarbe .content{top:unset;bottom:20%;}



.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%; filter: grayscale(1); transition: all 0.3s ease;}
.flx_bildblock img:hover{filter: grayscale(0);}
.flx_bildblock .imagetwo{width: 40%;float: right;margin-top: -250px;position: relative;}


.flx_textblock .headline{margin-bottom: 0; font-weight: 900; text-transform: uppercase;}
.flx_textblock .inhalt{margin-bottom: 60px; margin-top: 60px;}
.flx_textblock .inhalt.bildelement{margin-top: 40px;}
.flx_textblock.mitbildrechts, .flx_textblock.mitbildlinks{padding-bottom:200px!important;}
.flx_textblock.mitbildrechts .inner{position:relative;}
.flx_textblock.mitbildrechts .inner img{position:relative;z-index:99}
.flx_textblock.mitbildrechts .inner .secondimage{display:block;width:400px;height:250px;object-fit:cover;position:absolute;bottom:-130px;left:-130px;z-index:100;border-radius:20px;}
.flx_textblock.mitbildlinks .inner img{position:relative;z-index:99}
.flx_textblock.mitbildlinks .inner .secondimage{display:block;width:400px;height:250px;object-fit:cover;position:absolute;bottom:-130px;right:-130px;z-index:100;border-radius:20px;}

.flx_textblock.bildliste .text{padding-bottom: 60px; padding-top: 60px;}
.flx_textblock.bildliste .text.bildelement{padding-top: 40px;}
.flx_textblock.bildliste .bildkachel{margin-top: 25px}
.flx_textblock.bildliste .bildkachel .bildunterschrift{padding-bottom: 30px; padding-top: 10px; font-size: 150%; font-weight: 900;}
.flx_textblock.bildliste .btn{margin-left: auto; margin-right: 0; display: block; width: fit-content;}

.flx_textblock.mitlogosrechts .logocol{margin-bottom: 50px; padding: 0 15px; align-content: center;}
.flx_textblock.mitlogosrechts .firmenlogo{margin:auto; display: block; max-height: 100px;}

.flx_textblock.mitsliderlinks .headline{width: 101%;}
.flx_textblock.mitsliderlinks .text{padding-left: 75px;}
.flx_textblock.mitsliderlinks .inner{padding: 0 100px; position: relative;}
.flx_textblock.mitsliderlinks .owl-carousel .owl-nav .owl-prev{position: absolute; left: -100px; top: 50%; transform: translateY(-50%) rotate(180deg);}
.flx_textblock.mitsliderlinks .owl-carousel .owl-nav .owl-prev:before{content: ''; display: block; width: 60px; height: 60px; background: url('../media/arrow_right.svg') no-repeat; background-size: contain;}
.flx_textblock.mitsliderlinks .owl-carousel .owl-nav .owl-next{position: absolute; right: -100px; top: 50%; transform: translateY(-50%);}
.flx_textblock.mitsliderlinks .owl-carousel .owl-nav .owl-next:after{content: ''; display: block; width: 60px; height: 60px; background: url('../media/arrow_right.svg') no-repeat; background-size: contain;}
.flx_textblock.mitsliderlinks .spruch-wrapper{position:absolute; z-index:9; width: 250px; height: 250px; top: -125px; right: -25px;}
.flx_textblock.mitsliderlinks .spruch-wrapper img{margin:0;}
.flx_textblock.mitsliderlinks .spruch-wrapper::after{content: ''; width: 30px; height: 30px; border-radius: 30px; background-color: var(--blue);
      position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%);}


.flx_faqblock .bildwrapper{position:relative;display:block;width:100%;height:750px;}
.flx_faqblock .bildwrapper .griditem1{position: absolute;top: 0;left: 35px;transform: rotate(-5deg);}
.flx_faqblock .bildwrapper .griditem2{position: absolute;top: 50%;right: 0;transform: translateY(-50%) rotate(2deg);}
.flx_faqblock .bildwrapper .griditem3{position: absolute;bottom: 0;left: 0;transform: rotate(-3deg);}
.flx_faqblock .text{align-content:center;}
.flx_faqblock .text .faq{min-height:400px;}
.flx_faqblock .text .faq .accordion .accordion-item{padding:20px 0;border: none; border-bottom:solid .5px var(--main);}
.flx_faqblock .text .faq .accordion .accordion-item:last-child{border:none;}
.flx_faqblock .text .faq .accordion .accordion-item .accordion-header{font-size:100%;}
.flx_faqblock .text .faq .accordion .accordion-item .accordion-header .accordion-button{background: none;border: none;text-align: left;font-size: 100%;padding: 15px 50px 15px 0;font-weight: bold;display: block;width: 100%;position:relative;color:var(--main);}
.flx_faqblock .text .faq .accordion .accordion-item .accordion-header .accordion-button:after{content:'';display:block;width:35px;height:35px;background:url('../media/accordion-plus.svg');background-size:cover;background-position:center;background-repeat:no-repeat;position:absolute;top:7.5px;right:0;transform:rotate(0deg);transition:all .3s ease;}
.flx_faqblock .text .faq .accordion .accordion-item .accordion-header .accordion-button.collapsed:after{content:'';display:block;width:35px;height:35px;background:url('../media/accordion-minus.svg');background-size:cover;background-position:center;background-repeat:no-repeat;position:absolute;top:7.5px;right:0;transform:rotate(360deg);transition:all .3s ease;}
.flx_faqblock .text .faq .accordion .accordion-item .accordion-body{padding-right:50px;}

.flx_faqblock .btn{display: block; width: fit-content; margin-left: auto; margin-top: 60px;}

.flx_faqblock.mitbildrechts .bild{padding-left:125px;}
.flx_faqblock.mitbildlinks .bild{padding-right:125px;}


.flx_loesungen{background-color:var(--dark);padding: 70px 0;position: relative;}
.flx_loesungen .container{position: relative;z-index: 1;}
.flx_loesungen .headline{font-size: 300%; font-weight: 900;}
.flx_loesungen::after{content: '';position: absolute;height: 250px;width: 250px;border-radius: 50%;background-color: var(--acc);top: 100px;right: -70px;display: block;filter: blur(80px);z-index: 0;}

.flx_loesungen .content{width: 100%;margin-bottom: 3rem;text-align: center;}
.flx_loesungen .content .headline,
.flx_loesungen .content .editor *{color:var(--white);}
.flx_loesungen .loesung{color: #fff8;background-color: #1A364400;align-items: center;border-radius: 0px;padding: 25px 15px 25px;transition: all ease .3s; margin-bottom: 35px;}
.flx_loesungen .loesung:hover{color: #fff;background-color: #2e2e2e;transition: all ease .3s;}
.flx_loesungen .loesung *{color: #fff8;transition: all ease .3s;}
.flx_loesungen .loesung:hover *{color: #ffff;transition: all ease .3s;}
.flx_loesungen .loesung .headline{font-size: 300%; font-weight: 900; text-transform: uppercase; margin-bottom: 0;}
.flx_loesungen .loesung .editor p{text-align: end; font-weight: 900; text-transform: uppercase; margin-bottom: 0;}
.flx_loesungen .btn{margin: 50px auto 0;display: block; width: fit-content;}
.flx_loesungen .dekoelement{position: absolute; right: 25px; bottom: -25px;}

.flx_seitenteaser .headerbox{text-align:center;}
.flx_seitenteaser .headerbox .inhalt{display:block;max-width:50%;margin:0 auto;}
.flx_seitenteaser .item{padding:75px;background:var(--lightgray);border-radius:20px;margin:15px 0;}
.flx_seitenteaser .item .inner{display:flex;flex-direction:row;gap:15px;}
.flx_seitenteaser .item .inner .headerbox{text-align:left;align-content:center;display:block;}
.flx_seitenteaser .item .inner .headerbox .headline{margin-bottom:0;}
.flx_seitenteaser .item .inhalt{margin:25px 0;}

.flx_blogteaser{background:var(--main);}
.flx_blogteaser *{color:var(--white)!important;}
.flx_blogteaser .headerbox{text-align:left;}
.flx_blogteaser .item{padding:75px;background:var(--mainhover);border-radius:20px;margin:15px 0;}
.flx_blogteaser .item .inner{display:flex;flex-direction:row;gap:15px;}
.flx_blogteaser .item .inner .icon{filter: brightness(0) invert(1);max-width:55px;}
.flx_blogteaser .item .inner .headerbox{text-align:left;align-content:center;display:block;}
.flx_blogteaser .item .inner .headerbox .headline{margin-bottom:0;}
.flx_blogteaser .item .inhalt{margin:25px 0;}
.flx_blogteaser .item .btn.light:after{content: '';display: block;width: 20px;height: 20px;background: url('../media/right-circle-white.svg');background-repeat: no-repeat;background-position: center;background-size: 100%;position: absolute;top: 0;right: 0;transition: all .3s ease;}
.flx_blogteaser .item .btn.light:hover:after{right:-5px;transition:all .3s ease;}


.flx_blogteaser .slider, .flx_blogteaser .row{margin-top:50px;}
.flx_blogteaser .slider .owl-nav{position:absolute;top:50%;width:100%;height:50px;transform:translateY(-50%);}
.flx_blogteaser .slider .owl-nav .owl-prev{display:block;width:30px;height:50px;background:url('../media/slider-arrow.svg');background-position:center;background-repeat:no-repeat;background-size:100%;position:absolute;left:-50px;top:0;transform:rotate(180deg);}
.flx_blogteaser .slider .owl-nav .owl-next{display:block;width:30px;height:50px;background:url('../media/slider-arrow.svg');background-position:center;background-repeat:no-repeat;background-size:100%;position:absolute;right:-50px;top:0;}
.flx_blogteaser .slider .owl-dots{display:flex;flex-direction:row;gap:10px;width:100%;align-items:center;justify-content:center;}
.flx_blogteaser .slider .owl-dots .owl-dot{display:block;width:10px;height:10px;background:var(--white);border-radius:50%;translate:all .3s ease;}
.flx_blogteaser .slider .owl-dots .owl-dot.active{width:15px;height:15px;translate: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_kontaktblock .container{background-color: var(--blue); padding: 100px 0px 100px 100px;}
.flx_kontaktblock .kontaktrow{position: relative;}
.flx_kontaktblock .headline{color: var(--white); font-size: 300%; font-weight: 900; text-transform: uppercase;}
.flx_kontaktblock .subline{color: var(--white); font-size: 140%; font-weight: 600;}
.flx_kontaktblock img{margin-top: 30px;}
.flx_kontaktblock label{margin: 0;}
.flx_kontaktblock .formularinner{position: relative;}
.flx_kontaktblock input, .flx_kontaktblock textarea{background-color: var(--white); color: var(--blue); padding: 10px 20px; border: none;}
.flx_kontaktblock input[type="submit"]{text-transform: uppercase; font-weight: 900; font-size: 110%;letter-spacing: 1px; display: block; margin-left: auto;}
.flx_kontaktblock .wpcf7-form-control-wrap{margin-bottom: 25px;}
.flx_kontaktblock .extratext{text-transform: uppercase; font-size: 150%; font-weight: 900; transform: rotate(270deg); color: var(--white); width: fit-content; position: absolute; top: 95px;  right: -35px;}
.flx_kontaktblock .pflicht{position: absolute; right: 0; font-size: 75%; color: var(--white);}
.flx_kontaktblock .wpcf7-list-item{margin-left:  0; margin-top: 45px; margin-bottom: 25px;}
.flx_kontaktblock .wpcf7-list-item-label{color: var(--white); font-size: 75%;}
.flx_kontaktblock .wpcf7-form .wpcf7-acceptance label{display: flex; align-items: baseline; gap: 5px;}
.flx_kontaktblock .wpcf7 form.sent .wpcf7-response-output{background-color: white; border: none; color: var(--blue); font-weight: 600;}

.flx_reviews{background-color: var(--dark);}
.flx_reviews img{filter: none;}

.flx_tabellenblock .text.colorwhite *{color:var(--white);} 
.flx_tabellenblock .text .headline{display:block;text-align:center;}
.flx_tabellenblock .text .subline{display:block;text-align:center;}
.flx_tabellenblock .tabelle{margin-top:50px;}
.flx_tabellenblock .tabelle table{width:75%;margin:0 auto;}
.flx_tabellenblock .tabelle table tr{border-bottom:solid 1px var(--main);}
.flx_tabellenblock .tabelle table tbody tr:last-child{border:none;}
.flx_tabellenblock .tabelle table th{font-size:175%;font-weight:600;padding:25px 50px;border-right:solid 1px var(--main);}
.flx_tabellenblock .tabelle table th:last-child{border:none;}
.flx_tabellenblock .tabelle table td{font-size:100%;font-weight:300;padding:25px 50px;border-right:solid 1px var(--main);}
.flx_tabellenblock .tabelle table td:last-child{border:none;}

.flx_downloadblock .item a{display:block;}
.flx_downloadblock .item a .beschreibung{font-weight:600;color:var(--main);transition:all .3s ease;}
.flx_downloadblock .item a:hover .beschreibung{color:var(--mainhover);transition:all .3s ease;}
.flx_downloadblock .item a img{margin:10px 25px 10px 0;transition:all .3s ease;}
.flx_downloadblock .item a:hover img{transform:scale(1.1);transition:all .3s ease;}


@-webkit-keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }

  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }

  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.flx_ticker{background-color: var(--blue); padding: 15px 0!important; align-content: center;}
.ticker-wrap .ticker__item:after {content: ''; height: 30px; width: 2px; display: inline-block; background-color: var(--white); position: relative; margin-left: 2rem; margin-bottom: -5px;}
.ticker-wrap .ticker__item:last-child::after{display: none;}
.ticker-wrap { position: relative; bottom: 0; width: 100%; overflow: hidden; height: 2.5rem; background-color: var(--blue); padding-left: 100%; box-sizing: content-box;}
.ticker-wrap .ticker:hover { -webkit-animation-play-state: paused; -moz-animation-play-state: paused; -ms-animation-play-state: paused; -o-animation-play-state: paused; animation-play-state: paused;}
.ticker-wrap .ticker {  display: inline-block;  height: 2.5rem;  line-height: 2.5rem;  white-space: nowrap;  padding-right: 100%;  box-sizing: content-box; -webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-name: ticker; animation-name: ticker; -webkit-animation-duration: 30s; animation-duration: 30s;}
.ticker-wrap .ticker__item {display: inline-block;  padding: 0 1rem;  font-size: 0.875rem;  color: #454545;}
.ticker-wrap .ticker__item a{font-size: 150%; text-transform: uppercase; font-weight: 900; color: var(--white);}




/*-------------------------------------------------------------------------------------------*/
@media (max-width: 1640px) {

  .flx_headerblock.mitbild .content{width: 700px; padding: 30px;}
  .flx_headerblock .content .headerbox .headline{font-size: 200%;}
  .flx_headerblock .content .headerbox p{font-size: 120%;}
  .flx_kontaktblock{padding-bottom: 0!important;}
  
}
@media (max-width: 1399px) {
  .flx_headerblock .container{padding: 0;}
  .flx_headerblock.mitbild .content{position: relative; width: auto; padding: 50px;}
}
@media (max-width: 1199px) {
  .inhaltsbloecke{margin-top: 100px;}

  .flx_textblock.mitsliderlinks{padding-bottom: 150px; position: relative;}
  .flx_textblock.mitsliderlinks .text .btn{position: absolute; bottom: 75px;}
  .flx_textblock.mitsliderlinks .text{padding: 0 15px;}
  .flx_textblock.mitsliderlinks .inner{padding-top: 100px;}
  .flx_textblock.mitsliderlinks .spruch-wrapper{top: -25px; right: -25px;}


  .flx_kontaktblock .extratext{right: -50px;}
}

@media (max-width:991px) {

  .flx_textblock.mitbildlinks{position: relative; padding-bottom: 150px;}
  .flx_textblock.mitbildlinks .btn{position: absolute; bottom: 75px;} 
  .flx_textblock.mitbildrechts{position: relative; padding-bottom: 150px;}
  .flx_textblock.mitbildrechts .btn{position: absolute; bottom: 75px;} 

  .flx_loesungen .loesung{color: transparent;padding-bottom: 2rem;}
  .flx_loesungen .loesung:hover{background-color: transparent;}
  .flx_loesungen .loesung *{color: #ffff;transition: all ease .3s;}
  .flx_loesungen .loesung .editor{padding-top: 10px;}
  .flx_loesungen .dekoelement{position: relative; display: block; margin-top: 40px; margin-left: auto;}

  .flx_faqblock{padding-top: 0px!important;}
  .flx_faqblock .headline{padding-top: 0;} 
  .flx_faqblock.mitbildlinks .bild{display: none;}

  .flx_kontaktblock .container{padding: 100px;}
  .flx_kontaktblock img{margin: 25px 0;}
  /* .flx_kontaktblock .extratext{top: 0; transform: none; left: 0;} */
  
}

/*-------------------------------------------------------------------------------------------*/
@media (max-width:767px) {

  .flx_headerblock .content .headerbox .headline{font-size: 200%;}
  .flx_headerblock .content .headerbox p{font-size: 125%;}

  .flx_textblock.mitlogosrechts{position: relative; padding-bottom: 150px;}
  .flx_textblock.mitlogosrechts .btn{position: absolute; bottom: 100px;}
  
  .flx_textblock.mitsliderlinks .spruch-wrapper{display: none;}

  .flx_loesungen .btn{margin: 0;}
  .flx_loesungen .loesung .headline{font-size: 170%;}
  
  .flx_textblock.mitsliderlinks .inner{padding: 50px 0 0;}
  .flx_textblock.mitsliderlinks .owl-carousel .owl-nav{margin-top: 25px;}
  .flx_textblock.mitsliderlinks .owl-carousel .owl-nav .owl-prev{margin-right: 20px;}
  .flx_textblock.mitsliderlinks .owl-carousel .owl-nav .owl-prev{position: relative; transform: rotate(180deg); left: 0;}
  .flx_textblock.mitsliderlinks .owl-carousel .owl-nav .owl-next{position: relative; transform: none; right: 0;}

  .flx_kontaktblock .extratext{right: -110px;}
}


/*-------------------------------------------------------------------------------------------*/
@media (max-width:576px) {
  .inhaltsbloecke{margin-top: 75px;}
  div[class^="flx_"], div[class*="flx_"] {padding: 50px 0;}

  .flx_headerblock.mitbild .content{padding: 25px;}
  .flx_headerblock .content .headerbox .headline{font-size: 140%;}
  .flx_headerblock .content .headerbox p{font-size: 110%;}
  .flx_headerblock .content .headerbox .extratext{display: none;}

  .flx_loesungen .loesung{align-items: baseline;}
  .flx_loesungen .loesung .headline{font-size: 180%;}

  .flx_textblock.bildliste .bildkachel .bildunterschrift{font-size: 110%;}

  .flx_kontaktblock .container{padding: 100px 25px;}
  .flx_kontaktblock .extratext{display: none;}
  .flx_kontaktblock .headline{font-size: 250%; margin-bottom: 10px;}
}
