/*
	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: 'Barlow', sans-serif;
}
/* 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;
}
strong {
	font-weight: 600;
}

.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
	/*flex-basis: unset !important;*/
}


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

/* wrapper */
.wrapper {
	position:relative;
	font-size: 21px;
}

article {
	max-width:1200px;
	width:95%;
	margin:0 auto;
	 -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
	-webkit-hyphenate-limit-before: 4; /* For Safari */
  -webkit-hyphenate-limit-after: 4; /* For Safari */
  -ms-hyphenate-limit-chars: auto 4;
  hyphenate-limit-chars: auto 4;
}

section {
	padding: 4em 0;
}

main > section:first-of-type {
	padding-top: 0;
}

.sec_np_top {
	padding-top: 0;
}

.sec_np_bottom {
	padding-bottom: 0;
}

.bg_grau {
	background-color: #EFF0F2;
}

/* header */
.header {
	position: fixed;
	width: 100%;
	z-index: 8;
	background-color: rgba(255,255,255,0);
	-webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,0);
box-shadow: 0 0 20px 0 rgba(0,0,0,0);
	transition: all 0.5s;
}

.scrld .header {
	background-color: rgba(255,255,255,1);
	-webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,0.15);
box-shadow: 0 0 20px 0 rgba(0,0,0,0.15);
}

.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width:1400px;
}

.socmed_wrapper img {
	filter: grayscale(1) brightness(4);
	margin: 0 0.2em;
	height: 1.8em;
	width: auto;
	transition: all 0.5s;
}

.socmed_wrapper a:hover {
	filter: invert(100%) sepia(32%) saturate(2918%) hue-rotate(1deg) brightness(90%) contrast(98%);
}

.socmed_wrapper a:hover img {
	filter: brightness(0);
}

.scrld .socmed_wrapper img {
	filter: grayscale(0) brightness(1);
	height: 1.5em;
}

.scrld .socmed_wrapper a:hover {
	filter: brightness(0);
}


/* logo */
.logo {

}
.logo-img {
	height: 140px;
	width: auto;
	padding: 20px 0;
	transition: all 0.5s;
}

.scrld .logo-img {
	height: 80px;
	padding: 15px 0;
}

/* nav */
.nav {

}

.nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
}

.nav > ul > li {
	position: relative;
	margin: 0;
}

.nav a {
	color: #fff;
	text-transform: uppercase;
	font-size: 1em;
	margin: 0 1em;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.nav > ul > li > a {
	padding: 1em 0;
}

.scrld .nav a {
	color: #000;
	font-size: 0.86em;
}

.nav > ul > li:hover > a, .nav .current_page_item a {
	color: #E0E266;
}

.scrld .nav > ul > li:hover > a, .scrld .nav .current_page_item a {
	color: rgb(7,162,82);
}

.sub-menu {
	position: absolute;
	display: flex;
	flex-direction: column;
	padding: 0;
	background-color: #fff;
	left: 50%;
	transform: translateX(-50%) translateY(1.2em);
	-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);
	z-index: 2;
	opacity: 0;
	border-radius: 0.4em;
	overflow: hidden;
	pointer-events: none;
	transition: all 0.5s;
}


.nav > ul > li:hover .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0.6em);
}

.sub-menu li {
	margin: 0;
}

.sub-menu a, .scrld .sub-menu a {
	font-size: 0.86em;
	white-space: nowrap;
	text-align: center;
	padding: 0.8em 1em;
	border-bottom: 1px solid #E0E266;
	display: inline-block;
	width: 100%;
	color: #333 !important;
	margin: 0;
	text-transform: none;
	letter-spacing: 0.04em;
	font-weight: 500;
}

.sub-menu li:last-of-type a {
	border-bottom: none;
}

.sub-menu a:hover {
	background-color: #E0E266;
	color: #000 !important;
}


 .menu_icon_ct {
	position: relative;
	padding: 0;
	z-index: 20;
	 display: none;
}

 .menu_icon {
	width: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 32px;
	cursor: pointer;
	position: relative;
}

 .menu_icon_line {
	width: 100%;
	height: 4px;
	background-color: #07a252;
	opacity: 1;
	margin-top: 0;
	transform-origin: center center;
	position: absolute;
	display: inline-block;
	transition: all 0.5s;
}

 .menu_icon .line1 {
	top: auto;
	transform: translateY(10px);
}
 .menu_icon .line2 {
	top: auto;
}
 .menu_icon .line3 {
	top: auto;
	transform: translateY(-10px);
}


