/****************** SETUP ********************/
* {border: 0; margin: 0; padding: 0;
	font-family: 'Rajdhani', 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;
	border-top: 7px #f6a129 solid;
	opacity: 0;
}
a {	
	color: #000;
	text-decoration: none;	
}
p {
	width: 100%;
	text-align: justify;
}
nav ul { list-style: none; }

.clr::after { clear: both; }

h1, h2, h4 			{font-size: 42px;font-weight: normal;border-bottom: 4px #f6a129 solid;}

/****************** BASIC CLASS ********************/
.main-container	{
	max-width: 1700px;
	width: calc(100% - 40px);
	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;}


.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 .footer-box, .column-two .box-news, .column-two .box-attachments {flex-basis: 50%;} 

/****************** HEADER ********************/
	header {
		flex-wrap: wrap;
		background: #fff;
		border-bottom: 1px #cecece solid;
	}
	#logotyp {
		padding: 10px 10px 10px 20px;
		flex-grow: 1;
	}
	#logotyp img {
		max-height: 15vh;
	}
	#menu {
		justify-content: flex-end;
		align-items: center;
		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;
			font-weight: normal;
			-webkit-transition: font-weight 0.2s; /* Safari */
			transition: font-weight 0.2s;
			font-size: 18px;
		}
		#social_links a:hover	{
			font-weight: bold;
		}
	
		nav{
			flex-direction: row;
			align-items: center;
			border-right: 1px #f6a129 solid;
		}
		nav a{
			font-size: 18px;
			padding: 20px 20px;	
			position: relative;
			margin: 0 5px;
		}
		
		nav a:hover{font-weight: bold;
			padding: 20px 19.3px;	}
			
/****************** SLIDER BOX ********************/
	.box-slider{
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		max-height: 70vh;
	}
	.box-slider img{
		height: calc(100% + 70px);
		width: auto;
		position: relative;
		z-index: 5;
	}	
		.box-slider-item {
			width: 45%;
			padding-top: 12vh;
			
		}
		
		.box-slider-item-title, .box-slider-item-subtitle {
			font-size: 34px;
			font-weight: 600;
			text-align: left;
		}		
		.box-slider-item-subtitle {
			font-weight: normal;
		}		
		.box-slider-item-desc {
			padding: 10px 0;
			font-size: 18px;
		}
		.box-slider-item-link {
			padding: 20px 0;
		}
		.box-slider-item-link a {
			background: #f6a129;
			padding: 10px 20px;
			font-weight: bold;
			font-size: 16px;
			color: #fff;
		}
			
/****************** 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;
		background: #f9f9f9;
		border-bottom: 1px #fbd094 solid;
	}
		.box-page-title {
			padding: 50px 0;
		}
		.box-page-desc{
			box-sizing: border-box;
			background: url(images/bg_system.jpg) top left no-repeat #f6a129;
			flex-direction: row;
			flex-wrap: nowrap;
		}
		.box-page-desc-desc{
			padding: 40px 20px;
		}
		.box-page-desc img{
			padding: 20px;
			width: auto;
		}
		.box-page-desc p{
			text-align: justify;
			line-height: 24px;
			padding: 10px;
			box-sizing: border-box;
			color: #fff;
		}
			.box-page-white-title {font-size: 34px;font-weight: 600;}

			.box-page-white-desc {font-size: 18px;column-count: 2;column-gap: 100px;}


/****************** 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 ********************/

/****************** 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;
		background: #f6a129;
		padding: 20px 0;
	}
		.box-icons-item {
			flex-basis: calc(20% - 7px);
			flex-direction: column;
			justify-content: center;
			align-items: center;
			max-width: 400px;
			padding:  0 10px;
			box-sizing: border-box;
			border-right: 1px #fff solid;
		}
		.box-icons-item:last-child {
				border-right: none;
		}
			.box-icons-item-desc {
				flex-basis: 50%;
				padding: 10px;
				line-height: 20px;
				font-size: 18px;
				color: #fff;
			}
			.box-icons-item-desc-link {
				font-size: 12px;
				font-weight: bold;
				padding-top: 10px;
			}
			.box-icons-item-desc-link a {
				color: #fff;
			}

/****************** ICON BOX ********************/
	.box-iconsAdv {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		position: relative;
	}
	
		.box-iconsAdv-item {
			flex-basis: 40%;
			flex-direction: row;
			flex-wrap: nowrap;
			align-items: flex-start;
			padding: 20px;
			box-sizing: border-box;
		}
			.box-iconsAdv-item-image {
				align-items: flex-start;
				justify-content: flex-start;
				display: flex;
				padding-top: 10px;
			}
			.box-iconsAdv-item-desc {
				padding: 10px;
				line-height: 20px;
				box-sizing: border-box;
				font-size: 14px;
				line-height: 28px;
			}
			.box-iconsAdv-item-desc h3 {
				font-size: 24px;
				color: #f6a129;
			}

