@charset "utf-8";
/* copyright 2022 webQ GmbH */
/* Yuseinvo - Dienstleistungen main.css */

/* roboto-slab-regular - latin */
@font-face {
	font-family: 'Roboto Slab';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/roboto-slab-v24-latin-regular.eot'); /* IE9 Compat Modes */
	src: local(''),
		url('../fonts/roboto-slab-v24-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		url('../fonts/roboto-slab-v24-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
		url('../fonts/roboto-slab-v24-latin-regular.woff') format('woff'), /* Modern Browsers */
		url('../fonts/roboto-slab-v24-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
		url('../fonts/roboto-slab-v24-latin-regular.svg#RobotoSlab') format('svg'); /* Legacy iOS */
}
/* roboto-regular - latin */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/roboto-v30-latin-regular.eot'); /* IE9 Compat Modes */
	src: local(''),
		url('../fonts/roboto-v30-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
		url('../fonts/roboto-v30-latin-regular.woff') format('woff'), /* Modern Browsers */
		url('../fonts/roboto-v30-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
		url('../fonts/roboto-v30-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

* {
	margin:0px;
	padding:0px;
	border:0;
	box-sizing: border-box;
    outline: none !important;
}
body, input, textarea {
	font-family: "Roboto", Arial, sans-serif;
}
body {	
	font-size: 18px;
	line-height: 150%;
	color: #333;
	background-color: #fff;
}
html {
	scroll-padding-top:155px; /* height of sticky header */
}
html, body {
	scroll-behavior: smooth;
	width: 100%;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
h1, h2, h3, .titel, .hovertext{
	font-family: "Roboto", Arial, sans-serif;
}
h1, h2 {
	font-size: 2rem;
	line-height: 1.2em;
	margin-bottom: 0.6em;
	color:#062c3f;
}
h2.blue, .titel {
	font-size: 1.5rem;
	line-height: 1.2em;
	color:#062c3f;
}
h2.brown {
	color:#333;
}
.header {
	max-width: 70rem;
	margin: 0 auto;
}
main {
	padding-top:10em;
}
a {
	text-decoration: none;
}
a.blue {
	color: #062c3f;
}
a.blue:hover {
	color: #333;
}
a.white {
	color: #ccc;
}
a.white:hover {
	color: #fff;
}
button, .button {
	background-color: #062c3f;
	color: #fff;
	border-radius: 5px;
	font-size: 1rem;
	padding: 10px 20px;
	margin: 15px 0;
	display: inline;
}
button:hover, .button:hover {
	background-color: #333;
}
button a, .button a {
	color: #fff;
}
figure img{
	/*border-radius: 15px;*/
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
#leistungen ul{
	margin-left: 1rem;
}
.container {
	max-width: 1280px;
	margin: 0em auto;
	padding: 1em;
	overflow: hidden;
	border: 0px solid #062c3f;
	position:relative;
}
footer .container {
	max-width: 100%;
	width: 100%;
	background-color: #333;
	color: #fff;
	text-align: center;
}
section {
	padding:3em 0;
}
/* ------ layout grid ------ */
.flexbox, .threecols {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.threecols {
	width: 32%;
	border: 1px solid #eee;
	margin-bottom: 2%;
	position:relative;
}
.threecols .icon {
	width:40%; 
}
.threecols .titel {
	width:60%; 
}
.threecols .text {
	margin-top:1.5em;
	width:100% 
}
.twocols {
	width: 50%;
	border: 0px solid red;
	margin-bottom: 2em;
}
.twocols figure{
	padding-right: 10%;
}
#footer .twocols {
	margin-bottom: 0;
}
.onecol {
	width: 100%;
	margin-top: 4em;
	border: 0px solid orange;
}
.onecol figure {
	width:32%;
	margin-bottom: 2%;
	border: 0px solid gray;
	position: relative;
}
.third {
	width:33%;
}
.twothird {
	width:66%;
}
/* ------ shadow div ------ */
.shadow > div {
	background: #fff;
	padding: 1.5em;
	box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
	/*border-radius: 15px;*/
	transition-duration: 0.3s;
}
.shadow > div:hover {
	box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3);
}
/* ------ video ------ */
/* #showreel-video {
	background-image: url(/images/trockenbau/4.jpg);
	background-repeat: no-repeat;
	background-position-y: 2em;
	background-size: contain;
	min-height:65vh;
} */
 .mainImage{
	/*height: 500px;*/
	overflow: hidden;
 }
/* ------ navigation menu ------ */
#logo a {
	display: block;
	height: 101px;
}
#logo {
	float: left;
	width: 16rem;
	height: 200px;
	background-image: url(/images/logo4.png);
	background-size: cover;
	text-indent: -1000rem;
	transition: .3s ease-in-out;
	border: 0px solid #062c3f;
}
.navbar.scrolled #logo {
	width: 9rem;
	height: 76px;
}
.navbar {
	position: fixed;
	white-space: nowrap;
	width: 100%;
	margin: 0 auto;
	border: 0px solid yellow;
	background-color: rgb(6, 44, 63);
	z-index: 100;
	height: 8.5em;
	transition: .3s ease-in-out;
}
.navbar.scrolled {
	height: 5.5em;
}
.navbar ul {
	float: right;
	margin-top: 2.25rem;
}
.navbar li {
	list-style: none;
	display: inline-block;
	text-transform: uppercase;
	padding: 0 2vw;
}
.navbar li a {
	text-decoration: none;
	color: #ccc;
	transition: .3s ease-in-out;
	font-weight: 700;
}
.navbar li a.active {
	color: #fff;
	/*font-weight: bolder;*/
}
/* Arrow Button*/
.arrow {
	border: solid #fff;
	border-width: 0 3px 3px 0;
	display: inline-block;
	padding: 5px;
}
.right {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-left: 5px;
}
/* ------ image hover ------ */
.imgover {
	background-color:#062c3f;
	position:absolute;
	width:100%;
	height:100%;
	/*border-radius: 15px;*/
	opacity:0;
	transition: .5s ease;
	z-index: 2;
}
figure:hover .imgover {
	opacity:1;
}
.hovertext {
	color: white;
	font-size: 2rem;
	line-height: 2.5rem;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
}
/* ------ text on image Referenzen------ */
#referenzen figure{
	position: relative;
	text-align: center;
	font-size: 3rem;
	color: white;
	height: 400px;
  	overflow: hidden;
}
.bottom-left {
	width: 15%;
	position: absolute;
	top: 90%;
	left: 10%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
.bottom-right {
	position: absolute;
	bottom: -4%;
	right: -9%;
	transform: translate(-50%, -50%);
	z-index: 1;
	background-color: #062c3f;
	border-radius: 5px;
	padding:2px 10px;
	font-size:0.75em;
	color:#FFF;
}
.bottom-right img {
	border-radius: 15px;
}

/* #referenzen {
	background-image: url(/images/helles-holz.jpg);
	background-repeat: no-repeat;
	background-size: cover;
} */
/* ------ slider Partner ------ */
#partner_slider button{
	margin: 0 0;
}
#partner_slider .splide__track{
    margin: auto;
    max-width: 90%;	
}
#partner_slider li {
	padding: 0 20px;
}
#partner_slider .splide__arrow{
	background: none;
}
#partner_slider .splide__arrow svg{
	fill: #062c3f;
}
#partner .splide__pagination__page {
	background: #062c3f;
	visibility: hidden;
}
#partner_slider .splide__slide img {
		padding-left: 15%;
		padding-right: 15%;
	}
