/*
 * Fonts
 */

@font-face {
	font-family: 'Roboto';
	font-weight: 100;
	font-style: normal;
	src: url('../fonts/Roboto-100/Roboto-100.eot');
	src: url('../fonts/Roboto-100/Roboto-100.eot?#iefix') format('embedded-opentype'),
		local('Roboto Thin'),
		local('Roboto-100'),
		url('../fonts/Roboto-100/Roboto-100.woff2') format('woff2'),
		url('../fonts/Roboto-100/Roboto-100.woff') format('woff'),
		url('../fonts/Roboto-100/Roboto-100.ttf') format('truetype'),
		url('../fonts/Roboto-100/Roboto-100.svg#Roboto') format('svg');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 300;
	font-style: normal;
		src: url('../fonts/Roboto-300/Roboto-300.eot');
		src: url('../fonts/Roboto-300/Roboto-300.eot?#iefix') format('embedded-opentype'),
			local('Roboto Light'),
			local('Roboto-300'),
			url('../fonts/Roboto-300/Roboto-300.woff2') format('woff2'),
			url('../fonts/Roboto-300/Roboto-300.woff') format('woff'),
			url('../fonts/Roboto-300/Roboto-300.ttf') format('truetype'),
			url('../fonts/Roboto-300/Roboto-300.svg#Roboto') format('svg');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 400;
	font-style: normal;
		src: url('../fonts/Roboto-regular/Roboto-regular.eot');
		src: url('../fonts/Roboto-regular/Roboto-regular.eot?#iefix') format('embedded-opentype'),
			local('Roboto'),
			local('Roboto-regular'),
			url('../fonts/Roboto-regular/Roboto-regular.woff2') format('woff2'),
			url('../fonts/Roboto-regular/Roboto-regular.woff') format('woff'),
			url('../fonts/Roboto-regular/Roboto-regular.ttf') format('truetype'),
			url('../fonts/Roboto-regular/Roboto-regular.svg#Roboto') format('svg');
}

@font-face {
	font-family: 'Black Tie';
	src: url('../fonts/BlackTie-Regular/BlackTie-Regular-webfont.eot?v=1.0.0');
	src: url('../fonts/BlackTie-Regular/BlackTie-Regular-webfont.eot?#iefix&v=1.0.0') format('embedded-opentype'),
		url('../fonts/BlackTie-Regular/BlackTie-Regular-webfont.woff2?v=1.0.0') format('woff2'),
		url('../fonts/BlackTie-Regular/BlackTie-Regular-webfont.woff?v=1.0.0') format('woff'),
		url('../fonts/BlackTie-Regular/BlackTie-Regular-webfont.ttf?v=1.0.0') format('truetype'),
		url('../fonts/BlackTie-Regular/BlackTie-Regular-webfont.svg?v=1.0.0#black_tieregular') format('svg');
	font-weight: 400;
	font-style: normal;
}


/*
 * Icons (Black Tie)
 */

.icon {
	display: inline-block;
	font: normal normal normal 14px/1 "Black Tie";
	font-size: inherit;
	vertical-align: -14.28571429%;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
}

.icon-none:before {
	content: "\f002";
	visibility: hidden;
}

.icon-search:before {
	content: "\f002";
}

.icon-message:before {
	content: "\f009";
}

.icon-mail:before {
	content: "\f001";
}

.icon-phone:before {
	content: "\f005";
}

.icon-user:before {
	content: "\f0d6";
}

.icon-home:before {
	content: "\f0cc";
}

.icon-angle-down:before {
	content: "\F091";
}
.icon-angle-up:before {
	content: "\F090";
}

.icon-angle-right:before {
	content: "\f093";
}

.icon-close:before {
	content: "\f00c";
}

.icon-calendar:before {
	content: "\f019";
}

.icon-clock:before {
	content: "\f00e";
}

.icon-sync:before {
	content: "\f043";
}

.icon-bars:before {
	content: "\f000";
}

.icon-download:before {
	content: "\f056";
}

.icon-info-circle:before {
	content: "\f02b";
}

.icon-spinner:before {
	content: "\f03d";
}

.icon-spinner-clock:before {
	content: "\f03c";
}


.icon-spin {
	animation: icon-spin 2s infinite linear;
}

@keyframes icon-spin {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(359deg);
	}
}


/*
 * Icons (Font Awesome)
 */


.icon2 {
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	font-family: "Font Awesome 5 Pro";
}

.icon2-none:before {
	content: "\f015";
	visibility: hidden;
}

.icon2-train:before {
	content: "\f238";
}

.icon2-bus:before {
	content: "\f207";
}

.icon2-human:before {
	content: "\f183";
}

.icon2-stop:before {
	content: "\f0fd";
}


/*
 * General
 */

*,
*:before,
*:after {
    box-sizing: border-box;
}

html, body {
	height: 100%;
}

body {
	background: white;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #4A4A4A;
	padding: 0;
	margin: 0;
	overflow-y: scroll;
}