/* ************************************************* KONTAKT */
	.box-contact {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		position: relative;
		background: url(images/bg-contact.png) no-repeat top right #fafafa;
		background-size: 50% auto;
	}
		.box-contact-item {
			flex-basis: 40%;
			flex-direction: row;
			flex-wrap: nowrap;
			align-items: flex-start;
			padding: 20px;
			box-sizing: border-box;
		}
			.box-contact-item-desc {
				padding: 10px 50px 10px 10px;
				line-height: 20px;
				box-sizing: border-box;
				font-size: 14px;
				line-height: 28px;
			}
			.box-contact-item-desc h3 {
				font-size: 24px;
				color: #f6a129;
			}
/****************** PAGE BOX ********************/
	.box-subpage {
		flex-direction: column;
		box-sizing: border-box;
		padding-bottom: 100px;
	}
		.box-subpage-title {
			padding: 50px 0 30px;
		}
		.box-subpage-desc{
			box-sizing: border-box;
			flex-direction: row;
			flex-wrap: nowrap;
			padding: 10px;
		}
		.box-subpage-desc p{
			text-align: justify;
			line-height: 24px;
			padding: 10px;
			box-sizing: border-box;
			font-size: 16px;
		}
		.box-subpage-desc ul{
			list-style: disc;
			padding-left: 40px;
		}
		.box-subpage-desc ul li{
			font-size: 16px;
			padding: 5px 20px;
		}
		
		.box-subpage-desc-contact{
			display: flex;
			box-sizing: border-box;
			flex-direction: column;
			flex-wrap: nowrap;
			padding: 10px;
		}
		.box-contact-form {
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			width: 100%;
			padding-top: 50px;
		}
		.box-contact-form h3{
				font-size: 24px;
				color: #f6a129;
			
		}
		.box-contact-form form{
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
		}
		.box-contact-form section{
			padding: 5px 0;
			width: 400px;
			box-sizing: border-box;
		}
		.box-contact-form input, .box-contact-form textarea{
			width: 100%;
			max-width: 400px;
			border: 1px #f6a129 solid;
			padding: 10px;
			box-sizing: border-box;
		}
		.contact-button {
			background: #f6a129;
			width: 400px !important;
			color: #fff;
			font-weight: bold;
		}
		
			
		.box-subpage-desc-cat{
			display: flex;
			box-sizing: border-box;
			justify-content: space-between;
			padding: 10px;
			flex-wrap: wrap;
		}
			.box-cat-item {
				flex-basis: 30%;
				display: flex;
				flex-direction: column;
				align-items: center;
			}			
			.box-cat-item-img {
				min-width: 300px;
				min-height: 200px;
				
			}		
			.box-cat-item-title {
				padding: 10px 0;
				font-size: 24px;
				text-align: center;
				
			}
			.box-pageNumbers {
				flex-basis: 100%;
				box-sizing: border-box;
				padding: 20px;
				font-size: 38px;
				display: flex;
				justify-content: center;
				align-items: baseline;
				
			}
			.box-pageNumbers a{
				font-size: 28px;
				padding: 0 8px;	
				font-weight: bold;				
			}
			/*////////////////////////////////////////*/
			.box-cat-prod {
				padding: 20px;
				display: flex;
				flex-direction: row;
				justify-content: flex-start;
			}
				.box-cat-prod-desc {
					font-size: 16px;
					flex-grow: 5;
				}
				.box-cat-prod-desc p{
					font-size: 16px;
					line-height: 28px;
				}
				.box-cat-prod-features {
					display: flex;
					flex-direction: column;
					justify-content: flex-start;
					min-width: 150px;
					flex-grow: 1;
					margin-top: -100px;
				}
				.box-cat-prod-features section{
					height: 120px;
					background: url(images/bg-feature.png) center center no-repeat;
					background-size: auto 100%;
					display: flex;
					justify-content: center;
					align-items: center;
					margin: 10px 0;
				}
				.box-cat-prod-features section p{
					color: #fff;
					text-align: center;
					font-size: 12px;
				}
				.box-cat-prod-features section p strong{
					font-size: 20px;
				}
				
				.box-cat-prod-img {
					flex-grow: 5;
					max-width: 800px;
					min-width: 550px;
				}
				.box-cat-prod-imgs {
					display: flex;
					flex-direction: row;
					flex-wrap: wrap;
					align-items: stretch;
					justify-content: flex-start;
					width: 100%;
				}
				.box-cat-prod-imgs a{
					flex-basis: 20%;
					box-sizing: border-box;
					padding: 10px;
				}
				#box-cat-prod-mainImg {flex-basis: 95% !important;}
				.box-cat-prod-imgs a img, .box-cat-prod-img a img{
					width: 100%;
				}
/************************************************************************************************* FOOTER BOX ********************/
	footer {
		width: 100%;
		display: flex;
		box-sizing: border-box;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-end;
		position: relative;
		background: url(images/bg-footer.png) no-repeat bottom left #fafafa;
		background-size: auto 100%;
		padding-top: 30px;
	}
	
	.footer-container {		
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		padding-right: 10vw;
	}
	
	footer nav {
		align-items: center;
		border-right: none;
	}

	footer	nav a{
		font-size: 16px;
		padding: 20px 10px 5px;	
	}
	
	footer p{
		font-size: 16px;
		padding: 5px 10px 50px;	
		text-align: right;
	}