	[class*="mb-"] { margin-bottom: 0; }
	[class*="pb-"] { padding-bottom: 0; }
	[class*="pt-"] { padding-top: 0; }
	[class*="gap-fluid-"] { gap: 0; }

	/* Margin Bottom */
	.mb-0 { margin-bottom: 0; }
	.mb-5 { margin-bottom: var(--calc-size-5); }
	.mb-10 { margin-bottom: var(--calc-size-10); }
	.mb-15 { margin-bottom: var(--calc-size-15); }
	.mb-20 { margin-bottom: var(--calc-size-20); }
	.mb-25 { margin-bottom: var(--calc-size-25); }
	.mb-30 { margin-bottom: var(--calc-size-30); }
	.mb-35 { margin-bottom: var(--calc-size-35); }
	.mb-40 { margin-bottom: var(--calc-size-40); }
	.mb-45 { margin-bottom: var(--calc-size-45); }
	.mb-50 { margin-bottom: var(--calc-size-50); }
	.mb-55 { margin-bottom: var(--calc-size-55); }
	.mb-60 { margin-bottom: var(--calc-size-60); }
	.mb-65 { margin-bottom: var(--calc-size-65); }
	.mb-70 { margin-bottom: var(--calc-size-70); }
	.mb-75 { margin-bottom: var(--calc-size-75); }
	.mb-80 { margin-bottom: var(--calc-size-80); }
	.mb-85 { margin-bottom: var(--calc-size-85); }
	.mb-90 { margin-bottom: var(--calc-size-90); }
	.mb-95 { margin-bottom: var(--calc-size-95); }
	.mb-100 { margin-bottom: var(--calc-size-100); }
	.mb-110 { margin-bottom: var(--calc-size-110); }
	.mb-120 { margin-bottom: var(--calc-size-120); }
	.mb-130 { margin-bottom: var(--calc-size-130); }
	.mb-140 { margin-bottom: var(--calc-size-140); }
	.mb-150 { margin-bottom: var(--calc-size-150); }
	.mb-160 { margin-bottom: var(--calc-size-160); }
	.mb-170 { margin-bottom: var(--calc-size-170); }
	.mb-180 { margin-bottom: var(--calc-size-180); }
	.mb-190 { margin-bottom: var(--calc-size-190); }
	.mb-200 { margin-bottom: var(--calc-size-200); }
	

	/* Padding Bottom */
	.pb-0 { padding-bottom: 0; }
	.pb-5 { padding-bottom: var(--calc-size-5); }
	.pb-10 { padding-bottom: var(--calc-size-10); }
	.pb-15 { padding-bottom: var(--calc-size-15); }
	.pb-20 { padding-bottom: var(--calc-size-20); }
	.pb-25 { padding-bottom: var(--calc-size-25); }
	.pb-30 { padding-bottom: var(--calc-size-30); }
	.pb-35 { padding-bottom: var(--calc-size-35); }
	.pb-40 { padding-bottom: var(--calc-size-40); }
	.pb-45 { padding-bottom: var(--calc-size-45); }
	.pb-50 { padding-bottom: var(--calc-size-50); }
	.pb-55 { padding-bottom: var(--calc-size-55); }
	.pb-60 { padding-bottom: var(--calc-size-60); }
	.pb-65 { padding-bottom: var(--calc-size-65); }
	.pb-70 { padding-bottom: var(--calc-size-70); }
	.pb-75 { padding-bottom: var(--calc-size-75); }
	.pb-80 { padding-bottom: var(--calc-size-80); }
	.pb-85 { padding-bottom: var(--calc-size-85); }
	.pb-90 { padding-bottom: var(--calc-size-90); }
	.pb-95 { padding-bottom: var(--calc-size-95); }
	.pb-100 { padding-bottom: var(--calc-size-100); }
	.pb-110 { padding-bottom: var(--calc-size-110); }
	.pb-120 { padding-bottom: var(--calc-size-120); }
	.pb-130 { padding-bottom: var(--calc-size-130); }
	.pb-140 { padding-bottom: var(--calc-size-140); }
	.pb-150 { padding-bottom: var(--calc-size-150); }
	.pb-160 { padding-bottom: var(--calc-size-160); }
	.pb-170 { padding-bottom: var(--calc-size-170); }
	.pb-180 { padding-bottom: var(--calc-size-180); }
	.pb-190 { padding-bottom: var(--calc-size-190); }
	.pb-200 { padding-bottom: var(--calc-size-200); }

	/* Padding Top */
	.pt-0 { padding-top: 0; }
	.pt-5 { padding-top: var(--calc-size-5); }
	.pt-10 { padding-top: var(--calc-size-10); }
	.pt-15 { padding-top: var(--calc-size-15); }
	.pt-20 { padding-top: var(--calc-size-20); }
	.pt-25 { padding-top: var(--calc-size-25); }
	.pt-30 { padding-top: var(--calc-size-30); }
	.pt-35 { padding-top: var(--calc-size-35); }
	.pt-40 { padding-top: var(--calc-size-40); }
	.pt-45 { padding-top: var(--calc-size-45); }
	.pt-50 { padding-top: var(--calc-size-50); }
	.pt-55 { padding-top: var(--calc-size-55); }
	.pt-60 { padding-top: var(--calc-size-60); }
	.pt-65 { padding-top: var(--calc-size-65); }
	.pt-70 { padding-top: var(--calc-size-70); }
	.pt-75 { padding-top: var(--calc-size-75); }
	.pt-80 { padding-top: var(--calc-size-80); }
	.pt-85 { padding-top: var(--calc-size-85); }
	.pt-90 { padding-top: var(--calc-size-90); }
	.pt-95 { padding-top: var(--calc-size-95); }
	.pt-100 { padding-top: var(--calc-size-100); }
	.pt-110 { padding-top: var(--calc-size-110); }
	.pt-120 { padding-top: var(--calc-size-120); }
	.pt-130 { padding-top: var(--calc-size-130); }
	.pt-140 { padding-top: var(--calc-size-140); }
	.pt-150 { padding-top: var(--calc-size-150); }
	.pt-160 { padding-top: var(--calc-size-160); }
	.pt-170 { padding-top: var(--calc-size-170); }
	.pt-180 { padding-top: var(--calc-size-180); }
	.pt-190 { padding-top: var(--calc-size-190); }
	.pt-200 { padding-top: var(--calc-size-200); }

	/* Gap Fluid */
	.gap-fluid-0 { gap: 0; }
	.gap-fluid-5 { gap: var(--calc-size-5); }
	.gap-fluid-10 { gap: var(--calc-size-10); }
	.gap-fluid-15 { gap: var(--calc-size-15); }
	.gap-fluid-20 { gap: var(--calc-size-20); }
	.gap-fluid-25 { gap: var(--calc-size-25); }
	.gap-fluid-30 { gap: var(--calc-size-30); }
	.gap-fluid-35 { gap: var(--calc-size-35); }
	.gap-fluid-40 { gap: var(--calc-size-40); }
	.gap-fluid-45 { gap: var(--calc-size-45); }
	.gap-fluid-50 { gap: var(--calc-size-50); }
	.gap-fluid-55 { gap: var(--calc-size-55); }
	.gap-fluid-60 { gap: var(--calc-size-60); }
	.gap-fluid-65 { gap: var(--calc-size-65); }
	.gap-fluid-70 { gap: var(--calc-size-70); }
	.gap-fluid-75 { gap: var(--calc-size-75); }
	.gap-fluid-80 { gap: var(--calc-size-80); }
	.gap-fluid-85 { gap: var(--calc-size-85); }
	.gap-fluid-90 { gap: var(--calc-size-90); }
	.gap-fluid-95 { gap: var(--calc-size-95); }
	.gap-fluid-100 { gap: var(--calc-size-100); }
	.gap-fluid-110 { gap: var(--calc-size-110); }
	.gap-fluid-120 { gap: var(--calc-size-120); }
	.gap-fluid-130 { gap: var(--calc-size-130); }
	.gap-fluid-140 { gap: var(--calc-size-140); }
	.gap-fluid-150 { gap: var(--calc-size-150); }
	.gap-fluid-160 { gap: var(--calc-size-160); }
	.gap-fluid-170 { gap: var(--calc-size-170); }
	.gap-fluid-180 { gap: var(--calc-size-180); }
	.gap-fluid-190 { gap: var(--calc-size-190); }
	.gap-fluid-200 { gap: var(--calc-size-200); }

	.gap-fix-8 {gap: .5rem;}
	.gap-fix-16 {gap: 1rem;}
	.gap-fix-24 {gap: 1.5rem;}
	.gap-fix-32 {gap: 2rem;}
	.gap-fix-48 {gap: 3rem;}
	.gap-fix-96 {gap: 6rem;}
	.gap-fix-144 {gap: 9rem;}

	.gap-em-0-15 {gap: .15em;}
	.gap-em-0-25 {gap: .25em;}
	.gap-em-0-5 {gap: .5em;}
	.gap-em-0-75 {gap: .75em;}
	.gap-em-1 {gap: 1em;}