.menuopen .menu_icon .line1 {
	-moz-transform: rotate(45deg) translateY(0px);
	-webkit-transform: rotate(45deg) translateY(0px);
	-o-transform: rotate(45deg) translateY(0px);
	-ms-transform: rotate(45deg) translateY(0px);
	transform: rotate(45deg) translateY(0px);
	top: auto;
	margin-top: 0;
	background-color: #000;
}

.menuopen .menu_icon .line2 {
	opacity: 0;
	background-color: #000;
}

.menuopen .menu_icon .line3 {
	-moz-transform: rotate(-45deg) translateY(0px);
	-webkit-transform: rotate(-45deg) translateY(0px);
	-o-transform: rotate(-45deg) translateY(0px);
	-ms-transform: rotate(-45deg) translateY(0px);
	transform: rotate(-45deg) translateY(0px);
	top: auto;
	margin-top: 0;
	background-color: #000;
}













/* sidebar */
.sidebar {

}
/* footer */
.footer {
	background-color: #000;
}

.footer_cols {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.footer_cols .col1 {
	font-size: 0.8em;
	font-weight: 600;
}

.footer_cols .col3 {
	font-size: 0.8em;
	text-align: right;
	color: #fff;
	display: flex;
	flex-direction: column;
}

.socmed_footer {
	padding: 1.5em 0;
}

.socmed_footer img {
	height: 2em;
	width: auto;
	background-color: #fff;
	margin: 0 0.2em;
	border-radius: 100%;
}

.socmed_footer a:hover {
	filter: invert(100%) sepia(32%) saturate(2918%) hue-rotate(1deg) brightness(90%) contrast(98%);
}

.socmed_footer a:hover img {
	filter: brightness(0);
	background-color: transparent;
}

.footer .col1 a, .footer .col3 a {
	color: #fff;
}

.footer a:hover {
	color: #E0E266;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/

.intro_wrapper {
	height: 90vmin;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
	background-attachment: fixed;
}

.intro_image_bg {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.intro_image_bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.page-id-72 .intro_image_bg img { 
	object-position: center 80%;
}

.page-template-tpl-subsite .intro_wrapper {
	background-attachment: inherit;
	height: 60vmin;
}

.intro_wrapper::before {
	content: '';
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	height: 300px;
	pointer-events: none;
	 background: rgb(0,0,0);
background: -moz-linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.66) 100%);
background: -webkit-linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.66) 100%);
background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.66) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1); 
	z-index: 3;
}



.shape_bottom {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	z-index: 2;
}

.shape_bottom img {
	width: 100%;
	height: auto;
}

