@import url("reset.css");

/* 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-v43-latin-regular.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-v43-latin-italic.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700 - 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: 700;
	src: url('../fonts/open-sans-v43-latin-700.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700italic - 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: 700;
	src: url('../fonts/open-sans-v43-latin-700italic.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* krona-one-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: 'Krona One';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/krona-one-v14-latin-regular.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

html {
	scroll-behavior: smooth
}

body {
	font-family: 'Open Sans';
	font-size: 16px;
	line-height: 26px;
}

* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

header {
	background: #ddeae1;
	background-size: cover;
	background-repeat: no-repeat;
	padding: 100px 10%;
}

header .col2 img {
	width: 100%;
}

strong {
	color: #2e5f4c;
	font-family: 'Krona One';
}

.logo {
	height: 50px;
}

.flex {
	display: flex;
	align-items: center;
	column-gap: 80px;
}

nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: #f2f2f2;
	position: fixed;
	top: 0;
	left: 0;
	padding: 15px 10%;
	z-index: 999;}

nav ul {
	display: flex;
}

nav ul li a {
	padding-left: 30px;
	color: #2e5f4c;
	text-decoration: none;
}

section {
	padding: 100px 10%;
}

h1,
h2,
.claim{
	font-size: 30px;
	line-height: 40px;
	color: #2e5f4c;
	padding-bottom: 20px;
	font-family: 'Krona One';
}

#landingpage-1 h2{
	font-size: 18px;
	line-height: 28px;
	margin-top: 30px;
}

#landingpage-1 a, #landingpage-2 a{
	color: #42846d;
	text-decoration: none;
}

#landingpage-2{
	background: #ddeae1;
}

#landingpage-2 ul{
	list-style: disc;
	margin-bottom: 50px;
	margin-left: 15px;
	margin-top: 20px;
}

#landingpage-2 ul li{
	margin-top: 10px;
}

#landingpage-1 .col, #landingpage-2 .col{
	width: 50%;
}

#landingpage-2 .col img{
	width: 100%;
	object-fit: cover;
	max-height: 600px;
}

h3 {
	font-size: 22px;
	line-height: 30px;
	color: #2e5f4c;
	font-family: 'Krona One';
}

.claim {
	width: 60%;
}

header p {
	font-size: 20px;
	line-height: 30px;
}

.button {
	background: #2e5f4c;
	color: #fff;
	text-decoration: none;
	padding: 10px 20px;
	font-size: 20px;
	border-radius: 10px;
	margin-top: 30px;
	display: inline-block;
}

.dropdown{
	display: none;
}

#ueber-uns {
	text-align: center;
	max-width: 1500px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.parallax {
	background: url(../images/parallax-team.jpg);
	height: 400px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.parallax-2 {
	background: url(../images/parallax-2.jpg);
	height: 400px;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center;
}

#firmenprofil {
	background: #ddeae1;
}

#firmenprofil .col1 {
	width: 60%;
}

#firmenprofil .col2 {
	width: 40%;
}

#firmenprofil .col2 img {
	width: 100%;
}

#leistungen {
	text-align: center;
}

#leistungen .flex {
	column-gap: 40px;
	align-items: ;
}

#leistungen .row{
	width: 50%;
}

#leistungen .box {
	padding: 30px;
	background: #ddeae1;
	margin-top: 40px;
	border-radius: 20px;
	height: 330px;
}

#referenzen {
	background: #ddeae1;
	padding: 0px 10%;
}

#referenzen .col1 {
	width: 70%;
}

#referenzen .col2 {
	width: 30%;
}

#referenzen .col2 img {
	width: 100%;
	padding-top: 50px;
}

.dse {
	background: #f2f2f2;
	padding: 10px 10%;
	position: fixed;
	width: 100%;
	bottom: 0;
	left: 0;
}

.dse a {
	color: #000;
	text-decoration: inherit;
	margin-right: 20px;
}

#kontakt {
	background: #2e5f4c;
	color: #fff;
}

#kontakt .col, #faq .col {
	width: 50%;
}

#kontakt h2 {
	color: #fff;
}

#kontakt strong {
	color: #fff;
}

#kontakt iframe {
	width: 100%;
	height: 550px;
}

.lps{
	background: #2e5f4c;
	padding: 30px 10% 80px 10%;
}

.lps a{
	color: #fff;
	text-decoration: none;
} 

.lps a:before{
	content: '|';
	padding-left: 10px;
	padding-right: 10px;
}

#kontakt a {
	color: #86d39e;
	text-decoration: none;
}

#impressum .col{
	width: 50%;
}

#impressum .flex{
	
	align-items: flex-start;
}

#impressum .col a{
	color: #69b180;
	text-decoration: none;
}
.modaloverlay .flex img {
    display: block;
    width: 100%;
    margin-top: 30px;
    height: 450px;
    object-fit: cover;
}

.modaloverlay img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
margin-top: 30px;
max-height: 350px;}

		.modaloverlay h3 {
			font-size: 30px !important;
			padding-bottom: 20px;
			text-align: center;
			text-transform: inherit;
		}

		.modaloverlay {
			background: rgba(0, 0, 0, 0.8);
			bottom: 0;
			left: 0;
			opacity: 0;
			pointer-events: none;
			position: fixed;
			right: 0;
			top: 0;
			text-align: left;
			z-index: 99999;
			display: none;
		}

		.modaloverlay:target {
			display: block;
			opacity: 1;
			pointer-events: auto;
			z-index: 9999;
		}

		.modaloverlay .modals {
			background-color: white;
			position: relative;
			padding: 3em;
			overflow-y: scroll;
			height: 75vh;
			margin-left: 5%;
			z-index: 9999;
			width: 70%;
			margin-top: 10vh;
			display: block;
			margin-left: auto;
			margin-right: auto;
		}

		.modals h3 {
			color: #2e5f4c;
			font-size: 20px!important;
			line-height: 30px;
		}

		.modals p {
			font-size: 16px;
			font-family: 'Roboto';
			line-height: 23px;
			color: #5f5f5f;
			text-align: center;
		}

		.modaloverlay a {
			color: #000;
			text-decoration: none;
		}

		.modaloverlay .close {
			background-color: rgba(46, 95, 76, 0.72);
			color: white;
			font-size: 24px;
			padding: 8px 12px;
			position: absolute;
			right: 0;
			text-align: center;
			text-decoration: none;
			top: 0;
			z-index: 1;
		}
.accordion {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
  transition: 0.4s;
	margin-top: 10px;
}

.active, .accordion:hover {
  background-color: #ccc;
}

.accordion:after {
  content: '\002B';
  color: #777;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}

.active:after {
  content: "\2212";
}

.panel {
  padding: 0 18px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}

#bewertungen{
	text-align: center;
	background: url(../images/hintergrund.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed
}

.rating_thumb{
	display: none;
}

#dsa-rating-view{
	background: rgba(255, 255, 255, 0.65);
	padding: 50px;
	margin: 50px 0px;
}

.rating_top{
	padding-bottom: 40px;
}

.subline{
	font-weight: 700;
	padding-top: 20px;
	color: #2e5f4c
}

.questionline:nth-child(even){
	background: rgba(105, 177, 128, 0.38);
	padding: 10px;
	
}

.star{
	color: #2e5f4c
}

#dsa-rating h2{
	display: none;
}

.rating-1{
	display: none;
}

.rating_value{
	display: none;
}

.rating span {
    color: #468e72!important;
}

#captcha{
	display: none;
}

#rate_button{
	background: #2e5f4c;
	color: #fff;
	border: none;
	padding: 10px;
	border-radius: 10px;
}

/*---------------------------------------
MEDIA Queries | Tablet | Phone
---------------------------------------*/
@media screen and (max-width: 1400px){
#leistungen .box {
	padding: 30px;
	background: #ddeae1;
	margin-top: 40px;
	border-radius: 20px;
	height: 430px;
}
}
@media screen and (max-width: 1100px) {
.modaloverlay .modals {
    height: 75vh;
    width: 70%;
    margin-top: 15vh;
}
	h1,
	h2 {
		font-size: 25px;
		line-height: 35px;
	}

	h3 {
		font-size: 18px;
		line-height: 28px;
	}

	body {
		font-size: 15px;
		line-height: 25px;
	}

	.button {
		font-size: 15px;
	}

	strong {
		font-size: 15px;
		line-height: 25px;
	}
}