/* END SPACING */

.vc_section {
	padding-left: 0; padding-right: 0;
	position: relative;  z-index: 100;
	margin: 0 auto;
	overflow: hidden; overflow-x: clip; overflow-y: visible;
}
.vc_section:not([class*="pt-"]) {padding-top: var(--calc-size-55);}
.vc_section:not([class*="pb-"]) {padding-bottom: var(--calc-size-55);}
.vc_section:first-child:not([class*="pt-"]) {padding-top: var(--calc-size-110);}
.vc_section:last-child:not([class*="pb-"]) {padding-bottom: var(--calc-size-110);}

.vc_row {
	--def-row-gap: var(--calc-size-50);
	--def-row-half-gap: calc(var(--def-row-gap) / 2);
	--def-row-gap-margin: calc(var(--def-row-half-gap) * -1);
	--def-row-gap-padding: var(--def-row-half-gap);
	--def-row-gap-mobile: var(--def-row-gap);
  margin-left: 0;
  margin-right: 0;
	/* padding-top: var(--calc-size-96); 
	padding-bottom: var(--calc-size-96);  */
	position: relative;  z-index: 100;
}

.vc_inner {--def-row-gap: var(--calc-size-50);}
.vc_row:not(.vc_inner) {overflow: hidden; overflow-x: clip; overflow-y: visible; background: var(--colors-white);}
.templatera_shortcode > .vc_row:not(.vc_inner) {overflow: visible; overflow-x: visible;}

.vc_row_parent:not([class*="pt-"]) {padding-top: var(--calc-size-40);}
.vc_row_parent:not([class*="pb-"]) {padding-bottom: var(--calc-size-40);}
.vc_row_parent:not([class*="pb-"]):last-child {padding-bottom: var(--calc-size-80);}
.vc_row_parent:not([class*="pt-"]):first-child {padding-top: var(--calc-size-60);}

.vc_row_parent.row-with-bg:not([class*="pt-"]):not(.vc_row_layout_box) {padding-top: var(--calc-size-80);}
.vc_row_parent.row-with-bg:not([class*="pb-"]):not(.vc_row_layout_box) {padding-bottom: var(--calc-size-80);}
.vc_row_parent.row-with-bg:not([class*="mb-"]):last-child {margin-bottom: var(--calc-size-80);}

.vc_row_parent + .vc_row_parent.row-with-bg:not(.vc_row_layout_box) {margin-top: var(--calc-size-40);}
.vc_row_parent + .vc_row-full-width.vc_clearfix + .vc_row_parent.row-with-bg:not(.vc_row_layout_box) {margin-top: var(--calc-size-40);}
.vc_row_parent.row-with-bg + .vc_row_parent.row-with-bg:not(.vc_row_layout_box) {margin-top: var(--calc-size-80);}
.vc_row_parent.row-with-bg + .vc_row_parent:not(.row-with-bg):not([class*="pt-"]):not(.vc_row_layout_box) {padding-top: var(--calc-size-80);}

.vc_row.vc_inner:not([class*="pb-"]) {padding-bottom: var(--calc-size-55);}
.vc_row.vc_inner:not([class*="pb-"]):last-child {padding-bottom: 0;}

/* row-with-bg */

.wpb_button:not([class*="mb-"]):not(:last-child), 
.wpb_content_element:not([class*="mb-"]):not(:last-child), 
.vc_btn3-container:not([class*="mb-"]):not(:last-child) {margin-bottom: var(--calc-size-35);}
.vc_btn3-container:not([class*="mb-"]):last-child {margin-bottom: 0;}

.wpb_single_image:not([class*="mb-"]):not(:last-child) {margin-bottom: var(--calc-size-35);}

.wpb_content_element + .vc_btn3-container, .vc_custom_heading + .vc_btn3-container {margin-top: var(--calc-size-55);}


@media screen and (max-width: 767px) {
	.vc_row {--def-row-gap-mobile: var(--wrapper-side-padding);}
}

.vc_column_container > .vc_column-inner,
.vc_row-no-padding .vc_column_container > .vc_column-inner {
  padding-left: var(--def-row-gap-padding);
  padding-right: var(--def-row-gap-padding);
}

.as-vc_row_wrapper {
	display: flex; 
	margin-left: var(--def-row-gap-margin); 
	margin-right: var(--def-row-gap-margin); 
	flex-wrap: wrap; flex-grow: 1;
	min-width: 0;
}
.vc_row-o-content-middle .as-vc_row_wrapper {align-items: center;}
.vc_row-o-content-bottom .as-vc_row_wrapper {align-items: flex-end;}

.as-row-gap_fluid .as-vc_row_wrapper, .as-row-gap_fixed .as-row-gap_fluid .as-vc_row_wrapper {
	--def-fluid-gap-vw: calc(var(--rem-to-px) / 2 / var(--clamp_vw_devider) * 100); 
	--def-row-gap-margin: clamp(var(--def-row-half-gap) * -1, var(--def-fluid-gap-vw) * 1vw * -1, 1rem * -1);
	--def-row-gap-padding: clamp(1rem, var(--def-fluid-gap-vw) * 1vw, var(--def-row-half-gap));
	--def-row-gap-mobile: clamp(var(--wrapper-side-padding), var(--def-fluid-gap-vw) * 2 * 1vw, var(--def-row-gap));
}
.as-row-gap_fixed .as-vc_row_wrapper {
	--def-row-half-gap: calc(var(--def-row-gap) / 2);
	--def-row-gap-margin: calc(var(--def-row-half-gap) * -1);
	--def-row-gap-padding: var(--def-row-half-gap);
	--def-row-gap-mobile: var(--def-row-gap);
}

.as-row-gap_0rem, .as-row-gap_0rem .vc_inner, .vc_row .vc_inner.as-row-gap_0rem {--rem-to-px: 0; --def-row-gap: 0rem;}
.as-row-gap_2rem, .as-row-gap_2rem .vc_inner, .vc_row .vc_inner.as-row-gap_2rem {--rem-to-px: 32; --def-row-gap: 2rem;}

/* @media screen and (max-width: 900px) { */
@media screen and (max-width: 767px) {
	.as-vc_row_wrapper {
		/* gap: var(--def-row-gap-mobile); */
		gap: var(--calc-size-35);
	}
	.as-vc_row_wrapper:has(.vc_col-sm-2):has(.vc_col-sm-8) {gap: 0;}
}

.vc_row_parent.bg-dark, .vc_row_layout_box > .content-wrapper {background: var(--colors-dark-accent);}
.vc_row_parent.bg-grey, .vc_row_layout_box > .content-wrapper {background: var(--colors-grey);}
.vc_row_parent.bg-white {background: var(--colors-white);}
.vc_row_parent.no-bg-section, .vc_row_parent.vc_row_layout_box {background: none;}

