/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

*{
	box-sizing:border-box;
}

body{
	font-family: neue-haas-grotesk-text, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height:1.3;
}

header{
	background:#9E1924;
	width:100%;
	float:left;
	position:relative;
	z-index:1000;
}

header .ohp{
	margin:1rem 0;
	float:left;
}

header ul.contact{
	list-style:none;
	margin:1rem 0 0.2rem;
	float:right;
	font-size:0.9rem;
}

header ul.contact li{
	display:inline-block;
	margin-left:2rem;
	color:#fff;
}

header ul.contact li a{
	color:#fff;
	text-decoration: none;
}

header ul.contact li a:hover{
	color:#e0dede;
}

header nav{
	float:right;
	clear:right;
}

header nav a.menu{
	display:none;
}

header nav ul{
	list-style:none;
	margin:1rem 0 0;
	font-size:0.9rem;
}

header nav ul li{
	display:inline-block;
	margin-left:1rem;
	position:relative;
	height:2rem;
}

header nav ul li a{
	color:#fff;
	text-decoration: none;
}

header nav ul li a:hover{
	color:#e0dede;
}

header nav ul li ul{
	display:none;
}

header nav ul li:hover ul{
	display:block;
	position:absolute;
	top:2rem;
	left:0px;
	width:200px;
	background:#3c3c3b;
	margin:0px;
}

header nav ul li:hover ul li{
	margin-left:0px;
	padding:0.5rem;
	width:100%;
	height:auto;
	border-bottom:1px solid #ccc;
}

header nav ul li.selected a{
	font-weight:700;
}

header nav ul li span:after {
	width: 0;
	height: 0;
	border: 0.313em solid transparent; /* 5 */
	border-bottom: none;
	border-top-color: #fff;
	opacity:0.8;
	content: '';
	vertical-align: middle;
	display: inline-block;
	position: relative;
	right: -0em; /* 5 */
}

.row{
	width:100%;
	float:left;
	padding:3rem 0;
}

.row.grey{
	background:#e0dede;
}

.wrap{
	max-width:1280px;
	margin:0 auto;
	display:block;
	padding:0 1rem;
	position: relative;
}

.hero{
	background:#9E1924;
	width:100%;
	float:left;
	position:relative;
	width:100%;
	height:310px;
	overflow:hidden;
}

.hero p{
	color:#fff;
	font-size:1.4rem;
	font-style: italic;
	text-align: right;
	position:absolute;
	top:3rem;
	right:1rem;
	z-index:300;
	font-weight:700;
	text-shadow:0px 0px 3px #333;
}

.hero svg{
	position:absolute;
	top:0px;
	left:0px;
	z-index:200;
}

.hero .wrap{
	padding:0px;
}

.hero .slider{
	position:relative;
	top:0px;
	left:0px;
	width:100%;
	height:auto;
	z-index:1;
}

.hero .slider img{
	min-width:100%;
	height:310px;
}

footer{
	width:100%;
	float:left;
	background:#3c3c3b;
	font-size:0.8rem;
	padding:2rem 0;
}

footer p{
	line-height:3rem;
	color:#e0dede;
	float:left;
	margin-bottom:0px;
}

footer ul{
	list-style-type: none;
	color:#e0dede;
	float:right;
	line-height:3rem;
	margin-bottom:0px;
	margin-left:0px;
}

footer ul li{
	display:inline-block;
}

footer ul li a{
	color:#e0dede;
	text-decoration: none;
}

footer ul li a:hover{
	color:#fff;
}

@media screen and (max-width:1100px){
	
	header .ohp{
		height:1.6rem;
		width:4rem;
		margin-bottom:0px;
	}
	
	header nav ul li:first-child{
		margin-left:0px;
	}
	
}

