/* CSS Document */

html { width:100%; height:100%; }
body { width:100%; height:100%; margin:0; padding:0; background:#fff; font-family: 'Jost', sans-serif; text-align:center; font-size:12pt; color:#231f20; line-height:150%; position:relative; background-attachment:fixed; overflow:auto; min-width: 320px; }

@media all and (min-width: 1440px) {
	body { font-size: 1.1vw;}
}

@media all and (max-width: 420px) {
	body { font-size: 3.8vw; }
}

@media all and (max-width: 320px) {
	body { font-size: 9pt; }
}

/* BASIC */

a { color:#108dc2; text-decoration:none;
	transition: color 0.1s ease-in-out; -moz-transition: color 0.1s ease-in-out; -webkit-transition: color 0.1s ease-in-out;
}
a:hover { color:#40a5d1;
	transition: color 0.1s ease-in-out; -moz-transition: color 0.1s ease-in-out; -webkit-transition: color 0.1s ease-in-out;
}

a img { border:none; text-decoration: none; }
a:hover img { border:none; }

a.button { display: inline-block; text-align: center; border: none !important; margin: .5em 1em .5em 0; padding: 0.6em 1.5em; border-radius: 24px; color: #fff; background-color: #ed1c24; transition: 0.2s !important; transition-property: color, border, box-shadow, transform, background-color !important; text-transform: uppercase; }
a.button:hover { background-color: #fff; color: #ed1c24; box-shadow: 0px 5px 25px -5px #ed1c24; }
a.download { }
a.download:before { font-family:'FontAwesome'; content: '\f019'; position: relative; margin-right: .75em; margin-left:-.25em; }

a.more { }
a.more:after { font-family:'FontAwesome'; content: '\f061'; position: relative; margin-left: .75em; margin-right:-.25em; }

a.disabled { opacity:.6; cursor: default; }
a.disabled:hover { background-color: #5b6670; color: #fff; box-shadow: none; }

span.soon { position: relative; display: block; float: right; text-align: center; border: none !important; margin: .5em 0 -1.5em 0; padding: 0.3em 1.5em; border-radius: 1em; color: #fff; background-color: #ff9933;  transition: 0.2s !important; transition-property: color, border, box-shadow, transform, background-color !important; text-transform: uppercase; }

p { margin:0 0 1em 0; font-size: 110%; }
h1 { font-size:250%; line-height:100%; padding:0; margin:1em 0px 0.5em 0px; color:#1f5266; font-weight:bold; text-transform:uppercase; letter-spacing:-0.025em; }
h2 { font-size:200%; line-height:110%; padding:0; margin:1em 0px 1em 0px; color:#1f5266; font-weight:bold; text-transform:uppercase; letter-spacing:-0.025em; }
h3 { font-size:200%; line-height:110%; padding:0; margin:1em 0px 1em 0px; color:#1f5266; font-weight:normal; text-transform:uppercase; letter-spacing:-0.025em }
h4 { font-size:150%; line-height:125%; padding:0; margin:1em 0px 0.5em 0px; color:#231f20; font-weight:normal; text-transform:uppercase; etter-spacing:-0.25pt }
h5 { font-size:125%; line-height:125%; padding:0; margin:0.5em 0px 0.55em 0px; color:#231f20; font-weight:normal; ext-transform:uppercase; }
h6 { font-size:125%; line-height:125%; padding:0; margin:0.5em 0px 0.55em 0px; color:#231f20; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { text-decoration:none; order-bottom:none; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { order-bottom:none; }

h1+h2 { margin-top:0.2em; }
h2+h3 { margin-top:0.25em; }
h3+h4 { margin-top:0.2em; }
h4+h5 { margin-top:0.2em; }
h5+h6 { margin-top:0.2em; }

h1:first-child { margin-top:0; }
h2:first-child { margin-top:0; }
h3:first-child { margin-top:0; }
h4:first-child { margin-top:0; }
h5:first-child { margin-top:0; }
h6:first-child { margin-top:0; }

ul, ul.check { padding:0; margin:0.5em 0 1em 0; list-style:none; position: relative; }
ul li, ul.check li { margin:0 0 0.25em 0; padding:0 0 0 2em; _ackground:url(../img/li.png) 0em 0.66em no-repeat; }
ul li:before, ul.check li:before { font-family:'FontAwesome'; content:'\f111'; color:#ed1c24; display:block; position:absolute; font-size: .8em; margin-left:-2em; margin-top:0.45em; line-height:100%; }

ul.check>li:before { font-family:'FontAwesome'; content: '\f058' !important; font-size: 1em; margin-left:-1.75em; margin-top:0.25em; }
ul.agroplem>li:before { color: #5b6670; }
ul.taranis>li:before { color: #3bc0bd; }

ul.arrow>li:before {  font-family:'FontAwesome'; content: '\f105' !important; font-size: 1em; margin-left:-1.75em; margin-top:0.25em; }


ol { padding:0; margin:1.5em 0 .5em 0; }
ol li { margin:0 0 0.75em 1.5em; padding:0 0 0 0.5em; list-style: outside decimal; }

ol.custom { padding:0; margin:1.5em 0 .5em 0; }
ol.custom li { margin:0 0 0.75em 1.5em; padding:0 0 0 0.5em; list-style: none; }
ol.circles li ins { display: block; position: absolute; margin-left: -2em; background: #ed1c24; width:1.5em; height: 1.5em; line-height: 1.5em; border-radius: .75em; text-align: center; color:#fff; }

b, strong { }

sup.reg { font-size:60%; }
sub { font-size:80%; line-height:100%; }

ins { text-decoration:none; }

.comment { font-size:90%; color:#666666; line-height:150%; }

.bold { font-weight:bold; }

div.cl, div.clear, .clear { clear:both; }

hr { border:none; clear: both; border-top:2px solid #d6d9db; line-height:1.5em; margin:2em 0; }

blockquote { padding:2em 2em; _ext-align:justify; margin:2em 0pt 2em 0; background:#f2f2f2; border-radius:1em; }
blockquote:after { content:''; display:block; clear:both; }
blockquote h1, blockquote h2, blockquote h3, blockquote h4, blockquote h5, blockquote h6 { margin-top:0pt; text-align:left; }
blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom:0pt; }
blockquote h1:first-child, blockquote h2:first-child, blockquote h3:first-child, blockquote h4:first-child, blockquote h5:first-child, blockquote h6:first-child  { margin-top:0pt; }

table { border-collapse:collapse; border-top:1px solid #5b6670; border-bottom:1px solid #5b6670; margin:16pt 0pt 16pt 0pt; width:100%; }
table caption { font-size:12pt; text-align:left; padding:4pt 0pt; color:#fff; }
table img { max-width: 100%; }
table tr * {  }
table tr th { text-align:left; padding:4pt 8pt 4pt 8pt; border-top:1px solid #5b6670; border-bottom:1px solid #5b6670 !important; border-left:none; border-right:none; font-weight:normal; background-color: #eff0f1; }
table tr td { vertical-align:top; padding:4pt 8pt 4pt 8pt; border-bottom:1px dotted #5b6670; border-left:none;border-right:none; }
/*
table tr th:last-child { padding:4pt 0pt 4pt 0pt; }
table tr td:last-child { padding:4pt 0pt 4pt 0pt; }
*/

table.allborders { border-left:none; border-right:none; border-top:1px solid #d6d9db !important; border-bottom:1px solid #d6d9db !important; }
table.allborders tr th { vertical-align:top; font-weight:bold; padding:4pt 8pt 4pt 8pt; border-bottom:1px dotted #d6d9db; border-left:1px dotted #d6d9db; border-right:1px dotted #5581aa; }
table.allborders tr td { vertical-align:top; padding:4pt 8pt 4pt 8pt; border-bottom:1px dotted #d6d9db; border-left:1px dotted #d6d9db; border-right:1px dotted #d6d9db; }
table.allborders tr th:last-child { padding:4pt 16pt 4pt 8pt; }
table.allborders tr td:last-child { padding:4pt 16pt 4pt 8pt; }

input[type=button] { background:#3faaeb; outline:none; border:none; padding:12px 18px; text-transform:uppercase; font-size: 17px;
	-webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px;
	transition: 0.1s ease-in-out; -moz-transition: 0.1s ease-in-out; -webkit-transition: 0.1s ease-in-out;
}
input[type=button]:hover { background:#fff; color:#3faaeb;
	transition: 0.1s ease-in-out; -moz-transition: 0.1s ease-in-out; -webkit-transition: 0.1s ease-in-out;
}

.justifyleft     {text-align:left;}
.justifyright    {text-align:right;}
img.justifyleft  {float:left; margin-right:24px;margin-bottom:8pt;}
img.justifyright {float:right; margin-left:24px;margin-bottom:8pt;}

.circleicon { width: 120px; height: 120px; background-color: #dee0e2; background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: 50%; margin: 2em auto 1em auto; transition-duration:.2s; transition-property: box-shadow, background-color;  }
a:hover .circleicon { background-color: #fff; box-shadow: 0 5px 25px -5px rgba(51,62,72,0.5); }

main img { max-width: 100%; height: auto !important; }
.imagegallery { margin-top:24px; width:552px; position:relative; }
.imagegallery a.gallerytumb { display:block; width: 114px; height:114px; overflow:hidden; float:left; margin:0px 24px 24px 0px; }
.imagegallery a.gallerytumb img { }

div.squareicon { position:relative; height:90px; margin:16pt 0pt 16pt 0pt; padding-top:20px; padding-left:100px; }
div.squareicon h3 { display:block; padding:0pt; margin-top:0px; }
div.squareicon span { display:block; padding:0px; }
div.squareicon a {  }
div.squareicon a img { position: absolute; left:-10px; top: 0px; }

/* from & input */

.inputwrap { padding:1em 0 0 0; }
input, textarea { padding:0.5em; margin-bottom:0.25em; box-sizing:border-box; resize: none; border:1px solid #999; }
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
    border-width:1px; border-style:solid; padding:0.5em;
}

label { display: inline-block; font-size:90%; color:#666; }

.radiowrap { padding:0.5em 0 0 0; }
.radiowrap input { display:none; }
.radiowrap label { padding-left:2.5em; }
.radiowrap label icon { display:block; width:20px; height:20px; background: url(../img/inputradio.png) top left no-repeat; border:0 hidden; position:absolute; margin-left:-2.25em;margin-top:0.1em; outline:none; cursor:pointer; }

.checkwrap { padding:0.5em 0; }
.checkwrap input { display:none; }
.checkwrap label { padding-left:2.5em; }
.checkwrap label icon { display:block; width:20px; height:20px; background: url(../img/inputcheck.png) top left no-repeat; border:0 hidden; position:absolute; margin-left:-2.25em; margin-top:0.1em; outline:none; cursor:pointer; }

label icon:hover { background-position: top right; }
.checked label icon { background-position: bottom left; }
.checked label icon:hover { background-position: bottom right; }
.disabled label icon { opacity:0.5; }

.required label ins { color:#C33; font-weight:bold; padding:0 0.25em; }
.required label ins:before { content:'*'; }
.requiredok label ins { font-weight:bold; color: #ccc; padding:0 0.25em; }
.requiredok label ins:before { content:'*'; }

.moreinfolink {position:relative; display: inline-block; width:16px; height:16px; margin:-2px 0.15em 0 0.15em; background: url(../img/infolink.png) bottom no-repeat;  top:2px; opacity:.5; }
.moreinfolink:hover { opacity:1; }

#lfForm { position:relative; overflow:hidden; }
#lfForm:after { display:block; content:''; clear:both; }
#lfForm h4 { margin-top:0; }
#lfFormShade { display:none; position:absolute; width:100%; height:100%; background:#fff; opacity:1; top:0; left:0; z-index:50; }
#lfFormSuccess { display:none; position:absolute; width:100%; bottom:0; left:0; background-color:#f2f2f2; border-radius:10px; z-index:75; }
#lfFormSuccess .lfFormSuccessCont { padding:2.5em 5em; }

#lfSubmitDisabled, #lfSubmitProgress { display:inline-block; padding:1em 2em; background:#ccc; color:#fff; font-weight:bold; text-transform:uppercase; font-size:18px; cursor:default;
	-webkit-border-radius: 5pt;
	-moz-border-radius: 5pt;
	border-radius: 5pt;
}

#lfSubmit { display:inline-block; padding:1em 2em; background:#5c92cd; color:#fff; font-weight:bold; text-transform:uppercase; font-size:18px; cursor:pointer;
	transition: 0.1s ease-in-out; -moz-transition: 0.1s ease-in-out; -webkit-transition: 0.1s ease-in-out;
	-webkit-border-radius: 5pt;
	-moz-border-radius: 5pt;
	border-radius: 5pt;
}
#lfSubmit:hover { background-color:#01538c; color:#fff;
	-webkit-box-shadow: 0px 0px 0px 5px #d8e1ef;
	-moz-box-shadow: 0px 0px 0px 5px #d8e1ef;
	box-shadow: 0px 0px 0px 5px #d8e1ef;	
}

#lfNoteRequired, #lfNoteError { padding-top:1.35em; font-size:90%; line-height:20px; }
#lfNoteError { position:absolute; width:50%; float:right; margin-left:50%; background:#FFF; z-index:10; }
.lfError { color:#b66; }

.inputHinted { color:#ccc; }

.textblock { max-width:72em; margin:auto; padding-top:2em; }
.textblock:after { content:''; display:block; clear:both; }

.third { width:30%; margin-bottom:1em; }
.half { width:48.5%; margin-bottom:1em; }
.twothirds { width:63%; margin-bottom:1em; }
.forth { width:22%; margin-bottom:1em; }
.full { width:100%; margin-bottom:1em; }

.rigthird:after, .half:after, .twothirds:after, .forth:after, .full:after { content:''; display:block; clear:both; }

@media all and (max-width:720px) {
	.third { width:100%; }
	.half { width:100%;}
	.twothirds { width:100%; }
	.forth { width:48.5%; margin-bottom:1em; }
}

@media all and (max-width:480px) {
	.forth { width:100%; }
}

.shaded { padding:2em 2em 1em 2em; box-sizing:border-box; border-radius:0.1em; position:relative; z-index:2; background:rgba(0,0,0,0.05); }

.topline:before { display: block; content: ''; position: absolute; top:0; left:50%; margin-left: -25%; width:50%; height: 1px; border-top: .15em solid #231f20; opacity: .5; }



/* SECTIONS */

section { width:100%; box-sizing: border-box; position: relative; }

/* title slide */

section#title { display: flex; width:100%; height: 100vh; min-height: 350px; flex-wrap: wrap; align-items:center; align-content:center; justify-content: center; padding: 2em 2em 6em 2em; box-sizing: border-box; font-size:80%; background: url('../img/title-bg.svg') center no-repeat; background-size: cover; }

.titlewrap { width: 100%; max-width:80em; text-align: left; }

#logo { display: block; height: 12em; margin:1em; }
section#title h1 {overflow: hidden; position: absolute; width: 1px; max-height: 1px; opacity: .1; left:0;top:0; padding: 0; margin: 0;}
#descriptor { display: flex; flex-wrap: nowrap; flex-direction: row; align-items:center; align-content:center; justify-content: left; height: 8em; max-height: 90vh;  margin:1em 0; box-sizing: border-box; text-align: left; padding-left: 15em; }
#descriptor span { display: block; font-size: 2.3em; line-height: 100%; text-transform: uppercase; font-weight: bold; _etter-spacing: -.025em; }

@media all and (max-width: 780px) {
	section#title #logo, section#title #descriptor { font-size: 1.66vw;} 
}

@media all and (max-width: 720px) {
	section#title #logo, section#title #descriptor { font-size: 9pt;}
	section#title { flex-wrap: wrap; padding: 1em 1em 3em 1em; }
}

@media all and (max-width: 560px) {
	section#title #logo, section#title #descriptor { font-size: 8pt;}
	section#title #logo { height:auto; width: 100%; margin: 0; }
	#descriptor { padding-left: 0; justify-content: center; }
	#descriptor span { text-align: center; }
}



.scroller { position: absolute; left:50%; bottom: 5em; width:1.5em; height:2.5em; margin-left:0.45em; border:.25em solid #231f20; border-radius: .75em; box-sizing: border-box; opacity: .7; cursor: pointer; background:#fff; box-shadow: 0px 0px 0px 4px #fff; }
.scroller:before { display: block; position: absolute; content: ''; font-size:.5em; width: 1.5em; height: 1.45em; left: 50%; top:0.3em; margin-left:-.75em; background: #231f20; border-radius: 1em; animation: next 3s ease-in-out infinite; }

@keyframes next {
    0% { top:2.2em; }
    50% { top:0.5em; }
    100% { top:2.2em; }
}

@media all and (max-width: 720px) {
	.scroller { font-size: 9pt;  }
}
@media all and (max-width: 600px) {
	.scroller {  margin-left:-.75em;  }
}

@media all and (max-height: 400px) {
	.scroller {  bottom: 3em;   }
}


/* footer slide */

section#footer { display: flex; width:100%; height: 50vh; min-height: 350px; flex-wrap: wrap; align-items:center; align-content:center; justify-content: center; padding: 2em 2em 6em 2em; box-sizing: border-box; font-size:80%; background: url('../img/title-bg.svg') 50% 75% no-repeat; background-size: cover; }

section#footer:before { display: block; content: ''; width: 100%; height: 100%; top: 0; position: absolute; background: rgba(255,255,255,.7); background: linear-gradient(180deg, rgba(195,215,223,0.7) 0em, rgba(255,255,255,.7) 10em, rgba(255,255,255,.7) 100%); z-index: 0; }

.footerwrap { width: 100%; z-index: 1; }

/* three images in a row */

section.imagerow { display: flex; justify-content: space-between; align-items: stretch; min-height: 10em; }
section.imagerow .image { width: 33.3%; min-height: 10em; max-height:15em; background-color: #f2f2f2; background-position: center; background-repeat: no-repeat; background-size: cover; }
section.imagerow .image img { width:100%; }

/* text block */

section.text .wrap { padding: 8em 2em; margin: auto; max-width: 70vw; display: flex; flex-wrap: wrap; align-items:flex-start; justify-content: space-between; position: relative; box-sizing: border-box; }
section.text .wrap>* { text-align: left; }

@media all and (min-width: 1920px) {
	section.text .wrap { padding: 6em 2em; margin: auto; width: 70vw; max-width: 70vw; }
}
@media all and (max-width: 1440px) {
	section.text .wrap { width:100%; max-width: 1008px; }
}
@media all and (max-width: 1280px) {
	section.text .wrap { padding: 4em 2.4vw; }
}

a.servicelogo { display: block; width: 100%; max-width:17em; margin: 0em auto 1em auto; transition: opacity linear .1s; }
a.servicelogo img { width: 100%; }
a.servicelogo:hover  { opacity:.8; }

#bases { min-height:  38em;}
#bases .wrap { position:relative; z-index:1; }
#map { position:absolute; z-index:0; width:100%; height: 100%; min-height: 38em; top:0; right:0; _ackground: url(/img/map.jpg) right no-repeat; background-size: contain; overflow:hidden; }
#map img { position: absolute; height: 100%; right:0; top:0; }
@media all and (max-width: 620px) {
	/* #map img { position: relative; height: 100%; right:auto; top:0; } */
	#bases .full { display: none; }
}

#base { overflow: hidden; }
#base img#scheme { width:80%; margin-top:5em; position: relative; left:100%; margin-left:-200%; margin-bottom: 0;}
@media all and (max-width:1152px) {
	#base img#scheme { width:908px; }
}
@media all and (max-width:660px) {
	#base img#scheme { width:138vw; }
}
/*
@media all and (max-width:930px) {
	#base img#scheme { width:99%; }
}
*/
#basetitle { position: absolute; width: 100%; top:0; }

#taranis h5 { min-height: 3em; }
#taranis img { height: 5.5em; margin-bottom: 1em; }

@media all and (max-width:720px) {
	#taranis h5 { min-height: 0; }
	#taranis img { margin-bottom: 0; }
}