.intro_arrow {
	position: absolute;
	z-index: 3;
	left: calc(50% - 1em);
	bottom: 3vw;
	width: 2em;
	height: 3em;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.intro_arrow::before {
	content: '';
	width: 1.5em;
	height: 0.3em;
	border-radius: 1em;
	background-color: #fff;
	transform: rotate(45deg) translateX(-50%);
	position: absolute;
	transform-origin: center center;
	margin-left: 0.15em;
	margin-bottom: 1em;
	transition: all 0.5s;
}

.intro_arrow::after {
	content: '';
	width: 1.5em;
	height: 0.3em;
	border-radius: 1em;
	background-color: #fff;
    transform: rotate(-45deg) translateX(50%);
	position: absolute;
	transform-origin: center center;
	margin-left: -0.15em;
	margin-bottom: 1em;
	transition: all 0.5s;
}

.intro_arrow:hover::before, .intro_arrow:hover::after {
	margin-bottom: 0em;
	background-color: #009945;
}


.jubi_wrapper {
	position: absolute;
	width: 14em;
	height: auto;
	bottom: -5.5em;
	z-index: 5;
	left: calc(50% + 300px);
	pointer-events: none;
}










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

.art_col {
	width: 46%;
}



.home .art_col.col1 {
	width: 55%;
}
.home .art_col.col2 {
	width: 25%;
	padding-top: 1em;
}



.aktuell_jobs_wrapper {
	display: block;
	/*margin-bottom: 1.5em;*/
}

.aktuell_jobs_wrapper .news_more span {
	display: inline-block;
}

.aktuell_jobs_wrapper .news_more span::after {
	
}

.aktuell_jobs_wrapper .news_item_ct:hover .news_more span {
	color: inherit;
}

.aktuell_jobs_wrapper .news_item_ct a {
	display: inline-block;
	margin-top: 0.5em;
}

.aktuell_jobs_wrapper .news_item_ct:hover a:hover .news_more span {
	color: rgb(7,162,82);
}



.news_item_ct {
	font-size: 0.8em;
	display: flex;
	flex-direction: column;
}

.news_item_ct .news_datum span, .subtext {
	color: rgb(0,80,88);
	font-weight: 600;
	border-bottom: 2px dotted;
}

.news_item_ct .news_img {
	width: 100%;
	max-width: 360px;
	height: auto;
	margin-top: 0.6em;
	border: 1px solid #ccc;
}

.news_item_ct .news_excerpt {
	padding-top: 0.5em;
}

.news_more span {
	position: relative;
	font-weight: 500;
	letter-spacing: 0.03em;
	transition: color 0.5s;
}

.news_item_ct:hover .news_more span, .mi_link:hover span {
	color: rgb(7,162,82);
}

.news_more span::after, .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button::after {
	content: '';
	background-image: url(/wp-content/uploads/2022/11/dnd_arrow.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	width: 1em;
	height: 1em;
	position: absolute;
	left: calc(100% + 0.5em);
	filter: brightness(0);
	top: 0.2em;
	transition: all 0.5s;
}



.news_item_ct:hover .news_more span::after, .mi_link:hover span::after,  .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover::after {
	left: calc(100% + 1.5em);
	filter: brightness(1);
}

.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button {
	border: none;
	border-radius: 0;
	min-height: unset;
	padding: 0;
	position: relative;
	transition: all 0.5s;
	margin: 0.25em 0;
	
}

.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover {
	color: rgb(7,162,82);
	background-color: transparent;
}


.home .teaser_cols {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 3em;
}

.teaser_ct {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.teaser_ct .group_box {
	display: flex;
	flex-direction: column;
	/*padding-bottom: 0.5em;*/
}

.teaser_ct .h2 {
	padding-bottom: 0.1em;
}

.teaser_img_ct {
	display: flex;
	justify-content: center;
	padding-bottom: 0.5em;
}

.teaser_img_ct .teaser_img {
	display: inline-block;
	width: 9em;
	height: 9em;
	border-radius: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
}

.teaser_img_ct .teaser_img::before {
	content: '';
	width: 6em;
	height: 6em;
	top: -1em;
	left: -3em;
	position: absolute;
	border-radius: 100%;
	background-image: url(/wp-content/uploads/2022/11/dnd_ico_offerte.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 56%;
	background-color: #EFF0F2;
}

.teaser_ct .teaser_text {
	padding-bottom: 1em;
}

.col2 .teaser_img_ct .teaser_img::before {
	background-image: url(/wp-content/uploads/2022/11/dnd_ico_kran.svg);
	background-size: 75% auto;
}

.col3 .teaser_img_ct .teaser_img::before {
	background-image: url(/wp-content/uploads/2022/11/dnd_ico_aktuell.svg);
	background-size: auto 68%;
	background-position: 75% 75%;
}



.box_raster {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.box_raster .box_item {
	height: 20vw;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.box_item.item1 {
	background-color: #0D4F59;
}
.box_item.item2 {
	background-color: #2AB18F;
}
.box_item.item3 {
	background-color: #9BB6E0;
}
.box_item.item4 {
	background-color: #E0E266;
}
.box_item.item5 {
	background-color: #152742;
}
.box_item.item6 {
	background-color: #129A45;
}

.kunden-referenzen .box_item.item1 {
	background-color: #E0E266;
}
.kunden-referenzen .box_item.item2 {
	background-color: #152742;
}
.kunden-referenzen .box_item.item3 {
	background-color: #129A45;
}

.box_tm .box_inner {
	width: 90%;
	color: #fff;
	font-size: 1.1vw;
	display: flex;
	flex-direction: column;
}

.box_tm .box_inner .tx1 {
	font-weight: 500;
	padding-bottom: 0.5em;
	line-height: normal;
}

.box_tm .box_inner .tx1 p {
	display: contents;
}

.box_tm .box_inner .tx2 {
	font-size: 0.8em;
}

.box_img img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	filter: grayscale(1);
	mix-blend-mode: luminosity;
	opacity: 0.6;
}

.box_icon .box_inner {
	position: relative;
}

.box_icon img {
	height: 9vw;
	width: auto;
	padding-bottom: 0vw;
	filter: grayscale(1) brightness(4);
	transition: all 0.5s;
}

.box_icon:hover img {
	padding-bottom: 3vw;
}

.box_icon_text {
	position: absolute;
	left: 50%;
	bottom: -1vw;
	transform: translateX(-50%) translateY(100%);
	color: #fff;
	font-size: 2vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	transition: all 0.5s;
	opacity: 0;
}

.box_icon:hover .box_icon_text {
	opacity: 1;
	transform: translateX(-50%) translateY(0%);
}




.parent-pageid-11 .art_cols {
	align-items: flex-end;
}



.kompetenzen .art_col.col1, .parent-pageid-11 .art_col.col1, .dnd_foldbox_wrapper .art_col.col1 {
	width: 60%;
	flex-basis: 1 !important;
}
.kompetenzen .art_col.col2, .parent-pageid-11 .art_col.col2, .dnd_foldbox_wrapper .art_col.col2 {
	width: 35%;
	flex-basis: 1 !important;
}

.fbx_wrapper {
	padding-bottom: 0.5em;
}

.fbx_wrapper .fbx_title {
	border-bottom: 0.15em dotted;
	width: 60%;
	padding-bottom: 0;
	margin-bottom: 0.8em;
	position: relative;
	cursor: pointer;
}

.fbx_title::after {
	content: '';
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(/wp-content/uploads/2022/11/dnd_arrow.svg);
	filter: brightness(0);
	height: 0.8em;
	width: 0.8em;
	position: absolute;
	right: 0.2em;
	top: 0.4em;
	transform: rotate(0deg);
	transition: all 0.5s;
}

.fbx_link .fbx_title::before {
	content: 'mehr';
	position: absolute;
	background-color: #07a252;
	color: #fff;
	font-size: 18px;
	border-radius: 1.3em;
	padding: 0.2em 1.2em 0.3em 1.2em;
	right: 1em;
	display: flex;
	align-items: center;
	font-weight: 600;
	letter-spacing: 0.03em;
	cursor: pointer;
	transition: all 0.5s;
	bottom: 0.2em;
	opacity: 0;
}

.fbx_link .fbx_title:hover::before {
	opacity: 1;
	right: 0em;
}

.fbx_title:hover::after {
	transform: rotate(90deg);
	filter: brightness(1);
}

.fbx_link .fbx_title:hover::after {
	transform: rotate(0deg);
	filter: brightness(1);
	opacity: 0;
}

.fbx_on .fbx_title::after {
	transform: rotate(90deg);
}

.fbx_on .fbx_title:hover::after {
	filter: brightness(1);
}

.fbx_wrapper .fbx_inner {
	display: none;
}

.fbx_wrapper .art_cols {
	padding-bottom: 2em;
}



.inline_2_cols {
	column-count: 2;
	column-gap: 2.5em;
}

.inline_2_cols > span {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	display: inline-block;
}

.kunden-referenzen .art_cols {
	align-items: flex-end;
}

.kunden-referenzen .art_col.col1 {
	width: 65%;
}
.kunden-referenzen .art_col.col2 {
	width: 25%;
}

.logo_cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 4em 6em;
}

.logo_col {
	width: 100%;
	height: 3em;	
	transition: all 0.5s;
	filter: grayscale(1) opacity(0.5);
}

.logo_col img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}

a.logo_col:hover {
	filter: grayscale(0) opacity(1);
}


.logo_col.logo_more {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-weight: 600;
	grid-column: span 2;
}



.ref_box {
	padding-right: 22em;
	margin-top: 3em;
	position: relative;
}

.ref_box.ref_first {
	padding-bottom: 3em;
}

.ref_box .subtext {
	font-size: 0.86em;
}

.ref_box h2  {
	padding-bottom: 0.3em;
	padding-top: 0.3em;
	display: inline-block;
}

.ref_box .btn_wrapper {
	margin-top: 0.5em;
	font-size: 0.86em;
}

.ref_cov_ct {
	position: absolute;
	right: 15em;
}

.ref_cov_ct img {
	-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);
box-shadow: 0 0 10px 0 rgba(0,0,0,0.3);
	transform: rotate(10deg);
	width: 7em;
	height: auto;
}


.ref_cov_ct .btn_wrapper {
	position: absolute;
	z-index: 2;
	bottom: 1em;
	right: -1.5em;
}





.ueber-uns .art_col.col1 {
	width: 55%;
}
.ueber-uns .art_col.col2 {
	width: 30%;
	padding-top: 0em;
}

.mi_link {
	display: inline-block;
	font-size: 0.86em;
	margin: 0.5em 0;
}


.team_cols {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 3em 5em;
	padding-top: 2em;
	padding-bottom: 1em;
	hyphens: initial;
}

.team_col {
	display: flex;
	flex-direction: column;
	text-align: center;
	line-height: 1.5;
}

.team_img_ct {
	display: flex;
	justify-content: center;
	position: relative;
}

.team_img {
	witdth: 9em;
	height: 9em;
	border-radius: 100%;
}

.team_img_ct .btn_wrapper {
	position: absolute;
	bottom: 0.2em;
	left: calc(50% + 2em);
}

.team_img_ct .btn_wrapper i {
	font-size: 2em;
}

.team_name {
	padding-top: 0.6em;
	color: rgb(0,80,88);
	font-weight: 600;
}

.team_funktion {
	font-weight: 600;
}

.job_box {
	/*width: max-content;*/
	cursor: pointer;
	margin-bottom: 1em;
}

.job_box .btn_wrapper {
	display: flex;
	align-items: center;
}

.job_box .job_title {
	font-weight: 600;
	color: rgb(0,80,88);
	border-bottom: 0.15em dotted;
	margin-right: 1.5em;
	/*overflow-wrap: break-word;
	word-wrap: break-word;*/
}


.bg_blau {
	background-color: #0D4F59;
	color: #fff;
}

#aktuell .art_col.col1, #aktuell .art_col.col2 {
	width: 47%;
}

#aktuell .news_item_ct {
	margin-bottom: 3em;
}

