/*
	Theme Name: HTML5 Blank
	Theme URI: http://html5blank.com
	Description: HTML5 Blank WordPress Theme
	Version: 1.4.3
	Author: Todd Motto (@toddmotto)
	Author URI: http://toddmotto.com
	Tags: Blank, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color:#000;
	font-family: "korolev", sans-serif;
	font-weight: 400;
	font-size: 2em;
	color: #000;
	line-height: 1.4;
	background-color: #E6E4E2;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#000;
	text-decoration:none;
}
a:hover {
	color:#000;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	width: 100%;
	margin:0 auto;
	position:relative;
	overflow-x: hidden;
}


section{
	position: relative;
	
}

article, .section_inner{
	max-width: 1240px;
    padding: 5em 0;
	margin: 0 auto;
	position: relative;
	width: 85%;
}


.menuon{
	overflow: hidden;
}


#mobmenu_ct {
    top: 2.6em;
    position: absolute;
    right: 0;
    background-color: unset;
    z-index: 25;
}



.mobmenu_line {
    display: inline-block;
    background-color: #fff;
    width: 29px;
    height: 3px;
    margin-bottom: 4px;
    float: left;
    transition: all 0.5s;
	opacity: 1;

}



.scrld .mobmenu_line, .page-template-default .mobmenu_line, .single-post .mobmenu_line{
    background-color: #000;

}

.menuon	.mobmenu_line {

	box-shadow: none;
	background-color: #000;
}

.mobmenu_line:nth-child(1) { 
	top:0px;
}
.mobmenu_line:nth-child(2) { 
	top: 20px;
	    margin-top: 1px;
}
.mobmenu_line:nth-child(3) { 
	top: 40px; 
	margin: 0;
	margin-top: 1px;
}

.mobmenu_ct_inner {
    position: absolute;
    right: 0;
    top: 0;
    width: 34px;
    height: 35px;
    z-index: 30;
    cursor: pointer;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    opacity: 1;
    justify-content: center;
    align-items: center;
    align-content: center;
    display: flex;
    flex-direction: column;
    border-radius: 40px;
    transition: 0.5s all;

}


.scrld .mobmenu_ct_inner, .page-template-default .mobmenu_ct_inner, .single-post .mobmenu_ct_inner  {
    top: -0.6em;
}


.menuon .mobmenu_line1 {
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
       margin-top: 3px;
	

}


.menuon .mobmenu_line2 {
    opacity: 0;
}


.menuon .mobmenu_line3 {
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top: -15px;


}


.mob_nav {
    width: 100%;
    background-color: #E6E4E2;
    height: 100vh;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 11;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-shadow: -10px 0 10px rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: 0.5s all;
	overflow: hidden;
	pointer-events: none;
}

.menuon .mob_nav{
	transform: translateX(0);
	opacity: 1;
	pointer-events: all;
}

.mob_nav > a{
	font-size: 1.35em;
	margin: 0.5em 0 0;
}

nav ul {
    list-style: none;
    padding: 0;
    text-align: right;
}
.nav {
    max-width: 1240px;
        width: 85%;
}

nav a {
    font-size: clamp(1.8rem, 9vh, 3.4em);
    opacity: 0.8;
	transform-origin: center right;
	transition: 0.5s all;
	    font-size: 3.6em;
    font-weight: 600;
}


nav li {
   transform-origin: center right;
	transition: 0.5s all;
}
nav li:hover {
   transform: scale(1.06);
}

img.logo_bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 49%;
    opacity: 0.15;
    max-height: 330px;
}


/* header */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
	transition: 0.5s all;
}


.scrld .header, .page-template-default .header, .single-post .header {
    background-color: #E6E4E2;
}

.header_inner{
	padding-top: 1.5em!important;
	padding-bottom: 1.5em !important;
	position: relative;
	transition: 0.5s all;
}

.scrld .header_inner, .page-template-default .header_inner, .single-post .header_inner{
	padding-top: 1em!important;
	padding-bottom: 1em !important;
	
}
/* logo */
.logo {

}
.logo-img {
    height: 3.2em;
    filter: brightness(0) invert(1);
	transition: 0.5s all;
}

.scrld .logo-img, .page-template-default .logo-img, .single-post .logo-img {
    height: 2.1em;
    filter: brightness(1) invert(0);
	
}

.menuon .logo-img {
   
    filter: brightness(1) invert(0);
	
}
/* nav */
.nav {

}
/* sidebar */
.sidebar {

}
/* footer */
.footer {

}


.cky-overlay.cky-hide, .cky-btn-revisit-wrapper{
	display: none !important;
}

.cky-consent-container .cky-consent-bar{
	    padding: 10px 16px 10px !important;
}

.cky-notice .cky-title {
  	display: none !important;
}

