/*!
Theme Name: HDW
Theme URI: https://www.webcoon.de
Author: webcoon
Author URI: https://www.webcoon.de
Description: Theme für humandesignwissen
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: hdw
Tags: hdw

*/



/*--------------------------------------------------------------
# FONTS
# Theme-Schriften lokal laden (unabhaengig von Divi, das seine
# Fonts nur auf Seiten mit Text-Modulen mitbringt).
# Montserrat.ttf ist ein Variable Font (alle Gewichte 100-900).
--------------------------------------------------------------*/

@font-face {
	font-family: 'Montserrat';
	src: url('assets/fonts/Montserrat.ttf') format('truetype');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Brittany';
	src: url('assets/fonts/Brittany.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}



/*--------------------------------------------------------------
# VARIABLE
--------------------------------------------------------------*/

:root {
	--maxwidth: 1200px;
	--width: 86%;
	--header-height: 85px;
	--beige: #faf2f0;
	--rosa: #e6adbe;
	--grau: #343640;
	--tuerkis: #b7c6c9;
	--highlight: #c6b6b6;
}



/*--------------------------------------------------------------
# GLOBAL
--------------------------------------------------------------*/

body {
  font-family: "Montserrat";
  color: var(--grau);
  font-weight: 400;
  line-height: 1.7em;
  font-size: 18px;
  padding: 0;
  margin: 0;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  background-color: #7901a1;
  background-image: url("/wp-content/uploads/Hintergrund-repeat.jpg");
  background-repeat: repeat-y;
  background-size: 100% auto;
}

body {
	background-color: #070a2b;
	background-image: url("/wp-content/uploads/background-repeat.jpg");
}

*, *:after, *:before {
	box-sizing: border-box;
}

a {
	color: var(--grau);
	text-decoration: none;
}

p a {
	color: var(--grau);
	text-decoration: none;
}

#content #et-boc .et-l .et_pb_module a {
	color: var(--rosa);
}

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

p {
	margin: 0 0 15px;
}

input, textarea {
	box-shadow: unset;
	outline: unset;
}

strong {
	font-weight: 600;
}

ul li {
	list-style: none;
}

img, video {
	width: 100%;
	height: auto;
	display: block;
}

.overflow-hidden, .overflow-hidden body {
	overflow: hidden;
}

.upc {
	text-transform: uppercase;
}

.strong {
	font-weight: 600;
}

.embed-container { 
	position: relative; 
	padding-bottom: 56.25%;
	overflow: hidden;
	max-width: 100%;
	height: auto;
} 

.embed-container iframe,
.embed-container object,
.embed-container embed,
.embed-container ._placeholder { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.embed-container .placeholder-video img { 
	height: 100%;
	object-fit: cover;
}



/*--------------------------------------------------------------
# HDW
--------------------------------------------------------------*/

#content #et-boc .et-l .et_pb_section .et_pb_row {
	width: 90%;
}

.et_builder_inner_content {
	overflow: hidden;
}

#hero .et_pb_bottom_inside_divider {
	z-index: 10 !important;
}

#content #et-boc .col-center .et_pb_column {
	margin: auto !important;
	float: unset !important;
}

.et-l .et_pb_slider {
	overflow: unset !important;
}

.et_pb_slides .et_pb_slider_container_inner {
	display: flex !important;
	width: 90% !important;
	flex-direction: column !important;
	margin: auto !important;
}

.et_pb_slide_image {
	position: relative !important;
	margin: -80px auto 0 !important;
	max-width: 180px !important;
}

.et_pb_slide_title {
	padding-bottom: 30px !important;
}

.et_pb_slide_description {
	padding: 40px 0 !important;
	width: 100% !important;
	max-width: 680px;
	float: unset !important;
	text-align: center !important;
}

.et-l .et-pb-controllers {
	position: relative !important;
	bottom: unset !important;
	margin-top: 20px !important;
}

.et-pb-controllers a {
	border-radius: 10px !important;
	width: 10px !important;
	height: 10px !important;
	margin-right: 5px !important;
	padding-bottom: 0 !important;
	transition: all .4s ease !important;
}

.et-pb-controllers a:last-child {
	margin-right: 0px !important;
}

.et-pb-controllers a.et-pb-active-control {
	width: 23px !important;
}

.et_pb_slides .et_pb_slide {
	border-radius: 20px !important;
}

#content {
	overflow-y: hidden;
}


.phone-field { display: none !important; }

.col-115px {
	width: 115px !important;
}

.col--115px {
	width: calc(100% - 125px) !important;
}

/*--------------------------------------------------------------
# SONSTIGES
--------------------------------------------------------------*/

#BorlabsCookieBox .cookie-logo {
	max-width: 70px !important;
}

