
@font-face {
	font-family: "OpenSans";
	src: url("/OpenSans-Light.ttf");
	font-weight: normal;
}

@font-face {
	font-family: "OpenSans";
	src: url("/OpenSans-Bold.ttf");
	font-weight: bold;
}

@keyframes circulate {
  from { transform: rotate(0deg); opacity: 1; }
  50% { transform: rotate(180deg); opacity: .5; }
  to { transform: rotate(360deg); opacity: 1; }
}


body > header {
	position: sticky;
	background: rgba(30, 91, 132, 0.95);
	color: white;
	top: 0;
	text-align: center;
	padding: 5pt 0 5pt 0;
	box-sizing: content-box;
	height: 30pt;
	line-height: 30pt;
	box-shadow: 0 0 30pt rgba(0, 0, 0, .5);
	letter-spacing: 1pt;
	text-transform: uppercase;
	font-size: 2.5vh;
	z-index: 10000000;
}

body > header span {
	display: block;
	overflow: auto;
	float: right;
	margin: -2pt 10pt 0 0;
	font-size: 3vh;
}

body > header img {
	margin: 0 auto;
	position: relative;
	display: block;
	float: both;
}

body > footer {
	position: fixed;
	background: rgba(255, 255, 255, 1);
	bottom: 0;
	left: 0;
	right: 0;
	padding: 10pt;
	overflow: auto;
	box-shadow: 0 0 20pt rgba(0, 0, 0, .3);
	z-index: 10000000;
	min-height: 0;
	box-sizing: border-box;
	transition: max-height 1s;
}

.hidden {
	opacity: 0;
    min-height: 0;
	max-height: 0;
    height: 0;
    margin: 0;
    padding: 0;
	z-index: -1;
    display: none;
    box-sizing: border-box;
}

body > nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	padding: 50pt 20pt 20pt 20pt;
	background-color: rgb(190, 236, 116);
	list-style: none;
	list-style-type: none;
	opacity: 1;
	max-height: 100vh;
	transition: max-height .5s, opacity .3s;
	box-sizing: border-box;
	overflow: auto;
	box-shadow: 0 0 10pt rgba(0, 0, 0, .2);
	z-index: 10000000;
}

body > nav  li {
	border-radius: 3pt;
	margin: 5pt auto;
	max-width: 600pt;
	width: 80%;
	padding: 10pt;
	background-color: rgb(255, 255, 255, 0.2);
	text-transform: uppercase;
	font-size: 0.7em;
	font-weight: bold;
	letter-spacing: 2pt;
}

body nav li img {
	height: 72px;
	margin: 10pt;
	display: block;
	margin: 10pt auto;
	float: none;
	clear: both;
}

body > nav li.smaller {
	padding: 5pt 10pt 5pt 10pt;
	background-color: rgb(190, 236, 116);
}

body > article {
	min-height: 40vh;
}

body > article:first-of-type {
	background: transparent;
    display: block;
}


body > article > section {
	overflow: hidden;
	color: #153e5a;
}

body > article > section > h1 {
	margin-top: 0;
}

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

	body {
		margin: 0;
		padding: 0;
		background: #EFEFEF url(/boarding.png) no-repeat center 40pt;
		font-size: 3vh;
		font-family: 'OpenSans', sans-serif;
		background-size: 100vw auto;
		background-attachment: fixed;
	}

	body > nav  li > img {
		display: none;
	}

	body > article {
    	width: 100vw;
    	background: white;
    	margin: 0;
    	padding: 20pt 0 0 0;
    	overflow: auto;
    	font-size: 0.9em;
    }

    body > article:first-of-type {
		min-height: 20vh;
	}

    body > article > section {
    	margin: 5pt 20pt 5pt 20pt;
    }

    label.billboard {
	    display: flex;
	    overflow: auto;
	    border: none; /* 1px solid #EFEFEF;*/
	    border-radius: 3pt;
	    margin: 5pt auto;
	    padding: 10pt;
	    background: rgba(255, 255, 255, .8);
	    font-size: 0.9em;
	    max-width: 80%;
	}
}