strong,
b {
	font-weight: 400;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,grid-element-float-right
h6, .h6 {
	color: #2A3A6E;
	padding: 0;
	margin: 0 0 1em 0;
	font-weight: 300;
	line-height: 125%;
	font-size: 100%;
}

h1, .h1 {
	font-size: 150%;
}

h2, .h2 {
	font-size: 130%;
}

h3, .h3 {
	font-size: 115%;
}

p {
	padding: 0;
	margin: 0 0 1em 0;
}

a {
	color: #44A7E6;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(162, 212, 243, .25);
}

a:hover,
a:active,
a:focus {
	color: #2A3A6E;
	text-decoration: none;
}

ol,
ul {
	margin: 0 0 1em 0;
	padding: 0 0 0 1em;
}

ol.unstyled,
ul.unstyled {
	list-style-type: none;
	padding-left: 0;
}

ol.inline,
ul.inline {
	list-style-type: none;
	padding-left: 0;
}

ol.inline > li,
ul.inline > li {
	display: inline-block;
	padding-left: 10px;
}

ol.inline > li:first-child,
ul.inline > li:first-child {
	padding-left: 0;
}

.bold {
	font-weight: 400;
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

#container {
	position: relative;
	min-height: 100%;
	display: flex;
}


/*
 * Grid Elements
 */

.grid-element {
	float: left;
	width: 25%;
	height: 160px;
}

.grid-element > div {
	position: relative;
	width: 100%;
	height: 100%;
}

.grid-element-text {
	color: white;
	padding: 15px 8% 15px 8%;
	height: 100%;
}

.grid-element-colspan-2 .grid-element-text,
.grid-element-colspan-4 .grid-element-text {
	padding-left: 4%;
	padding-right: 4%;
}

.grid-element-text-content {
	position: relative;
	height: 100%;
}

.grid-element-text .grid-element-text-data {
	padding-right: 25px;
}

#content-main .grid-element-text h1,
#content-main .grid-element-text h3,
#content-main a .grid-element-text h1,
#content-main a .grid-element-text h3,
#content-main a:hover .grid-element-text h1,
#content-main a:hover .grid-element-text h3,
#content-main a:active .grid-element-text h1,
#content-main a:active .grid-element-text h3,
#content-main a:focus .grid-element-text h1,
#content-main a:focus .grid-element-text h3 {
	font-size: 100%;
	color: white;
	margin-bottom: 0;
	padding-right: 0;
}

.grid-element-text .grid-element-text-arrow {
	position: absolute;
	top: 0;
	right: 0;
	width: 25px;
	height: 50%;
	text-align: right;
}

.grid-element-textpic {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
}

.grid-element-colspan-2 {
	width: 50%;
}

.grid-element-colspan-4 {
	width: 100%;
}

.grid-element-rowspan-2 {
	height: 320px;
}

.grid-element-float-right {
	float: right;
}


	/* Default is blue background */

.grid-section .grid-element:nth-child(1) {
	background: rgba(68, 167, 230, 1);
}

.grid-section .grid-element:nth-child(2) {
	background: rgba(68, 167, 230, .95);
}

.grid-section .grid-element:nth-child(3) {
	background: rgba(68, 167, 230, .9);
}

.grid-section .grid-element:nth-child(4) {
	background: rgba(68, 167, 230, .85);
}

.grid-section .grid-element:nth-child(5) {
	background: rgba(68, 167, 230, .8);
}

.grid-section .grid-element:nth-child(6) {
	background: rgba(68, 167, 230, .75);
}

.grid-section .grid-element:nth-child(7) {
	background: rgba(68, 167, 230, .7);
}

.grid-section .grid-element:nth-child(8) {
	background: rgba(68, 167, 230, .65);
}

	/* Pink background */

.grid-section-layout-1 .grid-element:nth-child(1),
.grid-section-layout-1 .text-image-element:nth-child(1) {
	background: rgba(217, 60, 145, 1);
}

.grid-section-layout-1 .grid-element:nth-child(2),
.grid-section-layout-1 .text-image-element:nth-child(2) {
	background: rgba(217, 60, 145, .95);
}

.grid-section-layout-1 .grid-element:nth-child(3),
.grid-section-layout-1 .text-image-element:nth-child(3) {
	background: rgba(217, 60, 145, .9);
}

.grid-section-layout-1 .grid-element:nth-child(4),
.grid-section-layout-1 .text-image-element:nth-child(4) {
	background: rgba(217, 60, 145, .85);
}

.grid-section-layout-1 .grid-element:nth-child(5),
.grid-section-layout-1 .text-image-element:nth-child(5) {
	background: rgba(217, 60, 145, .8);
}

.grid-section-layout-1 .grid-element:nth-child(6),
.grid-section-layout-1 .text-image-element:nth-child(6) {
	background: rgba(217, 60, 145, .75);
}

.grid-section-layout-1 .grid-element:nth-child(7),
.grid-section-layout-1 .text-image-element:nth-child(7) {
	background: rgba(217, 60, 145, .7);
}

.grid-section-layout-1 .grid-element:nth-child(8),
.grid-section-layout-1 .text-image-element:nth-child(8) {
	background: rgba(217, 60, 145, .65);
}

	/* Green background */

.grid-section-layout-2 .grid-element:nth-child(1) {
	background: rgba(140, 200, 75, 1);
}

.grid-section-layout-2 .grid-element:nth-child(2) {
	background: rgba(140, 200, 75, .95);
}

.grid-section-layout-2 .grid-element:nth-child(3) {
	background: rgba(140, 200, 75, .9);
}

.grid-section-layout-2 .grid-element:nth-child(4) {
	background: rgba(140, 200, 75, .85);
}

.grid-section-layout-2 .grid-element:nth-child(5) {
	background: rgba(140, 200, 75, .8);
}

.grid-section-layout-2 .grid-element:nth-child(6) {
	background: rgba(140, 200, 75, .75);
}

.grid-section-layout-2 .grid-element:nth-child(7) {
	background: rgba(140, 200, 75, .7);
}

.grid-section-layout-2 .grid-element:nth-child(8) {
	background: rgba(140, 200, 75, .65);
}


@media (max-width: 1024px) {
	
	.grid-element {
		width: 50%;
	}
	
	.grid-element-colspan-2,
	.grid-element-colspan-4 {
		width: 100%;
	}
	
	.grid-element-text {
		padding: 20px 10% 20px 10%;
	}
	
	.grid-element-colspan-2 .grid-element-text,
	.grid-element-colspan-4 .grid-element-text {
		padding-left: 5%;
		padding-right: 5%;
	}
	
}