.datenschutz-text h3 {
	font-size: 24px;
	margin: 40px 0 20px;
}

#content .add-padding {
	padding: 100px 0 !important;
}



/*--------------------------------------------------------------
# ERROR
--------------------------------------------------------------*/

#content > #error {
	min-height: 100vh;
	background: var(--green);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;	
}

.error-content {
	max-width: 600px;
}

.error-404 {
	font-size: 50px;
	line-height: 1.2em;
	font-family: 'Arsenal', sans-serif;
	font-weight: 700;
}

.error-text {
	font-size: 30px;
	line-height: 1.2em;
	font-weight: 600;
	margin: 0 0 20px;
	color: #fff;
}

#content > #error a.button {
	padding: 6px 22px;
	background-color: var(--green);
}



/*--------------------------------------------------------------
# HEADER
--------------------------------------------------------------*/

#header {
	position: absolute;
	width: 100%;
	background: unset;
	z-index: 999;
	height: var(--header-height);
	padding: 15px 0 0;
	transition: all 0.4s ease;
}

.header-inner {
	max-width: var(--maxwidth);
	width: 90%;
	height: calc(var(--header-height) - 15px);
	display: grid;
	margin: auto;
	grid-template-columns: 1fr auto 1fr;
}

.header-logo {
	width: 110px;
	transition: all 0.4s ease;
	position: relative;
	z-index: 9999;
}

.menu {
	display: flex;
	justify-content: flex-end;
}

#header ul {
	padding: 0;
	list-style: none;
	margin: 0;
}

#header ul li {
	margin-right: 40px;
	padding-bottom: 0px;
}

#header ul li:last-child, #header ul li li {
	margin-right: 0px;
}

.header-menu-main .menu > li > a {
	font-size: 15px;
	text-transform: uppercase;
	color: #fff;
	position: relative;
	text-decoration: none !important;
	font-weight: 400;
	font-family: 'Montserrat', sans-serif;
}

.menu > li.current-menu-item > a {
	font-weight: 600;
}

.header-menu {
	display: flex;
	align-items: center;
	padding-bottom: 5px;
}

.header-menu.right {
	justify-content: flex-end;
}

.button.menu-item a {
	background: var(--rosa);
	padding: 12px 25px;
	border-radius: 100px;
	font-weight: 600;
	color: #fff !important;
}

.button.menu-item a:before {
	display: none !important;
}

.mobil-menu-button {
	display: none;
}

.menu > .menu-item > a:before {
    content:"";
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    width: 0;
    height: 2px;
    background: var(--rosa);
    margin: 0 auto;
    transition: .5s cubic-bezier(.4,-.01,0,.99);
}

.menu > .menu-item:hover > a:before, .menu > .current-menu-item > a:before{
    width: 100%;
}

.menu li > .sub-menu {
    position: absolute;
    z-index: 999;
    background: #fff;
    opacity: 0;
    margin-top: 35px;
    visibility: hidden;
    transition: opacity 0.3s ease, margin-top 0.4s ease, visibility 0s ease 0.2s;
    box-shadow: 10px 10px 20px -10px #0000001c;
    display: block;
    padding: 20px !important;
    width: 210px;
}

.menu .mega-menu > .sub-menu {
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

@media all and (min-width: 980px) {
	.menu li:hover .sub-menu {
		opacity: 1;
		visibility: visible;
		margin-top: 15px;
		transition: opacity 0.3s ease, margin-top 0.6s ease, visibility 0s ease 0s;
	}
}


.mobile-back {
	display: none !important;
}


/*--------------------------------------------------------------
# FOOTER
--------------------------------------------------------------*/

#footer {
	border-top: 1px solid #fff3;
	color: #fff;
	margin: 0px auto;
	width: var(--width);
	max-width: var(--maxwidth);
	padding: 80px 0;
}

#footer a {
	color: #fff;
}

#footer > .row {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center;
	position: relative;
}

.footer-logo {
	display: block;
}

.footer-logo img {
	width: 140px;
}

.footer-socials {
	display: flex;
	margin: 40px 0 30px;
}

.footer-social {
	height: 35px;
	width: 35px;
	margin-right: 10px;
}

.footer-links {
	font-size: 14px;
	text-align: center;
}



/*--------------------------------------------------------------
# POPUP
--------------------------------------------------------------*/

.popup {
	position: fixed;
	width: 100vw;
	z-index: 9999;
  	background: #0008;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 50px;
	display: flex;
	opacity: 0;
  	visibility: hidden;
	transition: all .2s ease .15s;
}

.popup.active {
	opacity: 1;
	visibility: visible;
	backdrop-filter: blur(2px);
	transition: all .3s ease;
}