#aktuell .h2 {
	color: #fff;	
	padding-bottom: 0;
	padding-top: 0.4em;
}

#aktuell .news_datum span {
	color: #E0E266 !important;
}

.news_grid_wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 4em;
}






.kontakt .art_col.col1 {
	width: 30%;
}

.kontakt .art_col.col2 {
	width: 60%;
}

#map_rw {
	height: 70vh;
}



.sticky_kontakt_ct {
	position: fixed;
	right: 0;
	top: 50%;
	z-index: 10;
	display: flex;
	flex-direction: column;
	font-size: 0.86em;
	width: 5em;
}

.sticky_kontakt_ct a {
	position: relative;
	width: max-content;
	transform: translateX(0em);
	transition: all 0.5s;
}

.sticky_kontakt_ct a:hover {
	transform: translateX(-10em);
}

.sticky_kontakt_ct .tx1 {
	width: 6em;
}

.sticky_kontakt_ct .tx2 {
	width: 10em;
}



/* Kontaktformular */


.kontakt_form_wrapper form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 1em;
}

.kontakt_form_wrapper p {
	width: 100%;
	display: block;
	max-width: 100%;
	margin: 0;
}

.kontakt_form_wrapper  p:last-of-type, .kontakt_form_wrapper p:nth-last-of-type(2), .wpcf7-response-output, .info_pf {
	grid-column: span 2;
}