@media screen and (max-width: 980px) {
	#referenzen .col2 {
		display: none
	}

	#referenzen .col1, #faq .col {
		width: 100%;
	}
	#dsa-rating-view {
    background: rgba(255, 255, 255, 0.65);
    padding: 20px;
    margin: 50px 0px;
}
	
	.question{
		display: block;
		
	}

	#referenzen {
		background: #ddeae1;
		padding: 50px 10%;
	}
	
	#leistungen .row {
    width: 100%;
}

	.flex {
		column-gap: 20px;
	}

	#leistungen .box {
		margin-top: 10px;
		height: auto;
	}

	#leistungen .flex {
		column-gap: 10px;
	}

	#leistungen p {
		padding-bottom: 30px;
	}

	.flex {
		display: block;
	}
	
	
#landingpage-1 .col, #landingpage-2 .col{
	width: 100%;
}

#landingpage-2 .col img{
	max-width: 500px;
	object-fit: contain;
	max-height: 300px;
	object-position: left;
	margin-bottom: 80px;
}
	
	#landingpage-1 .col h2, #landingpage-2 h2{
		font-size: 15px;
		line-height: 25px;
	}


	header .col2 {
		display: none;
	}

	header {
		padding: 200px 10% 100px 10%;
		;
	}

	#leistungen .box p {
		padding-bottom: 0px;
	}
	
	

	.parallax,
	.parallax-2 {
		height: 200px;
	}

	#firmenprofil .col1,
	#firmenprofil .col2,
	#kontakt .col {
		width: 100%;
	}

	#firmenprofil .col2 img {
		max-width: 400px;
		margin-top: 50px;
	}

	#kontakt .col {
		margin-top: 30px;
	}

	nav ul {
		display: none;
	}

	h1,
	h2 {
		font-size: 20px;
		line-height: 30px;
	}

	header p {
		font-size: 16px;
		line-height: 26px;
	}

	.dse a {
		font-size: 13px;
	}
		.dropbtn {
		background-color: transparent;
		color: #2e5f4c;
		padding: 0px;
		font-size: 36px;
		border: none;
		cursor: pointer;
	}

	.dropdown {
		position: fixed;
		top: 15px;
		right: 5%;
		display: inline-block;
		z-index: 99999;
		margin-left: auto;
		margin-right: auto;
	}

	.dropdown-content { 
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		text-align: center;
		padding-top: 15vh;
		background-color: rgba(47, 47, 47, 0.9);
		min-width: 160px;
		overflow: auto;
		box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
		z-index: 1;
	}

	.dropdown-content a {
		color: #fff;
		padding: 12px 16px;
		text-decoration: none;
		display: block;
	}

	.dropdown a:hover {
		background-color: rgba(46, 95, 76, 0.32);
	}

	.show {
		display: block;
	}
	.modals p {
    font-size: 15px;
    line-height: 25px;
}
	    .modaloverlay .modals {
        width: 80%;
    }
	
	td, th {
    padding: 0;
    display: block;
    margin: 5px;
}
	form#dsa-rating {
    width: 100%;
    padding: 0px!important;
}
}