@media (max-width: 500px) {
	
	.grid-element {
		width: 100%;
	}
	
	.grid-element-text {
		padding-left: 5%;
		padding-right: 5%;
	}
	
}

/*
 * Lightbox
 */

#imagelightbox-overlay {
	background-color: rgba(255, 255, 255, .9);
	position: fixed;
	z-index: 9998;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

#imagelightbox {
	position: fixed;
	z-index: 9999;
	
	-ms-touch-action: none;
	touch-action: none;
	
	cursor: pointer;
}

#imagelightbox-close {
	width: 40px;
	height: 40px;
	position: fixed;
	z-index: 10002;
	top: 10px;
	right: 10px;
	padding: 5px 0 0 5px;
	cursor: pointer;
}

#imagelightbox-close span {
	position: absolute;
	font-size: 30px;
	color: #44A7E6;
}

#imagelightbox-loading {
	width: 40px;
	height: 40px;
	position: fixed;
	z-index: 10003;
	top: 50%;
	left: 50%;
	margin: -20px 0 0 -20px;
	padding: 5px 0 0 5px;
}

#imagelightbox-loading span {
	position: absolute;
	font-size: 30px;
	color: #44A7E6;
}


/*
 * Buttons
 */
 
.button,
#content-main .button,
.nav-sub-container a.button {
	display: inline-block;
	background: #44A7E6;
	font-weight: 400;
	color: white;
	margin: 0;
	padding: 10px 10px 0 10px;
	height: 40px;
	font-size: 100%;
}

.button:hover,
.button:active,
.button:focus,
#content-main .button:hover,
#content-main .button:active,
#content-main .button:focus,
.nav-sub-container a.button:hover,
.nav-sub-container a.button:active,
.nav-sub-container a.button:focus {
	color: white;
	background: #2A3A6E;
}

.button-full,
#content-main .button-full {
	display: block;
	text-align: center;
}

.button-active,
#content-main .button-active {
	background: rgba(68, 167, 230, .75);
}

.nav-sub-container a.button {
	padding: 10px 20px 10px 20px;
}

#content-main .ce-bodytext .button,
#content-main .lvlnews-bodytext .button,
#content-main .lvlems-bodytext .button {
	padding-top: 0;
	line-height: 40px;
}


/*
 * jQuery UI
 */

.ui-widget {
	font-family: 'Roboto', sans-serif;
	font-size: 100%;
}

.ui-widget-header {
	background-color: #fff;
	height: 40px;
	font-weight: 300;
	color: #4A4A4A;
}

.ui-menu .ui-menu-item {
	padding-top: 8px;
	padding-bottom: 8px;
}

.ui-state-default,
.ui-widget-content .ui-state-default {
	background-color: #44A7E6;
	color: white;
	text-align: center;
}

.ui-state-default.ui-state-hover {
	background-color: #2A3A6E;
}

.ui-state-default.ui-state-active {
	background-color: #A2D4F3;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
	font-weight: 300;
}

.ui-autocomplete {
	max-height: 200px;
	overflow-y: auto;
	overflow-x: hidden;
}

.ui-datepicker {
	padding: 0;
	width: 300px;
	box-shadow: 0px 2px 10px rgba(0,0,0,.2); 
}

.ui-datepicker .ui-datepicker-header {
	padding-top: 0;
	padding-bottom: 0;
	border: none;
}

.ui-datepicker .ui-datepicker-title {
	margin: 0;
	height: 40px;
	line-height: 40px;
}

.ui-datepicker table {
    margin: 0;
}

.ui-datepicker th,
.ui-datepicker td {
	height: 40px;
	line-height: 40px;
	padding: 0;
	margin: 0;
	font-weight: 300;
}

.ui-datepicker .ui-state-default,
.ui-datepicker .ui-state-active {
	padding: 0;
	border: none;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	top: 0;
	width: 40px;
	height: 40px;
}

.ui-datepicker .ui-datepicker-prev {
	left: 0;
}

.ui-datepicker .ui-datepicker-next {
	right: 0;
}

td.ui-datepicker-other-month.ui-datepicker-unselectable.ui-state-disabled {
	background-color: #FAFAFA;
}


/*
 * Forms
 */

form {
	margin: 0;
	padding: 0;
}

.form-box {
	margin-bottom: 1em;
}

input[type="text"],
input[type="password"],
input[type="Search"],
select,
textarea {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 300;
	margin: 0;
	padding: 6px 12px;
	width: 100%;
	height: 40px;
	background: rgba(42,​ 58,​ 110, .1);
	border: 1px solid #FAFAFA;
	-webkit-appearance: none;
}

input[type="submit"],
button[type="submit"] {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 400;
	margin: 0;
	padding: 6px 12px;
	height: 40px;
	cursor: pointer;
	border: none;
	background: #44A7E6;
	color: white;
	border-radius: 0;
	-webkit-appearance: none;
}

label,
.label {
	color: rgba(255, 255, 255, .4);
	font-size: 90%;
	display: block;
	line-height: 200%;
}


/*
 * Tables
 */

.table-scroll {
	overflow-x: auto;
}

table.data {
	border-collapse: collapse;
	border-bottom: 1px solid #DEDEDE;
}

table.data tr {
	border-top: 1px solid #DEDEDE;
}

table.data th,
table.data td {
	font-weight: 300;
	text-align: left;
	margin: 0;
	padding: 10px 0 10px 0;
	vertical-align: top;
}

table.data th:not(:last-child),
table.data td:not(:last-child) {
	padding-right: 25px;
}

table.data-full {
	width: 100%;
}

table.data-unstyled {
	border-bottom: 0;
}

table.data-unstyled tr {
	border-top: none;
}


