.innerWrap, .row, article, aside, details, figcaption, figure, footer, header, hgroup, img, menu, nav, section {
	display: block
}
.threeCols, .twoCols {
	-webkit-box-direction: normal
}
#main-footer a, #main-nav ul li a {
	text-decoration: none;
	transition: all .4s ease-in-out
}
.input-style select, form * {
	-webkit-appearance: none;
	-moz-appearance: none
}
#main-footer a, #main-nav ul li a, label {
	text-transform: uppercase
}
[data-colorsheme=default].row {
	background-color: #fff!important;
	color: #000
}
[data-colorsheme=default].row a, [data-colorsheme=default].row h1, [data-colorsheme=default].row h2, [data-colorsheme=default].row h3, [data-colorsheme=default].row h4, [data-colorsheme=default].row li, [data-colorsheme=default].row li a {
	color: #1ab9e0
}
[data-colorsheme=bright-grey].row {
	background-color: #f9f9f9!important;
	color: #000
}
[data-colorsheme=bright-grey].row a, [data-colorsheme=bright-grey].row h1, [data-colorsheme=bright-grey].row h2, [data-colorsheme=bright-grey].row h3, [data-colorsheme=bright-grey].row h4, [data-colorsheme=bright-grey].row li, [data-colorsheme=bright-grey].row li a {
	color: #1ab9e0
}
[data-colorsheme=blue].row {
	background-color: #1ab9e0!important;
	color: #fff
}
[data-colorsheme=blue].row a, [data-colorsheme=blue].row h1, [data-colorsheme=blue].row h2, [data-colorsheme=blue].row h3, [data-colorsheme=blue].row h4, [data-colorsheme=blue].row li, [data-colorsheme=blue].row li a {
	color: #fff
}
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline
}
.radio span, label {
	font-weight: 100
}
ol, ul {
	list-style: none
}
blockquote, q {
	quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
	content: '';
	content: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
* {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%
}
body {
	font-family: "Open Sans", sans-serif;
	font-size: 18px;
	line-height: 1.5em;
	color: #666
}
img {
	max-width: 100%;
	height: auto
}
.row {
	clear: both;
	text-align: center
}
.row[data-colorsheme] {
	padding: 3em 0
}
.innerWrap {
	clear: both;
	margin: 0 auto;
	width: 90%;
	max-width: 1200px;
	text-align: left
}
#main-nav .lang, #main-nav ul li a {
	text-align: center
}
.innerWrap+.threeCols, .innerWrap+.twoCols {
	margin-top: 3em
}
.threeCols {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-ms-flex-direction: column;
	flex-direction: column
}
.threeCols>div {
	margin-bottom: 2em
}
.threeCols>div:last-of-type {
	margin-bottom: 0
}

@media only screen and (min-width:800px) {
.row[data-colorsheme] {
	padding: 6em 0
}
.threeCols {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row
}
.threeCols>div {
	width: 33.33%;
	margin-bottom: 0
}
}
.twoCols {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-ms-flex-direction: column;
	flex-direction: column
}
.twoCols>div:first-of-type {
	margin-bottom: 2em
}

@media only screen and (min-width:800px) {
.twoCols {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row
}
.twoCols>div:first-of-type {
	margin-right: 2%
}
.twoCols>div {
	width: 49%
}
}
#main-header {
	background-image: url(../images/headerimage.jpg);
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
	position: relative;
	min-height: 450px
}
#main-header h1 {
	color: #1ab9e0;
	font-size: 3em;
	line-height: 1;
	position: absolute;
	top: 30%
}
.homepage #main-nav, .mob-menu {
	position: fixed
}
#main-header h1 span {
	font-size: .4em;
	margin: 0;
	color: inherit
}

@media only screen and (min-width:800px) {
#main-header {
	min-height: 820px
}
#main-header h1 {
	font-size: 6em
}
}
.mob-menu {
	display: block;
	top: 1.9em;
	right: 1em
}
.mob-menu .lang-trigger, .mob-menu .menu-trigger {
	font-size: 1.5em;
	display: inline-block;
	vertical-align: middle
}
.mob-menu .lang-trigger {
	margin-left: .6em;
	text-decoration: none;
	color: #000;
	font-size: 1em
}
.mob-menu .lang-trigger:after {
	content: '';
	transition: all .4s ease-in-out;
	width: 13px;
	height: 10px;
	margin-left: .2em;
	background-image: url(../images/arrow.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	vertical-align: middle
}

@media only screen and (min-width:600px) {
.mob-menu .menu-trigger {
	font-size: 2em
}
}

@media only screen and (min-width:1200px) {
.mob-menu {
	display: none
}
}
#main-nav .innerWrap, #main-nav .lang>li {
	position: relative
}
#main-nav {
	top: 0;
	left: 0;
	right: 0;
	padding: 2em 0;
	background-color: #fff;
	z-index: 100
}
#main-nav .innerWrap .navWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
@media only screen and (min-width:1200px) {
#main-nav .innerWrap .navWrap {
	display: inline-block!important;
	width: 20%;
	float: left;
	margin-right: 4em
}
}
#main-nav .lang>li, #main-nav .lang>li ul a, #main-nav .lang>li ul li, #main-nav .lang>li>a {
	display: inline-block
}
#main-nav .logo {
	width: 15.6%
}