.info_pf {
	position: relative;
}

.info_pf p {
	position: absolute;
	left: 0;
	justify-content: flex-start;
	margin: 0;
	margin-top: -0.6em;
}

.kontakt_form_wrapper form > p:last-of-type {
	justify-content: flex-end;
	display: flex;
}

.wpcf7-text, .wpcf7-textarea {
	width: 100%;
	border: none;
	background-color: rgba(0,0,0,0.03);
	display: inline-block;
	padding: 0.5em 1em;
	border-radius: 1em;
	border: none !important;
	outline: none !important;
}

.wpcf7-text:focus, .wpcf7-textarea:focus {
	background-color: rgba(0,0,0,0.05);}

.wpcf7-textarea {
	height: 5em;
}

.wpcf7-submit {
	background-color: #E0E266;
	font-size: 0.86em;
	border-radius: 1.3em;
	padding: 0 1.6em;
	min-height: 2.6em;
	display: flex;
	align-items: center;
	font-weight: 600;
	letter-spacing: 0.03em;
	cursor: pointer;
	transition: all 0.5s;
	line-height: 1.1;
	border: none;
}

.wpcf7-submit:hover {
	background-color: rgb(7,162,82);
	color: #fff;
}

.wpcf7-not-valid-tip {
	font-size: 0.72em;
}