/*
 * Text & media element
 */

.ce-gallery {
	padding-right: 50px;
}

.ce-gallery figure {
	margin: 0;
	padding: 0;
}

.ce-above .ce-gallery {
	margin-bottom: 30px;
}

.ce-below .ce-gallery {
	margin-top: 30px;
}

.ce-gallery .ce-row {
	background: #EAEAEA;
}

.ce-gallery[data-ce-images="1"] .ce-row {
	background: none;
}

.ce-row:after {
	content: "";
	display: table;
	clear: both;
}

.ce-column img {
	max-width: 100%;
	height: auto !important;
}

.ce-column figure.video {
    width: 100%;
  	margin: 0;
  	padding-right: 33%;
}

@media (max-width: 1280px) {
	.ce-column figure.video {
		padding-right: 0;
	}
}

.ce-column .video-embed {
    position: relative;
    padding-bottom: 55%;
    padding-top: 15px;
    height: 0;
    overflow: hidden;
}

.ce-column  .video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    border: 0;
    display: block;
}

.ce-column .video-embed video.video-embed-item {
    max-width: 100%;
	height: auto !important;
  	margin-top: -15px;
}

.ce-gallery[data-ce-columns="2"] .ce-column,
.ce-gallery[data-ce-columns="3"] .ce-column,
.ce-gallery[data-ce-columns="4"] .ce-column,
.ce-gallery[data-ce-columns="5"] .ce-column,
.ce-gallery[data-ce-columns="6"] .ce-column,
.ce-gallery[data-ce-columns="7"] .ce-column,
.ce-gallery[data-ce-columns="8"] .ce-column {
	float: left;
	overflow: hidden;
}

.ce-gallery[data-ce-columns="2"] .ce-column {
	width: 50%;
}

.ce-gallery[data-ce-columns="3"] .ce-column {
	width: 33.3%;
}

.ce-gallery[data-ce-columns="4"] .ce-column {
	width: 25%;
}

.ce-gallery[data-ce-columns="5"] .ce-column {
	width: 20%;
}

.ce-gallery[data-ce-columns="6"] .ce-column {
	width: 16.6%;
}

.ce-gallery[data-ce-columns="7"] .ce-column {
	width: 14.2%;
}

.ce-gallery[data-ce-columns="8"] .ce-column {
	width: 12.5%;
}

.ce-gallery[data-ce-columns="2"] .ce-column img,
.ce-gallery[data-ce-columns="3"] .ce-column img,
.ce-gallery[data-ce-columns="4"] .ce-column img,
.ce-gallery[data-ce-columns="5"] .ce-column img,
.ce-gallery[data-ce-columns="6"] .ce-column img,
.ce-gallery[data-ce-columns="7"] .ce-column img,
.ce-gallery[data-ce-columns="8"] .ce-column img {
	float: left;
	opacity: .5;
}

.ce-gallery[data-ce-columns="2"] .ce-column img:hover,
.ce-gallery[data-ce-columns="2"] .ce-column img:active,
.ce-gallery[data-ce-columns="2"] .ce-column img:focus,
.ce-gallery[data-ce-columns="3"] .ce-column img:hover,
.ce-gallery[data-ce-columns="3"] .ce-column img:active,
.ce-gallery[data-ce-columns="3"] .ce-column img:focus,
.ce-gallery[data-ce-columns="4"] .ce-column img:hover,
.ce-gallery[data-ce-columns="4"] .ce-column img:active,
.ce-gallery[data-ce-columns="4"] .ce-column img:focus,
.ce-gallery[data-ce-columns="5"] .ce-column img:hover,
.ce-gallery[data-ce-columns="5"] .ce-column img:active,
.ce-gallery[data-ce-columns="5"] .ce-column img:focus,
.ce-gallery[data-ce-columns="6"] .ce-column img:hover,
.ce-gallery[data-ce-columns="6"] .ce-column img:active,
.ce-gallery[data-ce-columns="6"] .ce-column img:focus,
.ce-gallery[data-ce-columns="7"] .ce-column img:hover,
.ce-gallery[data-ce-columns="7"] .ce-column img:active,
.ce-gallery[data-ce-columns="7"] .ce-column img:focus,
.ce-gallery[data-ce-columns="8"] .ce-column img:hover,
.ce-gallery[data-ce-columns="8"] .ce-column img:active,
.ce-gallery[data-ce-columns="8"] .ce-column img:focus {
	opacity: 1;
}

.ce-intext.ce-right:after {
	content: "";
	display: table;
	clear: both;
}

.ce-intext.ce-right .ce-gallery {
	float: right;
	width: 50%;
	padding-left: 25px;
}

.ce-intext.ce-right .ce-bodytext {
	float: left;
	width: 50%;
	padding-right: 25px;
}

#content-main .ce-intext.ce-right .ce-bodytext p {
	padding-right: 0;
}

@media (max-width: 1280px) {
	
	.ce-gallery {
		padding-right: 0;
	}
	
	.ce-intext.ce-right .ce-gallery {
		padding-left: 2%;
	}
	
	.ce-intext.ce-right .ce-bodytext {
		padding-right: 2%;
	}
	
}

@media (max-width: 1024px) {
	
	.ce-gallery[data-ce-columns="2"] .ce-column,
	.ce-gallery[data-ce-columns="3"] .ce-column,
	.ce-gallery[data-ce-columns="4"] .ce-column,
	.ce-gallery[data-ce-columns="5"] .ce-column,
	.ce-gallery[data-ce-columns="6"] .ce-column,
	.ce-gallery[data-ce-columns="7"] .ce-column,
	.ce-gallery[data-ce-columns="8"] .ce-column {
		width: 50%;
	}
	
	.ce-intext.ce-right .ce-gallery {
		float: none;
		width: 100%;
		padding-left: 0;
		margin-bottom: 40px;
	}
	
	.ce-intext.ce-right .ce-bodytext {
		float: none;
		width: 100%;
		padding-right: 0;
	}
	
}

