/**
* colors 
* schwarz: 			#191919
* liniengrau: 		#666666 	#d0d0d0		#d0d0d0
* hintergrundgrau: 	#f0f1f1
*/

* {
	padding: 0;
	margin: 0;
	list-style: none;
	-moz-box-sizing: border-box; 
	box-sizing: border-box; 
	-webkit-font-smoothing: antialiased;
	border: none;
}

html, 
body {
	height: 100%;
}

body {
	background: #f0f1f1; /* 8% */
}

#old_ie {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 3;
	text-align: center;
	background: rgb(255,247,4);
	color: #333;
	font-size: 14px;
	padding: 2px;
	
}

#wrap {
	margin: 0 auto;
	width: 1370px;
	font-size: 14px;
	line-height: 160%;
	position: relative;
	min-height: 100%;
}

#col1,
#col3 {
	position: fixed;
	padding: 30px;
	padding-top: 40px;
	left: 50%;
	z-index:1; 
}
#col1 {
	margin-left: -685px;
	/*margin-left: -665px;*/
	height: 100%; 
	width: 250px;
	width: 230px;
}
#col3 {
	margin-left: 466px;
	width: 188px;
	
	margin-left: 486px;
}
#col2 {
	position: absolute;
	width: 1151px;
	padding-left: 250px;
	min-height: 100%;
	
	width: 1171px;
	padding-left: 230px;
		
}
#col2 > .content {
	width: 100%;
	
	padding: 43px 5.5%;
	overflow: hidden; 
	background: white;
	border-right: 1px solid #d0d0d0; /* 60% */
	border-left: 1px solid #d0d0d0; /* 60% */
}

#logo {
	width: 80%;
	border: none;
}



/* allgemein content */
.container_no-border,
.container_border-top,
.container_border-bottom,
.container_spacing-top {
	float: left;
	width: 100%;
	border-top: 1px solid #d0d0d0;
	margin-top: 15px;
	padding-top: 15px;
}
.container_border-bottom {
	border:none;
	border-bottom: 1px solid #d0d0d0;
	padding: 0;
	margin: 0;
	margin-bottom: 15px;
	padding-bottom: 15px;
}
.container_spacing-top,
.container_no-border {
	border: none;
	margin-top: 0;
	padding-top: 0;
}
.container_spacing-top {
	margin-top: 50px;
}
#ffdlink {
	position: fixed;
	bottom: 3px;
	font-size: 12px;
}
#ffdlink a {
	text-decoration: none;
	color: #aeaeae;
	padding: 1px 3px;
	border-radius: 2px;
}
#ffdlink a:hover {
	color: white;
	background: #333;
}
p strong {
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
	font-weight: normal;
}



/* icons ------------------------------------- */
.icons {
	float: left;
	width: 100%;
}
.icons img {
	float: left;
	width: 26px;
	margin-right: 5%; 
	border: none;
}
.icons img:hover {
	opacity: 0.6;
}

#col1 .icons {
	margin-top: 20px;
	display: none;
}


/* navigation ------------------------------------- */
#col1 > ul a {
	text-decoration: none;
	font-size: 17px;
}
#col1 > ul a:hover {
	color: #959595;
}
#col1 > ul li.current a {
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
}
#col1 > ul ul a {
	font-size: 14px;
}
#col1 > ul {
	width: 100%;
	/*background: green;*/
	margin-top: 20px;
	border-bottom: 1px solid #d0d0d0;
}
#col1 > ul > li {
	border-top: 1px solid #d0d0d0;
	padding-top: 10px;
	padding-bottom: 10px;
}
#col1 > ul li li {
	padding-top: 10px;
	padding-bottom: 10px;
}
#col1 ul ul {
	margin-left: 16px;
	margin-top: 10px;
}
#col1 ul ul li:last-child {
	padding-bottom: 25px;
}

#col1 ul .submenu {
	height: 0;
	overflow: hidden;
}
#col1 ul.animate .submenu {
	-webkit-transition: height .5s;
	transition: height .5s;
}


/* mobile nav / butto ------------------------------------- */
#header_mobile {
	width: 100%;
	display: none;
	
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: white;
	padding: 10px 5.5%;
	border-bottom: 1px solid #d0d0d0;
	z-index: 300;
}
#header_mobile button {
	float: left;
	width: 30px;
	background: none;
	border: none;
	cursor: pointer;
}
#header_mobile button div {
	float: left;
	width: 100%;
	border: 2px solid #4d4e4c;
	
	border: 2px solid #4db1ca;
	border: 2px solid #a4a4a3;
	height: 0px;
	margin: 2px 0;
	/*border-radius: 2px;*/
}