.wpcf7-spinner {
	position: absolute;
}

.wpcf7 form .wpcf7-response-output {
	margin: 0;
	padding: 0.5em 1em;
	border: none !important;
	font-weight: 600;
}

.wpcf7 form.sent .wpcf7-response-output {
	background-color: #59AA00;
	color: #fff;
	font-weight: 700;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #E18700;
	color: #fff;
}


/*------------------------------------*\
    NEWSLETTER
\*------------------------------------*/


.newsletter button[type='submit'] {
	background-color: rgb(7,162,82) !important;
}

.newsletter button[type='submit']:hover {
	background-color: #000 !important;
}

.newsletter .checkbox-inline input {
	margin-right: 0.5em;
}



/* Jobs */

.tab_benefits td {
	border: none;
}

.tab_benefits i {
	display: inline-block;
	width: 1.6em;
	height: 1em;
	font-size: 1.6em;
	text-align: left;
	color: #07a252;
}




/*------------------------------------*\
    IMAGES
\*------------------------------------*/



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

h1 {
	font-size: 3.2em;
	font-weight: 700;
	margin: 0;
	line-height: 1.1;
	padding-bottom: 0.5em;
	letter-spacing: 0.03em;
}

em.hlt, span.hlt {
	color: rgb(7,162,82);
}

h2, .h2 {
	font-size: 1.5em;
	letter-spacing: 0.04em;
	color: rgb(7,162,82);
	margin: 0;
	padding-bottom: 0.3em;
	font-weight: 700;
}

h2 + p, .h2 + p {
	margin-top: 0;
}

article ul {
	padding: 0;
	padding-left: 1em;
	margin: 0;
}

article ul li {
	margin: 0.5em 0;
}


.parent-pageid-629 main article ul {
	list-style: none;
	position: relative;
	font-weight: 400;
}

.parent-pageid-629 main article ul li {
	position: relative;
	margin: 0.2em 0;
}

.parent-pageid-629 main article ul li::before {
	content: '';
	position: absolute;
	width: 0.5em;
	height: 0.5em;
	left: -1em;
	top: 0.5em;
	background-color: #07a252; 
	border-radius: 1em;
	display: inline-block;
}


article p > a, .newsletter form a {
	font-weight: 400;
	color: rgb(7,162,82);
}

article p > a:hover, .newsletter form a:hover {
	color: #000;
}

.btn_wrapper {
	display: inline-block;
	margin: 0.3em 0;
}

.btn_ct, .wp-block-button__link {
	background-color: #E0E266;
	font-size: 0.86em;
	border-radius: 1.3em;
	padding: 0 1.6em;
	min-height: 2.6em;
	display: flex;
	align-items: center;
	font-weight: 600;
	letter-spacing: 0.03em;
	cursor: pointer;
	color: #000;
	transition: all 0.5s;
	line-height: 1.1;
}