@media only screen and (min-width:440px) {
#main-nav .logo {
	width: 14.1%
}
}

@media only screen and (min-width:550px) {
#main-nav .logo {
	width: 12%
}
}

@media only screen and (min-width:800px) {
#main-nav .logo {
	width: 12.4%
}
}

@media only screen and (min-width:1000px) {
#main-nav .logo {
	width: 12%
}
}

@media only screen and (min-width:1100px) {
#main-nav .logo {
	width: 8.6%
}
}
#main-nav .lang>li>a {
	vertical-align: middle
}
#main-nav .lang>li ul {
	display: inline-block;
	vertical-align: middle;
	padding: 0
}
#main-nav .lang>li a {
	padding: 0 .5em
}

@media only screen and (min-width:1200px) {
#main-nav .logo {
	width: 100%
}
#main-nav .lang {
	float: right;
	display: inline-block
}
#main-nav .lang>li>a {
	display: block
}
#main-nav .lang>li .active:after {
	content: '';
	transition: all .4s ease-in-out;
	margin-left: .7em;
	width: 13px;
	height: 10px;
	background-image: url(../images/arrow.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	vertical-align: middle
}
#main-nav .lang>li ul {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translate(-50%, 50px);
	transform: translate(-50%, 50px);
	transition: all .4s ease-in-out;
	box-shadow: 0 0 10px rgba(0,0,0,.2);
	width: 100px;
	padding: 1em;
	background-color: #fff
}
#main-nav .lang>li ul li {
	display: block
}
#main-nav .lang>li ul li a {
	display: block;
	text-align: center
}
#main-nav .lang>li:hover, #main-nav .lang>li:hover>a {
	color: #1ab9e0
}
#main-nav .lang>li:hover:after {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg)
}
#main-nav .lang>li:hover ul {
	visibility: visible;
	opacity: 1;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0)
}
}
#main-nav ul {
	display: none;
	vertical-align: middle
}

@media only screen and (max-width:1199px) {
#main-nav .lang>li>a.active {
	color: #1ab9e0
}
#main-nav ul {
	padding-top: 2.5em
}
}
#main-nav ul li {
	display: block
}
#main-nav ul li a {
	display: block;
	color: #000;
	padding: 0 1em
}
#main-nav ul li a:hover {
	color: #1ab9e0
}

@media only screen and (min-width:1200px) {
#main-nav ul {
	display: inline-block;
	-webkit-transform: translateY(25%);
	transform: translateY(25%);
	text-align: right
}
#main-nav ul li {
	display: inline-block
}
#main-nav ul li a {
	text-align: left
}
}
.submit-result p, .teaser {
	text-align: center
}

@media only screen and (min-width:1700px) {
#main-nav ul li a {
	padding: 0 1.5em
}
}
.teaser img {
	display: inline-block;
	margin-bottom: 1em
}
.overlay-box {
	position: relative
}

@media only screen and (max-width:1200px) {
.overlay-box h2 {
	margin-top: .8em;
	font-size: 1em
}
}
.image-slider {
	box-shadow: 0 5px 10px rgba(0,0,0,.2)
}

@media only screen and (min-width:1200px) {
.overlay-box h2, .overlay-box:before {
	position: absolute;
	transition: all .4s ease-in-out
}
.overlay-box {
	overflow: hidden
}
.overlay-box:before {
	content: '';
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,.8);
	z-index: 1;
	opacity: 0
}
.overlay-box h2 {
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, 1000%);
	transform: translate(-50%, 1000%);
	z-index: 2;
	padding: 0 2em;
	margin: 0;
	width: 100%
}
.overlay-box:hover:before {
	opacity: 1
}
.overlay-box:hover h2 {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
.image-slider {
	max-height: 480px
}
}
.slick-next:before, .slick-prev:before {
	color: #1ab9e0!important
}
.slick-next {
	right: 20px!important;
	z-index: 1!important
}
.slick-prev {
	left: 20px!important;
	z-index: 1!important
}
#main-footer {
	padding: 3em 0 6em
}
#main-footer a {
	color: #000
}
#main-footer a:hover {
	color: #1ab9e0
}
form {
	margin-top: 3em
}
form * {
	appearance: none
}
.form-threeCols {
	display: grid;
	grid-template-columns: 100%
}

@media only screen and (min-width:800px) {
.form-threeCols {
	display: inline-grid;
	grid-template-columns: 50% 19.2% 30%;
	grid-column-gap: 10px;
	grid-row-gap: 0
}
}
.form-twoCols {
	display: grid;
	grid-template-columns: 100%
}