#header_mobile #shoppingcart_small_top {
	float: right;
}
#header_mobile #shoppingcart_small_top a span {
	display: none;
}
#header_mobile #shoppingcart_small_top .article {
	display: inline;
	margin: 0;
}



/* homepage ------------------------------------- */
.teaser-image {
	border: 1px solid #d0d0d0;
	float: left;
	width: 48.5%;
	margin-right: 1.5%;
	margin-bottom: 3%;
	position: relative;
	overflow: hidden;
}
.teaser-image img {
	width: 100%;
	float: left;
	
	-webkit-transition: -webkit-transform .5s;
	transition: transform .5s;
}
.teaser-image img:hover {
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
}

.teaser-image:nth-child(2n) {
	/* border-color: green; */
	margin-right: 0;
	float: right;
}
.teaser-image .description {
	position: absolute;
	bottom: -100px;
	background-color: rgba(255,255,255,0.7);
	width: 100%;
	padding: 20px 20px;
	font-size: 20px;
	color: #191919;
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
	
	-webkit-transition: bottom .5s;
	transition: bottom .5s;
}
.teaser-image a {
	text-decoration: none;
}


/* subpage ------------------------------------- */

#single-image {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
}

h2.product {
	float: left;
	width: 30%;
}
.product_text {
	float: left;
	width: 100%;
	margin-bottom: 15px;
}

/* slider */
.slider_info {
	float: right;
	width: 35%;
	text-align: right;
	font-style: italic;
}

.slider_container {
	float: left;
	position: relative;
	width: 100%;
	margin-bottom: 13px;
	border: 1px solid #d0d0d0;
	background: #d0d0d0;
}
.slider_container_transition { background: white; }
.slider_container .height {
	padding-top: 62.5%;
}

.slider_container .next_button,
.slider_container .prev_button { 
	position: absolute;
	top: 0;
	height: 46%;
	margin-top: 16%;
	width: 10%;
	z-index: 200;
	background-repeat: no-repeat;
	cursor: pointer;
	background-size: 18%;
}
.slider_container .next_button:hover,
.slider_container .prev_button:hover {
	opacity: 0.6;
}

.slider_container .play-button {
	position: absolute;
	width: 100%;
	height: 100%;
	cursor: pointer;
	z-index: 202;
}

.slider_container .play-button::before {
	position: absolute;
	content: '';
	background-image: url(../image/play-button-default.png);
	background-size: contain;
	width: 50px;
	height: 50px;	
	bottom: 20px;
	left: 20px;
}

.slider_container .play-button:hover::before {
	background-image: url(../image/play-button-active.png);
}

.slider_container iframe.vimeo {
	z-index: 201;
	position: absolute;
	width: 100%;
	height: 100%;
}
.slider_container video {
	z-index: 201;
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: pointer;
	display: none;
}
.slider_container .prev_button {
	left: -4%;
	background-position: left center;
	background-image: url(../image/slider_nav_prev.png);
}
.slider_container .next_button {
	right: -4%;
	background-position: right center;
	background-image: url(../image/slider_nav_next.png);
}

.slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.slider .item {
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.slider img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.slider_bullets {
	float: right;
	width: 30%;
	text-align: center;
}
.slider_bullets span {
	background: white;
	border: 1px solid #a0a0a0;
	border-radius: 50%;
	width: 11px;
	height: 11px;
	display: inline-block;
	margin: 0 4px;
	text-indent: -1000px;
	overflow: hidden;
	cursor: pointer;
}
.slider_bullets span.cycle-pager-active {
	background: #a0a0a0;
}

/* aritcles */
img.article_image {
	margin-bottom: 15px;
	float: left;
}
img.article_image.wide {
	width: 100%;
}
.half_image.half-left img.article_image {
	float: left;
	width: 50%;
}
.half_image.half-right img.article_image {
	float: right;
	width: 50%;
}
.half_image.half-left .text {
	float: right;
	width: 50%;
	padding-left: 15px;
}
.half_image.half-right .text {
	float: left;
	width: 50%;
	padding-right: 15px;
}


/* bestellmodul ------------------------------------- */
img#order_preview {
	float: left;
	width: 60%;
	/*border: 1px solid #d0d0d0;*/
}
.order .categories {
	float: right;
	width: 35%;
}
.order .categories .group {
	float: left;
	width: 100%;
	margin-bottom: 2%;
}
.order .categories .group .title {
	float: left;
	width: 100%;
}
.order .categories .group .title .name {
	font-family: 'source_sans_prosemibold';
}
.order .categories .group .option {
	float: left;
	width: 35px;
	margin-left: 10px;
	min-height: 40px;
}
.order .categories .group .option:nth-child(2) {
	margin-left: -5px;
}
.order .categories .group .option .outer {
	float: left;
	width: 35px;
	height: 35px;
	border: 2px solid white;
	border-radius: 50%;
	cursor: pointer;
}