@media screen and (min-width: 761px) {

	body {
		margin: 0;
		padding: 0;
		background: #EFEFEF url(/banner.png) no-repeat center top;
		font-size: 3vh;
		font-family: 'OpenSans', sans-serif;
		background-size: 100% auto;
		background-attachment: fixed;
	}

	body > nav {
		display: flex;
		flex-wrap: wrap;
    	flex-direction: row;
    	justify-content: center;
	}

	body > nav  li {
		flex-basis: 25%;
		text-align: center;
	}

	body > article {
    	width: 100vw;
    	background: white;
    	margin: 0;
    	padding: 0;
    	overflow: auto;
    	display: flex;
    	flex-wrap: wrap;
    	flex-direction: row;
    	justify-content: center;
    	font-size: 0.9em;
    	line-height: 1.5em;
    }

    body > article.noflex {
    	display: block;
    }

    body > article.noflex > section:first-of-type {
    	width: 60vw;
    	max-width: 600pt;
    	margin: 20pt auto;
    }

    body > article:first-of-type {
		min-height: 40vh;
	}

    body > article > section {
    	min-width: 100pt;
    	max-width: 260pt;
    	flex-basis: 44%;
    	margin: 3%;
    }

    footer > div, header > div {
    	max-width: 580pt;
    	margin: 0 auto;
    	overflow: auto;
    }

    .teaser {
    	flex-basis: 30%;
    	min-width: 150pt;
    	min-height: 200pt;
    	margin: 1%;
    	max-width: 180pt;
    }

    article > form {
    	margin: 0 auto;
    	padding: 0;
    	max-width: 600pt;
    	overflow: auto;
    	position: relative;
    }

    label.billboard {
	    display: flex;
	    overflow: auto;
	    border: none;
	    border-radius: 3pt;
	    margin: 1%;
	    padding: 1%;
	    background: rgba(255, 255, 255, .9);
	    font-size: 1em;
	    max-width: 200pt;
	    width: 29%;
	    float: left;
	}

	article > h1.epitome {
		margin: 30pt auto;
	}

}

body > article:first-of-type h1 {
	color: white;
	text-shadow: 1px 1px 10px #000;
}

.teaser {
	z-index: 1000;
	border-radius: 5pt;
	background: rgba(190, 236, 116, .3);
	position: relative;
	border: 1px solid silver;
	padding: 0;
}

.teaser > * {
	margin: 15pt;
}

.teaser > img, .teaser > div[data-role=fleet] {
	margin: 0 0 20pt 0;
	position: relative;
	display: block;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	box-sizing: border-box;
}

div[data-role=fleet] img {
	width: 100%;
}

label img {
    height: 30px;
    float: left;
    margin: 0 5pt 0 0;
}

body > article > h1 {
	display: block;
	float: none;
	flex-basis: 100%;
	text-align: center;
	max-width: 90%;
	margin: 20pt auto;
	line-height: 1.3em;
}

body > article > h1 > sup {
	color: silver;
}

body > article > section img {
	max-width: 100%;
}

body > article:first-of-type.hidden {
	min-height: 0;
}

body > article:first-of-type {
	border-bottom: 5pt solid #FFBB00;
}

body > article:last-of-type {
	padding-bottom: 10vh;
	display: block;
	text-align: center;
	background: #e8f8cd;
}

footer button {
	overflow: auto;
	padding: 5pt 15pt 5pt 15pt;
	cursor: pointer;
	margin: 0 5pt 0 5pt;
	vertical-align: middle;
	background: linear-gradient(
		rgb(255, 187, 0),
		rgb(255, 123, 0)
	);
	color: white;
	font-size: 0.9em;
	font-weight: bold;
	font-family: inherit;
	border: 0;
	border-radius: 5pt;
	outline: 0;
}

