@charset "UTF-8";
/* CSS Document */

/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v40-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/open-sans-v40-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: bold;
  font-weight: 600;
  src: url('../fonts/open-sans-v40-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


:root {
	--color-light-shades: #FFFFFF;
	--color-light-accent: #949490;
	--color-main-brand: #EC8632;
	--color-dark-accent: #3E4150;
	--color-dark-shades: #000000;
	
}

.mainbrand{
	background-color: var(--color-main-brand);
	color: var(--color-light-shades);
}

.light-shades{
	background-color: var(--color-light-shades);
	color: var(--color-dark-shades);
}

.dark-shades{
	background-color: var(--color-dark-shades);
	color: var(--color-light-shades);
}

.light-accent{
	background-color: var(--color-light-accent);
	color: var(--color-light-shades);
}

.dark-accent{
	background-color: var(--color-dark-accent);
	color: var(--color-light-shades);
}

.row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x)); 
	padding: 0;
	
	
}

.col-md-6{
	padding: 0 !important;
}


.headline{
	color: var(--color-main-brand);
	font-weight: 900;
	text-shadow: 1px 1px 1px #474747;
	-webkit-text-stroke: .2px var(--color-light-shades);
	text-stroke: .2px var(--color-light-shades);	

}


.twocolumn{    
	-webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
	-webkit-column-gap: 10vw;
    -moz-column-gap: 10vw;
    column-gap: 10vw;
	column-rule: 1px solid;
	text-align: justify;
	margin-top: 2vh;
	margin-bottom: 10vh;
}

@media only screen and (max-width: 768px) {
	.twocolumn{    
	-webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
	-webkit-column-gap: 10vw;
    -moz-column-gap: 10vw;
    column-gap: 10vw;
	column-rule: 1px solid;
	text-align: justify;
	margin-top: 2vh;
	margin-bottom: 10vh;
}
}


.wrapper{
	padding: 3vw;
	font-family: 'Open Sans', sans-serif;
}

.anker{
	position: relative;
	top: -30vh;
}

@media only screen and (max-width: 990px){
	.anker{
	position: relative;
	top: -40vh;
	}
}

h2, h4, h6, p, ul{
	margin-left: 5vw;
	margin-right: 5vw;
}

.modal-body h1, .modal-body h2, .modal-body h3, .modal-body h4, .modal-body h5, .modal-body h6, .modal-body p, .modal-body ul{
	margin: 0;
}


h6{
	padding-top: 5vh;
}

h2{
	font-size: 2.5em;
}

a{
	color: var(--color-light-shades);
}


#header{

	font-family: 'Open Sans', sans-serif;
	margin: 3vh;
	margin-bottom: 5vh;
	padding: 0 !important;
	
	animation: shadow 0.15s linear infinite;
	animation-play-state: paused;
	animation-delay: calc(var(--scroll) * -1s);

	animation-iteration-count: 1;
	animation-fill-mode: both;
}

@keyframes shadow{
  to {
	-webkit-box-shadow: 0px 10px 13px -7px #000000, 3px 3px 5px 3px rgba(0,0,0,0); 
	box-shadow: 0px 10px 13px -7px #000000, 3px 3px 5px 3px rgba(0,0,0,0);
	  
  }
}

#header .contact{
	float: right;
	margin-right: 1vw;
}

#headertop{
	padding: 10px;
}

#logo{
	width: 48vw;
	float: left;
}

#mainmenu{
	width: 42vw;
	float: left;
}

@media only screen and (max-width: 768px) {
	#mainmenu{
	width: 38vw;
	float: left;
}
}

@media only screen and (min-width: 991px) {
	#logo{
		width: 30vw;
		animation: scale1 0.15s linear infinite;
		animation-play-state: paused;
		animation-delay: calc(var(--scroll) * -1s);

		animation-iteration-count: 1;
		animation-fill-mode: both;
	}
	#mainmenu{
		width: 65vw;
		animation: scale2 0.15s linear infinite;
		animation-play-state: paused;
		animation-delay: calc(var(--scroll) * -1s);

		animation-iteration-count: 1;
		animation-fill-mode: both;
	}
}

@keyframes scale1{
  to {
    	width: 15vw;
	  
  }
}

@keyframes scale2{
  to {
    	width: 80vw;
	  
  }
}


#navbarNavAltMarkup{
	justify-content: flex-end;
	
}

#mainmenu nav{
	padding-top: 5vh;
	font-size: 1.2em;
	
}

#mainmenu a:hover{
	font-weight: bold;
}

.navbar-collapse{
	text-align: right;
}

#headslider .carousel-inner{
	height: 65vh;
	font-family: 'Open Sans', sans-serif;
}

#headslider .carousel-caption{
	position: absolute;
	left: 60%;
	top: 0;
	bottom: 0;
	right: 0;
	background-color: rgba(236,134,52,0.80);
	height: 65vh;
	text-align: left;
	padding: 2vw;
	padding-right: 5vw;
}