.popup-inner {
	max-width: 600px;
	border-radius: 30px;
	padding: 50px;
	box-shadow: 0 0 40px #0003;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 100%;
	pointer-events: auto;
	background-color: #faf2f0;
	outline: 0;
	margin: auto;
	transform: translateY(80px);	
	transition: transform .5s ease;
}

.popup.active .popup-inner {
	transform: translateY(0px);
}

.popup ._close {
	width: 30px;
	height: 30px;
	opacity: 1;
	cursor: pointer;
	position: absolute;
	right: 25px;
	top: 25px;
}

.popup ._close::before, .popup ._close::after {
	position: absolute;
	left: 15px;
	content: ' ';
	height: 30px;
	width: 2px;
	border-radius: 5px;
	background-color: #000;
}

.popup ._close::before {
	transform: rotate(45deg);
}

.popup ._close::after {
    transform: rotate(-45deg);
}



.popup .subline * {
	font-weight: 300;
	font-family: 'Brittany',Helvetica,Arial,Lucida,sans-serif;
	font-size: 40px;
	color: #e6adbe !important;
	line-height: 1.3em;
	text-shadow: 0em 0em 0.14em #FFFFFF;
	margin: 0;
}

.popup .headline * {
	font-weight: 700;
	font-size: 40px;
	color: var(--grau) !important;
	line-height: 1.1em;
	text-shadow: unset;
	margin: 10px 0 20px;
}



._form-content {
	display: flex;
  	flex-wrap: wrap;
	gap: 5px 10px;
}

._full_width {
	width:100%;
}

.col-50 {
	width:calc(50% - 5px);
}

._form-content input {
	display: block;
	width: 100%;
	height: 48px;
	line-height: 48px;
	font-size: 16px;
	background: #fff;
	border: 0;
	border-radius: 10px;
	padding: 0 15px;
	color: var(--grau);
	margin-bottom: 10px;
	font-family: "Montserrat";
	font-weight: 400;
}

._form-content select {
	display: block;
	width: 100%;
	height: 48px;
	line-height: 48px;
	font-size: 16px;
	background: #fff;
	border: 0;
	border-radius: 10px;
	padding: 0 15px;
	color: var(--grau);
	margin-bottom: 10px;
	font-family: "Montserrat";
	font-weight: 400;
	border-right: 20px solid #fff;
}

#_form_3_submit {
	padding-top: 16px !important;
	padding-right: 50px !important;
	padding-bottom: 17px !important;
	padding-left: 30px !important;
	background: var(--rosa);
	border-radius: 100px;
	font-size: 16px;
	color: #fff;
	position: relative;
	text-decoration: none !important;
	font-weight: 600;
	font-family: 'Montserrat', sans-serif;
	line-height: 1.3em;
	display: inline-flex;
	align-items: center;
	border: 0;
	transition: all .3s ease;
	box-shadow: 0px 2px 18px 0px #E6ADBE;
	margin-top: 30px;
	cursor: pointer;
}

#_form_3_submit::after {
	content: "";
	position: absolute;
	display: block;
	right: 25px;
	height: 7px;
	width: 7px;
	border-top: 1px solid;
	border-right: 1px solid;
	transform: rotate(45deg);
}

#_form_3_submit:hover {
	background: #343640;
	color: #fff;
	box-shadow: 0px 0px 0px 0px #E6ADBE;
}

/*--------------------------------------------------------------
# RESPONSIVE
--------------------------------------------------------------*/


/*
@media all and (min-width: 980px) and (max-width: 1428px) {

}
*/

.mobil-menu {
	display: none !important;
}

@media (max-width: 1200px) and (min-width: 980px) {
	.header-logo {
		width: 120px;
	}

	.menu > li > a {
		font-size: 15px;
	}

}

@media (max-width: 1100px) and (min-width: 980px) {
	#header ul li {
		margin-right: 15px;
	}

	.menu > li > a {
		font-size: 14.2px;
	}
}

@media (min-width: 981px) {
	.mobil-text {
		display: none !important;
	}
}

