/*** FONTS ***/

@font-face {
  font-family: 'FKM';
  font-style: normal;
  font-weight: 300;
  src: url('./fonts/source-sans-3-v19-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('./fonts/source-sans-3-v19-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

@font-face {
  font-family: 'FKM';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/source-sans-3-v19-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('./fonts/source-sans-3-v19-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

@font-face {
  font-family: 'FKM';
  font-style: normal;
  font-weight: 500;
  src: url('./fonts/source-sans-3-v19-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('./fonts/source-sans-3-v19-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

@font-face {
  font-family: 'FKM';
  font-style: normal;
  font-weight: 600;
  src: url('./fonts/source-sans-3-v19-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('./fonts/source-sans-3-v19-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

@font-face {
  font-family: 'FKM';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/source-sans-3-v19-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('./fonts/source-sans-3-v19-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}




/*** COLOR DEFINITIONS ***/

:root {
	--red: rgba(180,36,29,1);
	--darkred: rgba(122,23,18,1);
	--bgred: rgba(46,14,15,1);
	--blue: rgba(36,64,122,1);
	--darkblue: rgba(20,44,84,1);
	--darkbluet: rgba(20,44,84,0.45);
	--midnightblue: rgba(16,28,45,1);
	--midnightbluet: rgba(16,28,45,0.85);
	--midnightbluet2: rgba(16,28,45,0.85);
	--anthracite: rgba(80,80,80,1);
/*	--xlightgrey: rgba(200,200,200,1);
	--xlightgreyt: rgba(200,200,200,0.75);*/
	--white: rgba(255,255,255,1);
	--lightwhite: rgba(220,220,220,1);
	--light: 300;
	--normal: 400;
	--medium: 500;
	--bold: 700;
}


/*** GENERAL DEFINITIONS ***/

*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
} 

html {
	background-color: var(--midnightblue);
}

body {
	text-decoration: none;
	-moz-text-size-adjust: auto;
	-webkit-text-size-adjust: auto;
	-ms-text-size-adjust: auto;
	font-size: 20px;
	font-weight: var(--normal);
	color: var(--lightwhite);
}

input {
-webkit-appearance: none;
border-radius: 0;
}

input[type="radio"] { width: auto; height: auto; -webkit-appearance: radio;}
input[type="checkbox"] { width: auto; height: auto; -webkit-appearance: checkbox;}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

.transition3 {
-webkit-transition: all .3s;
-moz-transition: all .3s;
-o-transition: all .3s;
transition: all .3s;
}
.transition5 {
-webkit-transition: all .5s;
-moz-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}

h1, h2, h3 {
margin-top: 0px;
margin-bottom: 0px;
}

@keyframes toggle { {}
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
    transform: scale(1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.toglayer {
	animation-name: toggle;
	animation-duration: 0.5s;
}

.tlnone { display: none; }


/*** SECTIONS & CONTAINERS ***/

#content {
padding: 0;
padding-top: 140px;
min-height: 460px;
}

#content.transparent {
padding-top: 0;
}

.container {
width: 100%;
max-width: 1400px;
margin: 0 auto;
padding: 0;
}


.section {
width: 100%;
padding: 50px 30px;
height: auto;
display: block;
position: relative;
}

.section.lightbg {
background-color: var(--darkblue);
}

.section.redbg {
background-color: var(--bgred);
}

.section .container {
width: 100%;
max-width: 1240px;
padding: 0px 20px;
line-height: 140%;
}

.section .container.wide { max-width: 1600px; }

.contslim { max-width: 600px !important; }
.contmedium { max-width: 900px !important; }
.contr { text-align: right; }
.contl { text-align: left; }
.contc, .contcl, .contclm { text-align: center; }
.contpr { margin-right: 0; }
.contpl { margin-left: 0; }
.block { display: block; }

.flexcontainer {
display: flex;
}

.flexperm { display: flex !important; }

.flexwrap {
flex-wrap: wrap;
}


/*** COLUMNS ***/

.one-half {
width: calc(50% - 40px);
display: inline-block;
position: relative;
z-index: 10;
}

.one-half:first-child {
margin-right: 80px;
}

.one-third {
width: calc((100% - 160px) / 3 );
display: inline-block;
position: relative;
z-index: 10;
margin-right: 80px;
}

.one-third:last-child {
margin-right: 0;
}

.flexwrap .one-third:nth-child(3n+3) {
margin-right: 0;
}


/*** PADDINGS & MARGINS ***/

.sfullwidth {
padding-left: 0 !important;
padding-right: 0 !important;
}

.szeropd { padding: 0px 30px; }
.shalfpd { padding: 25px 30px; }

.shalfmtop { margin-top: 25px; }
.shalfmbtm { margin-bottom: 25px; }

.ssinglemtop { margin-top: 50px; }
.ssinglembtm { margin-bottom: 50px; }
.ssinglepdtop { padding-top: 50px; }
.ssinglepdbtm { padding-bottom: 50px; }

.sdoublepd { padding: 100px 30px; }
.sdoublepdtop { padding-top: 100px; }
.sdoublepdbtm { padding-bottom: 100px; }
.sdoublemtop { margin-top: 100px; }
.sdoublembtm { margin-bottom: 100px; }

.striplepd { padding: 150px 30px; }
.striplepdbtm { padding-bottom: 150px; }
.striplemtop { margin-top: 150px; }
.striplembtm { margin-bottom: 150px; }


/*** HEADER ***/

.header, .headerlight, .smallheader, .headersmall {
font-style: normal;
display: block;
}

.header, .headerlight, .smallheader, .headersmall {
line-height: 120%;
}

.header, .headersmall {
font-weight: var(--normal);
color: var(--grey);
text-transform: uppercase;
}

.headerlight, .smallheader {
font-weight: var(--normal);
}

.header, .headerlight {
font-size: 1.8em;
margin-bottom: 0.65em;
}

.headerlight, .smallheader {
font-weight: var(--normal);
color: var(--grey);
}

.smallheader, .headersmall {
font-size: 1.4em;
margin-bottom: 0.65em;
}

h1 em, h2 em, h3 em {
font-style: normal;
font-weight: var(--medium);
color: var(--yellow);
display: inline-block;
margin: 0 0.35em;
font-size: 1.2em;
}


/*** TEXT ELEMENTS ***/

.wrap-right {
display: block;
width: 100%;
text-align: right;
margin-top: 6px;
}

.nowrap {
whitespace: no-wrap;
display: inline-block;
}


/*** LINKS ***/

a.link, a.phonelink {
color: var(--lightwhite);
font-weight: var(--normal);
text-decoration: none;
border-bottom: 1px solid var(--lightwhite);
}

a.link:hover, a.phonelink:hover {
color: var(--blue);
border-bottom: 1px solid var(--blue);
}

a.linkbutton {
display: inline-block;
white-space: nowrap;
font-weight: var(--medium);
color: var(--white);
background-color: var(--darkred);
text-decoration: none;
line-height: 100%;
}

a.linkbutton {
padding: 0.75em;
font-size: 0.85em;
text-transform: uppercase;
letter-spacing: 0.035em;
}

a.linkbutton:hover {
background-color: var(--blue);
}


/*** COLORS & FONT WEIGHTS ***/

.fett { font-weight: var(--bold); }
.medium { font-weight: var(--medium); }
.normal { font-weight: var(--normal); }
.light { font-weight: var(--light); }
.large { font-size: 1.2em; }
.small { font-size: 0.9em; }
.xsmall { font-size: 0.8em; }

.yellow { color: var(--yellow); }
.anthracite { color: var(--anthracite); }
.white { color: var(--white); }

.sbluebg { background-color: var(--blue); }
.sgreenbg { background-color: var(--green); }


/*** IMAGES ***/



/*** SLIDER ***/



/*** LISTS ***/

ul.dotted, ul.checked {
list-style-type:none;
position: relative;
padding: 0px;
margin: 0px; 
}

ul.dotted li:before, ul.checked li ul.dotted li:before {
	content: '\2013';
}

ul.checked li:before {
	content: '\2714\00FE0E';
	color: var(--lightgrey);
}

ul.dotted li:before, ul.checked li:before {
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	display: block;
}

ul.dotted li, ul.checked li {
padding: 0px 0px 4px 34px;
}


/*** VARIOUS ***/

.nospam { display: none !important; }


/*** POPUPS ***/

.tlseminfo {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 70;
background-color: rgba(0,112,186,0.2);
background-color: rgba(0,0,0,0.2);
}

.tlsitext {
width: calc(100% - 80px);
max-height: calc(100% - 40px);
padding: 48px 40px 40px;
background-color: var(--white);
border-radius: 5px;
border: 1px solid var(--blue);
box-shadow: 0 4px 20px 1.35px var(--lightgrey);
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
z-index: 75;
overflow: auto;
}

.tlsitext.slim {
max-width: 800px;
}

.tlsitext.semi {
max-width: 1300px;
}


.tlsitinner {
width: 100%;
height: 100%;
max-height: 100%;
}

.tlsibg {
position: absolute;
width: 100%;
height: 100%;
display: block;
z-index: 71;
}

.popupclosebutton {
position: absolute;
right: 24px;
top: 24px;
width: 24px;
display: block;
z-index: 1051;
}

a.popupclose {
	width: 20px;
	height: 20px;
	background: url('../images/close.blue.png') center center no-repeat;
	background-size: 20px;
	display: block;
	text-decoration: none;
	filter: grayscale(100%);
}

a.popupclose:hover {
	filter: grayscale(0%);
}



/*** RESPONSIVE ***/

@media only screen and (max-width: 1740px) {
	/* SECTIONS & CONTAINERS */
		.section .container.wide { max-width: calc(100% - 40px); }
}


@media only screen and (max-width: 1600px) {
	/* SECTIONS & CONTAINERS */
		.section .container.wide { max-width: calc(100% - 20px); }
	/* COLUMNS */
		.one-half { width: calc(50% - 30px); }
		.one-half:first-child { margin-right: 60px; }
		.one-third { width: calc((100% - 120px) / 3 ); margin-right: 60px; }
	/* HEADER */
		/*.header, .headerlight { font-size: 40px; }
		.smallheader { font-size: 30px; }*/
}

@media only screen and (max-width: 1440px) {
	/* SECTIONS & CONTAINERS */
		#content { padding-top: 120px; }
	/* HEADER */
		/*.header, .headerlight { font-size: 38px; }
		.smallheader { font-size: 28px; }*/
}


@media only screen and (max-width: 1240px) {
	/* SECTIONS & CONTAINERS */
		#content { padding-top: 120px; }
		.section .container.wide { max-width: 100%; }
	/* COLUMNS */
		.one-half { width: calc(50% - 20px); }
		.one-half:first-child { margin-right: 40px; }
		.one-third { width: calc((100% - 80px) / 3 ); margin-right: 40px; }
	/* HEADER */
		/*.header, .headerlight { font-size: 36px; }
		.smallheader { font-size: 26px; }*/
}


@media only screen and (max-width: 1080px) {
	/* SECTIONS & CONTAINERS */
		.section { padding: 40px 20px; }	
		.container { padding: 0; }
	/* COLUMNS */
		.one-half { width: calc(50% - 15px); }
		.one-half:first-child { margin-right: 30px; }
		.one-third { width: calc((100% - 60px) / 3 ); margin-right: 30px; }
	/* PADDINGS & MARGINS */
		.szeropd { padding: 0px 20px; }
		.shalfpd { padding: 20px 20px; }
		.shalfmtop { margin-top: 20px; }
		.shalfmbtm { margin-bottom: 20px; }
		.ssinglemtop { margin-top: 40px; }
		.ssinglembtm { margin-bottom: 40px; }
		.ssinglepdtop { padding-top: 40px; }
		.ssinglepdbtm { padding-bottom: 40px; }
		.sdoublepd { padding: 80px 20px; }
		.sdoublepdtop { padding-top: 80px; }
		.sdoublepdbtm { padding-bottom: 80px; }
		.sdoublemtop { margin-top: 80px; }
		.sdoublembtm { margin-bottom: 80px; }
		.striplepd { padding: 120px 20px; }
		.striplepdbtm { padding-bottom: 120px; }
		.striplemtop { margin-top: 120px; }
		.striplembtm { margin-bottom: 120px; }
	/* HEADER */
		/*.header, .headerlight { font-size: 32px; }
		.smallheader { font-size: 24px; }*/
}


@media only screen and (max-width: 880px) {
	/* HEADER */
/*		.header, .headerlight { font-size: 28px; }*/
}


@media only screen and (max-width: 768px) {
	/* GENERAL DEFINITIONS */
		body { font-size: 18px; }
	/* SECTIONS & CONTAINERS */
		#content { padding-top: 120px; }
		.section { padding: 30px 10px; }
		.section .container { max-width: 100%; }
		.flexcontainer { display: block; }
		#bottom .flexcontainer { display: flex; }
		.flexreverse { display: flex; flex-direction: column-reverse; }
	/* COLUMNS */
		.one-half, .one-half:first-child { width: 100%; margin: 0; }
		.one-half:first-child { margin-bottom: 30px; }
		.one-third, .one-third:last-child { width: 100%; margin: 0; margin-bottom: 30px; }
		.flexreverse .one-third:last-child { margin-bottom: 30px; }
		.flexreverse .one-third:first-child { margin-bottom: 0; }
		.one-third:last-child { margin-bottom: 0;}
	/* PADDINGS & MARGINS */
		.szeropd { padding: 0px 10px; }
		.shalfpd { padding: 20px 10px; }
		.ssinglepdbtm { padding-bottom: 40px; }
		.sdoublepd { padding: 80px 10px; }
		.sdoublepdtop { padding-top: 80px; }
		.sdoublepdbtm { padding-bottom: 80px; }
		.striplepd { padding: 120px 10px; }
		.ssinglepdtop { padding-top: 40px; }
		.vmargintop { margin-top: 6px; }
		.vmarginbtm { margin-bottom: 6px; }
		.srhalfpdbtm { padding-bottom: 15px; }
	/* HEADER */
/*		.header, .headerlight { font-size: 24px; }
		.smallheader { font-size: 22px; margin-bottom: 10px; }*/
		.header, .headerlight { font-size: 1.6em; }
		.smallheader, .headersmall { font-size: 1.2em; }
	/* COLORS & FONT WEIGHTS */
		.large { font-size: 22px; }
		.small { font-size: 16px; }
		.xsmall { font-size: 14px; }
	/* POPUPS */
		.tlseminfo { width: 100vw; height: 100vh; }
		.tlsitext { padding: 44px 30px 30px; width: calc(100% - 60px); max-height: calc(100% - 120px); transform: translateX(-50%) translateY(calc((50% + 30px) * -1)); }
		.tlsitinner { overflow-y: scroll; max-height: calc(100vh - 170px); }
		.popupclosebutton { top: 20px; right: 20px; }
		a.popupclose { width: 18px; height: 18px; background-size: 18px; }
}


@media only screen and (max-width: 640px) {
}


@media only screen and (max-width: 480px) {
	/* GENERAL DEFINITIONS */
		body { font-size: 16px; }
	/* SECTIONS & CONTAINERS */
		#content { padding-top: 120px; }
		.section { padding: 30px 0px; }
		.ixmain, .ixmain3 { height: 72vw; }
		.contcm { max-width: 100% !important; border-radius: 0; }
		.contcl { text-align: left; }
	/* COLUMNS */
		.one-half:first-child { margin-bottom: 20px; }
		.one-third { margin-bottom: 20px; }
		.flexreverse .one-third:last-child { margin-bottom: 20px; }
	/* PADDINGS & MARGINS */
		.szeropd { padding: 0px; }
		.shalfpd { padding: 15px 00px; }
		.shalfmtop { margin-top: 15px; }
		.shalfmbtm { margin-bottom: 15px; }
		.ssinglemtop { margin-top: 30px; }
		.ssinglembtm { margin-bottom: 30px; }
		.ssinglepdtop { padding-top: 30px; }
		.ssinglepdbtm { padding-bottom: 30px; }
		.sdoublepd { padding: 50px 0px; }
		.sdoublepdtop { padding-top: 50px; }
		.sdoublepdbtm { padding-bottom: 50px; }
		.sdoublemtop { margin-top: 50px; }
		.sdoublembtm { margin-bottom: 50px; }
		.striplepd { padding: 80px 0px; }
		.striplepdbtm { padding-bottom: 80px; }
		.striplemtop { margin-top: 80px; }
		.striplembtm { margin-bottom: 80px; }
	/* HEADER */
/*		.header, .headerlight { font-size: 20px; }
		.smallheader { font-size: 20px; }*/
		.header, .headerlight { font-size: 1.2em; }
		.smallheader, .headersmall { font-size: 1.2em; }
	/* COLORS & FONT WEIGHTS */
		.large { font-size: 16px; }
		.small { font-size: 14px; }
		.xsmall { font-size: 12px; }
	/* POPUPS */
		.tlsitext { padding: 40px 20px 20px; width: calc(100% - 40px); max-height: calc(100% - 40px); }
		.popupclosebutton { right: 16px; top: 16px; }
		a.popupclose { width: 16px; height: 16px; background-size: 16px; }
}


@media only screen and (max-width: 379px) {
	/* GENERAL DEFINITIONS */
		body { font-size: 16px; }
	/* HEADER */
		.header, .headerlight { font-size: 1.1em; }
		.smallheader, .headersmall { font-size: 1.1em; }
}

@media only screen and (max-width: 339px) {
	/* HEADER */
		.header, .headerlight { font-size: 1em; }
		.smallheader, .headersmall { font-size: 1em; }
}