@media (max-width: 500px) {
	
	.ce-gallery[data-ce-columns="2"] .ce-column,
	.ce-gallery[data-ce-columns="3"] .ce-column,
	.ce-gallery[data-ce-columns="4"] .ce-column,
	.ce-gallery[data-ce-columns="5"] .ce-column,
	.ce-gallery[data-ce-columns="6"] .ce-column,
	.ce-gallery[data-ce-columns="7"] .ce-column,
	.ce-gallery[data-ce-columns="8"] .ce-column {
		width: 100%;
	}
	
}


/*
 * Header (left hand for desktop)
 */

#header {
	padding-left: 3%;
	padding-right: 3%;
}

#header,
#header:before {
	width: 25%;
}

#header:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #2A3A6E;
	z-index: -1;
}

#header h1, #header .h1,
#header h2, #header .h2,
#header h3, #header .h3,
#header h4, #header .h4,
#header h5, #header .h5,
#header h6, #header .h6,
#header p {
	color: white;
}

#header .label,
#header label {
	color: rgba(255, 255, 255, .4);
	margin-bottom: 12px;
}

#header-top {
	height: 160px;
}

#logo {
	height: 100%;
	padding: 60px 0 60px 0;
	margin-left: -3px;
}

#logo a {
	display: block;
	height: 100%;
}

#logo img {
	width: auto;
	height: 100%;
}

#header-slogan h2,
#header-slogan h4,
#header-slogan-big h2,
#header-slogan-big h4 {
	margin-bottom: 0;
}

#header-slogan {
	display: none;
	float: left;
	height: 100%;
	line-height: 160px;
}

#header-slogan h2,
#header-slogan h4 {
	display: inline-block;
	height: 100%;
	font-size: 100%;
	line-height: 160px;
}

#header-slogan-big {
	height: 160px;
	padding-top: 15px;
}

#header-slogan-big h2 {
	font-size: 100%;
}

#header-toggle {
	display: none;
	float: right;
	width: 60px;
	height: 100%;
	line-height: 160px;
	padding-right: 2%;
	color: white;
	text-align: right;
}

#header-toggle:hover,
#header-toggle:active,
#header-toggle:focus {
	color: #44A7E6;
}

#header-nav-container {
	padding-bottom: 30px;
}

#nav-main ul {
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}

#nav-main a {
	display: block;
	color: white;
	height: 40px;
	line-height: 40px;
}

#nav-main a:hover,
#nav-main a:active,
#nav-main a:focus,
#nav-main .active > a {
	color: #44A7E6;
}


#header-search-container {
	padding-bottom: 150px;
}

#header-search-form .form-box {
	position: relative;
}

#header-search-form input {
	background: rgba(255, 255, 255, 0.1);
	border: none;
	color: white;
	padding-right: 52px;
}

#header-search-submit {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
}


.header-service-container {
	padding-bottom: 100px;
}

.header-service-container ul {
	display: flex;
	list-style: none;
	padding: 0;
	margin-bottom: 0;
	margin-top: 30px;
}

.header-service-container ul li {
	width: 60px;
	height: 60px;
}

.header-service-container ul li + li {
	margin-left: 20px;
}

.header-service-container ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	line-height: 80px;
	color: white;
	font-size: 133%;
	text-align: center;
	border-radius: 50%;
	background-color: #314481;
}

.header-service-container ul li a:hover,
.header-service-container ul li a:active,
.header-service-container ul li a:focus {
	background: #41B0F6;
}


@media (min-width: 1281px) {
	
	#header-data {
		display: block !important;
	}
	
}

@media (max-width: 1280px) {
	
	#header,
	#header:before {
		width: 100%;
	}
	
	#header {
		float: none;
		background: #2A3A6E;
		padding: 0;
	}
	
	#header:before {
		background: transparent;
	}
	
	#logo {
		float: left;
		width: 180px;
		margin-left: 1.9%;
	}
	
	#header-slogan {
		display: block;
	}
	
	#header-toggle {
		display: block;
	}
	
	#header-slogan-big {
		display: none;
	}
	
	#header-data {
		display: none;
	}
	
	#header-data-navsearch {
		padding-bottom: 50px;
	}
	
	#header-nav-container {
		float: right;
		width: 50%;
		padding: 0 2% 0 2%;
	}
	
	#nav-main {
		padding: 0;
	}
	
	#header-search-container {
		float: left;
		width: 50%;
		padding: 0 2% 0 2%;
	}
	
	.header-data-service {
		padding-bottom: 50px;
	}
	
	.header-service-container {
		float: right;
		width: 50%;
		padding: 0 2% 0 2%;
	}
	
}

@media (max-width: 1024px) {
	
	#logo {
		margin-left: 4.9%;
	}
	
	#header-toggle {
		padding-right: 5%;
	}
	
	#header-nav-container {
		padding-left: 5%;
		padding-right: 5%;
	}
	
	#header-search-container {
		padding-left: 5%;
		padding-right: 5%;
	}
	
	.header-service-container {
		padding-left: 5%;
		padding-right: 5%;
	}
	
}

@media (max-width: 768px) {
	
	#header-top {
		height: 80px;
	}
	
	#logo {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	
	#header-slogan {
		display: none;
	}
	
	#header-toggle {
		line-height: 80px;
	}
	
	#header-slogan-big {
		display: block;
		padding: 0 0 50px 5%;
		height: auto;
	}
	
}