/* ------ last picture before footer ------ */
#footerimg img{
	height:100%;
	width:100%;
}
#footerimg {
	padding: 0 0;
}
/* ------ contact form ------ */
form{
    padding: 10px 30% 10px 0px;
}
form input, form textarea, form select{
    border: 1px solid #062c3f;
    border-radius: 3px;
    font-size: 1rem;
    padding: 5px 10px;
    margin-top: 20px;
    width: 100%;
    resize: none;
    outline: none;
}
form textarea{
	height: 200px;
}
#contact_form {
	margin-bottom: 2em;
}
#contact_form #Fax {
	display:none;
}
#send_success, #send_error {
	display: none;
}
/* ------ checkbox contactform ------ */
.check {
    display: block;
	top: 1rem;
	position: relative;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.check input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	background-color: #eee;
	border: 1px solid #062c3f;
    border-radius: 3px;
}
.check:hover input ~ .checkmark {
	background-color: #ccc;
}
.check input:checked ~ .checkmark {
	background-color: #062c3f;
}
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
.check input:checked ~ .checkmark:after {
	display: block;
}
.check .checkmark:after {
	left: 8px;
	top: 3px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
/* ------ mobile menu ------ */
#about {
	margin-top: 1em;
}
#partner {
	margin-top: 0.5em;
}
/* ------ mobile menu ------ */
#mobile_menu {
	background-image: url(/images/menu.svg);
	width: 50px;
	height: 70px;
	background-size: cover;
	position: absolute;
	right: 30px;
	top: 20px;
	display: none;
	transition: all 0.5s ease;
	cursor: pointer;
}
/* ------ scroll to top button ------ */
.scrollToTop {
	display: none;
	text-align: center;
	padding: 1em;
	border-radius: 15%;
	transition: all 0.5s ease 0s;
	width: 3rem;
	height: 3rem;
	text-decoration: none;
	position: fixed;
	bottom: 0.6rem;
	right: 0.8rem;
	background: url(/images/top-icon.svg) no-repeat center center;
	background-size: auto;
	background-size: 28px 26px;
	background-color: #062c3f;
	font-size: 0;
	cursor: pointer;
	z-index:99;
}
/* ------ overlay Elements ------ */
#overlay {
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 10em;
    left: 0;
    height: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 1.0);
    padding: 0rem;
    z-index: 1000;
    -webkit-overflow-scrolling: touch;
    overflow: hidden;
	scroll-behavior: smooth; 
}
#overlay.open {
    top: 0em;
    height: 100%;
    opacity: 1;
    pointer-events: all;
    transition: all 0.5s ease;
}
#overlay .close {
    position: fixed;
    top: 0rem;
	right: 1rem;
    display: block;
	height: 80px;
	width: 80px;
    background: url(/images/close.svg) no-repeat center center;
	background-size: 70%;
    text-indent: 1000em;
    z-index: 100000;
	/*transform: skewX(-20deg);*/
}
/*#overlay .close:hover {
	background: url(/images/closehover.svg) no-repeat center center;
	background-size: 65%;
}*/
#overlay img {
	vertical-align: bottom;
}
.overlay_media {
	height: 100%;
	width: 100%;
	position:relative;
	text-align: center;
}
#overlay_info {
	position: fixed;
	width: 70%;
	top: 38%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 1em;
	color: #333;
	text-align: left;
	background-color: #eeeeee70;
	border: solid 1px #062c3f;
	border-radius: 15px;
}
.overlay_media.portrait #overlay_info {
    width: 70%;
}
.overlay_media video {
	height: 100%;
}
.overlay_media.portrait img {
	width: auto !important;
	max-width: none;
	height: 100%;
}
.overlay_media.landscape img {
	/*max-width: 100%;*/
	width: 100%;
	height: auto;
}
#prevnext {
	border: 0px solid red;
	position:fixed;
	top: 50%;
	/*right:1rem;*/
	width: 100%;
}
#prev, #next, #more {
	background-color:#eee;
	transition: all 0.5s ease 0s;
	padding:1rem;
	border-radius: 15px 0px 0px 15px;
	height: 72px !important;
	width: 54px !important;
	cursor:pointer;
	margin:1rem 0;
	display:none;
}
#prev:hover, #next:hover, #more:hover {
	background-color: #b5c21d;
}
#prev::after, #next::after, #more::after {
    content: '';
    border: solid #515151;
    border-width: 0 4px 4px 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    display: inline-block;
	position:absolute;
	padding: 8px;
	margin-left: 0px;
	margin-top: 9px;
}
#prev::after {
    -webkit-transform: rotate(140deg);
	transform: rotate(140deg);
	margin-left: 4px;
}
#next {
	position: absolute;
	right:0;
}
#prev {
	position: absolute;
	border-radius:  0px 15px 15px 0px;
}
#close img {
	position: absolute;
	height: 6vh;
	top: 2.5vh;
	right: 2.5vh;
}
.footerlink{
	margin-right: 1.5em;
}
.socialmedia {
	margin-right: 2em;
}