.order .categories .group .option .outer:hover,
.order .categories .group .active .outer {
	border-color: #aeb0b3;
}
.order .categories .group .option .outer .inner {
	float: left;
	width: 23px;
	height: 23px;
	margin: 4px;
	border-radius: 50%;
}

.order .categories .group .option img {
	width: 100%;
	cursor: pointer;
}


.order .text_container {
	float: right;
	width: 35%;
	margin-top: 10px;
}
.order .text_container .text_meta {
	float: left;
	width: 100%;
	margin-bottom: 10px;
}
.order .text_container .text {
	float: left;
	width: 100%;
}
.order .text_container .text .price {
	font-size: 20px;
	font-family: 'source_sans_prosemibold';
	
}
.order .text_container .text button {
	font-size: 20px;
	border: 1px solid #d0d0d0;
	padding: 10px;
	background: #f0f1f1;
	cursor: pointer;
	margin-top: 20px;
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
}
.order .text_container .text button:hover {
	opacity: 0.6;
}

.order .text_bottom {
	float: left;
	width: 100%;
	margin-top: 20px;
}







/* warenkorb form  ------------------------------------- */

#order_form {
	float: left;
	width: 45%;
	margin-top: 20px;
}
#order_information {
	float: right;
	width: 45%;
}
#order_information h3 {
	margin-top: 55px;
}

#order_form .form_element {
	width: 100%;
	float: left;
	padding: 5px 0;
}
#order_form .form_element label {
	float: left;
	width: 30%;
	padding-right: 20px;
	padding-top: 5px;
}
#order_form .form_element textarea,
#order_form .form_element input {
	float: left;
	width: 70%;
	padding: 5px;
	border: 1px solid #d0d0d0;
}
#order_form .form_element input[type=checkbox] {
	width: 20px;
	margin-top: 4px;
}
#order_form .form_element .checkbox_element {
	float: left;
	padding-top: 5px;
	margin-left: 30%;
}
#order_form .invalid .checkbox_element,
#order_form .invalid label {
	color: rgba(255,0,0,1)
}
#order_form .form_element textarea[name=mitteilung] {
	height: 120px;
	width: 70%;
}
#order_form #element_1_7 label,
#order_form #element_1_13 label,
#order_form button {
	display: none;
}

.button_container {
	float: left;
	width: 100%;
	border-top: 1px solid #d0d0d0;
	margin-top: 20px;
}
.button_container button {
	margin-left: 30%;
	font-size: 18px;
	border: 1px solid #d0d0d0;
	padding: 10px;
	background: #f0f1f1;
	cursor: pointer;
	margin-top: 20px;
	width: 250px;
	float: right;
	
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
}
.button_container button:hover {
	opacity: 0.6;
}


/* warenkorb ------------------------------------- */
.shoppingcart_small {
	-webkit-transform:  scale(1);
	transform:  scale(1);
	
	-webkit-transition: -webkit-transform .2s;
	transition: transform .2s;
}
.shoppingcart_animate {
	-webkit-transform:  scale(1.1);
	transform:  scale(1.1);
}
.shoppingcart_small a {
	background-image: url(../image/icon_shoppingcart.png);
	background-position: left 1px;
	background-repeat: no-repeat;
	background-size: 20px;

	padding-left: 27px;
	font-size: 18px;
	text-decoration: none;
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
	
	
}
.shoppingcart_small a:hover {
	opacity: 0.6;
}
.shoppingcart_small .article {
	margin-left: 27px;
}

#shoppingcart_small_left { 
	display: none; 
	padding-top: 20px;
}