.vc_row.row_templarera_wrapper {padding-top: 0!important; padding-bottom: 0!important; background: none;}
.vc_parallax-inner .para-image {display: block; width: 100%; height: 100%; opacity: 0!important;}
.vc_parallax-inner .para-image img {display: block; width: 100%; height: 100%; object-fit: cover;}
.vc_row.vc_parallax .vc_parallax-inner {top: 0 !important; height: 100%!important;	background-attachment: fixed; background-position: 50% 50%;}
.full-width-image * {display: block; width: 100%;}


.as-grid {display: grid;}
.as-grid-def-gap:not([class*="gap-fluid-"]) {gap: var(--calc-size-20);}
.vc_column-inner .as-grid > .wpb_content_element {margin: 0;} /* asgrid class in wpb_wrapper */
.as-grid-auto-rows {grid-auto-rows: 1fr;}
.as-grid-align-top .vc_column-inner > .wpb_wrapper .wpb_text_column {align-items: flex-start;}
.as-grid-col-1, .as-grid-def-col-1 {grid-template-columns: repeat(1, minmax(0, 1fr))!important;}
.as-grid-col-2, .as-grid-def-col-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
.as-grid-col-3, .as-grid-def-col-3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
.as-grid-col-4, .as-grid-def-col-4 {grid-template-columns: repeat(4, minmax(0, 1fr));}
.as-grid-col-percentage {grid-template-columns: repeat(auto-fit, minmax(0, calc(33.33% - 9px))); justify-content: center;}

.def-grid-boxes {justify-items: center; margin: 0 auto;}
.def-grid-box {max-width: 540px; width: 100%;}
.grid-box-inner {border-top: solid var(--calc-size-10) var(--colors-accent);  padding-top: 3px;}
.grid-box-top {padding: var(--calc-size-45) 0;}
.grid-box-content {flex-grow: 1; padding: var(--calc-size-65) 0 var(--calc-size-85);}

img.def-icon, svg.def-icon, .def-icon img, .def-icon svg {height: clamp(70px, 5.2vw, 100px); width: auto;}

.training_bar {border-top: solid 2px #fff;}

@media (prefers-reduced-motion: no-preference) {
	/* simple animations */
	.fade-in {opacity: 0; }
	.slide-from-bottom {transform: translateY(1rem); transform: translateY(var(--calc-size-5)); will-change: transform;}
	.slide-from-top {transform: translateY(-1rem); will-change: transform;}
	.slide-from-left {transform: translateX(-2rem); will-change: transform;}
	.slide-from-right {transform: translateX(2rem); will-change: transform;}
	.is_inview.fade-in {opacity: 1; transition: opacity .8s ease;}
	.is_inview.slide-from-bottom,
	.is_inview.slide-from-top {transform: translateY(0); transition: opacity .8s ease, transform .6s cubic-bezier(0.260, 0.860, 0.440, 0.985);}
	.is_inview.slide-from-left, .is_inview.slide-from-right {transform: translateX(0);transition: opacity .8s ease, transform .6s cubic-bezier(0.260, 0.860, 0.440, 0.985);}
	.is_inview.fade-in.slide-from-bottom, .is_inview.fade-in.slide-from-top, .is_inview.fade-in.slide-from-left, .is_inview.fade-in.slide-from-right {transition: opacity .8s ease, transform .6s cubic-bezier(0.260, 0.860, 0.440, 0.985);}
	.is_inview.delay-0-1s {transition-delay: .1s!important;}
	.is_inview.delay-0-2s {transition-delay: .2s!important;}
	.is_inview.delay-0-3s {transition-delay: .3s!important;}
	.is_inview.delay-0-4s {transition-delay: .4s!important;}
	.is_inview.delay-0-5s {transition-delay: .5s!important;}
	.is_inview.delay-0-6s {transition-delay: .5s!important;}
	.is_inview.delay-0-7s {transition-delay: .7s!important;}
	.is_inview.delay-0-8s {transition-delay: .8s!important;}
	.is_inview.delay-0-9s {transition-delay: .9s!important;}
	.is_inview.delay-1-0s {transition-delay: 1s!important;}

	.def-grid-box.animate_on_scroll {opacity: 0; transform: translateY(2rem); will-change: transform;}
	.topAnimsStart .def-grid-box.animate_on_scroll {transition: opacity .8s ease, transform .6s cubic-bezier(0.260, 0.860, 0.440, 0.985);}
	.def-grid-box.is_inview {opacity: 1; transform: translateY(0);}

}

@media (prefers-reduced-motion: no-preference) and (min-width: 901px) {
	.as-grid-def-col-3 .def-grid-box.animate_on_scroll:nth-child(3n+2) {transition-delay: .3s;}
	.as-grid-def-col-3 .def-grid-box.animate_on_scroll:nth-child(3n) {transition-delay: .6s;}
	.as-grid-def-col-2 .def-grid-box.animate_on_scroll:nth-child(even) {transition-delay: .3s;}
}


/* buttons */ 
.as-button {display: flex; justify-content: flex-start;}
.vc_btn3-center {justify-content: center;}
.vc_btn3-right {justify-content: flex-end;}

.as-button a, .wpb_content_element:not(.google-map-container) button, button.wpcf7-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
  font-size: inherit;
  font-weight: var(--weight-bold);
  line-height: 180%;
  border: none;
  border-radius: 0;
  /* padding: 0.6em 3.22em; */
  padding: 0.6em 1.5em;
	min-width: 16.625rem;
  background: var(--colors-accent);
  color: var(--colors-white);
  cursor: pointer;
  transition-timing-function: var(--base-easing);
  transition-duration: var(--base-duration);
  transition-property: color, box-shadow, background;
	gap: .5rem;
	text-decoration: none;
	font-size: clamp(1rem, -0.1429rem + 5.7143vw, 1.25rem);
	border-radius: 1.2em;
}
.vc_btn3-full-width a {justify-content: center; flex-grow: 1;}

.bg-dark .as-button:not(.as-button-secondary) a, .bg-dark .wpb_content_element:not(.google-map-container) button, .bg-dark button.wpcf7-submit {
	background: var(--colors-mid-accent);
}

@media (min-width: 768px) and (max-width: 1680px) {
	.as-button a, .wpb_content_element:not(.google-map-container) button, button.wpcf7-submit {
		font-size: clamp(1rem, 0.5821rem + 0.7421vw, 1.25rem);
	}
}

@media only screen and (min-width: 901px) {
	.navi-container .as-button a {font-size: var(--font-size-xs); height: 2.5rem; line-height: 2.5rem; padding: 0 2rem; min-width: auto; border-radius: 1.25rem;}
}



.as-button.as-button-secondary a, .wpb_content_element:not(.google-map-container) .as-button.as-button-secondary button, button.wpcf7-submit.as-button-secondary {
	background: var(--colors-white);
  color: var(--colors-accent);
}