@media (max-width: 500px) {
	
	#header-data-navsearch {
		padding-bottom: 0;
	}
	
	#header-nav-container {
		float: none;
		width: 100%;
		padding-bottom: 25px;
	}
	
	#header-search-container {
		float: none;
		width: 100%;
		padding-bottom: 25px;
	}
	
	.header-data-service {
		padding-bottom: 0;
	}
	
	.header-service-container {
		float: none;
		width: 100%;
		padding-bottom: 25px;
	}
	
}


/*
 * Content
 */

#content {
	background: white;
	width: 75%;
	padding-top: 60px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100vh;
	position: relative;
}

h1.page-title {
	font-size: 190%;
	margin: 0 50px 60px 50px;
}

.nav-sub-container {
	color: #CCCCCC;
	background: #FAFAFA;
	padding: 20px 50px 20px 50px;
}

.nav-sub-container ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.nav-sub-container ul li {
	display: inline-block;
}

.nav-sub-container ul li:after {
	content: "/";
	padding: 0 .5em;
}

.nav-sub-container ul li:last-child:after {
	content: "";
	padding: 0;
}

.nav-sub-container a {
	display: inline-block;
	padding: 10px 0 10px 0;
}

.nav-sub-container a:hover,
.nav-sub-container a:active,
.nav-sub-container a:focus,
.nav-sub-container .active > a {
	color: #CCCCCC;
}

.nav-sub-right {
	float: right;
	margin-left: 50px;
}

#content-main {
	padding: 40px 0 0 50px;
}

.content-nopadding #content-main {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#content-main h1,
#content-main h3 {
	padding-right: 33%;
	margin-bottom: 30px;
}

#content-main > div > header > h1 {
	margin-top: 50px;
}

#content-main > div:first-child > h1 {
	margin-top: 0;
}

#content-main h2 {
	color: #4A4A4A;
	font-size: 100%;
	padding-right: 33%;
	margin-bottom: 40px;
}

#content-main p {
	padding-right: 33%;
	line-height: 190%;
}


@media (max-width: 1280px) {
	
	#content {
		float: none;
		width: 100%;
	}
	
	h1.page-title {
		margin-left: 2%;
		margin-right: 2%;
	}
	
	.nav-sub-container {
		padding-left: 2%;
		padding-right: 2%;
	}
	
	#content-main {
		padding-left: 2%;
		padding-right: 2%;
	}
	
	#content-main h1,
	#content-main h3 {
		padding-right: 0;
	}
	
	#content-main h2 {
		padding-right: 0;
	}
	
	#content-main p {
		padding-right: 0;
	}
	
}

@media (max-width: 1024px) {
	
	h1.page-title {
		margin-left: 5%;
		margin-right: 5%;
	}
	
	.nav-sub-container {
		padding-left: 5%;
		padding-right: 5%;
	}
	
	#content-main {
		padding-left: 5%;
		padding-right: 5%;
	}
	
}


/*
 * Plugin Indexed Search
 */

.tx-indexedsearch-whatis {
	color: #CCCCCC;
	background: #FAFAFA;
	padding: 20px 50px 20px 50px;
	margin: -40px 0 0 0;
}

.tx-indexedsearch-res {
	padding-left: 50px;
	
}

.tx-indexedsearch-item-link {
	display: block;
	border-bottom: 1px solid #EDEDED;
}

.tx-indexedsearch-item {
	position: relative;
	padding: 20px 100px 20px 0;
}

.tx-indexedsearch-percent {
	display: inline-block;
	padding-left: .5em;
	color: #CCCCCC;
}

a.tx-indexedsearch-item-link p {
	color: #4A4A4A;
	margin-bottom: 0;
}

.tx-indexedsearch-item-arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 50px;
	width: 25px;
}

.tx-indexedsearch-item-arrow span {
	position: absolute;
	display: block;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 133%;
}

.tx-indexedsearch-browsebox {
	display: none;
}

@media (max-width: 1280px) {
	
	.tx-indexedsearch-whatis {
		padding-left: 2%;
		padding-right: 2%;
	}
	
	.tx-indexedsearch-res {
		padding-left: 2%;
		padding-right: 2%;
	}
	
	.tx-indexedsearch-item {
		padding-right: 60px;
	}
	
	.tx-indexedsearch-item-arrow {
		right: 10px;
	}
	
}

@media (max-width: 1024px) {
	
	.tx-indexedsearch-whatis {
		padding-left: 5%;
		padding-right: 5%;
	}
	
	.tx-indexedsearch-res {
		padding-left: 5%;
		padding-right: 5%;
	}
	
}


/*
 * Layout 'grid'
 */

body.layout-grid {
	background: #3F4D7B;
}

.layout-grid #content {
	padding: 0;
}

.layout-grid h1.page-title {
	display: none;
}

.layout-grid #content-main {
	padding: 0;
}


/*
 * FE Edit
 */

.grid-element {
	position: relative;
}

.grid-element > .content-link {
	position: absolute;
	top: 0;
	left: 0;
}


/*
 * Tarifinformationen
 */

#p25 .ce-gallery figure {
	margin-left: 0;
}

#p25 .ce-gallery figure figcaption {
	line-height: 125%;
	padding: 10px 33% 0 70px;
	margin-right: -50px;
}

#p25 .ce-gallery figure img {
	float: left;
}

@media (max-width: 1280px) {
	
	#p25 .ce-gallery figure figcaption {
		margin-right: 0;
		padding-right: 0;
	}
	
}



.grid-section {
	padding: 40px 80px 20px 80px;
}

.grid-section + .grid-section {
	padding-top: 20px;
}

.timetable-information-section:first-child  {
	padding-top: 20px;
}

.grid-section.traffic-forecast,
.grid-section.teaser-slider {
	padding: 20px 0;
}

.grid-section-content {
	display: flex;
}