.order_image_animate {
	-webkit-transition: all 0.7s;
	transition: all 0.7s;
}



#shoppingcart .product {
	float: left; 
	width: 100%;
	border-top: 1px solid #d0d0d0;
	padding-top: 20px;
	margin-bottom: 20px;
	position: relative;
}
#shoppingcart .product .left {
	float: left;
	width: 80%;
	border-right: 1px solid #d0d0d0;
}
#shoppingcart .product .count {
	float: left;
	width: 15%;
	padding-right: 2%;
	text-align: center;
	
}
#shoppingcart .product .count .input {
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
	font-size: 15px;
	padding-bottom: 2px;
}
#shoppingcart .product .count button {
	width: 20px;
	height: 20px;
	padding: 0;
	cursor: pointer;
	border: none;
	text-indent: -1000000px;
	overflow: hidden;
	background: none;
	
	background-position: center center;
	background-size: 100%;
}
#shoppingcart .product .count button.increase {
	background-image: url(../image/icon_plus.png);
}
#shoppingcart .product .count button.decrease {
	background-image: url(../image/icon_minus.png);
}

#shoppingcart .product .count button:hover {
	opacity: 0.6;
}
#shoppingcart .product .preview {
	float: left;
	width: 31%;
}
#shoppingcart .product .info {
	float: right;
	width: 54%;
	padding-left: 5%;
	padding-right: 5%;
	
}
#shoppingcart .product .info p {
	line-height: 160%;
	margin-top: 10px;
}
#shoppingcart .product .info p:first-child {
	margin-top: 0;
}

#shoppingcart .product .info span {
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
}
#shoppingcart .product .costs {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 20%;
	
	text-align: right;
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
	
}


#shoppingcart .total {
	float: left;
	width: 100%;
	border-top: 1px solid #d0d0d0;
	border-bottom: 1px solid #d0d0d0;
	padding-top: 20px;
	padding-bottom: 20px;
	position: relative;
}
#shoppingcart .total .label {
	float: left;
	width: 80%;
	text-align: right;
}
#shoppingcart .total .value {
	position: absolute;
	bottom: 0;
	right: 0;
	padding-bottom: 20px;
	
	width: 20%;
	text-align: right;
	font-size: 16px;
	
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
}


/* fonts ------------------------------------- */
h1,h2,p,a,div {
	font-family: source_sans_prolight, helvetica, Verdana, Arial, sans-serif;
	color: #191919;
	font-weight: normal;
}

h1 {
	font-size: 30px;
	/*font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;*/
	font-weight: normal;
	
	font-size: 45px;
	font-size: 26px;
	line-height:125%;
	
}
h2 {
	font-size: 20px;
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
	margin-bottom: 15px;
}
h2 span {
	font-size: 14px;
	font-family: source_sans_prolight, helvetica, Verdana, Arial, sans-serif;
}
h3 {
	font-size: 15px;
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
	margin-bottom: 12px;
	font-weight: normal;
}
p {
	font-size: 14px;
}
#col2 a {
	color: #3bb3db;
}
.content b {
	font-family: source_sans_prosemibold, helvetica, Verdana, Arial, sans-serif;
}


@font-face {
    font-family: 'source_sans_prolight';
    src: url('font/sourcesanspro-light-webfont.eot');
    src: url('font/sourcesanspro-light-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/sourcesanspro-light-webfont.woff') format('woff'),
         url('font/sourcesanspro-light-webfont.ttf') format('truetype'),
         url('font/sourcesanspro-light-webfont.svg#source_sans_prolight') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'source_sans_prosemibold';
    src: url('font/sourcesanspro-semibold-webfont.eot');
    src: url('font/sourcesanspro-semibold-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/sourcesanspro-semibold-webfont.woff') format('woff'),
         url('font/sourcesanspro-semibold-webfont.ttf') format('truetype'),
         url('font/sourcesanspro-semibold-webfont.svg#source_sans_prosemibold') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'source_sans_prolightit';
    src: url('font/sourcesanspro-lightit.eot');
    src: url('font/sourcesanspro-lightit.eot?#iefix') format('embedded-opentype'),
         url('font/sourcesanspro-lightit.woff') format('woff'),
         url('font/sourcesanspro-lightit.ttf') format('truetype'),
         url('font/sourcesanspro-lightit.svg#source_sans_prolightit') format('svg');
    font-weight: normal;
    font-style: normal;

}


