/* General */

body{
	margin:0;
	padding:0;
	font-family:Lato, Calibri, Arial, Verdana, sans-serif;
	color:#777;
	line-height:150%;
}

html {
	scroll-behavior:smooth;
}

p{
	font-size:110%;
}

a{
	color:#990000;
	font-weight:bold;
	text-decoration:none;
}

h1{
	color:#444;
	font-weight:bold;
	font-size:150%;
	text-transform: uppercase;
}

h2{
	color:#444;
}

li{
	list-style:none;
}


/* Menu */
.menu{
	width:100%;
	background:rgba(68, 68, 68, .8);
	position:fixed;
	margin:0;
	top:0;
	text-align:center;
    transition: all 1s;
	z-index:1;
	display:none;	
}

.hide {
    opacity:0;
    left:-100%;
}

.show {
    opacity:1;
    left:0;
}

.menu ul, .menu a, .menu li{
	display:flex;
	justify-content:center;
	color:#fff;
	font-weight:bold;
	font-size:100%;
	letter-spacing:3px;
	text-transform: uppercase;
}

.menu nav{
	margin-left:-25px;
}

@media (min-width: 600px){
	.menu{
		display:inherit;
	}
}

@media (max-width: 950px){
	.menu a{
		letter-spacing:normal;
	}
}


/* Dropdown-menu */

.dropdown_container{
	width:100%;
	text-align:center;
	position:absolute;
	bottom:1%;
	fill:#fff;
	width:100%;
}

.dropdown{
	height:40px;
	width:40px;
}


/* Header*/

.header_container{
	color:#fff;
	font-size:75%;
	position:absolute;
	top:0;
	width:100%;
	height:auto;
	background:rgba(68, 68, 68, .2);
	overflow:hidden;
}

.header_flexbox{
	max-width:1600px;
}

.header_flexbox ul{
	display:flex;
}

.header_container a{
	color:#fff;
	font-weight:normal;
}

.header_flexbox{
	margin:0 2%;
	display:flex;
	align-items:stretch;
	padding:3px;
}

#header_box1{
	flex:1;
	display:flex;
	align-items:center;
}

#header_box2{
	line-height:130%;
	text-align:center;
	flex:2;
	display:none;
}

#header_box2 p{
	text-align:center;
	font-size:100%;
}

#header_box2 a{
	text-decoration:underline;
}

#header_box3{
	text-transform:uppercase;
	flex:1;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	float:right;
	width:100%;
}

#header_box4{
	text-align:center;
	line-height:100%;
	width:90%;
	margin:0 2%;
	padding:3px;
}

#header_box4 a{
	text-decoration:underline;
}

@media (min-width: 750px){
	#header_box2{
		display:inherit
	}
	#header_box4{
		display:none;
	}
}


/* Landing page */

.landing_page{
	height:103vh;
	background-color:#990000;
	overflow:hidden;
	background-image:url(img/logo_mobile.png);
	background-repeat:no-repeat;
	background-position:top;
	background-size:contain;
	margin-top:-10%;
	padding-bottom:10%;
	overflow:hidden;
}

@media (min-width:800px){
	.landing_page{
		background-image:url(img/logo.png);
	}
}


/* Messages */

.messages{
	min-height:88vh;
	background-color:#eee;
	overflow:hidden;
	padding:5% 0;
}

.messages_mobile_container{
	padding:0 2%;
	margin:30px 0;
}

.messages_normal_container{
	display:none;
}

.messages_allboxes{
	align-items:center;
	padding:1%;
	background-color:#f9f9f9;
	justify-content:center;
	display:flex;
	margin-left:1%;
	width:180px;
	height:300px;
	border:solid 6px #999;
}

@media (min-width: 275px) {
	.messages_allboxes{
		width:230px;
		height:260px;
	}
}

@media (min-width: 345px) {
	.messages_allboxes{
		width:300px;
		height:250px;
	}
}

@media (min-width: 500px) {
	.messages_allboxes{
		width:400px;
		height:220px;
	}
}

@media (min-width: 550px) {
	.messages_allboxes{
		width:480px;
		height:250px;
	}
}

.messages_allboxes h1{
	font-size:120%;
	margin-bottom:12px;
}

.messages_allboxes p, .messages_allboxes hr{
	font-size:100%;
}

.messages_allboxes div{
	width:100%;
	margin-top:-5%;
}

.messages_allboxes hr{
	width:25%;
	height:2px;
	border:0;
	margin-top:-4px;
}