footer div a, footer div a:visited, footer div a:link {
	display: block;
	text-align: right;
	float: right;
	margin: 2pt 5pt 0 0;
	color: gray;
}

*[data-role=menue] {
	cursor: pointer;
}

.checklist {
	list-style: none;
	padding: 0;
}

.checklist li {
	margin-bottom: 5pt;
}

.checklist li:before {
	content: '✓ ';
	color: rgb(190, 236, 116);
	font-size: 1.5em;
}

.smart {
    display: block;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    padding: 2pt;
    border-bottom: 2pt solid #FFBB00;
    background: transparent;
    font-family: inherit;
    font-size:  inherit;
    cursor: pointer;
    outline: 0;
    width: auto;
    flex-grow: 100;
}

.inline {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    padding: 3pt;
    border-bottom: 2pt solid #FFBB00;
    border-radius: 3pt;
    background: rgba(255, 183, 0, .3);
    font-family: inherit;
    font-size:  inherit;
    cursor: pointer;
    outline: 0;
}


/**
 * Cart design
 *
 **/

*[data-role=cart] ul.cart {
	list-style: none;
	list-style-type: none;
	/*background: rgba(242, 251, 228, 1);*/
	padding: 15pt;
	border-radius: 5pt;
	border: 3pt solid rgb(190, 236, 116);
	margin: 0;
}

*[data-role=cart] ul.cart li {
	overflow: auto;
	border-bottom: 1px dotted gray;
	padding: 0 0 10pt 0;
}

*[data-role=cart] ul.cart li:last-of-type {
	border: 0;
}

*[data-role=cart] ul.cart li.flex {
	display: flex;
}

*[data-role=cart] ul.cart li.flex div {
	flex-basis: 50%;
	flex-grow: 1;
}

*[data-role=cart] ul.cart li img {
	float: left;
	height: 22px;
	margin: 5pt 5pt  0 0;
}

*[data-role=cart] ul.cart li  div {
	overflow: auto;
	margin: 0;
}

*[data-role=cart] ul.cart li  div p {
	overflow: auto;
	margin: 0;
	font-weight: bold;
}

*[data-role=total] {
	display: block;
	float: right;
	text-align: right;
	font-weight: bold;
	font-size: 2em;
}

*[data-show=false], article[data-show=false]:first-of-type {
	max-height: 0;
	height: 0;
	display: none;
}

*[data-show=true] {
	min-height: 10vh;
	width: 100vw;
}

.fullwidth {
	flex-basis: 100%;
	max-width: 500pt;
	width: 100%;
	min-width: 200pt;
	margin: 0 auto;
	display: block;
	overflow: auto;
	clear: both;
	float: none;
}

.central {
	width: 80%;
	min-width: 200pt;
	max-width: 500pt;
	margin: 0 auto;
	display: block;
	overflow: auto;
	text-align: center;
}

input[data-role=mobile] {
	background: url(/smartphone.png) no-repeat 1% center;
	background-size: auto 60%;
	max-width: 5 00pt;
	width: 80%;
	font-size: 1.5em;
	text-align: center;
	outline: 0;
}

input[data-role=mobile]:valid {
	border-radius: 5pt;
	border: 3pt solid rgb(190, 236, 116);
}

input[data-role=mobile]:invalid {
	border-radius: 5pt;
	border: 3pt solid rgb(255, 145, 0);
}

label p {
	overflow: auto;
	display: block;
	min-width: 20pt;
	border: 1px dotted silver;
}

input[type=checkbox] {
	float: left;
	margin: 3pt 10pt 0 0;
}

label[for=gdpr] {
	display: block;
	overflow: auto;
}

label input[type=checkbox] {
	float: left;
	margin: 0 5pt 0 0;
}

*[data-role=phone] {
	font-weight: bold;
}

input[data-role=code] {
	display: block;
	text-align: center;
	font-family: inherit;
	font-size: 2em;
	max-width: 200pt;
	border-radius: 5pt;
	border: 3pt solid rgb(190, 236, 116);
	outline: 0;
}


