html,body {
	margin: 0;
	padding: 0;
}
html {
	font: 16px "Helvetica Neue", Helvetica, Arial, sans-serif;
	line-height: 1.5em;
	color: #334;
}
a {
	color: #334;
	transition: color .1s ease-in-out;
}
a:hover {
	color: black;
	text-decoration: none;
}
hr {
	border: 0;
	height: 1px;
	background: #556;
}
.center {
	text-align: center;
}
p.center {
	display: block;
}
.right {
	text-align: right;
}
.float-right {
	float: right;
	padding-right: 1em;
}
.scrollable {
	overflow-x: auto;
}

.icon-back::before {
	content: url(img/arrow.svg);
	content: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEyIj48cGF0aCBkPSJNNiwxIEwgMSw2IEwgNiwxMSIgc3R5bGU9ImZpbGw6bm9uZTsgc3Ryb2tlOiMwMDA7IHN0cm9rZS13aWR0aDoxLjVweDsgc3Ryb2tlLWxpbmVjYXA6c3F1YXJlOyIvPjwvc3ZnPgo=);
}

/* Header */
header {
	line-height: 1.5rem;
}
header h1, header h2, header h3 {
	padding: 0;
	margin: 0;
	font-weight: normal;
}
header .brand {
	font-size: 1.25rem;
}
header a {
	text-decoration: none;
}
header.dark {
	background: #334;
	color: white;
}
header.dark a {
	color: white;
}
header.dark a:hover {
	background-color: #223;
}
header.dark .light {
	background: #556;
}
header.dark .light a:hover {
	color: #fff;
	background: #445;
}
header.top {
	display: flex;
	flex-wrap: wrap;
}
header.top > * {
	display: inline-block;
	vertical-align: top;
}
header.top nav.menu {
	flex-grow: 1;
}
header.top .break {
	flex-basis: 100%;
}
header a {
	display: inline-block;
	padding: .8rem 1.5rem;
}
header .brand a {
	padding: .8rem .3rem;
}
header .brand a:first-child {
	margin-right: -.4rem;
	padding-left: 1.5rem;
	padding-right: .9rem;
}
header .brand a:first-child:last-child {
	margin-right: 0;
}
header.top .right {
	flex-grow: 1;
}

/* Navigation */
nav ul {
	list-style-position: inside;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
nav li {
	display: inline-block;
}
nav a {
	text-decoration: none;
}

/* Navigation - header */
header #menu-open {
	display: none;
}
header.top > .expand,
header.top > .expand + span.break {
	display: none;
}
@media only screen and (max-width: 540px) {
	header.top > .expand,
	header.top > .expand + span.break {
		display: inline-block;
	}
	header.top #menu-open ~ nav.menu {
		display: none;
	}
	header.top #menu-open:checked ~ nav.menu {
		display: inline-block;
	}
}

/* Sections */
section {
	padding: 2em;
}
section h2 {
	margin: 0.2em 0 0.6em;
}
section.dark {
	background: #ddd;
}
section section {
	padding: 1em 2em;
}

/* Footer */
footer {
	clear: both;
	display: flex;
	flex-wrap: wrap;
	background: #334;
	color: white;
	padding: 4em;
}
footer > * {
	padding: 1em;
	flex-grow: 1;
}
footer a {
	color: white;
	text-decoration: none;
}
footer a:hover {
	color: #ddd;
	text-decoration: underline;
}


@media only screen and (max-width: 750px) {
	section {
		padding: 1em;
	}
	section section {
		padding: 1em;
	}
	footer {
		padding: 1em;
	}
}

/* Cards */
.cards {
	display: flex;
	flex-wrap: wrap;
}
.center .cards {
	justify-content: center;
}
.card {
	display: inline-block;
	align-items: stretch;
	border: 1px solid #334;
	border-radius: 5px;
	padding: 1em 2em;
	margin: 1em;
}

/* Offers */
.offer {
	display: inline-block;
	padding: .5em 1.5em;
	margin: .5em .5em;
	border-radius: .5em;
	border: 1px solid #445;
}
.offer h3 {
	text-align: center;
}
.offer b {
	font-size: 150%;
}

/* Boxes */
.boxes {
	display: flex;
	flex-wrap: wrap;
	margin-top: 1em;
}
.box {
	margin: .2em;
	border: 1px solid #445;
	border-radius: .2em;
	overflow: hidden;
}
.box > * {
	padding: 0 1em;
}
.box-title {
	color: #fff;
	background: #445;
	padding: .4em .6em;
	margin-top: 0;
}

