/****************** SETUP ********************/
* {border: 0; margin: 0; padding: 0;
	font-family: 'Roboto Condensed', sans-serif;}
	
body {     
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 12px;
	color: #000;
	background: #fff;
	text-align: left;
	max-width: 100%;
	min-width: 320px;
	/*opacity: 0;*/
}
a {	
	color: #000;
	text-decoration: none; 
}
p {
	width: 100%;
	text-align: justify;
}
nav ul { list-style: none; }

.clr::after { clear: both; }

h1 			{font-size: 55px;font-weight: bold;}
h2,h3,h4 	{font-size: 14px;font-weight: normal; }

/****************** BASIC CLASS ********************/
.main-container	{
	max-width: 1700px;
	width: calc(100% - 20px);
	margin: 0 auto;
	display: flex;
	box-sizing: border-box;
}
.main-container-extended	{
	width: 100%;
	display: flex;
	justify-content: center;
	box-sizing: border-box;
}
.container 	{display: flex;box-sizing: border-box;min-width: 200px;}


.box-half 	{flex-basis: 50%;min-width: 320px;box-sizing: border-box;}
.box-small	{flex-basis: 33.3%;float: left;box-sizing: border-box;}
.box-large	{flex-basis: 66.6%;float: left;box-sizing: border-box;}

.column-two {flex-direction: row;flex-wrap: wrap;justify-content: center;align-items: stretch;padding-top: 40px;}
.column-two .box-image, .column-two .box-news, .column-two .box-attachments {flex-basis: 50%;} 

/****************** HEADER ********************/
	header {
		flex-wrap: wrap;
		padding-bottom: 20px;
	}
	#logotyp {
		padding: 10px 10px 10px 20px;
		flex-grow: 1;
	}
	#logotyp img {
		height: 50px;
	}
	#menu {
		justify-content: flex-end;
		align-items: stretch;
		flex-wrap: wrap;
		flex-grow: 9;
	}
		#social_links {
			flex-direction: row;
			flex-wrap: nowrap;
			justify-content: flex-start;
			padding: 0 10px;
			order: 1;
		}
		#social_links a	{
			padding: 20px 10px;
			-webkit-transition: padding 0.2s, height 0.2s; /* Safari */
			transition: padding 0.2s, height 0.2s;
		}
		#social_links a:hover	{
			padding: 18px 8px;
		}
		#social_links a:hover img	{
			height: 34px;
		}
		#social_links img{
			height: 30px;
			-webkit-transition: padding 0.2s, height 0.2s; /* Safari */
			transition: padding 0.2s, height 0.2s;
		}
	
		nav ul{
			flex-direction: row;
			align-items: center;
			height: 100%;
		}
		nav ul li a{
			font-size: 16px;
			padding: 20px 20px;	
			position: relative;
			margin: 0 5px;
		}
		
		nav ul li a::after{
			content:"";
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			height: 3px;
			background: #fff;
			z-index: -1;
			-webkit-transition: bottom 0.5s, background 0.5s; /* Safari */
			transition: bottom 0.5s, background 0.5s;
		}
		
		nav ul li a:hover::after{
			bottom: 5px;
			background: #000;
		}
/****************** GALLERY BOX ********************/
	.box-gallery {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
	}
	.box-gallery-item {
		min-width: 280px;
		position: relative;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		box-sizing: border-box;
		padding: 30px 10px 10px;
		flex-basis: 25%;
		flex-grow: 1;
	}
		.box-gallery-item a {
			height: 200px;
			background: #000;		
		}
		.box-gallery-item::after {
			content:"";
			position: absolute;
			bottom: -10px;
			left: 10px;
			right: 10px;
			height: 3px;
			background: #000;
			z-index: -1;
			-webkit-transition: bottom 0.5s, background 0.5s; /* Safari */
			transition: bottom 0.5s, background 0.5s;		
		}
		.box-gallery-item-title {
			padding: 10px 0;
			font-size: 18px;
			font-weight: bold;
		}
	
	.box-gallery-item:hover::after{
			bottom: 0px;	
	}
/****************** PAGE BOX ********************/
	.box-page {
		flex-direction: column;
		box-sizing: border-box;
		padding: 10px;
	}
		.box-page-title {
			text-align: center;
		}
		.box-page-desc p{
			text-align: justify;
			line-height: 24px;
			padding: 10px;
			box-sizing: border-box;
		}


/****************** ATTACHMENTS BOX ********************/
	.box-attachments {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		padding: 20px 0;
	}
		.box-attachments-item {
			min-width: 150px;
			text-align: center;
		}


/****************** BUTTON BOX ********************/
	.box-button {
		text-align: center;
		padding: 10px 0;
	}
		.box-button a{
			max-width: 200px;
			box-sizing: border-box;
			padding: 10px 20px;
			background: #000;
			color: #fff;
		}
		
/****************** NEWS BOX ********************/
	.box-news {
		flex-direction: column;
		order: 1;
		padding: 10px;
				flex-grow: 1;
	}
		.box-news-title {
			text-align: center;
			font-size: 24px;
			font-weight: bold;padding: 10px 0;
		}
			.box-news-item-title h3 {
				font-size: 18px;
				font-weight: bold;
				padding-bottom: 10px;
			}
			.box-news-item-desc {
				font-size: 14px;
				padding-bottom: 10px;
				text-align: justify;
				line-height: 24px;
			}
		.box-news-item .box-button a{
			padding: 5px 20px;
		}
		
		.box-news-item {
			position: relative;
			box-sizing: border-box;
			padding: 10px;
		}		
		.box-news-item::after {
			content:"";
			position: absolute;
			top: 0;
			bottom: 0;
			right: 0;
			width: 0;
			background: #cecece;
			z-index: -1;
			-webkit-transition: width 0.5s, background 0.5s; /* Safari */
			transition: width 0.5s, background 0.5s;		
		}
		.box-news-item:hover::after {
			width: 100%;
			background: #a0a0a0;			
		}
		
/****************** IMAGE BOX ********************/
	.box-image {
		background: #cecece;
		align-items: center;
		justify-content: center;
		padding: 10px 0;
				flex-grow: 1;
	}
	
/****************** ICON BOX ********************/
	.box-icons {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		position: relative;
	}
	
	.box-icons::after {
		content:"";
		position: absolute;
		top: -20px;
		bottom: -20px;
		right: 0;
		left: 0;
		background: #cecece;
		z-index: -1;
		
	}
		.box-icons-item {
			flex-basis: calc(25% - 7px);
			flex-direction: row;
			flex-wrap: nowrap;
			align-items: center;
			max-width: 400px;
			padding: 10px;
			box-sizing: border-box;
		}
			.box-icons-item-image {
				flex-basis: 50%;
				height: 100px;
				background: #000;
				align-items: center;
				justify-content: center;
				display: flex;
			}
			.box-icons-item-desc {
				flex-basis: 50%;
				padding: 10px;
				line-height: 20px;
			}






