/*
Theme Name: 	Edarwi
Theme URI: 		http://mohnrot.ch
Version: 		1.0
Author: 		Kornelia Stoffel
Author URI: 	http://mohnrot.ch
*/



/*** Sensible Defaults ***/

@import "css/reset.css";
@import "js/lightbox/css/lightbox.min.css";

div,
article,
section,
header,
footer,
nav,
li					{ position:relative; /* For absolutely positioning elements within containers (add more to the list if need be) */ }
body 				{ background:#fff; /* Don't forget to style your body to avoid user overrides */ }
/*::-moz-selection 	{ background:#ff0; color:#333; }
::selection 		{ background:#ff0; color:#333; } */

* {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	   -moz-font-smoothing: antialiased;
	        font-smoothing: antialiased;
}

/* Typekit */
/* These classes make sure that no FOUC occurs. 
 * All contents remain hidden, until the fonts are loaded (or until loading fails) */
 
.wf-loading {
	visibility: hidden;
	opacity: 0;
}

.wf-active, .wf-inactive {
	visibility: visible;
	opacity: 1;
	-webkit-transition: all 0.2s ease-in-out;
	   -moz-transition: all 0.2s ease-in-out;
		 -o-transition: all 0.2s ease-in-out;
		    transition: all 0.2s ease-in-out;
}

/* Helper Classes */

.clear { clear: both; }
strong { font-weight: bold; }
em { font-style: italic; }
a, a:link, a:visited, a:hover, a:focus { color: inherit; }

html, body {
	font-family: "futura-pt",sans-serif;
	font-size: 14px;
	line-height: 140%;
	color: #8F6651;
	background: #DCD7D0;
}

	@media (min-width: 500px) {
		html, body {
			font-size: 15px;
			line-height: 140%;
		}
	}
	
	@media (min-width: 800px) {
		html, body {
			font-size: 16px;
			line-height: 140%;
		}
	}

header {
	height: 33vw;
	min-height: 150px;
	background-color: rgba(143, 102, 81, 0.3);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
	
	body.home header {
		height: 100vh;
	}
	
	header .wrap {
		height: 100%;
		position: relative;
	}
		
		header .tagline {
			font-size: 1rem;
			line-height: 120%;
			text-transform: uppercase;
			color: #fff;
			position: absolute;
			bottom: 10px;
			left: 20px;
		}
			
			@media (min-width: 350px) {
				header .tagline {
					font-size: 1.2rem;
					line-height: 120%;
					bottom: 20px;
				}
			}
			
			@media (min-width: 600px) {
				header .tagline {
					font-size: 1.8rem;
					line-height: 120%;
				}
			}
			
			@media (min-width: 900px) {
				header .tagline {
					font-size: 2.2666rem;
					line-height: 120%;
				}
			}
		
		body.home .tagline {
			bottom: auto;
			top: 50%;
			transform: translateY(-50%);
		}
	
	header a.logo {
		display: inline-block;
		width: 35px;
		height: 35px;
		background: url(css/img/symbol_klein.png) no-repeat center center;
		background-size: contain;
		text-indent: -1000px;
		overflow: hidden;
		position: absolute;
		margin: 0.3rem 0 0 0;
		z-index: 999;
	}
	
	header .nav-toggle {
		display: inline-block;
		width: 35px;
		height: 35px;
		margin: 0.5rem 0 0 3.5rem;
		cursor: pointer;
		z-index: 999;
		position: relative;
	}
	
		header .nav-toggle span {
			width: 70%;
			height: 2px;
			background: #fff;
			margin: 6px auto;
			display: block;
		}
			
			header .nav-toggle span:first-of-type {
				margin-top: 8px;
			}
	
	header nav {
		font-weight: bold;
		color: #fff;
		text-transform: uppercase;
		font-size: 1.0666rem;
		margin-left: 2rem;
		display: none;
	}
		
		header.open nav {
			display: block;
			
		}
		
		@media (max-width: 499px) {
			header.open nav {
				background: rgba(143, 102, 81, 0.9);
				z-index: 99;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				margin-left: 0;
			}
				
				header.open nav ul {
					display: block;
					padding: 50px 0 20px 0;
				}
				
					header.open nav ul li {
						display: block;
					}
					
						header.open nav ul li a {
							padding: 10px 20px;
						}
		}
		
		@media (min-width: 500px) {
			header nav {
				display: inline-block;
			}
			
			header .nav-toggle {
				display: none;
			}
		}
		
		header nav ul {
			display: flex;
			flex-flow: row wrap;
		}
			
			header nav ul li {
				
			}
			
				header nav ul li a {
					text-decoration: none;
					display: block;
					padding: 1rem 1rem;
				}

h2 {
	font-size: 1.6rem;
	font-weight: bolder;
	text-transform: uppercase;
	line-height: 110%;
	margin: 1em 0 0.5em 0;
}

p {
	margin-bottom: 1em;
}

.wrap {
	max-width: 1200px;
	padding: 0 20px;
	margin: 0 auto;
}

.page-wrap {
	padding-bottom: 100px;
	position: relative;
	min-height: 100vh;
}

.main {
	padding: 30px 0;
}
	
	body.home .main {
		display: none;
	}

	.main img {
		max-width: 100%;
		height: auto;
	}


.nf-form-cont {
	max-width: 400px;
}

.nf-response-msg {
	font-weight: bold;
}

.nf-form-fields-required {
	display: none;
}

#ninja_forms_required_items, .nf-field-container {
	margin-bottom: 5px !important;
}

.nf-field-element input[type='text'],
.nf-field-element input[type='email'],
.nf-field-element input[type='tel'],
.nf-field-element textarea {
	background: #C9C1B7;
	color: inherit;
	font: inherit;
	padding:  0.5rem 0.75rem;
	border: 0;
	outline: none;
	appearance: none;
}
	
	.nf-field-element textarea {
		height: 100px !important;
	}
	
	.nf-field-element input[type='text']:focus,
	.nf-field-element input[type='email']:focus,
	.nf-field-element input[type='tel']:focus,
	.nf-field-element textarea:focus {
		background: #bbb1a4;
	}
	
	.nf-field-element input[type='button'] {
		background: #936B57;
		color: #fff;
		font: inherit;
		font-weight: bold;
		padding:  0.5rem 1.5rem;
		border: 0;
		outline: none;
		appearance: none;
	}

footer {
	background: #A49788;
	color: #fff;
	font-size: 0.866rem;
	line-height: 130%;
	text-transform: uppercase;
	padding: 20px 0;
	position: absolute;
	bottom: 0;
	width: 100%;
	left: 0;
}

	footer .footer-areas {
		display: flex;
		flex-flow: row wrap;
	}
		
		footer .footer-areas .footer-area {
			width: 100%;
		}
		
			@media (min-width: 400px) {
				footer .footer-areas .footer-area {
					width: 50%;
				}
			}
			
			@media (min-width: 600px) {
				footer .footer-areas .footer-area {
					width: 33.33%;
				}
				
				footer .footer-areas .footer-area.last {
					width: 100%;
					text-align: right;
				}
			}
			
			@media (min-width: 800px) {
				footer .footer-areas .footer-area {
					width: 25%;
				}
			}
		
		@media (min-width: 800px) {
			footer .footer-areas .footer-area.last {
				text-align: right;
				width: 25%;
			}
		}
	
	@media (min-width: 800px) {
		body.home footer {
			background: transparent;
		}
		
		body.home .page-wrap {
			padding-bottom: 0 !important;
		}
	}