.as-button-with-arrow {font-weight: var(--weight-bold); align-items: center; width: fit-content;}
.as-button-with-arrow::before {
  content: "";
  display: inline-block;
  width: 1.272727em;
  height: 1em;
  margin-right: 0.63em;
  background-image: url("data:image/svg+xml,%3Csvg width='27' height='21' viewBox='0 0 27 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 10.3428H26M26 10.3428L16.5755 20.3428M26 10.3428L16.5755 0.342773' stroke='%2302733B'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.3s ease;
}


.arrow-links ul a::before, .wpb_text_column a::before {
  content: "";
  display: inline-block;
  width: .35em;
  height: .55em;
  margin-right: .5em;
	position: relative; 
	top: -.1em;
	vertical-align: middle;
  background-image: url("data:image/svg+xml,%3Csvg width='7' height='11' viewBox='0 0 7 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 5.5L1.32432 11L0 9.71667L4.35135 5.5L0 1.28333L1.32432 -3.38283e-08L7 5.5Z' fill='%23009048'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.wpb_text_column a::before {margin-right: .2em;}

.grid-box-news-content .wpb_text_column  a::before {
	background-image: url("data:image/svg+xml,%3Csvg width='7' height='11' viewBox='0 0 7 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 5.5L1.32432 11L0 9.71667L4.35135 5.5L0 1.28333L1.32432 -3.38283e-08L7 5.5Z' fill='%2302733B'/%3E%3C/svg%3E");
}



/* button/link hover */
@media screen and (hover) {

	.as-button-with-arrow:hover::before {
    transform: translateX(.22em);
  }


	.as-button a:hover, .wpb_content_element:not(.google-map-container) button:hover, .wpb_content_element:not(.google-map-container) button:hover, button.wpcf7-submit:hover
	{
		background: var(--colors-dark-accent);
  	/* color: var(--colors-dark-accent); */
	}

	.bg-dark .as-button.as-button:not(.as-button-secondary) a:hover {
		background: var(--colors-white);
		color: var(--colors-mid-accent);
	}

	.as-button.as-button-secondary a:hover, .wpb_content_element:not(.google-map-container) .as-button.as-button-secondary button:hover, button.wpcf7-submit.as-button-secondary:hover {
		background: var(--colors-grey);
  	/* color: var(--colors-accent); */
	}

	.bg-dark .as-button.as-button-secondary a:hover, .bg-dark .wpb_content_element:not(.google-map-container) .as-button.as-button-secondary button:hover, .bg-dark button.wpcf7-submit.as-button-secondary:hover {
		/* background: none;
  	color: var(--colors-white);
		box-shadow: inset 0 0 0 1px var(--colors-white); */
	}

}


/* HERO //////////////////////////////// */
	
	.hero {background: var(--colors-dark-accent); position: relative; z-index: 40;}
	.hero:not(.full-height) {aspect-ratio: 2.82/1;}
	.hero.full-height {height: 100vh;}
	.hero_container {height: 100%; position: relative;}
	.hero_container .picture_container {height: 100%; width: 100%; position: fixed; left: 0; top: 0; overflow: hidden;  z-index: 1; backface-visibility: hidden;}
	.hero:not(.full-height) .picture_container {aspect-ratio: 2.82/1; height: auto;}
	.hero_container .picture_container picture {height: 100%;}
	.hero_container .picture_container picture img {height: 100%; width: 100%; object-fit: cover; object-position: top center;}
	.hero_element {height: 100%;}
	.hero .s_texts {position: absolute;  width: 100%;  left: 0;  top: 0;  height: 100%; padding-bottom: clamp(100px, 7.8vw, 150px); z-index: 100;}
	.hero.half-height .s_texts {padding-bottom: var(--calc-size-50);}
	.content_over_hero .s_texts {padding-bottom: calc(100vh * 0.38);}
	.hero h1, .hero h2 {color: var(--colors-white); line-height: 128.571%; font-weight: var(--weight-bold); font-size: var(--font-size-2xl); text-align: center; }


	.hero .main_slider-slick h1, .hero .main_slider-slick h2 {
		opacity: 0; transform: translateY(.2em);
	}
	.topAnimsStart .hero .slide-active .picture_container picture, .topAnimsStart .hero.single .picture_container picture {
		transform: scale(1.1);
		transition: transform 7s linear;
	}
	.topAnimsStart .hero .slide-active h1, .topAnimsStart .hero .slide-active h2 {
		opacity: 1; transform: translateY(0);
		transition: opacity 1.5s ease, transform 1s ease;
	}

	/* content minus positioning on single fullheight hero */
	.content_over_hero + .site-content .vc_row_parent:first-child {background: none; overflow: visible;}
	.content_over_hero + .site-content .vc_row_parent:first-child > .content-wrapper {z-index: 100000; background: #fff; box-shadow: 2px 2px 20px 8px rgba(196, 196, 196, 0.25); margin-top: calc((100vh * 0.38 + var(--calc-size-30)) * -1); padding: var(--calc-size-40) var(--calc-size-50) var(--calc-size-50);}
	.single-leistungen:not(.leistungen-child-page) .content_over_hero + .site-content .vc_row_parent:first-child > .content-wrapper {padding-top: 0;}
/* END HERO //////////////////////////////// */

/* breadcrumb */
	.home .breadcrumb-wrapper {display: none;}
	.breadcrumb {}
	.breadcrumb ul {display: flex; gap: .5rem; list-style: none; white-space: nowrap; overflow: auto; width: fit-content;  margin: 0 auto;  max-width: 100%;}
	.breadcrumb li > a, .breadcrumb li > span {display: flex; align-items: center; gap: .5rem;}
	.breadcrumb li > a {}
	.breadcrumb li.hidden {display: none!important;}
	.breadcrumb li > a::after, .breadcrumb li:not(:last-child) > span::after {content: '/';	}


/* end breadcrumb */

/* slick global */
.slick-slider {position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;  user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent;}
.slick-list {position: relative; display: block; overflow: hidden; overflow: clip; margin: 0; padding: 0;}
.slick-list:focus {outline: none;}
.slick-list.dragging {cursor: pointer; cursor: hand;}
/*.slick-slider .slick-track, .slick-slider .slick-list {-webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);}*/
.slick-track {position: relative; top: 0; left: 0;display: block; /*margin-left: auto; margin-right: auto;*/}
.slick-track:before,.slick-track:after{display: table; content: '';}
.slick-track:after{clear: both;}
.slick-loading .slick-track{visibility: hidden;}
.slick-slide {display: none; float: left; height: 100%; min-height: 1px;}
.slick-slide:focus {outline: none;}
/* .slick-slide:focus-visible {outline: 2px solid var(--colors-semantic-highlight-primary);  outline-offset: 4px;} */
[dir='rtl'] .slick-slide{float: right;}
.slick-slide img{display: block; margin: 0 auto;}
.slick-slide.slick-loading img{display: none;}
.slick-slide.dragging img{pointer-events: none;}
.slick-initialized .slick-slide{display: block;}
.slick-loading .slick-slide{visibility: hidden;}
.slick-vertical .slick-slide{display: block; height: auto; border: 1px solid transparent;}
ul.slick-dots {position: absolute;  width: 100%; bottom: clamp(40px, 2.6vw, 50px); display: flex; gap: 21px; padding: 0; margin: 0; list-style: none; text-align: center; z-index: 100; justify-content: center;	align-items: center;}
ul.slick-dots li {}

ul.slick-dots li button {cursor: pointer; text-indent: -1000em; min-width: 1px; width: 8px; height: 8px; margin: 0; position: relative; background: var(--colors-white); border: none; padding: 0; border-radius: 50%; transition: transform .2s ease;}
ul.slick-dots li.slick-active button {background: var(--colors-accent); top: 0; transform: scale(1.5);}
ul.slick-dots li:before {content: none;}

.slick-arrow {
	z-index: 40000;
  cursor: pointer;
  font-family: inherit;
  background: none;
  border: none;
  outline: none;
  padding: 0;
	text-indent: -1000em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(30px, 2.87vw, 55px);
	height: auto;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='57' height='42' viewBox='0 0 57 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M56.4995 21.909L2.06111 21.9966M2.06111 21.9966L21.8278 42.9027M2.06111 21.9966L21.7603 1.02702' stroke='white' stroke-width='3'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	transition: transform .3s ease;
	left: 2.6vw;
	aspect-ratio: 1 / 0.7636;
}

.slick-next { transform: translateY(-50%) rotate(180deg); left: auto; right: 2.6vw;}


.main_slider-slick {height: 100%; width: 100%; z-index: 1; backface-visibility: hidden; overflow: hidden; overflow: clip;}
.main_slider-slick .slick-list {height: 100% !important; z-index: 99;}
.main_slider-slick .slick-track {height: 100%; }
.main_slider-slick .slick-slide {height: 100%; position: relative;}

/* END slick global */


/* layout boxes */
.vc_row_layout_box h4 {text-transform: uppercase; line-height: 100%;}
.vc_row_layout_box .as-vc_row_wrapper {margin: 0;}
.vc_row_layout_box .vc_column_container > .vc_column-inner {padding: 0;}
.vc_row-o-content-middle.vc_row_layout_box > .content-wrapper > .as-vc_row_wrapper {align-items: stretch;}
.vc_row_layout_box > .content-wrapper > .as-vc_row_wrapper > .wpb_column {display: flex; align-items: center;}

/* section advantages */
.section-advantages .vc_inner .wpb_single_image:first-child img {width: var(--calc-size-90); height: auto;} 
.section-advantages h3 {line-height: 116%;} 
.section-advantages h4:not([class*="mb-"]) {margin-bottom: .33em;} 
.section-advantages h3:not([class*="mb-"]) {margin-bottom: var(--calc-size-45);} 
.section-advantages .vc_row.vc_inner:not([class*="pb-"]):not(:last-child) {padding-bottom: var(--calc-size-90);} 


/* accordions */
.accordion-container {margin: 0 auto; max-width: 1380px; padding: var(--calc-size-10) 0 var(--calc-size-25);}
/* .accordion-container:not(:last-child) {margin-bottom: 2.5em;} */
.accordion-content {border-top: solid 1px var(--colors-separator); margin: 0 auto;}
.accordion-element {border-bottom: solid 1px var(--colors-separator);}
.accordion-element h5 {margin: 0; font-size: var(--font-size-base); }
.accordion-element h5 b, .accordion-element h5 strong {font-weight: var(--weight-bold);}
.accordion-element h5 em, .accordion-element h5 em {color: var(--colors-accent); padding: 0 var(--calc-size-5); font-style: normal;}
.accordion-element h5 a {display: block; position: relative; display: flex; align-items: center; min-height: var(--calc-size-110); padding: var(--calc-size-20) var(--calc-size-110) var(--calc-size-20) 0;}
.accordion-element h5 a:hover {color: initial;}
.accordion-element h5 a div {flex-grow: 1;}
.accordion-element h5 div > span {position: absolute; width: 51px; height: 51px; right: var(--calc-size-35); top: 50%; transform: translateY(-50%); }
.accordion-element h5 div > span:after {content: ''; position: absolute; background: var(--colors-text); width: 100%; height: 1px; left: 0; top: 50%;}
.accordion-element h5 div > span:before {content: ''; position: absolute; background: var(--colors-text); width: 1px; height: 100%; right: 50%; top: 0;}
.accordion-element.active h5 div > span:before {opacity: 0;}
.accordion-element-content {display: none; padding-bottom: var(--calc-size-50);  max-width: 85%;}
.accordion-element-content p:last-child {margin: 0;}

/* blog */
.blog-content .vc_row_parent > .content-wrapper .vc_col-sm-12 {max-width: calc(820px + (var(--def-row-gap-padding) * 2)); margin: 0 auto;}
.blogentry_header {padding-top: var(--calc-size-40);}
.blogentry_header h1 {font-weight: var(--weight-normal);  color: var(--colors-text-secondary);  margin: 0 0 .3em;}
.blog-content .vc_row_parent:first-child > .content-wrapper .as-vc_row_parent {padding-bottom: var(--calc-size-30)}
.blog-content h2, .blog-content h3 {font-size: var(--font-size-base);  margin: 0 0 .3em;}

.news-tags-list {padding-top: var(--calc-size-30); overflow: hidden;}
.news-tags-list ul {list-style-type: none; gap: var(--calc-size-20); margin: 0; flex-wrap: wrap;}
.news-tags-list ul li {border-radius: var(--calc-size-30); border: solid 1px var(--colors-dark-accent); transition: all .2s ease; line-height: var(--calc-size-60); min-width: var(--calc-size-200); padding: 0 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; text-align: center;}

.news-list-box {position: relative;}
.grid-box-top-image {overflow: hidden;}
.grid-box-top-image.with-date {position: relative;}
.grid-box-top-image.with-date time {position: absolute; left: var(--calc-size-45);  bottom: var(--calc-size-10); font-size: var(--font-size-xs); color: var(--colors-white);}
.grid-box-top-image picture {aspect-ratio: 2 / 1; transition: transform .4s ease; transition: all .5s cubic-bezier(0.260, 0.860, 0.440, 0.985);  backface-visibility: hidden;  transform-style: preserve-3d;}
@media screen and (hover) { .news-list-box:hover .grid-box-top-image picture {	transform: scale(1.05);} }
.grid-box-top-image picture img {width: 100%; height: 100%; object-fit: cover;}
.grid-box-news-content {flex-grow: 1; flex-direction: column;  display: flex; width: 100%; gap: var(--calc-size-30); padding: var(--calc-size-30) var(--calc-size-30) var(--calc-size-35) var(--calc-size-45);}
.grid-box-news-content .project-text-container-inner {flex-grow: 1;}
.grid-box-news-content h4,
.grid-box-news-content h3 {font-size: var(--font-size-m); line-height: 116.667%; margin: 0;}
.grid-box-news-content h4 {color: var(--colors-text);}
.news-list .grid-box-news-content h4 {color: var(--colors-accent) !important;  margin: var(--calc-size-5) 0 var(--calc-size-10) !important;}
.grid-box-news-content a::after {content: ''; position: absolute; width: 100%; height: 100%; inset: 0; z-index: 100;}
.grid-box-news-content .wpb_text_column a {font-weight: var(--weight-medium); color: var(--colors-mid-accent);}

.vc_row:has(.news-empty) {padding-top: var(--calc-size-80)!important; padding-bottom: 0!important;}
.vc_row:has(.news-empty) > .content-wrapper {display: none;}

.news-list-box.project_element_loading {display: none;}
.news-list-box.project_element_progressing {opacity: 0; visibility: hidden; display: block;}

/* partner */
.partner-slick {padding-bottom: var(--calc-size-100);}
.partner-slick ul.slick-dots {bottom: 0;}
.partner-slick ul.slick-dots li:not(.slick-active) button {background: #81898E;}

.partner-container {margin: 0 auto;}
.partner-container .slick-list {margin: 0 -10px;}
.partner-container .slick-track {display: flex!important;}
.partner-element {padding: 0 10px; height: auto; /*width: 20%!important;*/}
.partner-element-inner {padding: var(--calc-size-10) var(--calc-size-10) var(--calc-size-30) ; background: var(--colors-white); height: 100%;}
.partner-element p, .partner-element h5 { text-align: center; line-height: 125%; white-space: nowrap;  overflow: hidden;  text-overflow: ellipsis;}
.partner-element p {margin: 0 0 5px;}
.partner-logo {margin: 0 auto;  /*max-width: 80%;*/}
.partner-logo picture {aspect-ratio: 1.5483 / 1;}
.partner-logo picture img {width: 100%; height: 100%; object-fit: contain; object-position: center;}

.partner-section-row > .as-vc_row_wrapper {justify-content: center;}
.partner-section-row > .as-vc_row_wrapper > .wpb_column {width: auto;}

.partner-count-1 {max-width: 300px!important;}
.partner-count-1 .partner-slick {padding-bottom: 0;}
.partner-count-1 ul.slick-dots {display: none;}


/* kontakt */
.contact-teaser {margin: 0 0 var(--calc-size-80)}
.contact-teaser > div {flex-grow: 1;}
.contact-teaser > div:first-child {flex: 0 0 33%;}
.contact-teaser a {gap: var(--calc-size-15);}
.contact-teaser svg {height: var(--calc-size-90); width:auto; flex-shrink: 0;}


/* FORMELEMENTS //////////////////////////////// */



/* .gform_wrapper {padding: var(--calc-size-48);} */
/* .gform_wrapper h2 {padding: 0!important;} */
/* .gform_wrapper h2::before {content: none!important;} */
/* .gform_wrapper .gfield:not(:first-child) h6 {margin: var(--calc-size-16) 0 0 !important;} */
.gform_body {margin: 0 0 var(--calc-size-60);}
.gform_wrapper a {color: var(--colors-accent);}
.gform_wrapper .wpb_content_element:not(.google-map-container) button {border-radius: 0;}
.gform_fields {display: grid; grid-template-columns: repeat(12,1fr); gap: var(--calc-size-20); align-items: end;}
.gform_fields .gfield {grid-column: 1/-1; min-inline-size: 0; position: relative;}
.gfield-input-wrapper {position: relative;}
/* .gform_fields .gfield:not(.gfield--type-checkbox):not(.gfield--type-choice) {overflow: hidden;} */
.gform_fields .gfield--type-hidden {display: none;}
.gform_fields .gfield--width-full {grid-column: span 12;}


.gform-theme--foundation .hidden_label .gfield_label, .gform-theme--foundation .hidden_sub_label, .gform-theme--foundation .screen-reader-text {
  border: 0;  clip: rect(1px,1px,1px,1px);  clip-path: inset(50%);  height: 1px;  margin: -1px;  overflow: hidden;  padding: 0;  position: absolute;  width: 1px;  word-wrap: normal !important;
}
.gfield_visibility_hidden {display: none;}
.gfield_required_asterisk {color: var(--colors-accent);}
.gform_heading .gform_required_legend {display: none;}
.gform_heading .gform_description {}

.gfield_description {}
.gfield_validation_message {font-size: var(--font-size-xs); color: var(--colors-error);}
.gfield--type-consent .gfield_validation_message {padding-left: var(--calc-size-60);}
.gfield--type-checkbox .gfield_validation_message {padding-left: var(--calc-size-60); padding-top: var(--calc-size-10);}
.validation_error {border: solid 1px var(--colors-error); background: #cc01001f; padding: var(--calc-size-20); margin: var(--calc-size-20) 0; gap: var(--calc-size-20); align-items: center;}
.validation_error svg {width: var(--calc-size-40); height: var(--calc-size-40); flex-shrink: 0;}

.gform_confirmation_message {display: flex;  align-items: center;  justify-content: center;  gap: var(--calc-size-20);  border: solid 1px var(--colors-accent);  padding: var(--calc-size-20); margin: var(--calc-size-100) 0;}
/* .gform_confirmation_message > br {display: none;} */

.gform_wrapper .gform-loader {
    align-self: center;
    animation: gformLoader 1.1s infinite linear;
    block-size: 8em;
    border-block-end: 1.1em solid #000;
    border-block-start: 1.1em solid #fff;
    border-inline-end: 1.1em solid #fff;
    border-inline-start: 1.1em solid #000;
    border-radius: 50%;
    display: inline-block;
    font-size: 2px;
    inline-size: 8em;
    position: relative;
    transform: translateZ(0);
    vertical-align: middle;
		display: none;
}

@keyframes gformLoader {
    0% { transform: rotate(0); }
    100% { transform: rotate(360deg); }
}

@media only screen and (min-width: 901px) {
  .gform_fields .gfield--width-half {grid-column: span 6;}
}




input[type="text"], input[type="email"], input[type="tel"], textarea, select, input[type="file"] { 
	-webkit-border-radius: 0; 
	width: 100%; 
	font-family: var(--font-family-primary); 
	background: var(--colors-grey);
  border: none;
	color: var(--colors-text);
	font-size: var(--font-size-base); 
	padding: var(--calc-size-20); 
	/* padding: 15px 12px 12px;  */
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
	transition: all .3s ease;
	transition: none;
	box-shadow: none; border-radius: 0; position: relative;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus, select:focus {
  outline: solid 1px var(--colors-accent); 
	outline-offset: 3px;
}  

input[type="text"]:hover, input[type="email"]:hover, input[type="tel"]:hover, textarea:hover, select:hover {
	
} 

.gfield_error input[type="text"], .gfield_error input[type="email"], .gfield_error input[type="tel"], .gfield_error textarea, .gfield_error select {
	box-shadow: inset 0 0 0 1px var(--colors-error);
	/* background: #F8E9EC; */
}

input[type="text"], input[type="email"], textarea, select {-webkit-appearance: none;}
select {-webkit-appearance: none;  appearance: none;}
select {
  position: relative;
  background-image:
    linear-gradient(to bottom, transparent, transparent),
    url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23454140' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat;
  background-position: right 12px center, right 12px center;
  background-size: 16px 16px, 16px 16px;
  cursor: pointer;
	padding: var(--calc-size-30) 2.5rem var(--calc-size-35) var(--calc-size-20); 
}

input:-webkit-autofill,input:-webkit-autofill:hover, input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,
select:-webkit-autofill:hover,select:-webkit-autofill:focus {
  transition: background-color 9999s ease-in-out 0s;
}
textarea {height: 20rem; resize: none; display: block; }
::-webkit-input-placeholder {color: #00143C87 !important;}::-moz-placeholder {color: #00143C87 !important;}:-moz-placeholder {color: #00143C87 !important;}:-ms-input-placeholder {color: #00143C87 !important;}
 
.gfield_checkbox {position: relative; display: flex; flex-direction: column;  flex-wrap: wrap;}
.inline-checkboxes .gfield_checkbox {flex-direction: row;}
.gfield_checkbox:not(.gfield--type-consent) {gap: var(--calc-size-40) var(--calc-size-50);}
.gfield_checkbox input[type="checkbox"] {
	position: absolute; left: -50rem; opacity: 0;
}
.gfield_checkbox label {position: relative;	padding: 0 0 0 var(--calc-size-60); display: block; min-height: var(--calc-size-40); cursor: pointer;}
.gfield_checkbox label.gfield_consent_label {font-size: var(--font-size-xs); line-height: 1.4;}

.gfield_checkbox label::before {
	content: '';
	position: absolute;
	left: 0; top: 0;
	width: var(--calc-size-40); height: var(--calc-size-40);
	background: #fff;
	/* border: solid 1px #877070; */
	transition: all .2s ease;
	outline: solid 1px transparent;
	outline-offset: 3px;
	cursor: pointer;
	z-index: 10;
}

.gfield_checkbox label::after {
	content: '';
	position: absolute;
	left: 0; top: 0;
	width: var(--calc-size-40); height: var(--calc-size-40);
	transition: all .2s ease;
	z-index: 20;
	cursor: pointer;
	background: var(--colors-grey);
	border: solid 5px #fff;
	outline: solid 1px #877070;
	/* outline-offset: 3px; */
}

.gfield_checkbox label.gfield_consent_label::before, .gfield_checkbox label.gfield_consent_label::after {
	top: 5px;
}

.gfield_checkbox input[type="checkbox"]:focus-visible + label::before {
	outline-color: var(--colors-accent);
}
.gfield_checkbox input[type="checkbox"]:checked + label::before {
}
.gfield_checkbox input[type="checkbox"]:checked + label::after {
	background: var(--colors-accent);
}

.gfield_checkbox label:hover::before {
	
}

.gfield_error .gfield_checkbox label::before, .gfield_error.gfield_checkbox label::before {
	border-color: var(--colors-error);
	/* background: #F8E9EC; */
}

.gform-theme--foundation .gform_validation_container {
  display: none !important;
}

.gfield > .gfield_validation_message:first-child {display: none;}

.gfield--type-multi_choice .gchoice:not(:last-child), .gfield--type-multi_choice legend {
	margin-bottom: var(--calc-size-10);
}


.accent-label .gfield_label {color: var(--colors-accent); font-weight: var(--weight-bold); margin: 0 0 var(--calc-size-20);}
.gfield--type-text .gfield_label, .gfield--type-textarea .gfield_label, .gfield--type-date .gfield_label, .gfield--type-select:not(.gfield--type-multi_choice) .gfield_label {margin: 0 0 var(--calc-size-10); display: block;}

.gfield--type-text input:placeholder-shown:not(:focus)::placeholder, 
.gfield--type-textarea textarea:placeholder-shown:not(:focus)::placeholder,
.gfield--type-date input:placeholder-shown:not(:focus)::placeholder {
	opacity: 0;
}
.gfield--type-text input:placeholder-shown:focus::placeholder, 
.gfield--type-textarea textarea:placeholder-shown:focus::placeholder, 
.gfield--type-date input:placeholder-shown:focus::placeholder {
	opacity: 0;
}


@media only screen and (min-width: 901px) {

		input[type="text"], input[type="email"], input[type="tel"], textarea, input[type="file"] {padding: var(--calc-size-50) var(--calc-size-20) var(--calc-size-15) var(--calc-size-20); }

		.gfield--type-text .gfield_label, .gfield--type-textarea .gfield_label, .gfield--type-date .gfield_label {
				position: absolute;
				top: var(--calc-size-45);
				left: var(--calc-size-20);
				pointer-events: none;
				transition: all 0.3s ease;
				z-index: 1;
				overflow: hidden;
				white-space: nowrap;
				letter-spacing: .01em;
				color: #00143C87;
				margin: 0;
		}

			.gfield--type-text:has(.ginput_container input:focus) .gfield_label,
			.gfield--type-text:has(.ginput_container input:not(:placeholder-shown)) .gfield_label,
			.gfield--type-textarea:has(.ginput_container textarea:focus) .gfield_label,
			.gfield--type-textarea:has(.ginput_container textarea:not(:placeholder-shown)) .gfield_label,
			.gfield--type-date:has(.ginput_container input:focus) .gfield_label,
			.gfield--type-date:has(.ginput_container input:not(:placeholder-shown)) .gfield_label
			{
					top: var(--calc-size-5);
  				font-size: var(--font-size-xxs);
			}
			
			/* .gfield-input-wrapper .gfield_validation_message {display: none;}
			.gfield > .gfield_validation_message:first-child {display: block;} */

	}










/* TEAM detail */
.teams-detail-image img {width: 100%; }
.teams-detail-grid {padding: var(--calc-size-50) 0 0;}
.teams-detail-grid a::after {content: none;}
.teams-detail-grid .grid-icon {width: var(--calc-size-120); height: var(--calc-size-120); overflow: hidden; margin: 0 0 var(--calc-size-30);}
.teams-detail-grid .grid-icon img {width: 100%; height: 100%; object-fit: cover;}
.teams-detail-grid .grid-icon picture img {border-radius: 50%;}

/* widgets */
main .fp-team-squad-view {max-width: 100%;}
.teams-widgets-section .widget_code {margin: 0 0 var(--calc-size-80);}
.teams-widgets-section .widget_code:last-child {margin: 0 0 var(--calc-size-40);}

/* keyfacts */
.keyfacts_grid {padding: 0;}
.keyfacts_grid:not(.members_grid) .grid-box-news-content {padding: var(--calc-size-30) var(--calc-size-20) var(--calc-size-35);}
.keyfacts_grid:not(.members_grid) .grid-box-news-content .project-text-container-inner {text-align: center;}
.keyfacts_grid .grid-icon {margin: 0 auto var(--calc-size-25);}
.keyfacts_grid h2 {margin: 0 0 .1em; font-size: clamp(3.75rem, 2.3707rem + 6.8966vw, 6.25rem); line-height: 1;}
.keyfacts_grid h3 {margin: 0 0 .8em;}

/* members grid */
.members_grid .grid-icon {margin: 0 0 var(--calc-size-25);}

/* management */
.management_list_grid .grid-box-top-image picture {aspect-ratio: 1.172 / 1;}
.management_list_grid .grid-box-news-content {padding: var(--calc-size-30) var(--calc-size-10) var(--calc-size-35) var(--calc-size-30);}
.management_list_grid .grid-box-news-content h3 {font-size: var(--font-size-sm);}
.management_list_grid .grid-box-news-content h4 {font-size: var(--font-size-m)!important;}

.gallery-content {padding-bottom: var(--calc-size-70); border-top: solid var(--calc-size-10) var(--colors-accent);  padding-top: 3px;}
.gallery-slick ul.slick-dots {bottom: calc(var(--calc-size-60) * -1);}
.gallery-slick ul.slick-dots li:not(.slick-active) button {background: #81898E;}
.gallery-slick picture {aspect-ratio: 1.7333 / 1;}
.gallery-slick picture img {width: 100%;  height: 100%;  object-fit: cover;  object-position: center;}

/* footer section */
.footer-contact-section {position: relative; z-index: 50;}
.footer-contact-section-image {position: relative; z-index: 10;}
.footer-contact-section-image picture {height: 100%;}
.footer-contact-section-image picture img {height: 100%; width: 100%; object-fit: cover; object-position: top center;}
.footer-contact-section-image-gradient {height: 100%; position: absolute; z-index: 15; width: 100%; background: rgba(29, 48, 39, 0.5); top: 0; left: 0;}
.footer-contact-content {position: absolute; z-index: 20; width: 100%; top: 50%;  transform: translateY(-50%);}
.footer-contact-content .vc_row:not(.vc_inner) {background: none; padding-top: var(--calc-size-30);  padding-bottom: var(--calc-size-30);}
.footer-contact-section h3:not([class*="mb-"]) {margin-bottom: 0;}
.footer-contact-section h2:not([class*="mb-"]) {margin-bottom: 0;}
.footer-contact-section h2 {font-size: var(--font-size-4xl);}
.footer-contact-section .vc_custom_heading + .vc_btn3-container {margin-top: var(--calc-size-30);}

.footer-partner-section .wpb_content_element {margin-left: auto; margin-right: auto; max-width: 1363px;}
.footer-partner-section .wpb_content_element:not([class*="mb-"]):not(:last-child) {margin-bottom: var(--calc-size-60);}

@media only screen and (min-width: 768px) {
  .vc_row_layout_box_img_right .wpb_column:last-child *:not(.def-icon):not(source), .vc_row_layout_box_img_left .wpb_column:first-child *:not(.def-icon):not(source) {height: 100%; width: 100%;}
	.vc_row_layout_box_img_right .wpb_column:last-child picture img, .vc_row_layout_box_img_left .wpb_column:first-child picture img {object-fit: cover;}
	.vc_row_layout_box_img_right .wpb_column:first-child .vc_column-inner > .wpb_wrapper,
	.vc_row_layout_box_img_left .wpb_column:last-child .vc_column-inner > .wpb_wrapper {padding-top: var(--calc-size-60);  padding-bottom: var(--calc-size-60);}

	.vc_row:not(.vc_row_layout_box) .vc_col-sm-6:last-child > .vc_column-inner {padding-left: 0;}
}

@media screen and (min-width: 601px) {
	.partner-count-2 .partner-slick {padding-bottom: 0;}
	.partner-count-2 ul.slick-dots {display: none;}


}

@media screen and (min-width: 901px) {
	.def-grid-boxes.as-grid-def-col-2 {max-width: 66.66%;}
	.def-grid-boxes.teams-detail-grid.as-grid-def-col-2 {max-width: 1080px;}
	.def-grid-boxes.as-grid-def-col-1 {max-width: 33.33%;}
	.def-grid-boxes.teams-detail-grid.as-grid-def-col-1 {max-width: 540px;}

	.footer-contact-section {padding-bottom: 0!important;}

	.partner-count-2 {max-width: 540px!important;}
	.partner-count-3 .partner-slick {padding-bottom: 0;}
	.partner-count-3 ul.slick-dots {display: none;}

	/* management */
	.management_list_grid:not([class*="gap-fluid-"]) {gap: var(--calc-size-50) var(--calc-size-20);}		

	.form-container .vc_inner {max-width: 1300px; margin: 0 auto; width: 90%;}

}

@media screen and (min-width: 1101px) {
	.partner-count-3 {max-width: 820px!important;}
	.partner-count-4 .partner-slick {padding-bottom: 0;}
	.partner-count-4 ul.slick-dots {display: none;}
}

@media screen and (min-width: 1441px) {
	.partner-count-4 {max-width: 1100px;}
	.main-partner-amount {padding-bottom: 0;} 
	.main-partner-amount ul.slick-dots {display: none;} 

	.references-container {width: 85%;}
}


@media screen and (min-width: 2000px) {
	.vc_row_layout_box_img_right .wpb_column:first-child .vc_column-inner > .wpb_wrapper {padding-right: 10rem!important;}
	.vc_row_layout_box_img_left .wpb_column:last-child .vc_column-inner > .wpb_wrapper {padding-left: 10rem!important;}
}


@media screen and (max-width: 1440px) {

	.c-row-privacy label {padding-left: 45px;}
	.c-row-privacy label .wpcf7-list-item-label:before {width: 30px; height: 30px;}
	.c-row-privacy label .wpcf7-list-item-label:after {width: 20px; height: 20px;}
	.c-row-privacy span.wpcf7-not-valid-tip {padding: 10px 0 0 45px;}

}


@media screen and (max-width: 1280px) {
	.grid-box-news-content {gap: var(--calc-size-20); padding: var(--calc-size-25) var(--calc-size-20) var(--calc-size-30) var(--calc-size-20);}

	.as-grid-col-lg-1 {grid-template-columns: repeat(1, minmax(0, 1fr));}
	.as-grid-col-lg-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.as-grid-col-lg-3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
}




@media screen and (max-width: 900px) {

	.hero.full-height {height: 100svh}
	.hero:not(.full-height),
	.hero.full-height .picture_container,
	.hero:not(.full-height) .picture_container {aspect-ratio:auto; height: 100svh;}

	.content_over_hero + .site-content .vc_row_parent:first-child > .content-wrapper {
		margin-left: 5px;
		margin-right: 5px;
		padding: var(--calc-size-20) calc(var(--wrapper-side-padding) - 5px) var(--wrapper-side-padding); z-index: 100000;
		width: calc(100vw - 10px);
		overflow: hidden;
		/* width: 350px; */
		/* margin-top: calc((100vh * 0.28 + var(--calc-size-30)) * -1); */
	}
	.content_over_hero .s_texts {padding-bottom: calc(100vh * 0.28);}

	.single-leistungen:not(.leistungen-child-page) .content_over_hero + .site-content .vc_row_parent:first-child > .content-wrapper {padding-top: 0; width: calc(100% - 10px);}


	img.def-icon, svg.def-icon, .def-icon img, .def-icon svg {height: clamp(50px, 17.9vw, 70px); width: auto;}
	
	.as-grid-def-col-md-1:not([class*="as-grid-col"]) {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-def-col-md-2:not([class*="as-grid-col"]) {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.as-grid-col-md-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-md-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.as-grid-col-md-1.as-grid-def-gap:not([class*="gap-fluid-"]) {gap: var(--calc-size-40);}

	.grid-box-top {padding: var(--calc-size-30) 0;}
	.grid-box-content {padding: var(--calc-size-45) 0 var(--calc-size-60);}


	/* SERVICES //////////////////////////////// */
	.service-slider-container {margin: 0 calc((var(--wrapper-side-padding) - 5px) * -1);}
	.service-slider-top {padding: 0 calc(var(--wrapper-side-padding) - 5px) var(--calc-size-70); aspect-ratio: auto;}
	/* END SERVICES //////////////////////////////// */

	/* section advantages */
	.section-advantages h3:not([class*="mb-"]) {margin-bottom: var(--calc-size-20);}
	.section-advantages .vc_row.vc_inner:not([class*="pb-"]):not(:last-child) {padding-bottom: var(--calc-size-60);} 
	.section-advantages .vc_row.vc_inner .as-vc_row_wrapper {gap: var(--calc-size-60);} 
	.section-advantages .vc_row.vc_inner .as-vc_row_wrapper .wpb_column {width: 100%;} 

	.partner-container {max-width: 540px;}

	.contact-teaser {flex-direction: column; align-items: flex-start; gap: var(--calc-size-30);}
	.contact-teaser svg {height: var(--calc-size-60);}
	.c-row-dropdown {flex-direction: column; align-items: flex-start; margin: 0 0 var(--calc-size-20);}
	.c-row-dropdown > div:first-child {flex: 1;}
	.c-row-dropdown > div:last-child {width: 100%;}
	.wpb_wrapper:has(.contact-teaser) h4, .wpb_wrapper:has(.contact-teaser) h2 {text-align: center!important;}
	

	.footer-contact-section h3 {font-size: var(--font-size-m);}
}




@media screen and (max-width: 767px) {

	.hero h1, .hero h2 {hyphens: none;    word-wrap: normal;}
	/* .hero h1 br, .hero h2 br {display: none;} */
	.breadcrumb {font-size: var(--font-size-xs);}

	.as-grid-def-col-sm-1:not([class*="as-grid-col"]) {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-def-col-sm-2:not([class*="as-grid-col"]) {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.as-grid-col-sm-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-sm-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.as-grid-col-sm-1.as-grid-def-gap:not([class*="gap-fluid-"]) {gap: var(--calc-size-40);}
	.gap-fluid-sm-30 { gap: var(--calc-size-30); }
	
	.vc_row_layout_box_img_right .as-vc_row_parent {flex-direction: column-reverse;}
	.vc_row_layout_box .as-vc_row_wrapper {gap: 0;}
	.vc_row_layout_box_img_right .wpb_column:first-child .vc_column-inner > .wpb_wrapper,
	.vc_row_layout_box_img_left .wpb_column:last-child .vc_column-inner > .wpb_wrapper {padding: var(--calc-size-60) var(--wrapper-side-padding)!important;}

	.accordion-element h5 a {padding-right: var(--calc-size-70);}
	.accordion-element h5 div > span {width: 41px;  height: 41px;  right: var(--calc-size-20);}
	.accordion-element-content {max-width: 100%;}

	.vc_col-sm-1 {display: none;}

	.content_over_hero + .site-content .vc_row_parent:first-child > .content-wrapper {
		/* margin-top: calc((100vh * 0.28 + var(--calc-size-30)) * -1)!important; */
	}
	.content_over_hero .s_texts {padding-bottom: calc(100vh * 0.28)!important;}


	.training_bar {}
	.training_bar .vc_col-sm-6:first-child {display: none;}
	.training_bar .vc_col-sm-6 .as-button a {min-width: 1px; width: 100%;}

}	


/* @media screen and (max-width: 767px) and (orientation: landscape) { */
@media screen and (max-width: 900px) and (orientation: landscape) {

	.content_over_hero .s_texts {padding-bottom: var(--calc-size-50)!important;}
	.content_over_hero + .site-content .vc_row_parent:first-child {background: #fff;}
	.content_over_hero + .site-content .vc_row_parent:first-child > .content-wrapper {
		padding: 0 var(--wrapper-side-padding);
		margin: 0 auto!important;
		box-shadow: none;
	}

}


@media screen and (max-width: 600px) {
	
	.as-grid-def-col-s-1:not([class*="as-grid-col"]) {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-def-col-s-2:not([class*="as-grid-col"]) {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.as-grid-col-s-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-s-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.partner-container {max-width: 400px;}
	.footer-contact-section-image {aspect-ratio: 1 / 2;}

}


@media screen and (max-width: 460px) {

	.as-grid-def-col-xs-1:not([class*="as-grid-col"]) {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	
	.as-grid-col-xs-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-xs-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

	.accordion-element h5 a {padding-right: var(--calc-size-50);}
	.accordion-element h5 div > span {width: 31px;  height: 31px;  right: var(--calc-size-10);}

	.wpcf7 button.wpcf7-submit {max-width: 100%;}

	.footer-contact-content .as-button a {flex-grow: 1;}
}

@media screen and (max-width: 380px) {
	.as-grid-col-xxs-1 {grid-template-columns: repeat(1, minmax(0, 1fr)); grid-auto-rows: auto;}
	.as-grid-col-xxs-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}

}

@media screen and (max-width: 359px) {
	
}