/* CSS Document */

/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/roboto-v30-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/roboto-v30-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/roboto-v30-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/roboto-v30-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/roboto-v30-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/roboto-v30-latin-300.svg#Roboto') 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 */
}

/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/roboto-v30-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/roboto-v30-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/roboto-v30-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/roboto-v30-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/roboto-v30-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/roboto-v30-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}


* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
    font-family: 'Roboto', sans-serif;
	background: #2C2C2C;
	color: #CCCCCC;
	scroll-behavior: smooth;
}
.container {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
#header {
    position: fixed;
    width: 100%;
    height: 80px;
    background: rgba(255,255,255,0.7);
	z-index: 99999;
}
#header .logo {
	float: left;
	margin-bottom: 5px;
}
#header .logo img {
	margin: 5px 0;
	max-height: 70px;
}
#header .nav {
	float: right;
	width: calc(100% - 200px);
}
#header .nav ul {
	list-style: none;
	float: right;
} 
#header .nav ul li {
	display: inline-block;
	padding: 21px 10px;
}
#header .nav ul li a {
	color: #333;
	padding: 10px;
	text-decoration: none;
	float: left;
	text-transform: uppercase;
	transition: color 0.2s;
}
#header .nav ul li a:hover {
	color: rgb(33, 61, 98);
	transition: color 0.2s;
}
#content .section-title {
    color: #fff;
    font-weight: 300;
    margin-left: 20px;
    font-size: 40px;
}
#content .section-title.dark {
	color: #000;
}
#content .section-title::after {
    display: block;
    content: "";
    border-bottom: 2px solid;
    border-color: #fff;
    width: 45px;
    margin-top: 12px;
}
#content .intro {
	position: relative;
	width: 100%;
    height: 100vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	background-image: url("../images/intro.jpg");
	z-index: 0;
}
#content .intro .text {
	position: absolute;
	bottom: 30%;
}
#content .intro .text h1 {
    font-size: 80px;
    color: #fff;
    text-shadow: 0px 0px 8px #000;
}
#content .intro .text h2 {
    font-size: 40px;
    color: #fff;
    text-shadow: 0px 0px 8px #000;
}
#content .intro a.down {
    position: absolute;
    bottom: 20px;
    font-size: 50px;
    color: #fff;
    text-shadow: 0px 0px 8px #000;
    left: calc(50% - 20px);
    right: calc(50% - 20px);
    text-decoration: none;
	transition: all 0.3s;
}
#content .intro a.down:hover{
	bottom: 15px;
	transition: all 0.3s;
} 
#content #services {
	width: 100%;
	padding: 100px 0;
	float: left;
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	background-color: rgb(33, 61, 98);
}
#content #services .item {
    width: calc(20% - 40px);
	float: left;
    padding: 20px;
    background: #fff;
    margin: 20px;
    color: #444;
}
#content #services .item img {
    width: calc(100% + 40px);
    margin-left: -20px;
    margin-top: -20px;
}
#content #services .item h3 {
	margin: 15px 0 5px;
}

#content #labels {
	padding: 100px 0;
	width: 100%;
	float: left;
	background: #C2C0C0;
}
#content #labels .labels {
	width: 100%;
	float: left;
	margin-top: 40px;
}
#content #labels .item {
	width: calc(16.666% - 20px);
	margin: 0px 10px;
	float: left;
} 
#content #labels .item img {
	width: 100%;
} 
#about {
	width: 100%;
	float: left;
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	background-color: rgb(33, 61, 98);
	padding: 100px 0;
}
#about .text,
#about .image {
	width: 50%;
	float: left;
}
#about .image img {
	width: 100%;
}
#about .text {
	padding: 20px;
	line-height: 1.6;
	font-size: 19px;
}

#contact {
	width: 100%;
	float: left;
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	background-image: url("../images/background2.jpg");
	padding: 100px 0;
}
#contact iframe {
	width: calc(100% - 40px);
	height: 400px;
	margin: 20px;
	border: 0;
}
#kontaktformular,
.kontaktdaten {
	width: calc(50% - 40px);
	float: left;
	margin: 20px;
	font-size: 22px;
    font-weight: 300;
}
#contact b,
#contact a {
	color: #fff;
	text-decoration: none;
}
#contact p {
	margin-bottom: 10px;
}
#contact b {
	font-size: 30px;
}
#contact span {
    color: #ff5a00;
    margin-top: 20px;
    float: left;
    width: 100%;
}