@media screen and (max-width:900px){
	
	header ul.contact{
		margin-top:1.2rem;
	}
	header nav{
		width:100%;
	}
	header nav a.menu{
		display:block;
		color:#fff;
		border:1px solid #fff;
		border-radius:3px;
		padding:0.3rem 1.2rem;
		width:auto;
		float:right;
		cursor:pointer;
		margin-top:1rem;
		margin-bottom:0.5rem;
	}
	header nav a.menu:hover{
		background:#fff;
		color:#9e1924;
	}
	header nav > ul{
		display:none;
		grid-template-columns:1fr 1fr 1fr;
		grid-row-gap:1rem;
		grid-column-gap:1rem;
		overflow:hidden;
	}
	header nav > ul.show{
		display:grid;
		clear:both;
	}
	header nav ul li{
		margin:0;
		height:auto;
		display:block;
		border-bottom:1px dotted #eee;
		padding-bottom:1rem;
	}
	header nav ul li ul,header nav ul li:hover ul{
		display:block;
		position:relative;
		top:0px;
		left:0px;
		background:transparent;
		border-bottom:none;
		font-size:0.8rem;
		margin-left:0;
		margin-top:0.5rem;
	}
	header nav ul li ul li,header nav ul li:hover ul li{
		width:100%;
		border-bottom:none;
		height:1.3rem;
		padding:0;
		padding-left:1rem;
	}
	footer ul{
		float:left;
		clear:left;
		line-height:1.3rem;
		margin-bottom:1rem;
	}
	
}

@media screen and (max-width:620px){
	
	header nav ul{
		grid-template-columns: 50% 50%;
	}
	
	.hero{
		height:200px;
	}
	
	.hero .slider img{
		height:200px;
	}
	
	.hero p{
		font-size:1.2rem;
	}
		
}

@media screen and (max-width:480px){
	
	header ul.contact{
		font-size:0.8rem;
	}
		
}

@media screen and (max-width:440px){
	
	header ul.contact li:first-child{
		display:none;
	}
	
	.hero{
		height:140px;
	}
	
	.hero .slider img{
		height:140px;
	}
	
	.hero p{
		font-size:1rem;
	}
	
	.hero svg{
		display:none;
	}
		
}

@media screen and (max-width:380px){
	
	header nav ul{
		grid-template-columns: 1fr;
	}
		
}

.text{
	max-width:768px;
	margin:0 auto;
	padding:1rem;
	background:#f9f2f2;
	box-shadow:0px 0px 3px #ccc;
	overflow:auto;
}

.row.map{
	background:url('../images/map.svg') top right no-repeat;
	background-size:400px;
}

.text.alt{
	max-width:1024px;
	float:left;
	background:transparent;
	box-shadow: none;
	padding:0 0 0 300px;
}

.text.alt figure{
	position:absolute;
	top:0px;
	left:1rem;
	width:260px;
}

.text.alt figure img{
	max-width:100%;
	height:auto;
	margin-bottom:1rem;
}

.text.alt figure figcaption{
	font-size:0.7rem;
	font-style: italic;
}

@media screen and (max-width:1280px){

	.text.alt{
		max-width:740px;
	}
	
}

@media screen and (max-width:1024px){

	.text.alt{
		max-width:740px;
		padding-left:0px;
	}
	.text.alt figure{
		position:relative;
		left:0px;
		margin-bottom:1rem;
	}
	
}

@media screen and (max-width:480px){

	.row.map{
		background-size:250px;
	}
	
}

@media screen and (max-width:440px){

	.row.map{
		background:none;
	}
	
}

h1{
	font-weight:700;
	color:#9e1924;
	margin-bottom:1rem;
	font-size:1.6rem;
}

h2{
	font-weight:700;
	color:#9e1924;
	margin-bottom:1rem;
	font-size:1.4rem;
}

p{
	margin-bottom:1rem;
}

ul{
	margin-left:1rem;
	margin-bottom:1rem;
	list-style:disc;
}

strong{
	font-weight:700;
}

em{
	font-style:italic;
}

a{
	color:#9e1924;
}

a:hover{
	color:#e0dede;
}

a.button{
	background:#9e1924;
	padding:1rem 2rem;
	color:#fff;
	text-decoration: none;
	margin-top:0.5rem;
	display:inline-block;
	margin-bottom:-1rem;
	cursor:pointer;
}

a.button:hover{
	background:#e0dede;
}

table{
	width:100%;
}

table tr{
	
}

table tr th{
	font-weight:700;
	padding:0.3rem;
	text-align: left;
	border-bottom:1px solid #fff;
}

table tr td{
	padding:0.3rem;
	border-bottom:1px solid #fff;
}

.form-group{
	width:100%;
	float:left;
}

.form-group.additional{
	display:none;
}

.form-group label{
	font-weight:700;
	display:block;
	margin-bottom:0.5rem;
}