.cookie_link {
	text-decoration: underline;
}

.cky-notice-des p {
    line-height: 1.3;
}

@media only screen and (max-width:900px) {
	.cky-consent-bar br{
		display: none;
	}	
}

@media only screen and (max-width:576px) {
.cky-custom-brand-logo-wrapper, .cky-notice .cky-title, .cky-notice-des, .cky-notice-btn-wrapper {
  padding: 0 0px !important;
}
}

.cky-btn-accept {
    background: #004C47 !important;
    background-color: #004C47 !important;
    color: #ffffff;
    border: 2px solid #004C47 !important;
}

.page-id-9 .cky-consent-container {
  
    opacity: 0 !important;
    transition: opacity 1s !important;
    transition-delay: 0s !important;

}
.page-id-9.scrld .cky-consent-container {
    opacity: 1 !important;
}

/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

.txt_white p, p.txt_white, .txt_white p a, a.txt_white, .txt_white h2, h2.txt_white, .txt_white, .txt_white h1, h1.txt_white{
	color: #fff
}


@font-face {
	font-family:'Font-Name';
	src:url('fonts/font-name.eot');
	src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
    font-weight:normal;
    font-style:normal;
}

h1, h2, h3, h4{
	font-weight: 400;
	line-height: 1.1;
}

h1{
	text-transform: uppercase;
    font-size: 1em;
	font-weight: 500;
}

h2 {
	margin-top: 0;
    font-weight: 400;
}

p a, summary{
	text-decoration: underline;
}

p a:hover, summary:hover{
	
	color: #004C47;
}

.txt_gross {
    font-size: 1.5em;
}



/*------------------------------------*\
    PAGES
\*------------------------------------*/
:root{
  --wx-bg: #E6E4E2;
  --wx-green: #004C47;
  --wx-text: #111111;

  /* Timing */
  --wx-delay: 0.9s;
  --wx-slide: 1.3s;
  --wx-reveal: 1.05s;
  --wx-hold: 1.0s;
  --wx-out: 0.65s;

  --wx-ease: cubic-bezier(.2,.8,.2,1);

  /* WICHTIG: Offset damit das Sign allein in der Mitte steht
     (berechnet aus viewBox: (1028.5882 - 320 ca.) / 2 ≈ 354) */
  --wx-sign-center-x: 354px;
}

.wxIntro{
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: var(--wx-bg);
  display: grid;
  place-items: center;
  cursor: pointer;
}

.wxIntro__wrap{
  width: min(600px, 60vw);
  display: grid;
  place-items: center;
}

#wxLogo{
  width: 100%;
  height: auto;
  display: block;
}

/* Farben korrekt */
#wxLogo #logo_x5F_sign .st0{
  fill: var(--wx-green) !important;
}

#wxLogo #logo_x5F_schrift path{
  fill: var(--wx-text) !important;
}

/* STARTZUSTAND
   - Sign: alleine mittig
   - Schrift: unsichtbar
   - RevealRect: zu (scaleX 0)
*/
#wxLogo #wxSignAnim{
  /* Wichtig: KEIN scale, nur translate -> 0 clipping/0 drift */
  transform: translateX(var(--wx-sign-center-x));
  opacity: 1;

  /* SVG-Transform stabilisieren */
  transform-box: view-box;
  transform-origin: 0 0;
  will-change: transform;
}

#wxLogo #logo_x5F_schrift{
  opacity: 0;
  will-change: opacity;
}

#wxRevealRect{
  transform: scaleX(0);
  transform-origin: left center;
  transform-box: fill-box;
  will-change: transform;
}

/* RUN */
.wxIntro.run #wxSignAnim{
  animation: wxSignSlide var(--wx-slide) var(--wx-ease) var(--wx-delay) forwards;
}

.wxIntro.run #logo_x5F_schrift{
  animation: wxTextFade 0.35s ease calc(var(--wx-delay) + 0.10s) forwards;
}

.wxIntro.run #wxRevealRect{
  animation: wxTextReveal var(--wx-reveal) var(--wx-ease) calc(var(--wx-delay) + 0.10s) forwards;
}

/* Overlay elegant weg */
.wxIntro.run{
  animation: wxOutro var(--wx-out) ease
    calc(var(--wx-delay) + var(--wx-slide) + var(--wx-hold)) forwards;
}

/* KEYFRAMES */
@keyframes wxSignSlide{
  from { transform: translateX(var(--wx-sign-center-x)); }
  to   { transform: translateX(0px); }
}

@keyframes wxTextFade{
  to { opacity: 1; }
}