@media all and (max-width: 980px) {

	:root {
		--header-height: 95px;
	}

	body.no-scroll {
		overflow: hidden;
	}



	/*--------------------------------------------------------------
	# HEADER
	--------------------------------------------------------------*/

	.no-scroll #header{
		position: fixed;
		top: 0px;
	}

	.header-menu {
		display: none;
	}

	.header-logo {
		width: 100px;
	}

	.header-inner {
		justify-content: center;
		display: flex;
	}

	.mobil-menu-button {
		position: absolute;
		right: 5%;
		top: 0;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		bottom: 0;
		margin: auto;
		height: 40px;
		justify-content: space-around;
		padding: 12px 0;
		cursor: pointer;
		z-index: 9;
	}

	.line--burger {
		width: 42px;
		height: 1.5px;
		display: block;
		background: #fff;
		transition: all 0.2s ease !important;
	}

	.line--burger:last-child {
		width: 30px;
	}

	.mobil-menu-button.active .line--burger:first-child {
		transform: rotate(-45deg);
		width: 32px !important;
	}

	.mobil-menu-button.active .line--burger:last-child {
		transform: rotate(45deg);
		margin-top: -14px;
		width: 32px !important;
	}

	.mobil-menu {
		background: var(--rosa);
		color: var(--text);
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		padding: 120px 7% 60px;
		display: flex !important;
		align-items: center;
		flex-direction: column;
		justify-content: flex-start;
		transform: translateX(110%);
		transition: all 0.45s ease;
	}

	.mobil-menu.active {
		transform: translateX(0);
	}

	.menu-mobile-container {
		width: 100%;
		text-align: center;
	}

	.button.menu-item {
		margin-top: 20px;
	}

	.button.menu-item a {
		background: #000;
		color: var(--rosa) !important;
	  }

	.social-menu {
		display: flex;
		justify-content: center;
		margin-top: 20px;
		width: 100%;
	}

	.social-menu img {
		filter: invert(1);
	}


	#header .menu-mobile-container ul li {
		margin-right: 0px;
		padding-bottom: 15px;
	}

	.mobil-menu ul {
		padding: 0;
		list-style: none;
	}

	.menu {
		display: block;
	}

	#header .header-menu ul li {
		margin: 0 !important;
		padding-bottom: 30px;
	}

	.header-menu ul li a {
		text-transform: uppercase;
		font-size: 22px;
		line-height: 1.1em;
		color: var(--text);
		display: block;
	}

	.header-menu-sec {
		display: none !important;
	}

	.header-menu-main {
		width: 100%;
	}


	.menu .mega-menu .sub-menu {
		padding: 0px !important;
		display: flex;
		width: 100vw;
		left: unset;
		right: -100vw;
		margin-left: auto;
		margin-right: auto;
		opacity: 1;
		visibility: visible;
		top: 110px;
		margin: 0;
		transition: right .45s ease;
	}

	.menu .mega-menu.active .sub-menu {
		right: 0vw;
	}

	.mega-menu-inner {
		flex-direction: column;
		overflow: scroll;
		height: calc(var(--app-height) - 110px);
	}

	.menu--links {
		flex-direction: column;
	}

	.mega-menu-inner .menu-links {
		width: 100%;
		height: 100%;
		padding: 0px 30px 50px;
	}

	.mega-menu-inner .menu-img, .mega-menu-inner .menu-map {
		display: none;
	}

	.menu--links .menu-item {
		width: 100%;
	}

	.menu > .menu-item a::before, .menu > .menu-item:hover > a::before, .menu > .current-menu-item > a::before {
		display: none !important;
	}

	.mega-menu > a {
		position: relative;
		display: flex;
		align-items: center;
	}

	.mega-menu > a:after {
		content:"";
		position: absolute;
		right: 0;
		height: 10px;
		width: 10px;
		border-right: 1px solid;
		border-top: 1px solid;
		transform: rotate(45deg);
	}

	.menu li .sub-menu .mega-menu-inner a.button {
		font-size: 16px !important;
		color: #fff !important;
		margin-bottom: 30px !important;
	}

	.mobile-back {
		position: relative;
		display: flex !important;
		align-items: center;
		padding-left: 15px;
		cursor: pointer;
		margin-bottom: 10px;
	}

	.mobile-back:after {
		content:"";
		position: absolute;
		left: 0;
		height: 10px;
		width: 10px;
		border-left: 1px solid;
		border-bottom: 1px solid;
		transform: rotate(45deg);
	}
	

	.order {
		display: flex !important;
		flex-direction: column !important;
	}

	.order-1 {
		order:1;
		margin-bottom: 30px !important;
	}

	.order-2 {
		order:2;
		margin-bottom: 0px !important;
	}


	#content #et-boc .et_pb_slide_image {
		margin-top: -80px !important;
		max-width: 150px !important;
		display: block !important;
	}

	.hero-img * {
		width: 100% !important;
	}


	.col-50 {
		width:100%;
	}	


	/*--------------------------------------------------------------
	# FOOTER
	--------------------------------------------------------------*/


	#footer .row .col-3 {
		width: 100%;
		text-align: center;
	}

	#footer .custom-logo-link img {
		margin: 0 auto 20px;
	}

	#footer .footer-socials {
		margin-top: 40px;
		justify-content: center;
	}

	.footer-social:last-child {
		margin-right: 0 !important;
	}

	

}