.lvlefa-teaser,
.timetable-information-section .text-image-element,
.timetable-information-section .grid-element,
.grid-section-content .text-image-element {
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

#content-main .grid-section .header-container {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 80px;
}

#content-main .grid-section .header-container h2 + .slider-control-container {
	margin-left: 20px;
}

#content-main .grid-section .header-container .slider-control-container {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 20px;
}

#content-main .grid-section .header-container .slider-control {
	cursor: pointer;
	background: transparent;
	border: none;
	height: 20px;
	width: 20px;
}

#content-main .grid-section .header-container .slider-control.slick-disabled {
	cursor: default;
}

#content-main .grid-section .header-container .slider-control + .slider-control {
	margin-left: 10px;
}

#content-main .grid-section .header-container .slider-control svg {
	height: 100%;
	width: auto;
	fill: rgba(255, 255, 255, .5);
	pointer-events: none;
}

#content-main .grid-section .header-container .slider-control.slick-disabled svg {
	fill: rgba(255, 255, 255, .2);
}

#content-main .grid-section .header-container .slider-control i {
	font-size: 20px;
	color: rgba(255, 255, 255, .5);
	pointer-events: none;
}

#content-main .grid-section .header-container .slider-control.slick-disabled i {
	color: rgba(255, 255, 255, .2);;
}

#content-main .grid-section.traffic-forecast .header-container,
#content-main .grid-section.teaser-slider .header-container {
	padding: 0 80px;
}

#content-main .grid-section .header-container h2 {
	opacity: 0.5;
	font-size: 20px;
	color: #FFFFFF;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
	padding: 0;
}

.traffic-forecast .slick-list,
.teaser-slider .slick-list {
	padding-left: 80px;
	padding-bottom: 40px;
	margin-bottom: -40px;
}

.teaser-slider .text-image-element {
	width: 280px;
	height: 280px;
	display: flex;
	flex-direction: column;
	background: #384E94;
}

.teaser-slider ~ .teaser-slider .text-image-element {
	background: #2A3A6E;
}

.teaser-slider .text-image-element .image {
	width: 100%;
	height: 160px;
	background-size: cover;
	background-position: center;
}

.teaser-slider .text-image-element .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.text-image-element .text {
	position: relative;
	width: 100%;
	height: 120px;
	padding: 20px 52px 20px 20px;
	font-weight: 500;
	font-size: 16px;
	color: #FFFFFF;
	letter-spacing: 0;
}

.text-image-element .text .arrow {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	width: 60px;
}

.teaser-slider .text-image-element .text .arrow svg {
	height: 16px;
	width: auto;
	fill: white;
}

#content-main .teaser-slider .text-image-element .text p {
	margin: 0;
	padding: 0;
	line-height: 19px;
}

.teaser-slider .text-image-element + .text-image-element {
	margin-left: 20px;
}

.traffic-forecast .grid-section-content {
	display: flex;
}

.traffic-forecast .grid-element,
.traffic-forecast .text-image-element {
	width: 280px;
}

.traffic-forecast .text-image-element svg {
	height: 16px;
	width: auto;
	fill: #fff;
}

.traffic-forecast .text-image-element .text {
	height: 160px;
}

.traffic-forecast .grid-element + .text-image-element,
.traffic-forecast .text-image-element + .grid-element,
.traffic-forecast .grid-element + .grid-element,
.traffic-forecast .text-image-element + .text-image-element {
	margin-left: 20px;
}

.traffic-forecast .text-image-element .image {
	display: none;
}

.traffic-forecast .grid-element,
.traffic-forecast .text-image-element {
	background: rgba(217, 60, 145, 1) !important;
}

.lvlefa-teaser {
	position: fixed;
	top: 120px;
	right: 80px;
	height: 160px;
	width: 280px;
	z-index: 1;
	padding: 20px;
	background: #41B0F6;
}

.page-footer {
	width: 100%;
	height: 180px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 80px;
}

.page-footer .header-data-service {
	display: none;
}

.page-footer .copyright {
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 0;
}

.page-footer .footer-navigation {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-footer .footer-navigation li + li {
	margin-left: 30px;
}

.layout-grid .page-footer a {
	font-size: 14px;
	color: #FFFFFF;
	letter-spacing: 0;
	text-decoration: none;
}

.layout-grid .page-footer a:hover {
	color: #44A7E6;
}

.layout-grid .page-footer .header-service-container a:hover {
	color: white;
}

.layout-grid .page-footer .copyright {
	color: #FFFFFF;
}

.layout-grid .page-footer a {
	font-size: 14px;
	color: #FFFFFF;
	letter-spacing: 0;
	text-decoration: none;
}

.layout-grid #content {
	background: #314481;
}

.layout-grid .text-element {
	padding: 120px 80px;
	color: #FFFFFF;
}

.layout-grid #content-main .text-element h2 {
	font-size: 30px;
	color: #FFFFFF;
	letter-spacing: 0;
}

.layout-grid #content-main .text-element p {
	font-size: 16px;
	color: rgba(255, 255, 255, .75);
	letter-spacing: 0;
	line-height: 28px;
	margin: 0;
}

.layout-grid #content-main .text-element p + p {
	margin-top: 30px;
}

#content-main .text-element .button {
	display: inline-block;
	background: #44A7E6;
	font-weight: 400;
	color: white;
	margin: 0;
	padding: 12px 16px;
	height: 40px;
	font-size: 14px;
	line-height: 1;
	border-radius: 4px;
}


#content-main .lvlefa-teaser h1 {
	font-weight: 400;
	font-size: 16px;
	color: #FFFFFF;
	letter-spacing: 0;
	line-height: 20px;
}

.lvlefa-teaser-data .lvlefa-field input {
	height: 36px;
	background: #59BAF7;
	border-radius: 4px;
	font-size: 14px;
}