.form-group input,.form-group textarea{
	width:100%;
	font-size:1rem;
	font-family: neue-haas-grotesk-text, sans-serif;
	font-weight:400;
	border:1px solid #eee;
	margin-bottom:1rem;
	padding:0.3rem;
}

.form-group input:focus,.form-group textarea:focus{
	border:1px solid #9e1924;
}

.form-group input[type=submit]{
	background:#9e1924;
	color:#fff;
	padding:1rem 2rem;
	display:inline-block;
	float:right;
	width:auto;
	cursor:pointer;
}

.form-group input[type=submit]:hover{
	background:#e0dede;
	color:#9e1924;
}

ul.gallery{
	list-style:none;
	margin-left:0px;
	margin-bottom:0px;
	text-align: center;
}

ul.gallery li{
	display:inline-block;
	overflow:hidden;
	height:300px;
	width:300px;
	margin:5px;
}

ul.gallery img{
	display:block;
	transition:ease-in-out 0.2s;
}

ul.gallery img:hover{
	transform:scale(1.05);
}

iframe{
	width:100%;
}

ul.hfeed.listing{
	list-style: none;
	margin-left:0px;
	margin-bottom:0px;
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-column-gap:2rem;
	grid-row-gap:6rem;
}

ul.hfeed.listing li{
	position:relative;
}

ul.hfeed.listing li div{
	background:#f9f2f2;
	box-shadow:0px 0px 3px #ccc;
	padding:1rem;
	float:left;
	padding-left:120px;
	margin-left:120px;
	margin-top:40px;
}

ul.hfeed.listing li img{
	position:absolute;
	top:0px;
	left:0px;
}

ul.hfeed.listing li p.date{
	font-size:0.8rem;
	color:#777;
	font-style:italic;
	position:absolute;
	top:0px;
	left:240px;
}

p.meta{
	font-size:0.8rem;
	color:#777;
	font-style: italic;
}

.text img{
	max-width:100%;
	height:auto;
	margin-bottom:1rem;
}

p.back{
	text-align: center;
	font-size:0.8rem;
	padding-top:2rem;
}

p.back a:hover{
	color:#fff;
}

@media screen and (max-width:1024px){
	
	ul.hfeed.listing li img{
		width:100px;
		height:auto;
	}	
	
	ul.hfeed.listing li div{
		margin-left:60px;	
		padding-left:60px;
	}
	
	ul.hfeed.listing li p.date{
		left:120px;
	}
		
}

@media screen and (max-width:768px){
	
	ul.hfeed.listing{
		grid-template-columns: 1fr;
	}	
		
}

.paging{
	width:100%;
	float:left;
	padding-top:2rem;
}

.button.left{
	float:left;
}

.button.right{
	float:right;
}

.download{
	display:grid;
	grid-template-columns: auto 200px;
	grid-column-gap: 1rem;
	margin:0 auto;
	padding:0 1rem;
	max-width:768px;
}

.download a.button{
	text-align: center;
	border-radius: 2rem;
	margin-bottom:0;
}

.download h2{
	line-height:4rem;
	margin:0;
	padding:0;
}

.service{
	margin:0 auto;
	padding:0 1rem;
	max-width:768px;
	border-bottom:1px solid #ccc;
	padding-bottom:2rem;
}

.service img{
	background:#fff;
	float:right;
	margin-left:2rem;
	margin-bottom:2rem;
	max-width:50%;
	padding-left:1rem;
	border-left:1px solid #ccc;
	margin-right:-1rem;
}

@media screen and (max-width:768px){
	.download{
		grid-template-columns: 1fr;
	}
	.download a.button{
		display:inline-block;
		max-width:200px;
	}
}

@media screen and (max-width:540px){
	.service img{
		clear:both;
		margin:0 0 2rem 0;
		float:left;
		padding-left:0;
		border-left:none;
		max-width:100%;
		width:100%;
	}
}

input{
	font-family: neue-haas-grotesk-text, sans-serif;	
	padding:0.5rem;
}

form div{
	margin-bottom:1rem;
}

form label{
	clear:both;
	display:block;
	font-weight:700;
}

fieldset legend{
	font-weight:700;
	color:#9e1924;
	margin-bottom:1rem;
	font-size:1.4rem;
}