#contact #kontaktformular {
	width: calc(50% - 40px);
	float: left;
	margin: 20px;
}
#contact #kontaktformular form {
	width: 80%;
	float: left;
	margin-left: 10%;
	margin-right: 10%;
	background: rgb(33, 61, 98);
	padding: 20px;
}
#contact #kontaktformular form h2 {
	color: #fff;
	font-weight: 300;
	margin: 10px 0;
}
#contact #kontaktformular form .form-row,
#contact #kontaktformular form .form-row label {
	width: 100%;
	float: left;
	color: #fff;
}
#contact #kontaktformular form .form-row label {
	margin-bottom: 5px;
	font-size: 14px;
	text-transform: uppercase;
}
#contact #kontaktformular form .form-row input,
#contact #kontaktformular form .form-row textarea {
    background: transparent;
    color: #fff;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    width: 100%;
    border-bottom: 1px solid #fff;
	font-size: 20px;
	margin-bottom: 20px;
	font-weight: 300;
}
#contact #kontaktformular form .form-row textarea {
	min-height: 200px;
	max-height: 200px;
	min-width: 100%;
	max-width: 100%;
	resize: none;
	font-family: 'Source Sans Pro', sans-serif;
}
#contact #kontaktformular form .form-row input::placeholder,
#contact #kontaktformular form .form-row input:-ms-input-placeholder,
#contact #kontaktformular form .form-row input::-ms-input-placeholder,
#contact #kontaktformular form .form-row textarea::placeholder,
#contact #kontaktformular form .form-row textarea:-ms-input-placeholder,
#contact #kontaktformular form .form-row textarea::placeholder{ 
  	color: #fff;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 20px;
}
#contact #kontaktformular form .form-row button {
	background: #fff;
	color: #555;
	padding: 10px 20px;
	float: right;
	border: 0;
	cursor: pointer;
}

#footer {
	width: 100%;
	float: left;
	background: #000;
	padding: 50px 0;
	text-align: center;
}
#footer .subfooter {
	width: 100%;
	float: left;
	margin-bottom: 20px;
	color: #fff;
	text-transform: uppercase;
	font-size: 14px;
}
#footer .subfooter a {
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}
p.danger,
p.success {
    background: #fff;
    padding: 10px;
	color: rgb(33, 61, 98);
}
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
.modal.open {
	display: block!important;
}
/* Modal Content/Box */
.modal-content {
    background-color: #fefefe;
    margin: 100px 10%;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    color: #555;
    float: left;
}
.modal-content .preview {
	width: 100%;
	float: left;
	margin-top: 20px;
}
.modal-content .preview img {
	width: calc(50% - 20px);
	float: left;
	margin: 0 10px 20px;
}
.darkmodal {
	background: #303030;
	color: #DDDDDD;
	
}
.darkmodal .close {
	color: #fff;
}

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
	cursor: pointer;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
} 


@media all and (max-width: 1220px) {
	.container {
		width: calc(100% - 20px);
		margin: 0 10px;
	}
}
@media all and (max-width: 900px) {
	#content #services .mobile {
		width: 100%;
		float: left;
	}
	#content #services .item {
		width: calc(50% - 40px);
	}
	#content #labels .item {
		width: calc(33.333% - 20px);
	}
}
@media all and (max-width: 750px) {
	#header .nav {
		display: none;
	}
	#header .logo { 
		width: 100%;
		text-align: center;
	}
}
@media all and (max-width: 600px) {
	#content #services .item {
		width: calc(100% - 40px);
	}
	#about .text, #about .image {
		width: 100%;
	}
	#kontaktformular, .kontaktdaten {
    	width: calc(100% - 40px)!important;
	}
	#content .intro .text h1 {
		font-size: 55px!important;
	}
	.modal-content .preview img {
		width: calc(100% - 20px);
	}
	.modal-content {
		margin: 100px 20px;
		width: calc(100% - 40px);
	}
}
@media all and (max-width: 420px) {
	#content #labels .item {
		width: calc(50% - 20px);
	}
	#content .intro .text h1 {
		font-size: 40px!important;
	}
	#content #labels .item img {
		margin-bottom: 20px;
	}
}