.lvlefa-teaser-data .lvlefa-field input::placeholder {
	color: rgba(255, 255, 255, .5);
}

.lvlems-teaser {
	padding: 20px;
}

.lvlems-teaser .lvlems-message-arrow,
.lvlefa-teaser .lvlefa-item-arrow {
	height: 60px;
	width: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.lvlems-teaser .lvlems-message-arrow {
	top: -20px;
	right: -20px;
}

.lvlems-teaser .lvlems-message-arrow svg,
.lvlefa-teaser .lvlefa-item-arrow svg {
	height: 16px;
	width: auto;
	fill: #FFFFFF;
}

.lvlems-teaser .lvlems-message-data {
	padding-right: 30px;
}

.lvlems-teaser .lvlems-message-data h1 {
	font-weight: 400;
}

.timetable-information-button {
	position: absolute;
	top: 60px;
	right: 80px;
}

@media (max-width: 1450px) {
	.page-footer {
		flex-direction: column;
		align-items: flex-start;
		height: 100%;
	}

	.page-footer .copyright + .footer-navigation {
		margin-top: 30px;
	}
}

@media (max-width: 1280px) {
	#logo {
		margin-left: 80px
	}

	#header-toggle {
		padding-right: 96px;
	}

	#container {
		flex-direction: column;
	}

	.header-data-service {
		padding-bottom: 80px;
	}

	.lvlefa-teaser {
		position: relative;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		padding: 12px 60px 12px 20px;
	}

	.lvlefa-teaser-content {
		display: flex;
		align-items: center;
	}

	#content-main .lvlefa-teaser-data h1,
	#content-main .lvlefa-teaser-data h2 {
		margin: 0;
		padding: 0;
	}

	#content-main .lvlefa-teaser-data h1 + form,
	#content-main .lvlefa-teaser-data h2 + form {
		margin-left: 20px;
	}

	.lvlefa-teaser-data {
		display: flex;
		align-items: center;
		flex-grow: 1;
	}

	.lvlefa-teaser-data form {
		display: flex;
		flex-grow: 1;
	}

	.timetable-information-section {
		padding: 20px 80px;
	}

	.lvlefa-teaser-data .lvlefa-field {
		margin: 0;
		width: calc(50% - 5px);
	}

	.lvlefa-teaser-data .lvlefa-field +  .lvlefa-field{
		margin-left: 10px;
	}

	#header .header-data-service {
		display: none;
	}

	.layout-grid .page-footer {
		background: #2A3A6E;
	}

	.page-footer .header-data-service {
		display: block;
		color: white;
		width: 100%;
	}

	.page-footer .header-service-container {
		float: none;
		width: 100%;
		padding: 0;
	}

	.page-footer .header-service-container > .label,
	.page-footer .header-service-container > p {
		margin-left: 5px;
	}

	.timetable-information-section:first-child,
	.grid-section:first-child {
		padding-top: 80px;
	}
}

@media (max-width: 768px) {
	#logo {
		margin-left: 40px
	}

	#header-toggle {
		padding-right: 56px;
	}

	#header-slogan-big {
		padding-left: 40px;
	}

	.traffic-forecast .slick-list,
	.teaser-slider .slick-list {
		padding-left: 40px;
	}

	#content-main .grid-section.traffic-forecast .header-container,
	#content-main .grid-section.teaser-slider .header-container {
		padding: 0 40px;
	}

	.grid-section.traffic-forecast, .grid-section.teaser-slider {
		padding: 10px 0;
	}

	.timetable-information-section {
		padding: 10px 40px;
	}

	.layout-grid .text-element {
		padding-left: 40px;
		padding-right: 40px;
	}

	.page-footer  {
		padding: 40px;
	}

	.page-footer .footer-navigation {
		flex-direction: column;
	}

	.page-footer .footer-navigation li + li {
		margin-left: 0;
		margin-top: 24px;
	}

	.timetable-information-section:first-child,
	.grid-section:first-child {
		padding-top: 40px;
	}

	#content-main .grid-section .header-container .slider-control-container {
		display: none;
	}
}

@media (max-width: 800px) {
	.lvlefa-teaser {
		padding: 12px 20px;
	}

	.lvlefa-teaser-data {
		flex-direction: column;
		align-items: flex-start;
	}

	.lvlefa-teaser-data form {
		flex-direction: column;
	}

	.lvlefa-teaser-data .lvlefa-field + .lvlefa-field {
		margin-left: 0;
		margin-top: 10px;
	}

	#content-main .lvlefa-teaser-data h1,
	#content-main .lvlefa-teaser-data h2 {
		margin-top: 10px;
	}

	#content-main .lvlefa-teaser-data form {
		width: 100%;
	}

	#content-main .lvlefa-teaser-data h1 + form,
	#content-main .lvlefa-teaser-data h2 + form {
		margin-left: 0;
		margin-top: 20px;
	}

	.lvlefa-teaser-data .lvlefa-field {
		width: 100%;
	}
}

@media (max-width: 500px) {
	#logo {
		margin-left: 20px
	}

	#header-toggle {
		padding-right: 36px;
	}

	#header-slogan-big {
		padding-left: 20px;
	}

	.header-data-service {
		padding-bottom: 80px;
	}

	.timetable-information-section,
	#content-main .grid-section.traffic-forecast .header-container,
	#content-main .grid-section.teaser-slider .header-container,
	.layout-grid .text-element {
		padding-left: 20px;
		padding-right: 20px;
	}

	.traffic-forecast .slick-list,
	.teaser-slider .slick-list {
		padding-left: 20px;
	}

	.page-footer {
		padding: 20px 20px 50px;
	}

	.timetable-information-section:first-child,
	.grid-section:first-child {
		padding-top: 20px;
	}
}

*:focus {
	outline: none;
}