@media only screen and (min-width:800px) {
.form-twoCols {
	display: inline-grid;
	grid-template-columns: 50% 50%;
	grid-column-gap: 10px;
	grid-row-gap: 0
}
}
.input-style, .text-style {
	width: 100%
}
.input-style input[type=text], .input-style input[type=email], .input-style select, .text-style textarea {
	width: 100%;
	padding: 1em .6em;
	outline: 0;
	border: 1px solid #fff;
	box-sizing: border-box;
	color: #fff;
	background-color: transparent;
	font-family: 'Open Sans', sans-serif;
	font-size: 1em;
	font-weight: 100
}
.input-style input[type=email]:disabled {
	opacity: .5
}
.input-style select {
	appearance: none;
	border-radius: 0;
	padding: .95em .6em
}
.input-style div {
	margin-bottom: 20px
}
.field-wrap.error input, .field-wrap.error select, .text-style.error textarea {
	border-bottom: solid 2px red!important;
	color: red
}
.field-wrap.error input[type=checkbox] {
	border: 0;
	color: red
}
.field-wrap.error input+label:before, .field-wrap.error input[type=checkbox]:before {
	border: 1px solid red;
	display: inline-block;
	width: 20px;
	content: '';
	height: 20px
}
.field-wrap.error input+label {
	color: red
}
.field-wrap.error input+label:before {
	vertical-align: middle;
	margin-right: .3em
}
.field-wrap.error label {
	color: red
}
.field-wrap input[type=checkbox] {
	margin-right: 15px
}
.checkbox {
	display: block;
	margin-top: 20px
}
.checkbox+.checkbox, p+.checkbox {
	margin-top: 5px
}
input[type=checkbox] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 0;
	vertical-align: middle
}
input[type=checkbox]:checked:before {
	content: '';
	width: 20px;
	height: 20px;
	border: 1px solid #fff;
	background-image: url(../images/cross.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	display: inline-block
}
input[type=checkbox][disabled], input[type=checkbox][disabled]+span {
	opacity: .5
}
input[type=checkbox]:before {
	content: '';
	width: 20px;
	height: 20px;
	border: 1px solid #fff;
	display: inline-block
}
.radio * {
	display: inline-block;
	vertical-align: middle
}
.radio input {
	padding: 0;
	margin: 0;
	display: none
}
.radio span.radio-title {
	width: 100%;
	display: block
}

@media only screen and (min-width:1200px) {
.radio span.radio-title {
	width: 180px;
	display: inline-block
}
}
.radio input+label {
	text-transform: none
}
.submit-style, h1, h2, h3 {
	text-transform: uppercase
}
.radio input+label:before {
	content: '';
	width: 20px;
	height: 20px;
	border: 1px solid #fff;
	display: inline-block;
	vertical-align: middle;
	margin-right: .3em
}
.radio input:checked+label:before {
	content: '';
	width: 20px;
	height: 20px;
	border: 1px solid #fff;
	background-image: url(../images/cross.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	display: inline-block;
	vertical-align: middle
}
[for=order] {
	text-transform: none
}
textarea {
	height: 160px
}
::-webkit-input-placeholder {
letter-spacing:.4px;
color:#fff
}
:-moz-placeholder {
letter-spacing:.4px;
color:#fff
}
::-moz-placeholder {
letter-spacing:.4px;
color:#fff
}
:-ms-input-placeholder {
letter-spacing:.4px;
color:#fff
}
.submit-style {
	display: inline-block;
	background: #fff;
	margin-top: 20px;
	padding: .6em 2.3em;
	border: none;
	border-radius: 0;
	color: #1ab9e0;
	font-weight: 300;
	font-size: 1.3em;
	transition: .4s ease-in-out;
	cursor: pointer
}
.submit-style+p {
	margin-top: 3.5em!important
}
.submit-style:hover {
	background: #323232;
	color: #fff
}
.submit-style:focus {
	outline: 0
}
.submit-result {
	margin-top: 2em
}
.submit-result p {
	margin-top: 1em;
	background-color: #fff;
	padding: 1.2em;
	color: #1ab9e0
}
#error, #success {
	display: none
}
#error {
	color: red
}
#map-canvas {
	height: 400px
}
h1, h2, h3 {
	font-family: Dosis, sans-serif;
	line-height: 1.1;
	color: #000;
	margin: 0 0 .5em
}
h1 span, h2 span, h3 span {
	display: block;
	margin-bottom: 1.5em;
	font-size: .6em;
	color: #000
}
h1 {
	font-size: 1.4em
}

@media only screen and (min-width:800px) {
h1 {
	font-size: 2.25em
}
}
h2 {
	font-size: 1.2em
}

@media only screen and (min-width:800px) {
h2 {
	font-size: 1.75em
}
}
h3 {
	font-size: 1em
}

@media only screen and (min-width:800px) {
h3 {
	font-size: 1.5em
}
}
p, p+ul, ul+p {
	margin-top: 1em
}
p:nth-of-type(1) {
	margin-top: 0
}
ul li {
	list-style: disc inside;
	color: #000!important
}
b, strong {
	font-weight: 700
}
sub, sup {
	font-size: .6em;
	display: inline-block;
	vertical-align: middle
}
sup {
	margin-top: -.8em
}
sub {
	margin-bottom: -.8em
}
i {
	font-style: italic
}
.introtext p {
	font-size: 1.2em;
	line-height: 1.4em
}
a {
	color: #1ab9e0
}
:focus {
	outline: 0
}