@keyframes wxTextReveal{
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

@keyframes wxOutro{
  to { opacity: 0; visibility: hidden; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .wxIntro.run *{ animation: none !important; }
}







.intro_block .wp-block-image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: 50% 50%;
	
}

.intro_block article  {
   height: 85vh;
	min-height: 900px;
}

.intro_txt {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.intro_txt h2 {
    font-size: 3.6em;
    font-weight: 600;
    color: #fff;
    margin: 0 0 0.5em 0;
}


.intro_txt h1 {
	font-weight: 400;
 	font-size: 1.2em;
	color: #fff;
	    margin: 0.67em 0;
}


a.wp-block-button__link.wp-element-button {
    position: relative;
    padding: 0.7em 1.3em;
    background: unset;
    color: #004C47;
    text-decoration: none;
    display: inline-block;
    overflow: hidden;
    border-radius: 0;
    transition: background-color .35s ease, color .35s ease, padding .35s ease;
}


#intro a.wp-block-button__link.wp-element-button {
    font-weight: 500;
}

/* dein padding-hover darf bleiben */
a.wp-block-button__link.wp-element-button:hover{

  background: unset;
  color:#004C47;
}

/* 2 Layer: Ecken + animierte Linien */
a.wp-block-button__link.wp-element-button::before,
a.wp-block-button__link.wp-element-button::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

/* ::before = Ecken (statisch) */
a.wp-block-button__link.wp-element-button::before{
  /* 4 kleine Linien als Ecken (8 gradients) */
 background: linear-gradient(#004C47, #004C47) left 8px top 8px / 14px 3px no-repeat, linear-gradient(#004C47, #004C47) left 8px top 8px / 3px 14px no-repeat, linear-gradient(#004C47, #004C47) right 8px bottom 8px / 14px 3px no-repeat, linear-gradient(#004C47, #004C47) right 8px bottom 8px / 3px 14px no-repeat;
    transition: opacity .25s ease;
}

/* ::after = “fahrende” Rahmenlinien (anfangs 0) */
a.wp-block-button__link.wp-element-button::after{
  background:
    linear-gradient(#004C47,#004C47) left 8px top 8px / 0 3px no-repeat,     /* top */
    linear-gradient(#004C47,#004C47) right 8px bottom 8px / 0 3px no-repeat, /* bottom */
    linear-gradient(#004C47,#004C47) left 8px top 8px / 3px 0 no-repeat,     /* left */
    linear-gradient(#004C47,#004C47) right 8px bottom 8px / 3px 0 no-repeat; /* right */
  transition: all .45s cubic-bezier(.2,.8,.2,1);
  filter: drop-shadow(0 0 0 rgba(255,255,255,0));
}

/* Hover: Linien fahren zu “Full Frame” */
a.wp-block-button__link.wp-element-button:hover::after{
  background:
    linear-gradient(#004C47,#004C47) left 8px top 8px / calc(100% - 16px) 3px no-repeat,
    linear-gradient(#004C47,#004C47) left 8px bottom 8px / calc(100% - 16px) 3px no-repeat,
    linear-gradient(#004C47,#004C47) left 8px top 8px / 3px calc(100% - 16px) no-repeat,
    linear-gradient(#004C47,#004C47) right 8px top 8px / 3px calc(100% - 16px) no-repeat;

  filter: drop-shadow(0 0 10px rgba(255,255,255,.18));
}

/* optional: Ecken etwas zurücknehmen */
a.wp-block-button__link.wp-element-button:hover::before{
  opacity: .55;
}







.txt_white a.wp-block-button__link.wp-element-button{
    color: #ffffff;
}

/* Ecken weiss */
.txt_white a.wp-block-button__link.wp-element-button::before{
    background:
      linear-gradient(#ffffff,#ffffff) left 8px top 8px / 14px 3px no-repeat,
      linear-gradient(#ffffff,#ffffff) left 8px top 8px / 3px 14px no-repeat,
      linear-gradient(#ffffff,#ffffff) right 8px bottom 8px / 14px 3px no-repeat,
      linear-gradient(#ffffff,#ffffff) right 8px bottom 8px / 3px 14px no-repeat;
}

/* animierte Linien weiss */
.txt_white a.wp-block-button__link.wp-element-button::after{
  background:
    linear-gradient(#ffffff,#ffffff) left 8px top 8px / 0 3px no-repeat,
    linear-gradient(#ffffff,#ffffff) right 8px bottom 8px / 0 3px no-repeat,
    linear-gradient(#ffffff,#ffffff) left 8px top 8px / 3px 0 no-repeat,
    linear-gradient(#ffffff,#ffffff) right 8px bottom 8px / 3px 0 no-repeat;
}

/* Hover Full Frame weiss */
.txt_white a.wp-block-button__link.wp-element-button:hover::after{
  background:
    linear-gradient(#ffffff,#ffffff) left 8px top 8px / calc(100% - 16px) 3px no-repeat,
    linear-gradient(#ffffff,#ffffff) left 8px bottom 8px / calc(100% - 16px) 3px no-repeat,
    linear-gradient(#ffffff,#ffffff) left 8px top 8px / 3px calc(100% - 16px) no-repeat,
    linear-gradient(#ffffff,#ffffff) right 8px top 8px / 3px calc(100% - 16px) no-repeat;
}




/*
.box_item{
background-color: #E6E4E2;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);

}*/


.box_item2 {
	position: relative;
	
	
}
/*
.box_item2:after {
	position: absolute;
	top: 0;
	left: -1em;
	content: '';
height: 100%;
	width: 1px;
	background-color: black;
	
}

.box_item2:before {
	position: absolute;
	top: 0;
	right: -1em;
	content: '';
height: 100%;
	width: 1px;
	background-color: black;
	
}*/

:where(.wp-block-columns) {
    margin-bottom: 0;
}
/*
.referenz_wrapper {
    /* width: calc((100% - (85% - 1240px))); */ /*
    width: calc(100vw - ((100vw - min(1240px, 85vw)) / 2));
    margin-left: calc((100vw - min(1240px, 85vw) - 1em) / 2);
}*/


/* wichtig: Referenz für absolute Position */
.referenz_wrapper { 
	position: relative; 
	
	width: 100%;

}
/*
.referenz_wrapper .slick_nav_wrapper {
  display: flex;
  align-items: center;
  width: max-content;
  position: absolute;
  top: -4.5em;
    right: 12.5vw;
  transform: translateX(-100%);
}
*/

.referenz_wrapper .slick_nav_wrapper {
  display: flex;
  align-items: center;
  width: max-content;
  position: absolute;
  top: -4.5em;
    right: 0;

}

.aktuell_block .slick_nav_wrapper{
    display: flex;
    align-items: center;
    width: max-content;
    position: absolute;
    bottom: 2.5em;
    left: 50%;
	transform: translateX(-50%);
	filter: invert(1);
}

.testimonial_wrapper .slick_nav_wrapper{
    display: flex;
    align-items: center;
    width: max-content;
    position: absolute;
    bottom: -2.5em;
    left: 50%;
	transform: translateX(-50%);
}

.referenz_box {
    margin: 0 0.5em;
	background-color: #fff;
}
/*
.uberuns_personen_wrapper p {
    font-weight: 300;
} */

/*
#slick_slider4{
	position: static;
	width: 130%;
	max-width: unset;
	margin-bottom: 4em;
}*/
#slick_slider4, #slick_slider5 {
    position: static;
    width: calc(100% + 1em);
    max-width: unset;
    margin-bottom: 0;
    margin-left: -0.5em;
}


h3.testi_name {
    margin: 0;
}

.referenz_img_wrapper {
    width: 100%;
    height: 100%;
    padding-top: 70%;
    position: relative;
	overflow: hidden;
}

.referenz_img_wrapper img{
    width: 100%;
    height: 100%;
    position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	object-position:  50% 50%;
}


#referenzen article {
    padding-bottom: 0.4em;
}

.highl_box_txt{
	padding: 0 1em 1em;
}
.single-post .highl_box_txt{
min-height: 13em;
}

.aktuell_img_block img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    position: absolute;
    top: 0;
    left: 0;
}



.aktuell_block article{
	min-height: 950px;
}


.aktuell_txt {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
	color: #fff;
	max-width: 66%;
	z-index: 2;
}


.bg_aktuell_img_block {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 1;
	pointer-events: none;
}

.intro_block article{
	z-index: 2;
}




.footer_col {
    display: flex;
    justify-content: flex-end;
    font-size: 0.7em;
}


.footer_col a:hover{
    text-decoration: underline;
}

.footer article {
    padding: 2em 0;
    border-top: 1px solid;
}





#dienstleistung .wp-block-columns figure, #uberuns .uberuns_personen_wrapper.wp-block-columns figure.img_logo_effect, .news_site_img{
    margin: 0;
    position: relative;
    padding: 0.8em;
}


#dienstleistung .wp-block-columns figure:before, #uberuns .uberuns_personen_wrapper.wp-block-columns figure.img_logo_effect:before, .news_site_img::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(#004C47, #004C47) left 0 top 0 / 26px 7px no-repeat,
        linear-gradient(#004C47, #004C47) left 0 top 0 / 7px 26px no-repeat,
        linear-gradient(#004C47, #004C47) right 0 bottom 0 / 26px 7px no-repeat,
        linear-gradient(#004C47, #004C47) right 0 bottom 0 / 7px 26px no-repeat;

    transition: opacity .25s ease;
}

.news_site_img {
    margin: 3em 0 2em;
}
/*
.news_site_img {
    margin: 3em 0 2em;
    padding-top: 60%;
    position: relative;
}

.news_site_img img{
    width: 95%;
	height: 95%;
	position: absolute;
	top: 2.5%;
	left: 2.5%;
	object-fit: cover; 
	aspect-ratio: 3 / 4;
}
*/

.testimonial_wrapper {
    display: none;
}


.news_site_img img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.news_site h2 br{
	display: none;
}

.news_site_txt {
    margin: 0 1em;
}

.wp-block-group.storer.storer_klein {
    z-index: 5;
    height: 7em;
    width: 7em;
    top: 8em;
}


.wp-block-group.storer {
    position: absolute;
    bottom: -3em;
    right: -3em;
    height: 12em;
    width: 12em;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 100%;
    background-color: #004C47;
    color: #fff;
    padding: 1.4em;
    transition: 0.5s all;
    font-size: 1.4em;
}


.wp-block-group.storer:hover {
    transform: rotate(11deg);
}


p.storer_txt_gross {
    margin: 0;
    font-size: 1.4em;
}
p.storer_txt_klein {
    margin: 0.5em 0 0;
	    font-weight: 500;
}


.aktuell_wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}


.mitarbeiter_box {
    width: 100%;
}


.mitarbeiter_img_wrapper {
    padding: 1em;
    position: relative;
}

.mitarbeiter_img_wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(#004C47, #004C47) left 0 top 0 / 26px 7px no-repeat, linear-gradient(#004C47, #004C47) left 0 top 0 / 7px 26px no-repeat, linear-gradient(#004C47, #004C47) right 0 bottom 0 / 26px 7px no-repeat, linear-gradient(#004C47, #004C47) right 0 bottom 0 / 7px 26px no-repeat;
    transition: opacity .25s ease;
}


.mitarbeiter_img_wrapper img {
    position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 10%;
}

.mitarbeiter_img_inner {
  width: 100%;
  padding-top: 80%;
  position: relative;
}

/* Abstand zwischen Slides */
#slick_slider5 .slick-slide {
  padding: 0 1em;
}

/* Damit links und rechts bündig bleibt */
#slick_slider5 .slick-list {
  margin: 0 -1em;
}

.displaynone{
	display: none !important;
}


.testi_box {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    max-width: 700px;
    margin: 0 auto;
}


.testi_txt {
    background-color: #fff;
	padding: 2em 2em 2em 6em;
}


.testi_img {
    width: 10em;
    height: 10em;
    position: absolute;
    left: -6em;
    border-radius: 100%;
    overflow: hidden;
}


.testi_img img{
    width: 100%;
    height: 100%;
   object-fit: cover;
	object-position: 50% 50%;
}

.wp-block-details summary {
    cursor: pointer;
    margin: 0 0 0.6em;
}
.wp-block-details summary:hover {
    text-decoration: underline;
}

figcaption {
    position: absolute;
    bottom: 0.7em;
    right: 2em;
    z-index: 2;
    color: #fff;
    text-shadow: 0 0 20px black;
    font-size: 0.7em;
}



.referenz_box figcaption, .aktuell_wrapper figcaption{
    right: 0.7em;
}


.aktuell_block .aktuell_txt .wp-block-button {
    margin-left: -0.2em;
}

.grecaptcha-badge{
	display: none;
}
/*------------------------------------*\
    KONTAKTFORMULAR
\*------------------------------------*/

.formular_wrapper{
	
}

form > p{
	display: flex;
    justify-content: flex-start;
}

form > p span{
	display: none;
}

.wpcf7-text, .wpcf7-textarea {
	width: 100%;
}

.wpcf7-textarea {
	height: 6em;
	outline: none !important;
}


.form_tf > p, .form_tf > span input {
	width: 49%;
}


.form_tf .row{
	display: flex;
	justify-content: space-between
}


.formular{
 	margin: 0em 0 2em;
}



label input[type="checkbox"] + span::before, label input[type="radio"] + span::before  {
      content: " ";
    width: 15px;
    height: 15px;
    background-color: transparent;
    display: inline-block;
    margin-left: 0px;
    margin-right: 5px;
    margin-bottom: 8px;
    margin-top: 5px;
    vertical-align: middle;
	border: 1px solid #000;
}


label input[type="checkbox"]:checked + span::before, label input[type="radio"]:checked + span::before{
        
	 content: " ";
   	 background-color: #000;
	    box-shadow: inset 0 0 0 3px #F0F2EF;
   
}

input[type="checkbox"], input[type="radio"]{
	display: none;
}

.wpcf7-list-item{
	margin: 0 2em 0 0;
	font-weight: 600;
}

.formular_woh_txt{
	font-weight: 600;
	    margin: 0.5em 0;
}

.form_radio{
	margin: 1em 0;
}

.form_input_h{
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap;
	
}
/*
.form_input_h div{
	width: 50%;
	margin: 0 0.5em 0 0;
}
*/

.formular .row, .formular .row p{
	display: flex;
	flex-direction: row;
	width: 100%;
	margin-bottom: 0.8em;
	justify-content: space-between;
	font-size: 0.95em;
}

.wpcf7-form-control-wrap{
	
}

.form_input input{
	width: 100%;
	margin: 0 0.5em 0 0;
	min-height: 100px;
}

textarea{
	width: 100%;
}

.row span{
	width: 47%;
}

.row span input{
	width: 100%;
}


.row_full span{
	width: 100%;
}

.formular input, .formular textarea, .formular select {
    padding: 0 0.4em 0.5em;
    border: none;
    font-size: 0.86em;
    border-radius: 0;
    background: transparent;
    border-bottom: 1px solid #000;
	color: #000;
	font-weight: 400;
	
}

.formular_wrapper .datenschutz{
	margin: -0.5em 0 0;
}

.formular_wrapper .datenschutz span, .formular_wrapper .datenschutz a{
	font-size: 12px;
    font-weight: 500;
	font-family: sans-serif;
	margin-right: 0;
}

.formular_wrapper .datenschutz a{
	font-weight: 600;
}

.wpcf7-submit{
    color: #000;
}

.wpcf7 .wpcf7-submit:disabled{
	opacity: 70%;
}

.submit_wrapper p {
    margin: 0;
    padding: 0.8em 0.7em;
}


.kontakt_form h1 {
	color: #ffffff;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	font-size: 18px;
	font-weight: 600;
	padding: 1em;
	color: #fff;
	background-color: #BC0040;
	border: none !important;
}

.wpcf7 form.sent .wpcf7-response-output {
	font-size: 18px;
	font-weight: 600;
	padding: 1em;
	color: #fff;
	background-color: #0047C4;
	border: none !important;
}



.interesse .wpcf7-checkbox {
	display: flex;
	flex-direction: column;
}


.formular_wrapper{
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.form{
	width: 66%;
}

.form_txt{
	width: 30%;
}


.formular_wrapper .wpcf7 .wpcf7-submit{
   max-width: 138px;
    background-color: #CDCDC3;
	color: #fff;
    height: 1.9em;
    font-size: 1.2em;
	border: 1px solid #fff;
	opacity: 1;
	transition: 0.5s all;
}



.wpcf7-spinner{
	display: none;
}



.wpcf7 form.sent .wpcf7-response-output {
    font-size: 18px;
    font-weight: 400;
    padding: 1em;
    color: #fff;
    background-color: white;
    border: none !important;
    color: #000000;
    width: 100%;
    margin: 1em 0;
}
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000;
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #000;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: #000;
}

.wpcf7-not-valid-tip {
  color: red;
    font-weight: 600;
    /* background-color: #fff; */
    padding: 0.2em;
    font-size: 0.9em;
    font-weight: normal;
    display: block;
    width: 100% !important;
    /* margin: 0.4em 0; */
    font-weight: 700;
}


.formular_wrapper .wpcf7 .wpcf7-submit:hover{
	background-color: #fff;
	color: #CDCDC3;
}


.formular select {
	appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
	width: 100%;
	position: relative;
}

.formular span[data-name="Anrede"]::after {
	content: '▼';
	position: absolute;
	font-size: 0.5em;
	right: 0;
	top: 0.3em;
	pointer-events: none;
}


.wpcf7-acceptance {
    font-size: 0.6em;
}
.wpcf7-acceptance label{
	font-weight: 400;
}


.wpcf7-submit{
	color: #fff;
    background-color: #32373c;
    border-radius: 9999px !important;
    box-shadow: none;
    text-decoration: none;
    padding: calc(.667em + 2px) calc(1.333em + 2px);
    font-size: 1.125em;
	background: unset !important;
	padding: 0.4em 1em !important;
    background-color: #BBB04D !important;
    transition: 0.5s all;
	border-bottom: unset !important;
}

.wpcf7-submit:hover{
	background-color: rgba(0,76,71,1) !important;
	
}

input.wpcf7-form-control.wpcf7-submit {
    color: #fff;
}


/* =====================================
   CF7 SUBMIT = exakt wie deine Buttons
   ===================================== */

/* Wrapper wird zum "Button-Look" */
.submit_wrapper{
  position: relative;
  display: inline-block;
  overflow: hidden;
	    margin: 0 0 0 -0.3em;

}

/* Input wird nur Textfläche – kein eigenes Styling */
.submit_wrapper .wpcf7-submit{
  -webkit-appearance: none;
  appearance: none;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  padding: 0em 1em !important;   /* wie dein a-Button */
  color: #004C47 !important;
  font-size: 1em;
  cursor: pointer;

  position: relative;
  z-index: 2; /* über den Linien */
}

/* Optional: disabled */
.submit_wrapper .wpcf7-submit:disabled{
  opacity: 1;
  cursor: not-allowed;
}

/* 2 Layer: Ecken + animierte Linien (genau wie bei a.wp-block...) */
.submit_wrapper::before,
.submit_wrapper::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index: 1;
}

/* ::before = Ecken */
.submit_wrapper::before{
  background:
    linear-gradient(#004C47,#004C47) left 8px top 8px / 14px 3px no-repeat,
    linear-gradient(#004C47,#004C47) left 8px top 8px / 3px 14px no-repeat,
    linear-gradient(#004C47,#004C47) right 8px bottom 8px / 14px 3px no-repeat,
    linear-gradient(#004C47,#004C47) right 8px bottom 8px / 3px 14px no-repeat;
  transition: opacity .25s ease;
}

/* ::after = fahrende Rahmenlinien (start 0) */
.submit_wrapper::after{
  background:
    linear-gradient(#004C47,#004C47) left 8px top 8px / 0 3px no-repeat,
    linear-gradient(#004C47,#004C47) right 8px bottom 8px / 0 3px no-repeat,
    linear-gradient(#004C47,#004C47) left 8px top 8px / 3px 0 no-repeat,
    linear-gradient(#004C47,#004C47) right 8px bottom 8px / 3px 0 no-repeat;
  transition: all .45s cubic-bezier(.2,.8,.2,1);
}

/* Hover auf Wrapper (funktioniert auch wenn man den Input hovert) */
.submit_wrapper:hover::after{
  background:
    linear-gradient(#004C47,#004C47) left 8px top 8px / calc(100% - 16px) 3px no-repeat,
    linear-gradient(#004C47,#004C47) left 8px bottom 8px / calc(100% - 16px) 3px no-repeat,
    linear-gradient(#004C47,#004C47) left 8px top 8px / 3px calc(100% - 16px) no-repeat,
    linear-gradient(#004C47,#004C47) right 8px top 8px / 3px calc(100% - 16px) no-repeat;
}

/* Ecken leicht zurücknehmen wie bei dir */
.submit_wrapper:hover::before{
  opacity: .55;
}

#intro .bg_aktuell_img_block{
	background: #000000;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.09) 64%, rgba(0, 0, 0, 0) 100%);
}


.highl_box_txt h3 {
    line-height: 1.3;
}

.highl_box_txt p {
    margin: 0 0 0.3em;
}

.highl_box_txt .wp-block-button {
    margin-top: 1.7em;
}

.single-post .referenz_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.news_site .section_inner {
    padding-bottom: 0;
}
/*------------------------------------*\
    IMAGES
\*------------------------------------*/


.slick_nal {
	
    /* width: 8px; */
    /* height: 8px; */
    /* display: inline-block; */
    /* border-right: 2px solid #75BD9A; */
    /* border-bottom: 2px solid #75BD9A; */
    display: flex;
    justify-content: center;
    align-items: center;
	cursor: pointer;
	
}


.slick_nal img {
    padding: 0em;
    height: 20px;
	transition: 0.5s all;
	margin: 0 0.5em;
}

.slick_ct {
	position: relative;
	z-index: 0;

}


#slick_slider1, #slick_slider2, #slick_slider3 {
	width: 100%;
}

#slick_slider1 .slick_item {
	height: auto;
    padding-top: 45%;
    object-fit: cover;
    background-size: cover;
	    background-position: center;

}


 .slick_prev .slick_nal {
	transform: rotate(180deg);
	margin: 0 0 0 -2px;
}

.slick_next .slick_nal {
	transform: rotate(0deg);
	margin: 0 -2px 0 0;
}

/*------------------------------------*\
    ANIMATION
\*------------------------------------*/

.anim {
	transition: all 1.7s;
}

.anim.from_left {
	opacity: 0;
	transform: translateX(-100px);
}

.anim.from_left.inview {
	opacity: 1;
	transform: translateX(0);
}
.anim.from_left_img img {
	opacity: 0;
	transform: translateX(-100px);
}

.anim.from_left_img.inview img {
	opacity: 1;
	transform: translateX(0);
}

.anim.from_right {
	opacity: 0;
	transform: translateX(100px);
}

.anim.from_right.inview {
	opacity: 1;
	transform: translateX(0);
}


.anim.clipin_left {
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}

.anim.clipin_left.inview {
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.anim.line_height{
	line-height: 2.8;
	opacity: 0
}

.anim.line_height.inview{
	line-height: 1.4;
	opacity: 1;
}



.anim.unten_rechts{
	opacity: 0;
	transform: translateX(100px) translateY(100px);
}

.anim.unten_rechts.inview{
	opacity: 1;
	transform: translateX(0px) translateY(0px);
}


.anim.unten_links{
	opacity: 0;
	transform: translateX(-100px) translateY(100px);
}

.anim.unten_links.inview{
	opacity: 1;
	transform: translateX(0px) translateY(0px);
}

.anim.oben_rechts{
	opacity: 0;
	transform: translateX(100px) translateY(-150px);
}

.anim.oben_rechts.inview{
	opacity: 1;
	transform: translateX(0px) translateY(0px);
}

.anim.oben_links{
	opacity: 0;
	transform: translateX(-100px) translateY(-150px);
}

.anim.oben_links.inview{
	opacity: 1;
	transform: translateX(0px) translateY(0px);
}


.anim.unten_oben{
	opacity: 0;
	transform: translateY(100px);
}

.anim.unten_oben.inview{
	opacity: 1;
	transform:  translateY(0px);
}
/*
.anim.oben_unten{
	opacity: 0;
	transform: translateY(-100px);
}

.anim.oben_unten.inview{
	opacity: 1;
	transform:  translateY(0px);
}
*/
.anim.oben_unten.item_bg img{
	opacity: 0;
	transform: translateY(-200px);
	transition: 3s all;
	transition-delay: 0.5s;
	
}

.anim.oben_unten.item_bg.inview img{
	opacity: 1;
	transform:  translateY(0px);
}

.anim.scale{
	opacity: 0;
	transform: scale(1.5);
	transition: 0.7s all;
	transition-delay: 0.5s;
	
	
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (max-width:1800px) {
	#intro figcaption {
    right: unset;
    left: 2em;
	}
}
@media only screen and (max-width:1100px) {
	.wp-block-columns {
    flex-direction: column;
	}
	
	.wp-block-column.col_empty {
    display: none;
	}
	
	.wp-block-image img {
		width: 100%;
	}
	
	#kontakt .wp-block-column.col_empty {
    display: block;
	}
	
	.referenz_wrapper {
    margin: 1.5em 0 0;
	}
	
	.referenz_wrapper .slick_nav_wrapper {
    top: -2em;
	}
	
	.erweitertesteam_block .uberuns_personen_wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	
	.wp-block-group.storer {
    bottom: -1.5em;
    right: -2.5em;
		font-size: 1em;
	}
	
	.mob_none{
		display: none;
	}
	
	#mobmenu_ct {
    right: -1em;
	}
	
	.formular {
    margin: 0;
	}
	
	.aktuell_block article {
    min-height: 700px;
	}
	
	.testi_box {
    max-width: unset;
    margin: 0 auto;
	}
	
	.testi_img {
    width: 10em;
    height: 10em;
    position: absolute;
    left: 1.4em;
    border-radius: 100%;
    overflow: hidden;
	}
	
	.testi_txt {
    background-color: #fff;
    padding: 2em 2em 2em 14em;
	}
}
@media only screen and (max-width:900px) {
	body {
    font-size: 1.8em;
	}
	
	
	
	
.aktuell_txt {
    max-width: 100%;
	}
}
@media only screen and (max-width:600px) {
	article, .section_inner {
    padding: 3em 0;
    width: 90%;
	}
	
	.space_small{
		height: 3em!important;
	}
	
	.erweitertesteam_block .uberuns_personen_wrapper {
        display: grid;
        grid-template-columns: 1fr;
    }
	
	.erweitertesteam_block figure{
	 max-width: 300px;
	}
	
	.intro_txt h2, nav a {
    font-size: 2.5em;
	}
	
	.intro_txt h1 {
    font-size: 1em;
	}
	
	.intro_block article {
    height: 85vh;
		height: 85dvh;
    min-height: 500px;
	}
	
	.wp-block-group.storer {
        bottom: -1.5em;
        right: -0.6em;
        font-size: 0.8em;
    	}
	
	.aktuell_block article {
    min-height: 450px;
	}
	
	.single-post .referenz_wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2em;
 	}
	
	.testi_box {
    flex-direction: column;
		    justify-content: flex-start;
	}
	
	.testi_txt {
        background-color: #fff;
        padding: 12em 2em 2em 2em;
    }
	
	.testi_img {
        left: 50%;
        transform: translateX(-50%);
        top: 1.5em;
    	}
	
	.testimonial_wrapper .slick_nav_wrapper {
    bottom: unset;
    top: -1.8em;
    left: 50%;
    transform: unset;
    left: unset;
    right: 0;
	}
	
	    #intro figcaption {
        right: unset;
        left: 1.3em;
		
    }
	
	figcaption {
    font-size: 0.6em;
	}
	
	.txt_gross {
    font-size: 1em;
	}
	
	h3 br{
		display: none;
	}
	
	#intro figcaption {
    display: none;
	}
}
@media only screen and (max-width:480px) {
	.erweitertesteam_block figure{
	 max-width: 200px;
	}
}
@media only screen and (min-width:1280px) {

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