/* ------ mobile styles ------ */
@media only screen and (max-width: 960px){
	#mobile_menu {
		display: block;
	}
	#nav_items {
		margin-top: 81px;
		float: none;
		display: block;
		transition: .3s ease-in-out;
	}
	#nav_items li {
		display: block;
		width:100%;
		text-align:center;
		padding:1em;
		float: left;
		background-color: rgba(255,255,255,0.9);
		transition: .3s ease-in-out;
	}
	.navbar li a {
		display: block;
	}
	.navbar.scrolled #mobile_menu {
		width: 50px;
		height: 70px;
		background-size: cover;
		position: absolute;
		right: 30px;
	}
	#nav_items.hide {
		/*display: none;*/
		opacity:0;
	}
	#nav_items.hide li, #nav_items.hide li a {
		height:0;
		padding:0;
		pointer-events: none;
	}
	#nav_items.show {
		/*display: block;*/
		opacity:1;
	}
	#nav_items.show li, #nav_items.show li a {
		height:auto;
		padding:10px;
		pointer-events: all;
		color:#062c3f;
	}
	.threecols, .onecol figure {
		width: 49%;
		margin-bottom: 3%;
	}
	.threecols .icon img {
		max-width: 80%;
		max-height: 80%;
	}
	.bottom-left {
		width: 20%;
		top: 85%;
		left: 15%;
	}
	#overlay .close {
		right: 0rem;
	}
	#partner_slider .splide__slide img {
		padding-left: 0%;
		padding-right: 0%;
	}
	#logo {
	  width: 10rem;
   	 height: 118px;
	}
	
}
@media only screen and (max-width: 500px){
	.twocols, .threecols, .onecol figure, .twocols figure {
		width: 100%;
		padding-right: 0;
		margin-bottom: 5%;
	}
	#partner_slider .splide__slide img {
		padding-left: 25%;
		padding-right: 25%;
	}
	#footer .twocols {
  		margin-bottom: 1.5em;
	}
}