#messages_box1{
	background-color:#e33e2b;
}

#messages_box2{
	background-color:#3a7cec;
}

#messages_box3{
	background-color:#2ca24c;
}

.messages_allboxes:hover{
	background-color:#fff;
}

#messages_normal_left, #messages_normal_right{
	width:50%;
}

#messages_normal_left{
	border-right:solid 3px #999;
}

#messages_normal_right{
	border-left:solid 3px #999;
}
	
#messages_normal_box1{
	margin:0 4% 3% auto;
}

#messages_normal_box2{
	margin:0 auto 0 4%;
}
	
#messages_normal_box3{
	margin:3% 4% 0 auto;
}

.messages_allboxes:hover{
	border-color:#444;
}

.messages_mobile_line{
	height:80px;
	display:flex;
}

.messages_mobile_line div{
	width:50%;
	border-right:solid 6px #999;
}
	
@media (min-width: 1450px) {
	.messages_normal_container{
		width:100%;
		display:flex;
	}
	.messages_mobile_container{
		display:none;
	}
	.messages_allboxes p{
		display:none;
	}
	.messages_allboxes:hover p{
		display:inherit;
		color:#444;
	}
}


/* Workfields */

.workfields{
	overflow:hidden;
	height:auto;
	padding:3%;
}

.workfields_headline h2{
	padding-top:20px;
	text-transform:uppercase;
}

.workfields_container{
	padding:0 2%;
	max-width:1500px;
	text-align:center;
}

.workfields_allboxes{
	width:98%;
	margin:auto;
	padding-bottom:70px;
	text-align:center;
}

#circle1, #circle2, #circle3{
    width:120px;
    height:120px;
	margin:auto;
	display:flex;
	align-items:center;
	justify-content:center;
    border-radius:400px;
	background-color:#fff;
	margin-bottom:20px;
	border:solid 9px;
	border-color:#ebebeb;
}

#circle1 svg, #circle2 svg, #circle3 svg{
	fill:#444;
	width:80px;
	height:auto;
}

#circle1:hover{
	border-color:#2ca24c;
}

#circle1:hover svg{
	fill:#2ca24c;
}

#circle2:hover{
	border-color:#3a7cec;
}

#circle2:hover svg{
	fill:#3a7cec;
}

#circle3:hover{
	border-color:#e33e2b;
}

#circle3:hover svg{
	fill:#e33e2b;
}

.workfields_h1, .team_h1{
	margin:auto;
	display:table-cell;
}

.workfields_h1{
	padding-bottom:5px;
}

.workfields_h1 hr, .team_h1 hr{
	width:50%;
	height:2px;
	border:0;
	margin-top:-4px;
}

#workfields_hr1{
	background-color:#2ca24c;
}

#workfields_hr2{
	background-color:#3a7cec;
}

#workfields_hr3{
	background-color:#e33e2b;
}

#workfields_box1{
	margin-top:55px;
}

@media (min-height: 620px) and (min-width: 815px) and (orientation: landscape) {
	.workfields{
		padding:3% 0 0 0;
	}
	.workfields_container{
		display:flex;
		margin:30px 0;
	}
	.workfields_allboxes{
		padding-bottom:0;
		padding-top:0;
		height:750px;
	}
	#workfields_box1{
		margin-left:8%;
		margin-top:0;
	}
	#workfields_box2{
		margin:auto 5%;
	}
	#workfields_box3{
		margin-right:7%;
	}
	p{
		font-size:85%;
	}
	h1{
		font-size:100%;
	}
}

@media (min-width: 1000px) {
	.workfields_allboxes{
		height:600px;
	}
}

@media (min-width: 1300px) {
	.workfields_allboxes{
		height:550px;
	}
}


/* Team */

.team{
	background-color:#eee;
	text-align:center;
	padding:70px 0;
	overflow:hidden;
}

.team_allboxes{
	padding-bottom:30px;
	width:90%;
	margin:auto;
}

.team_h1 hr{
	background-color:#e33e2b;
}

.team_allboxes p{
	text-align:justify;
}

#team_box4 p, #team_box5 p{
	text-align:center;
}


@media (min-width: 930px){
	.team_rows{
		display:flex;
		max-width:1500px;
	}
	.team_allboxes{
		height:95%;
		padding-bottom:0;
		align-items:flex-start;
	}
	#team_box1{
		margin-top:0%;
		margin-left:8%;
		flex:1;
	}
	#team_box2{
		margin-top:0%;
		margin-left:5%;
		margin-right:5%;
		flex:1;
	}
	#team_box3{
		margin-top:0%;
		margin-right:7%;
		flex:1;
	}
	#team_box4{
		margin:80px 7% 8% 14%;
	}
	#team_box5{
		margin:80px 14% 8% 7%;
	}
}