.btn_ct:hover, .btn_wrapper:hover .btn_ct, .wp-block-button__link:hover {
	background-color: rgb(7,162,82);
	color: #fff;
}

.btn_ct span {
	white-space: normal;
}

details {
	max-width: 900px;
}

details summary {
	color: rgb(7,162,82);
}

details summary:hover {
	color: #000;
}

details h2 {
	font-size: 1.25em;
}

details h3 {
	font-size: 1.1em;
}


/* Insta Feed */


#sb_instagram #sbi_images {
	display: flex;
	justify-content: space-between;
}

#sb_instagram.sbi_col_2 #sbi_images .sbi_item {
	width: 49%;
}

#sb_instagram #sbi_load .sbi_follow_btn {
	margin-left: 0;
	margin-top: 0.3em;
}

#sb_instagram #sbi_load .sbi_load_btn, #sb_instagram .sbi_follow_btn a {
	font-size: 15px;
	font-weight: 500;
}




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

@media only screen and (max-width: 1300px) {
	
	.header {
		background-color: rgba(255,255,255,1);
		-webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,0.15);
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.15);
	}
	
	.logo-img {
		height: 80px;
		padding: 15px 0;
	}
	
	.socmed_wrapper img {
		filter: grayscale(0) brightness(1);
		height: 1.5em;
	}
	
	.nav a {
		color: #000;
		font-size: 0.86em;
	}
	
	.nav > ul > li:hover > a, .nav .current_page_item a {
		color: rgb(7,162,82);
	}
	
	.intro_wrapper::before {
		opacity: 0;
	}
	
	.box_raster {
		grid-template-columns: 1fr 1fr;
	}
	
	.box_raster .box_item {
		height: 33vw;
	}
	
	.box_tm .box_inner {
		font-size: 1.8vw;
	}
	
	.box_icon img {
		height: 13vw;
	}
	
	.box_icon_text {
		font-size: 3vw;
	}
	
	.box_icon:hover img {
		padding-bottom: 4.5vw;
	}
	
	.kunden-referenzen .box_item.item3 {
		display: none;
	}
	
	.jubi_wrapper {
		width: 12em;
		bottom: auto;
		top: calc(50% - 6em);
		left: auto;
		right: 15%;
	}
	
}




@media only screen and (max-width: 1020px) {
	
	
	.wrapper {
		font-size: 18px;
	}
	
	.socmed_wrapper {
		display: none;
	}
	
	.menu_icon_ct {
		display: inline-block;
	}
	
	.nav {
		background-color: #fff;
		position: absolute;
		left: 30%;
		width: 40%;
		top: 100%;
		opacity: 0;
		padding-bottom: 1em;
		padding-top: 2em;
		transition: all 0.5s;
		pointer-events: none;
	}
	
	.menuopen .nav {
		opacity: 1;
		left: 0;
		pointer-events: auto;
		width: 100%;
	}
	
	.nav ul {
		flex-direction: column;
		align-items: center;
	}
	
	.sub-menu, .nav > ul > li:hover .sub-menu {
		position: relative;
		background-color: transparent;
		left: auto;
		transform: none;
		opacity: 1;
		-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,0);
		box-shadow: 0 0 10px 0 rgba(0,0,0,0);		
	}
	
	.menuopen .sub-menu, .menuopen .nav > ul > li:hover .sub-menu {
		pointer-events: auto;
	}
	
	.scrld .nav a, .nav a {
		font-size: 1em;
	}
	
	
	.nav > ul > li {
		text-align: center;
	}
	
	.nav > ul > li {
		margin-bottom: 1em;
	}
	
	.nav > ul > li > a {
		padding: 0;
	}
	
	.sub-menu a, .scrld .sub-menu a {
		padding: 0.4em 1em 0.4em 1em;
		margin-top: 0.4em;
		border-bottom: none;
	}
	
	
	
	
	
	.home .art_col.col2 {
		width: 40%;
	}
	
	
	.team_cols {
		grid-template-columns: 1fr 1fr;
	}
	
	#map_rw {
		height: 70vmin;
	}
	
	
}