#headslider p{
	margin-left: 0;
}

@media only screen and (max-width: 990px) {
	#headslider .carousel-inner{
		height: 85vh;
	}
	
	#headslider .carousel-caption{
		position: absolute;
		left: 0;
		top: 60%;
		bottom: 0;
		right: 0;
		background-color: rgba(236,134,52,0.80);
		height: 80vh;
		text-align: left;
		padding: 5vw;
		padding-left: 10vw;
		padding-right: 10vw;
	}	
}

@media only screen and (max-width: 768px) {
	#headslider .carousel-inner{
		height: 85vh;
	}
	
	#headslider .carousel-caption{
		position: absolute;
		left: 0;
		top: 80%;
		bottom: 0;
		right: 0;
		background-color: rgba(236,134,52,0.80);
		height: 70vh;
		text-align: left;
		padding: 5vw;
		padding-left: 10vw;
		padding-right: 10vw;
	}	
}


#headslider .carousel-control-prev, #headslider .carousel-control-next{
	width: auto;
}

#headslider .carousel-control-prev-icon, #headslider .carousel-control-next-icon{
	background-color: black;
}

#headslider .btn{
	position: absolute;
	bottom: 10vw;
}

@media only screen and (max-width: 990px) {
	#headslider .btn{
		bottom: 35vw;
	}
}

@media only screen and (max-width: 768px) {
	#headslider .btn{
		bottom: 30vw;
	}
}

#leistungen{
	margin-top: 10vh;
}

#leistungen .leistung{
	height: 70vh;
	overflow: hidden;
	position: relative;
	padding: 1vw;
	margin-bottom: 2vh;
}

@media only screen and (max-width: 1100px){
	#leistungen .leistung{
		height: 60vh;
	}
}

@media only screen and (max-width: 768px){
	#leistungen .leistung{
		height: 100vh;
	}
}

#leistungen .leistung img{
	width: 130%;
	position: absolute;
	bottom: 0;

}

@media only screen and (min-width: 1000px) {
	#leistungen .leistung img{
		width: 110%;
		

		}	
	}

@media only screen and (min-width: 1200px) {
	#leistungen .leistung img{
		width: 100%;
		bottom: -5vh;

		}	
	}


#leistungen .leistung img:hover{
	opacity: 0.9;
}

#leistungen .leistung-text{
	position: absolute; 
	bottom: 3vh;
	left: 2vw;
}

#leistungen .leistung-text h3{
	color: var(--color-main-brand);
	font-size: 2em;
	font-weight: 700;
	-webkit-text-stroke: 1px var(--color-light-shades);
	text-stroke: 1px var(--color-light-shades);	
	text-shadow: 3px 5px 2px #474747;
}

#abouttext{
	padding-left: 5vw;
}

#abouttext h2{
	font-size: 2.5em;
	font-weight: 900;
}

#aboutpic img{
	margin-top: 5vh;
}

.pic-leistung{
	height: 80vh;
	overflow: hidden;
}

.text-leistung{
	padding: 5vw;
}

.text-leistung h2{
	margin-top: 5vw !important;
}

.text-leistung .btn{
	margin-left: 5vw;
	margin-bottom: 5vh;
}

.pic-leistung img{
	height: 100%;
	width: auto;
}

#leistungen2{
	margin-top: 10vh;
}

#galerie h2{
	margin-left: 2vw;
	margin-top: 5vh;
	margin-bottom: 5vh;
}

#galerie .galerie-item{
	padding: 0;
	border: 5px solid white;
	border-radius: 5px;
	overflow: hidden;
	margin: 2vw;

}

#galerie img{
	width: 100%;
}

#contact{
	margin-top: 20vh;
	margin-bottom: 20vh;
	border-top: 2px solid var(--color-dark-shades);
	border-bottom: 2px solid var(--color-dark-shades);
}

#contact-text h2{
	color: var(--color-main-brand);
	font-size: 2.5em;
	font-weight: 700;
	-webkit-text-stroke: .3px var(--color-light-shades);
	text-stroke: .3px var(--color-light-shades);	
	text-shadow: 2px 2px 2px #474747;
}

#contact h6{
	padding-top: 0;
}

#contact a{
	color: var(--color-light-shades);
}

#footer{
	padding: 3vw;
}

#footer a{
	color: var(--color-light-shades);
}

#footer p{
	font-size: 1em;
}

#socialsmobile{
	height: 10vh;
	position: fixed;
	bottom: 0;
}

.socialsmobileicon{
	width: 50vw;
	float: left;
}

.socialsmobileicon p{
	text-align: center;
	font-size: 2em;
}

.socialsmobileicon a{
	color: var(--color-light-shades);
}

@media only screen and (max-width: 768px){
	.sticky-top{
	top: 2vh !important;
}
}