/*
	Dialogue options
*/

*[data-role=backdrop] {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: auto;
	background: rgba(0, 0, 0, .8);
	box-sizing: border-box;
	z-index: 10000000000000000000;
	display: block;
}

*[data-role=backdrop] > *[data-role=dialogue] {
	position: absolute;
	background: white;
	overflow: auto;
	border-radius: 5pt;
	top: 5%;
	right: 5%;
	bottom: 5%;
	left: 5%;
	box-sizing: border-box;
	padding: 10%;
	text-align: center;
	display: block;
}

*[data-role=backdrop] > *[data-role=dialogue] h1 {
	font-weight: normal;
	font-size: 18pt;
}

*[data-role=backdrop] *[data-role=dialogue] button {
	font-size: 1.2em;
	font-family: inherit;
	padding: 10pt;
	bottom: 5%;
	cursor: pointer;
	border: 1px solid gray;
	border-radius: 5pt;
	position: absolute;
	min-width: 33%;
	overflow: auto;
	font-weight: bold;
}

*[data-role=backdrop] *[data-role=dialogue] button:not([data-role=affirmative]) {
	left: 33%;
}

*[data-role=backdrop] *[data-role=dialogue] button[data-role=affirmative] {
	background: green;
	color: white;
	right: 5%;
}

*[data-role=backdrop] *[data-role=dialogue] button[data-role=negative] {
	background: red;
	color: white;
	left: 5%;
}

*[data-role=loader] div {
	width:  80pt;
	height: 80pt;
	left:   50%;
	top:    50%;
	border-radius: 80pt;
	position: fixed;
	overflow: auto;
	text-align: center;
	margin: -40pt 0 0 -40pt;
	line-height: 30pt;
	font-size: 0.8em;
	letter-spacing: .5pt;
}

*[data-role=loader] div:first-of-type {
	margin: -60pt 0 0 -60pt;
	border-top:    20pt solid rgba(255, 187, 0, .8);
	border-left:  20pt solid rgba(255, 187, 0, .6);
	border-bottom: 20pt solid rgba(255, 187, 0, .4);
	border-right:   20pt solid rgba(255, 187, 0, .2);
	animation: circulate linear 2s infinite;
	animation-play-state: running;
}

*[data-show=false] *[data-role=loader] div:first-of-type {
	animation-play-state: paused;
}

*[data-role=loader] div:nth-of-type(2) {
	background: rgba(255, 255, 255, .8) url(/logoalpha.png) no-repeat center center;
	background-size: 70pt auto;
}

p[data-role=epitome] {
	padding: 5pt;
	overflow: auto;
	background: #EFEFEF;
	border-radius: 5pt;
	text-transform: uppercase;
	font-size: 0.8em;
	display: flex;
	flex-direction: row;
	flex-basis: 100%;
	margin: 0 auto;
	width: 80%;
	max-width: 600pt;
}

p[data-role=epitome] div {
	flex-grow: 1;
	padding: 1%;
	width: 22%;
	font-size: 1em;
	line-height: 1.2em;
	text-align: center;
}

p[data-role=epitome] div:last-of-type {
	font-weight: bold;
}

*[data-role=epitome] img {
	height: 20px;
}

.greenbtn {
	display: block;
	background: green;
	width: 100%;
	margin: 10pt auto;
	font-family: inherit;
	color: white;
	font-size: 1em;
	font-weight: bold;
	padding: 5%;
	border-radius: 5pt;
	cursor: pointer;
}

.teaser p {
	margin: 15pt;
}

.teaser button {
	float: right;
	background: rgb(30, 91, 132);
	font-family: inherit;
	font-weight: bold;
	font-size: 1.2em;
	color: white;
	text-align: center;
	padding: 5pt 15pt 5pt 15pt;
	cursor: pointer;
	border-radius: 5pt;
	margin: 15pt;
}

a, a:link, a:visited {
	text-decoration: none;
	color: rgb(30, 91, 132);
}