@media only screen and (max-width: 760px) {
	
	h1 {
		font-size: 2.4em;
	}
	
	
	.home .teaser_cols {
		grid-template-columns:  1fr 1fr;
		grid-row-gap: 4em;
	}
	
	.home .teaser_col {
		padding: 1em;
	}
	
	.box_icon img {
		padding-bottom: 4.5vw;
	}
	
	.box_icon .box_icon_text {
		opacity: 1;
		transform: translateX(-50%) translateY(0%);
	}
	
	.footer_cols {
		grid-template-columns:  1fr;
		grid-row-gap: 3em;
		text-align: center;
	}
	
	.footer_cols .col3 {
		text-align: center;
	}
	
	
	.intro_wrapper {
		height: 75vmin;
		background-attachment: unset;
	}
	
	.art_cols {
		flex-direction: column;
	}
	
	.fbx_inner .art_cols {
		flex-direction: row;
	}
	
	.home .art_col.col1, .home .art_col.col2 {
		width: 100%;
	}
	
	#liste_kompetenzen > .art_col.col1, .parent-pageid-11 .art_col.col1,  .kunden-referenzen .art_col.col1, .ueber-uns .art_col.col1, #aktuell .art_col.col1, #aktuell .art_col.col2, .kontakt .art_col.col1, .kontakt .art_col.col2, .dnd_foldbox_wrapper .art_col.col1 {
		width: 100%;
	}
	
	#liste_kompetenzen > .art_col.col2, .parent-pageid-11 .art_col.col2, .kunden-referenzen .art_col.col2, .ueber-uns .art_col.col2, .dnd_foldbox_wrapper .art_col.col2 {
		width: 100%;
		padding-top: 1em;
	}
	
	
	.sticky_kontakt_ct {
		display: none;
	}
	
	.logo_cols {
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 2em 3em;
	}
	
	.logo_col {
		height: 2em;
	}
	
	.ref_box {
		padding-right: 0;
	}
	
	.ref_box.ref_first {
		padding-right: 10em;
	}
	
	.ref_cov_ct {
		right: 1em;
	}
	
	.job_box .btn_wrapper {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.job_box .btn_wrapper .btn_ct {
		margin-top: 0.6em;
	}
	
	.intro_arrow {
		display: none;
	}
	
	.news_grid_wrapper {
		grid-template-columns: 1fr;
	}
	
	.jubi_wrapper {
		width: 10em;
		top: calc(50% - 5em);
		right: 5%;
	}
	
	main > section:first-of-type {
		padding-top: 2em;
	}
	
}



@media only screen and (max-width: 560px) {
	
	
	h1 {
		font-size: 2.1em;
	}
	
	.home .teaser_cols {
		grid-template-columns:  1fr;
	}
	
	.box_raster {
		grid-template-columns: 1fr;
	}
	
	.box_raster .box_item {
		height: 66vw;
	}
	
	.box_tm .box_inner {
		font-size: 3.6vw;
	}
	
	.box_icon img {
		height: 26vw;
	}
	
	.box_icon_text {
		font-size: 6vw;
	}
	
	.box_icon:hover img, .box_icon img {
		padding-bottom: 9vw;
	}
	
	
	.kompetenzen .art_col.col1, .kompetenzen .art_col.col2, .dnd_foldbox_wrapper .art_col.col1, .dnd_foldbox_wrapper .art_col.col2  {
		width: 100%;
	}
	
	.fbx_wrapper .fbx_title {
		width: 100%;
	}
	
	.fbx_inner .art_cols {
		flex-direction: column;
	}
	
	
	.logo_col {
		height: 1.5em;
	}
	
	.team_cols {
		grid-template-columns: 1fr;
	}
	
	.kontakt_form_wrapper p {
		grid-column: span 2;
	}
	
	.inline_2_cols {
		column-count: 1;
	}
	
	.jubi_wrapper {
		/*width: 8em;*/
		top: calc(50% - 3em);
	}
	
	.intro_wrapper {
		height: 100vmin;
	}
	
	
}



@supports (-webkit-touch-callout: none) {
	.intro_wrapper {
		background-attachment: scroll !important;
	}
}





/*------------------------------------*\
    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;
	}
}