/**
* RESPONSIVE LAYOUT
*/
@media all and (max-width: 1370px) {
	body {
		-webkit-text-size-adjust: none;
		-webkit-tap-highlight-color: rgba(0,0,0,0);		
	}
	
	#wrap { width: 100%; }
    
    #col1 {
	    left: 0;
	    margin-left: 0;
    }
    
    
    #col3 {
	   left: 0;
	   margin-left: 1171px;
	   width: 180px;
    }
    #shoppingcart_small_right a span {
	    display: none;
    }
    #shoppingcart_small_right .article {
	    display: inline;
	    font-size: 18px;
	    margin: 0;
    }
    
}

@media all and (max-width: 1325px) {
	#col3 {	display: none; }
	#shoppingcart_small_left { display: block; }	
	#col1 .icons { display: block; }
}

@media all and (max-width: 1171px) {
	#col2 {	width: 100%; }
	#col2 > .content { border-right: none; }
}

@media all and (max-width: 950px) { 
		
	#order_form .bestellung {
		padding-left: 0;
		margin-bottom: 20px;
		float: left; 
		width: 100%;
	}
	#order_form .form {
		padding-right: 0;
		width: 100%;
	}
	
	
	.order .categories { width: 100%; }
	.order .text_container { width: 100%; }
	img#order_preview {	width: 100%; }
	.order .categories .group { width: 50%; }
	
}

@media all and (max-width: 885px) {
	#col2 {	
		padding-left: 0;
		z-index: 2;
		
		-webkit-transition: margin 0.2s 0s linear;
	    transition: margin 0.2s 0s linear;
	}
	#col2 > .content { 
		padding-top: 60px; 
		border-width: 0;
	}
	#header_mobile { 
		display: block; 
		
		-webkit-transition: left 0.2s 0s linear;
	    transition: left 0.2s 0s linear;
	}
	
	body.menu #header_mobile {
		left: 230px;
		border-left: 1px solid #d0d0d0;
	}
	body.menu #col2 {
	    margin-left: 230px;
    }
    body.menu #col2 > .content { border-left-width: 1px; }
    body.menu #header_mobile button div {
	    border-color: #4d4e4c;
    }
    body.menu #wrap {
	    overflow-x: hidden;
    }
    
    #order_form .bestellung { 
    	float: right; 
    	width: 50%;
    	padding-left: 20px;
    }
    #order_form .form { 
    	float: right; 
    	width: 50%;
    	padding-right: 20px;
    }
    
    .order .categories { width: 35%; }
	.order .text_container { width: 35%; }
	img#order_preview { width: 60%; }
	.order .categories .group { width: 100%; }
	
	
	/* warenkorb */
	#shoppingcart .product .count {	width: 20%;	}
	#shoppingcart .product .preview { width: 20%; }
	#shoppingcart .product .info { width: 60%; }
}




@media all and (max-width: 700px) { 
	
	.order .categories { width: 100%; }
	.order .text_container { width: 100%; }
	img#order_preview {	width: 100%; }
	.order .categories .group { width: 50%; }
}

@media all and (max-width: 675px) { 
	#order_form { width: 100%; }
	#order_information { width: 100%; }
}

@media all and (max-width: 550px) {
	h1 {font-size: 29px;}
	h2.product {
		width: 80%;
	}
	.slider_info {
		width: 20%;
	}
	
	.order .categories .group { width: 100%; }
	
	/* warenkorb */
	#shoppingcart .product .left { width: 70%; }
	#shoppingcart .product .costs { width: 30%; }
	#shoppingcart .product .count {	width: 25%;	}
	#shoppingcart .product .preview { 
		width: 50%; 
		float: right;
		margin-right: 5%;
	}
	#shoppingcart .product .info { 
		width: 100%; 
		padding: 0; 
		margin-top: 15px;
	}
	#shoppingcart .product .info p { line-height: 80%; }
	#shoppingcart .total .value { width: 40%; }
	#shoppingcart .total .label { width: 60%; }
	
	
	.slider_bullets { display: none; }
	
	/* article image */
	.half_image.half-left .text,
	.half_image.half-right .text,
	.half_image.half-left img.article_image,
	.half_image.half-right img.article_image {
		width: 100%;
		padding: 0;
	}
	

/**
* hoehe
*/
@media all and (max-height: 600px) {
	#col1 {
		overflow:scroll;
		-webkit-overflow-scrolling: touch;	
	}
	
}