/* Newsletter */

.newsletter{
	display:none;
	min-height:300px;
	background-color:#990000;
	text-align:center;
	padding:0;
	color:#fff;
	overflow:hidden;
}

.newsletter_newsletter{
	width:90%;
	padding:5%;
	text-shadow: 1px 2px 3px black;
}

.newsletter_newsletter a{
	color:#fff;
	text-decoration:underline;
	font-size:100%;
	font-weight:normal;
}

.newsletter_form{
	display:flex;
	justify-content:center;
}

.newsletter:not( .newsletter--active ) input[type='submit']{
    display:none;
}

.newsletter_contactform{
	width:20rem;
	height:2rem;
	font-size:1.25rem;
	position:relative;
}

input
{
	box-sizing:border-box;
}

.newsletter-email{
	width:100%;
	height:100%;
	text-overflow:ellipsis;
	color:#444;
	background-color:#eee;
	border:2px solid transparent;
	overflow:hidden;
	padding:0 5rem 0 1.25rem;
}

.newsletter-email:hover{
	border-color: #444;
}

.newsletter-email:focus{
	color:#fff;
	background-color:transparent;
	border-color:#444;
}

input.newsletter-submit{
	height:100%;
	font-weight:700;
	color:#777;
	position:absolute;
	background-color:#444;
	display:none;
	top:0;
	right:0;
	padding:0 1.25rem;
	border:0;
	animation:appear-from-inside .25s ease, fade-in .25s linear;
	transform-origin:right center;
}
.newsletter-submit:hover, .newsletter-submit:focus{
	color:#fff;
}

.newsletter--active .newsletter-submit{
	display:block;
}

@media (min-height: 480px) and (min-width: 800px){
	.newsletter_container{
		width:100%;
		display:flex;
		flex-wrap:wrap;
		align-items:stretch;
	}
	.newsletter_content{
		flex-basis:50%;
	}
	.newsletter_picture{
		background-image:url(img/entrance.jpg);
		background-repeat:no-repeat;
		background-size:cover;
		min-height:300px;
	}
}

@media (min-width: 1000px){
	.newsletter_picture{
		min-height:350px;
	}
}

@media (min-width: 1200px){
	.newsletter_picture{
		min-height:400px;
	}
}

@media (min-width: 1400px){
	.newsletter_picture{
		min-height:450px;
	}
}

@media (min-width: 1600px){
	.newsletter_picture{
		min-height:500px;
	}
}

@media (min-width: 1800px){
	.newsletter_picture{
		display:none;
	}
	.newsletter_content{
		flex-basis:100%;
	}
	.newsletter_newsletter{
		padding-top:3%;
	}
}


/* Contact */

.contact{
	text-align:center;
	padding-top:35px;
	margin-right:3%;
	margin-left:3%;
	width:94%;
	max-width:1200px;
	overflow:hidden;
}

.contact_container1, .contact_container2{
	fill:#444;
}

@media (min-width: 600px){
	.contact_container1{
		display:flex;
	}
	.contact_box1{
		flex:1;
	}
	.contact_box2{
		flex:1;
	}
	.contact_container2{
		margin-top:20px;
	}
}

@media (min-width: 1020px){
	.contact_supercontainer{
		display:flex;		
	}
	.contact_container1{
		display:flex;
		flex:2;
	}
	.contact_container2{
		flex:1;
		margin:0;
	}
	.contact_box3{
		width:100%;
	}
}

.contact a{
	color:#777;
	font-weight:normal;
}

.contact svg{
	width:40px;
	margin-top:-40px;
	margin-bottom:-50px;
}

.contact svg:hover{
	fill:#990000;
}

.footer{
	color:#000;
}

.footer a{
	color:#999;
	font-size:85%;
}


/* Impressum */
.impressum_container{
	margin:3% 3% 0 3%;
	max-width:1590px;
}

.impressum_content{
	font-size:90%;
	text-align:justify;
}

.impressum_direction_normal{
	display:none;
}

@media (min-width: 500px){
	.impressum_direction_normal{
		display:inherit;
	}
	.impressum_direction_small{
		display:none;
	}
}

.impressum_back{
	text-align:right;
	max-width:1590px;
	margin:1% 5% 3% 5%;
}