/* Choice */
.choice {
	margin-bottom: 2em;
	max-width: 300px;
}
.choice li {
	display: block;
}
.choice li a {
	display: block;
	padding: 1em;
	border: 1px solid #334;
	background: #ddd;
}
.choice li a:hover, .choice li a:active {
	background: #eee;
}

/* Buttons */
.button {
	display: inline-block;
	background: #67b;
	color: #fff;
	text-decoration: none;
	transition: background-color .1s ease-in-out;
	padding: 0.8em;
	margin: 0.2em 0.4em;
	border-radius: 0.5em;
	border: none;
	box-sizing: content-box;
	font-size: 1em;
	height: 1.5em;
}
.button:hover, .button:active {
	color: #fff;
	background: #458;
}
.button-yellow {
	background: #a92;
}
.button-yellow:hover, .button-yellow:active {
	background: #762;
}
.button-green {
	background: #683;
}
.button-green:hover, .button-green:active {
	background: #352;
}

/* Rows */
.row > a {
	text-decoration: none;
	display: block;
	padding: .2rem .5rem;
	border-radius: .1rem;
	border-left: 3px solid black;
}
.row > a:hover, .row > a:active {
	background: #eee;
}

/* Tables */
table.collapsed {
	border-collapse: collapse;
}
table.collapsed td, table.collapsed th {
	padding: 0.2em 0.4em;
}
table.stripped tr:nth-child(odd) {
	background: #ddd;
}

/* Forms */
.error, .success {
	border: 1px solid red;
	border-radius: 2px;
	background: #fdd;
	padding: 0.5em;
}
.success {
	border-color: green;
	background: #dfd;
}
.form-table {
	display: table;
}
.form-row {
	display: table-row;
}
.form-row > label {
	text-align: right;
}
.form-row > * {
	display: table-cell;
	padding: .4em;
}
.form-row > *:first-child {
	padding-left: 0;
}
input {
	height: 1.2rem;
	vertical-align: middle;
}
input[type="radio"], input[type="checkbox"] {
	height: 1em;
	vertical-align: baseline;
}
select {
	height: 2rem;
}
.autocomplete {
	display: block;
	position: absolute;
	background: #fff;
}
.autocomplete:not(:empty) {
	border: 1px solid black;
	border-radius: 3px;
	padding: 3px 5px;
}
.autocomplete span {
	display: block;
}

/* Map */
#map {
	display: block;
	width: 100%;
	min-height: 600px;
}

/* Formatting */
.center, .jumbo {
	text-align: center;
}
.left {
	text-align: left;
}
.reduced-width {
	max-width: 800px;
}
.center .reduced-width {
	margin: 0 auto;
}
.jumbo {
	padding: 4em 0;
}
.green {
	color: #683;
}
.orange {
	color: #a92;
}
.red {
	color: #a22;
}
.margin-top-1em {
	margin-top: 1em;
}
.margin-top-2em {
	margin-top: 2em;
}
.margin-left-0 {
	margin: 0;
}
address {
	font-style: normal;
	white-space: pre-line;
}
.large {
	font-size: 200%;
}

/* Customization */
.logo {
	background-image: url(img/logo_mini.png);
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAKAQMAAABhWYebAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAACJJREFUCNdjqG5QYGhkgOBCfgUGTo4FYPx5vQQDAwcDDAMAmCkGMuBnvZcAAAAASUVORK5CYII=);
	background-origin: content-box;
	background-repeat: no-repeat;
	background-size: contain;
	
	display: inline-block;
	text-indent: -10000em;
	overflow: hidden;
	
	height: 1em;
	width: 2.1em;
	box-sizing: content-box;
	
	image-rendering: -moz-crisp-edges;
	image-rendering: -o-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: optimize-contrast;
	image-rendering: crisp-edges;
	image-rendering: pixelated;
	-ms-interpolation-mode: nearest-neighbor;
	vertical-align: top;
}
.brand .logo {
	vertical-align: baseline;
	margin-bottom: -.3em;
}
.dark .logo {
	background-image: url(img/logo_mini_wh.png);
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAKAQMAAABhWYebAAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAACJJREFUCNdjqG5QYGhkgOBCfgUGTo4FYPx5vQQDAwcDDAMAmCkGMuBnvZcAAAAASUVORK5CYII=);
}
