
/*
------------------------------------------------------------------------------
GENERAL
------------------------------------------------------------------------------
*/

body
{
	width: 100%;
	font-family: "Metropolis regular", sans-serif;
	color: #023f84;
	-webkit-font-smoothing: antialiased;
}

.wrapper
{
	position: relative;

	width: 1200px;
	margin:0 auto;
}

a
{
	color: #023f84;

	-webkit-transition: color 200ms;
	-moz-transition: color 200ms;
	transition: color 200ms;
}
a:hover
{
	color: #d9e242;
}
.structure-element-single.grey a:hover
{
	color: #8aa8b5;
}

li
{
	position: relative;

	margin-top: 5px;
	padding-left: 15px;
}

li:before
{
	content:"";

	position: absolute;
	left: 0px;
	top: 4px;

	background: url("../image/li-line.svg") no-repeat;

	width: 10px;
	height: 10px;
}

.no-ie
{
	display: block;
}
.ie
{
	display: none;
}

sup {
	vertical-align: super;
	font-size: smaller;
}

i {
	font-style: italic;
}
/*
------------------------------------------------------------------------------
FONTS
------------------------------------------------------------------------------
*/

.content-element-keyvisual.big h1
{
	font-family:"Metropolis bold";
	font-size:100px;
	line-height: 110px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}
.content-element-keyvisual.small h1,
.content-element-start-slideshow .slideshow-element .info h1,
.content-element-start-slideshow .slideshow-element .info h2
{
	font-family:"Metropolis bold";
	font-size:48px;
	line-height: 54px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}

h2
{
	font-family:"Metropolis bold";
	font-size:30px;
	line-height: 38px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}
h2.light,
.profile-title.big
{
	font-family:"Metropolis light";
	font-size:29px;
	line-height: 38px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}

h3,
.profile-title.small
{
	font-family:"Metropolis bold";
	font-size: 17px;
	line-height: 26px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}



p
{
	font-family:"Metropolis regular";
	font-size:15px;
	line-height: 24px;
}

.content-element-image .caption p
{
	font-family:"Metropolis semi bold";
	font-size:15px;
	line-height: 24px;
}

label
{
	font-family:"Metropolis regular";
	font-size:13px;
	line-height: 24px;
}

.content-element-start-slideshow .slideshow-element .info .text
{
	font-family:"Metropolis regular";
	font-size:29px;
	line-height: 38px;
}

li
{
	font-family:"Metropolis regular";
	font-size:15px;
	line-height: 18px;
}

a
{
	font-family:"Metropolis semi bold";
	font-size:15px;
	line-height: 24px;

	color: #023f84;
}

.content-element-text h3,
.content-element-start-slideshow .slideshow-element .info .button,
.structure-element-accordion a.accordion-element-title
{
	font-family:"Metropolis bold";
	font-size: 17px;
	line-height: 26px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.structure-element-30-70 .structure-item.floatleft .structure-element-accordion a.accordion-element-title,
.structure-element-70-30 .structure-item.floatright .structure-element-accordion a.accordion-element-title
{
	font-family:"Metropolis semi bold";
	font-size:15px;
	line-height: 24px;

	text-transform: inherit;
	letter-spacing: 0px;
}

.content-element-text b, .content-element-text strong
{
	font-family:"Metropolis medium";
	font-size: 19px;
	line-height: 26px;
}

.content-element-text b a, .content-element-text strong a
{
	font-size: 19px;
	line-height: 26px;
}

footer strong,
.navigation-overlay .main > a
{
	font-family:"Metropolis bold";
	font-size:17px;
	line-height: 24px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}

footer a p,
.content-element-teaser .link,
.content-element-teaser-news .link,
.content-element-linkbox .link,
.content-element-breadcrumb a,
.content-element-form button,
.content-element-teaser-navigation .link
{
	font-family:"Metropolis light";
	font-size:13px;
	line-height: 18px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.content-element-teaser .headline
{
	font-family:"Metropolis bold";
	font-size:42px;
	line-height: 50px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}
.content-element-teaser.width-25 .headline
{
	font-size:29px;
	line-height:38px;

	font-size:23px;
	line-height:30px;
}

.content-element-teaser-news .headline,
.content-element-video.width-66 p
{
	font-family:"Metropolis semi bold";
	font-size: 17px;
	line-height: 24px;
}

.content-element-linkbox .headline,
.content-element-facts .fact-element strong
{
	font-family:"Metropolis bold";
	font-size: 17px;
	line-height: 24px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.content-element-facts h2
{
	font-family:"Metropolis bold";
	font-size:29px;
	line-height: 38px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}
.content-element-facts h2.light
{
	font-family:"Metropolis light";
	font-size:29px;
	line-height: 38px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.content-element-profile .info .headline
{
	font-family:"Metropolis light";
	font-size: 17px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.content-element-profile .info .name,
.content-element-teaser-navigation .headline
{
	font-family:"Metropolis semi bold";
	font-size: 17px;
}

.content-element-profile .info .detail .title
{
	font-family:"Metropolis bold";
	font-size: 14px;
	line-height: 24px;

	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.content-element-profile .smallmail .info .detail .mail
{
	font-size: 12px;
	line-height: 1;
}





/*
------------------------------------------------------------------------------
HEADER
------------------------------------------------------------------------------
*/

header
{
	position: fixed;
	z-index: 11;

	width: 100%;
	height: 100px;
	background-color: #fff;
}


/*LOGO*/

header .logo
{
	display: block;

	position: absolute;
	top: 30px;
	left: 50%;
	margin-left: -67px;
	z-index: 10;

	transition: opacity 200ms;
	-moz-transition: opacity 200ms;
	-webkit-transition: opacity 200ms;
}
.no-touch header .logo:hover
{
	opacity: 0.8;
}


/*NAVIGATION*/

header .navigation-button
{
	position: absolute;
	top: 40px;
	left: 15px;

	display: block;

	cursor: pointer;

	width: 30px;
	height: 20px;

	transition: top 200ms;
	-moz-transition: top 200ms;
	-webkit-transition: top 200ms;
}
header.small .navigation-button
{
	top: 28px;
}

header .navigation-button i
{
	position: relative;

	display: inline-block;
	vertical-align: middle;

	width: 30px;
	height: 1px;
	right: 0px;

	margin-right: 3px;

	background-color: #222e36;
	transition: background-color 200ms, right 150ms;
	-moz-transition: background-color 200ms, right 150ms;
	-webkit-transition: background-color 200ms, right 150ms;
}
.no-touch header .navigation-button:hover i { right: -2px; }
.no-touch .overlay-active header .navigation-button:hover i { right: 0px; }

header .navigation-button i:before,
header .navigation-button i:after
{
	content: "";
	position: absolute;

	display: block;

	width: 30px;
	height: 1px;

	-webkit-transform: -webkit-rotate(0deg);
	transform: rotate(0deg);

	background-color: #222e36;

	transition: all 200ms;
	-moz-transition: all 200ms;
	-webkit-transition: all 200ms;
}

.overlay-active header .navigation-button i,
.overlay-active header .navigation-button i:before,
.overlay-active header .navigation-button i:after
{
	background-color: #000;
}
.overlay-active header .navigation-button i
{
	background-color: transparent;
}

header .navigation-button i:before
{
	top: -8px;
	left: 0px;
}
header .navigation-button i:after
{
	top: 8px;
	left: 0px;
}
.no-touch header .navigation-button:hover i:before { left: -4px; }
.no-touch header .navigation-button:hover i:after { left: -4px; }

.no-touch .overlay-active header .navigation-button:hover i:before { left: 0px; }
.no-touch .overlay-active header .navigation-button:hover i:after { left: 0px; }

.overlay-active header .navigation-button i:before
{
	top: 0px;

	transform: rotate(45deg);
	-webkit-transform: -webkit-rotate(45deg);
}
.overlay-active header .navigation-button i:after
{
	top: 0px;

	transform: rotate(-45deg);
	-webkit-transform: -webkit-rotate(-45deg);
}


/*META*/

header nav.meta
{
	position: absolute;
	right: 0px;
	top: 30px;
}

header nav.meta form
{
	position: relative;

	display: inline-block;
	vertical-align: middle;

	height: 40px;
	width: 35px;

    overflow: hidden;
}
header nav.meta form .input
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	position: absolute;
	right: 0px;

	width: 0px;
	height: 40px;

	padding:0px 0px 0px 0px;
	border:none;

	background-color: #e8ecef;

	overflow: hidden;

	-webkit-transition: width 200ms,  padding 200ms;
	-moz-transition: width 200ms,  padding 200ms;
	transition: width 200ms, padding 200ms;
}

header nav.meta form.search-active
{
	width: 200px;
}

header nav.meta form.search-active .input
{
	width: 200px;
	padding:0px 39px 0px 9px;
}
header nav.meta form .button
{
	position: absolute;
	top: 9px;
	right: 9px;

	width: 25px;
	height: 25px;

	background-color: transparent;
	border:none;

	cursor: pointer;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
	background-position: -10px -10px;

	-webkit-transition: opacity 200ms;
	-moz-transition: opacity 200ms;
	transition: opacity 200ms
}
.no-touch header nav.meta form .button:hover
{
	opacity: 0.7;
}

header nav.meta a
{
	position: relative;
	z-index: 1;

	display: inline-block;
	vertical-align: middle;

	width: 25px;
	height: 25px;

	-webkit-transition: opacity 200ms;
	-moz-transition: opacity 200ms;
	transition: opacity 200ms;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
}

header nav.meta .leichteSprache a, header nav.meta .leichteSprache img, header nav.meta .leichteSprache .divider
{
	display:inline-block;
	opacity:1;

	-webkit-transition: opacity 300ms;
	-moz-transition: opacity 300ms;
	transition: opacity 300ms;
}

header nav.meta .leichteSprache.search-active {
	display:none;
}

header nav.meta .leichteSprache.search-active a, header nav.meta .leichteSprache.search-active img, header nav.meta .leichteSprache.search-active .divider
{
	opacity:0;
}

header nav.meta a {
	font-family: "Metropolis regular";
}

header nav.meta .leichteSprache a
{
	width:auto;
	height:auto;
	background:none;
}

header nav.meta .divider.englischDivider {
	margin-left:5px;
}



header nav.meta .leichteSprache a:hover
{
	color:#023F84;
}

header nav.meta .leichteSprache a img
{
	position:relative;
	top:4px;
	margin-right:10px;
	margin-left:2px;
}

header nav.meta .englischLink
{

}

header nav.meta .englischLink a
{
	top:3px;
	background:none;
}

.no-touch header nav.meta a:hover
{
	opacity: 0.7;
}

header nav.meta a.share-button
{
	background-position: -45px -10px;
}

header nav.meta .navigation-share
{
	display: inline-block;
	vertical-align: middle;

	width: 0px;
	height: 25px;

	margin-right: 5px;

	overflow: hidden;

	-webkit-transition: width 200ms;
	-moz-transition: width 200ms;
	transition: width 200ms
}
header nav.meta .navigation-share.active
{
	width: 60px;
	margin-left: 10px;
}

header nav.meta .navigation-share a
{
	margin-left: 5px;
}
header nav.meta .navigation-share a:first-child
{
	margin-left: 0px;
}

header nav.meta .navigation-share a.mail
{
	background-position: -220px -10px;
}
header nav.meta .navigation-share a.facebook
{
	background-position: -185px -10px;
}

header nav.meta .divider
{
	display: inline-block;
	vertical-align: middle;

	width: 1px;
	height: 30px;

	margin: 0px 5px 0px -5px;

	background-color: #023f84;
}


/*NAVIGATION-OVERLAY*/

.navigation-overlay
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	position: fixed;
	top: -465px;
	z-index: 10;
	height: 465px;
	width: 100%;

	padding: 60px 0px;

	background-color: #fff;

	-webkit-transition: top 300ms;
	-moz-transition: top 300ms;
	transition: top 300ms
}
.overlay-active .navigation-overlay
{
	top: 100px;
}

.navigation-overlay .main
{
	margin-top: 10px;
	margin-left: 15px;

	width: 300px;
}
.navigation-overlay .main:first-child
{
	margin-top: 0px;
}
.navigation-overlay .main > a
{
	color: #023f84;

	-webkit-transition: color 300ms;
	-moz-transition: color 300ms;
	transition: color 300ms;
}
.no-touch .navigation-overlay .main > a:hover,
.navigation-overlay .main > a.active
{
	color: #d9e242;
}

.navigation-overlay .main .hitarea
{
	display: none;
}

.navigation-overlay .sub
{
	position: absolute;
	top: 0px;
	left: 350px;
}
.navigation-overlay .sub > a
{
	position: relative;
	z-index: 1;

	display: block;
	margin-top: 10px;

	color: #023f84;
}
.navigation-overlay .sub > a:first-child
{
	margin-top: 0px;
}
.navigation-overlay .sub > a p
{
	position: relative;
	z-index: -1;
	display: inline;
}
.navigation-overlay .sub > a p:before
{
	content: "";
	display: block;

	position: absolute;
	bottom: -4px;

	width: 0%;
	height: 2px;

	background-color: #d9e242;

	-webkit-transition: width 300ms;
	-moz-transition: width 300ms;
	transition: width 300ms;
}
.no-touch .navigation-overlay .sub > a:hover p:before,
.navigation-overlay .sub > a.active p:before
{
	width: 100%;
}

.navigation-overlay .sub
{
	visibility: hidden;
	opacity: 0;

	-webkit-transition: all 300ms;
	-moz-transition: all 300ms;
	transition: all 300ms;
}
.navigation-overlay .main > a.active + .sub
{
	visibility: visible;
	opacity: 1;
}

.navigation-overlay .navigation-additional
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	position: absolute;
	right: 15px;
	top: 0px;

	width: 400px;
	height: 300px;

	padding-left: 30px;

	border-left: 1px solid #023f84;
}


/*NAVIGATION-BACKGROUND*/

.navigation-background
{
	position: fixed;
	z-index: 9;
	height: 100%;
	width: 100%;

	background-color: #000;
	opacity: 0;
	visibility: hidden;

	-webkit-transition: all 300ms;
	-moz-transition: all 300ms;
	transition: all 300ms
}
.overlay-active .navigation-background
{
	visibility: visible;
	opacity: 0.6;
}
/*body.overlay-active
{
		position: fixed;
		overflow: hidden;
}*/




/*
------------------------------------------------------------------------------
FOOTER
------------------------------------------------------------------------------
*/

footer
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	height: 360px;
	width: 100%;

	padding:50px 0px 60px;

	color: #fff;
	background-color: #023f84;
}
footer a
{
	color: #fff;
}

footer .info
{
	display: inline-block;
	vertical-align: top;
	width: 500px;
	margin-left: 15px;
}
footer .info p
{
	margin-top: 30px;
}

footer .service
{
	display: inline-block;
	vertical-align: top;
	margin-left: 100px;
}
footer .service strong
{
	display: block;
	margin-bottom: 20px;
}
footer .service a
{
	display: block;
	margin-top: 10px;

	-webkit-transition: color 200ms;
	-moz-transition: color 200ms;
	transition: color 200ms;
}
.no-touch footer .service a:hover
{
	color: #d9e242;
}

footer .social
{
	display: inline-block;
	vertical-align: top;
	margin-left: 120px;
}
footer .social strong
{
	display: block;
	margin-bottom: 20px;
}
footer .social a
{
	display: block;
	margin-top: 10px;

	-webkit-transition: color 200ms;
	-moz-transition: color 200ms;
	transition: color 200ms;
}
footer .social a i
{
	position: relative;
	display: inline-block;
	vertical-align: middle;

	width: 25px;
	height: 25px;

	margin-right: 10px;

	background: url(../image/sprite-sheet.svg?t=100);
	background-size: 338px 530px;
}
footer .social a i:before
{
	content: "";
	display: block;

	position: absolute;
	top: 0px;
	left:0px;

	width: 25px;
	height: 25px;

	background: url(../image/sprite-sheet.svg?t=100);
	background-size: 338px 530px;

	opacity: 0;

	-webkit-transition: opacity 200ms;
	-moz-transition: opacity 200ms;
	transition: opacity 200ms;
}
footer .social a.blog i
{
	background-position: -80px -10px;
}
footer .social a.facebook i
{
	background-position: -115px -10px;
}
footer .social a.linkedin i
{
	background-position: -156px -81px;
}
footer .social a.youtube i
{
	background-position: -150px -10px;
}
footer .social a.twitter i
{
	background-position: -256px -10px;
}
footer .social a.instagram i
{
	background-position: -291px -10px;
}
footer .social a.blog i:before
{
	background-position: -80px -45px;
}
footer .social a.facebook i:before
{
	background-position: -115px -45px;
}
footer .social a.linkedin i:before
{
	background-position: -156px -115px;
}
footer .social a.youtube i:before
{
	background-position: -150px -45px;
}
footer .social a.twitter i:before
{
	background-position: -256px -45px;
}

footer .social a.instagram i:before
{
	background-position: -291px -45px;
}

footer .social a p
{
	display: inline-block;
	vertical-align: middle;
}

.no-touch footer .social a:hover
{
	color: #d9e242;
}
.no-touch footer .social a:hover i:before
{
	opacity: 1;
}




/*
------------------------------------------------------------------------------
MAIN
------------------------------------------------------------------------------
*/

main
{
	padding-top: 101px;
}




/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-SINGLE.WHITE
------------------------------------------------------------------------------
*/

.structure-element-single.white
{
	padding: 50px 0px;

	background-color: #fff;

	/* font-size: 0px;
	line-height: 0px; */
}




/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-SINGLE.GREY
------------------------------------------------------------------------------
*/

.structure-element-single.grey
{
	padding: 50px 0px;

	background-color: #e8ecef;

	/* font-size: 0px;
	line-height: 0px; */
}




/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-DOUBLE
------------------------------------------------------------------------------
*/

.structure-element-double
{
	position: relative;

	width: 1200px;
	margin: 0 auto;
}

.structure-element-double .structure-item
{
	width: 600px;
}

.structure-element-double .structure-item .content-element:first-child,
.structure-element-double .structure-item .structure-element-slideshow:first-child
{
	margin-top: 0px;
}





/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-30-70
------------------------------------------------------------------------------
*/

.structure-element-30-70
{
	position: relative;

	width: 1200px;
	margin: 0 auto;
}

.structure-element-30-70 .structure-item
{
	width: 800px;
}
.structure-element-30-70 .structure-item:first-child
{
	width: 400px;
}
.structure-element-30-70 .structure-item:first-child > .content-element
{
	width:370px !important;
}
.structure-element-30-70 .structure-item:first-child > .content-element-image
{
	height: auto !important;
}
.structure-element-30-70 .structure-item:first-child > .content-element-video
{
	height:240px;
	width:370px;
}
.structure-element-30-70 .structure-item:first-child > .content-element-video iframe
{
	height:240px;
	width:inherit;
}
.structure-element-30-70 .structure-item:first-child > .content-element-video.title
{
	height:240px;
}
.structure-element-30-70 .structure-item:first-child > .content-element-video p
{
	padding: 5px 30px;

	font-family:"Metropolis regular";
	font-size:15px;
	line-height: 24px;
}

.structure-element-30-70 .structure-item .content-element:first-child,
.structure-element-30-70 .structure-item .structure-element-slideshow:first-child
{
	margin-top: 0px;
}

.structure-element-accordion .structure-element-30-70
{
	width: 1170px;
}
.structure-element-accordion .structure-element-30-70 .structure-item
{
	width: 770px;
}
.structure-element-accordion .structure-element-30-70 .structure-item:first-child
{
	width: 370px;
}





/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-70-30
------------------------------------------------------------------------------
*/

.structure-element-70-30
{
	position: relative;

	width: 1200px;
	margin: 0 auto;
}

.structure-element-70-30 .structure-item
{
	width: 400px;
}
.structure-element-70-30 .structure-item:first-child
{
	width: 800px;
}
.structure-element-70-30 .structure-item:nth-child(2) > .content-element
{
	width:370px !important;
}
.structure-element-70-30 .structure-item:nth-child(2) > .content-element-image
{
	height: auto !important;
}
.structure-element-70-30 .structure-item:nth-child(2) > .content-element-video
{
	height:240px;
	width:370px;
}
.structure-element-70-30 .structure-item:nth-child(2) > .content-element-video iframe
{
	height:240px;
	width:inherit;
}
.structure-element-70-30 .structure-item:nth-child(2) > .content-element-video.title
{
	height:240px;
}
.structure-element-70-30 .structure-item:nth-child(2) > .content-element-video p
{
	padding: 5px 30px;

	font-family:"Metropolis regular";
	font-size:15px;
	line-height: 24px;
}

.structure-element-70-30 .structure-item .content-element:first-child,
.structure-element-70-30 .structure-item .structure-element-slideshow:first-child
{
	margin-top: 0px;
}

.structure-element-accordion .structure-element-70-30
{
	width: 1170px;
}
.structure-element-accordion .structure-element-70-30 .structure-item
{
	width: 370px;
}
.structure-element-accordion .structure-element-70-30 .structure-item:first-child
{
	width: 770px;
}




/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-SLIDESHOW
------------------------------------------------------------------------------
*/

.structure-element-slideshow.width-25 { width:270px; }
.structure-element-slideshow.width-33 { width:370px; }
.structure-element-slideshow.width-50 { width:570px; }
.structure-element-slideshow.width-66 { width:770px; }
.structure-element-slideshow.width-75 { width:870px; }
.structure-element-slideshow.width-100 { width:1170px; }

.structure-element-slideshow.height-1 { height:240px; }
.structure-element-slideshow.height-2 { height:270px; }
.structure-element-slideshow.height-3 { height:510px; }
.structure-element-slideshow.height-4 { height:570px; }

.structure-element-slideshow
{
	position: relative;
	cursor:w-resize;
	cursor:-webkit-grab;

	margin: 45px auto 0px;

	background-color: #e8ecef;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	border-radius: 10px;
	overflow: hidden;
}
.structure-element-slideshow:active
{
	cursor:-webkit-grabbing;
}

header .structure-element-slideshow
{
	margin: 0px auto;
}

.structure-element-slideshow .content-element
{
	margin: 0px !important;
}

.structure-element-slideshow .stage
{
	position: relative;
	overflow: hidden;
	width: inherit;
	height: inherit;
}

.structure-element-slideshow .stage .content-element
{
	display: none;
	margin-top: 0px !important;
}

.structure-element-slideshow .stage .content-element:first-child
{
	display: block;
}


/* controller */
.structure-element-slideshow .controller
{
	text-align: center;
}

.structure-element-slideshow .controller ul
{
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 15px;

	display: inline-block;
	vertical-align: middle;

	margin: 0 auto;

	padding-top: 9px;
	height: 16px;

	background-color:transparent;
	transition: background-color 300ms ease;
	-webkit-transition: background-color 300ms ease;
}

.structure-element-slideshow .controller ul li:before
{
	display: none;
}

.structure-element-slideshow .controller .button
{
	position: absolute;

	width: 30px;
	height: 30px;

	top: 50%;
	margin-top: -15px;

	background-image: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;

	z-index: 2;
	cursor: pointer;

	transition: all 200ms;
	-moz-transition: all 200ms;
	-webkit-transition: all 200ms;
}
.structure-element-slideshow .controller .button.prev
{
	left: 10px;
	background-position: -10px -435px;
}
.no-touch .structure-element-slideshow .controller .button.prev:hover
{
	left: 5px;
}
.structure-element-slideshow .controller .button.next
{
	right: 10px;
	background-position: -55px -435px;
}
.no-touch .structure-element-slideshow .controller .button.next:hover
{
	right: 5px;
}

.structure-element-slideshow.width-25 .controller .button,
.structure-element-slideshow.width-33 .controller .button
{
	display: none;
}

.structure-element-double .structure-element-slideshow .controller .button
{
	display: none;
}

.structure-element-slideshow .controller li
{
	background: none;
	display: inline-block;

	width: 10px;
	height: 10px;
	margin: 0 4px 0 4px;
	padding: 0;
}

.structure-element-slideshow .controller li a
{
	display: block;

	width: inherit;
	height: inherit;

	font-size: 0px;

	background-color: #fff;

	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
}

.structure-element-slideshow .controller li.active a
{
	background-color: #d9e242;
}


/* single mode */
.structure-element-slideshow.mode-single
{
	cursor:default;
}
.structure-element-slideshow.mode-single .controller
{
	display: none;
}




/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-ACCORDION
------------------------------------------------------------------------------
*/

.structure-element-accordion
{
	float: left;

	margin:0px 15px 15px;
	width: calc(100% - 30px);
}

.structure-element-accordion .accordion-element
{
	display: block;
	position: relative;
}
.structure-element-accordion .accordion-element .accordion-element-content
{
	/*margin: 15px 0px 30px;*/
	margin-top: 15px;
	margin-bottom: 30px;
}
.structure-element-accordion .accordion-element .accordion-element-content .content-element
{
	margin-left: 0px;
	margin-right: 0px;
}
.structure-element-accordion .accordion-element .accordion-element-content .content-element:last-child
{
	margin-bottom: 0px;
}



/*content-element-title*/

.structure-element-accordion
{
	margin-bottom: 0px;
}
.structure-element-accordion a.accordion-element-title
{
	position: relative;
	display: block;

	padding:15px 15px 15px 0px;

	transition: all 200ms;
	-moz-transition: all 200ms;
	-webkit-transition: all 200ms;
}
.structure-element-single.grey .structure-element-accordion .open a.accordion-element-title
{
	color:#8aa8b5;
}

.structure-element-accordion > .accordion-element:after,
.structure-element-accordion > .accordion-element:before
{
	content: "";
	display: block;

	position: relative;
	bottom:0px;
	left:0px;

	width: 100%;
	height: 1px;

	background-color: #023f84;

	transition: background-color 200ms;
	-moz-transition: background-color 200ms;
	-webkit-transition: background-color 200ms;
}
.structure-element-accordion > .accordion-element:after
{
	z-index: 1;
}
.structure-element-accordion > .accordion-element:before
{
	top:-1px;
}

.structure-element-single.white .structure-element-accordion a.accordion-element-title:after,
.structure-element-single.white .structure-element-accordion > .accordion-element.open:after,
.structure-element-single.white .structure-element-accordion > .accordion-element.open:before
{
	background-color: #d9e242;
	z-index: 1;
}
.structure-element-single.grey .structure-element-accordion a.accordion-element-title:after,
.structure-element-single.grey .structure-element-accordion > .accordion-element.open:after,
.structure-element-single.grey .structure-element-accordion > .accordion-element.open:before
{
	background-color: #8aa8b5;
	z-index: 1;
}

.structure-element-accordion a.accordion-element-title i
{
	display: inline-block;

	width: 20px;
	height:20px;

	position: absolute;
	right: 0px;
	top: 50%;
	margin-top: -10px;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
	background-position: -130px -115px;

	transition: transform 150ms ease;
	-webkit-transition: -webkit-transform 150ms ease;
}
.no-touch .structure-element-accordion a.accordion-element-title:hover i
{
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
	background-position: -130px -145px;
}
.structure-element-accordion .accordion-element.open a.accordion-element-title i
{
	background-position: -130px -145px;

	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);

	transition: transform 150ms ease;
	-webkit-transition: -webkit-transform 150ms ease;
}

.no-touch .structure-element-single.grey .structure-element-accordion a.accordion-element-title:hover i
{
	background-position: -130px -85px;
}
.structure-element-single.grey .structure-element-accordion .accordion-element.open a.accordion-element-title i
{
	background-position: -130px -85px;
}




/*
------------------------------------------------------------------------------
STRUCTURE-ELEMENT-GALLERY
------------------------------------------------------------------------------
*/

.structure-element-gallery
{
	position: relative;
	width: 1200px;

	margin: 15px 0px;
}
.structure-element-gallery .content-element
{
	position: absolute;
}

.pos-1-1{top:0px;left:0px;}
.pos-1-2{top:0px;left:200px;}
.pos-1-3{top:0px;left:400px;}
.pos-1-4{top:0px;left:600px;}
.pos-1-5{top:0px;left:800px;}
.pos-1-6{top:0px;left:1000px;}

.pos-2-1{top:150px;left:0px;}
.pos-2-2{top:150px;left:200px;}
.pos-2-3{top:150px;left:400px;}
.pos-2-4{top:150px;left:600px;}
.pos-2-5{top:150px;left:800px;}
.pos-2-6{top:150px;left:1000px;}

.pos-3-1{top:300px;left:0px;}
.pos-3-2{top:300px;left:200px;}
.pos-3-3{top:300px;left:400px;}
.pos-3-4{top:300px;left:600px;}
.pos-3-5{top:300px;left:800px;}
.pos-3-6{top:300px;left:1000px;}

.pos-4-1{top:450px;left:0px;}
.pos-4-2{top:450px;left:200px;}
.pos-4-3{top:450px;left:400px;}
.pos-4-4{top:450px;left:600px;}
.pos-4-5{top:450px;left:800px;}
.pos-4-6{top:450px;left:1000px;}

.pos-5-1{top:600px;left:0px;}
.pos-5-2{top:600px;left:200px;}
.pos-5-3{top:600px;left:400px;}
.pos-5-4{top:600px;left:600px;}
.pos-5-5{top:600px;left:800px;}
.pos-5-6{top:600px;left:1000px;}

.pos-6-1{top:750px;left:0px;}
.pos-6-2{top:750px;left:200px;}
.pos-6-3{top:750px;left:400px;}
.pos-6-4{top:750px;left:600px;}
.pos-6-5{top:750px;left:800px;}
.pos-6-6{top:750px;left:1000px;}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-CROSSHEADING
------------------------------------------------------------------------------
*/

.content-element-crossheading
{
	margin: 15px;
}
.content-element-crossheading:first-child
{
	margin: 0px 15px 30px;
}

.content-element-crossheading
{
	margin: 15px;
}



/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-TEXT
------------------------------------------------------------------------------
*/

.content-element-text
{
	/*display: inline-block;
	vertical-align: top;*/

	margin: 15px;
}
.content-element-text.textalign-left
{
	text-align: left;
}
.content-element-text.textalign-right
{
	text-align: right;
}

.content-element-text
{
	display: block;
	margin: 15px;
}

.content-element-text p,
.content-element-text ul
{
	margin-top: 15px;
}

.content-element-text h3
{
	margin-top: 40px;
}

.content-element-text b, .content-element-text strong
{
	margin-top: 35px;
}

.content-element-text h3 + b
{
	margin-top: 20px;
}

.content-element-text h3:first-child,
.content-element-text b:first-child,
.content-element-text strong:first-child,
.content-element-text p:first-child,
.content-element-text ul:first-child
{
	margin-top: 0px;
}

.content-element-text.width-25 { width:270px; float: left; }
.content-element-text.width-33 { width:370px; float: left; }
.content-element-text.width-50 { width:570px; float: left; }
.content-element-text.width-66 { width:770px; float: left; }

.content-element-text.height-1 { height:240px; }
.content-element-text.height-2 { height:270px; }
.content-element-text.height-3 { height:510px; }
.content-element-text.height-4 { height:570px; }


.content-element-text a.link-arrow
{
	position: relative;
	padding-left: 30px;
}

.content-element-text a.link-arrow:before
{
	content:"";

	position: absolute;
	left: 0px;
	top: 1px;

	background: url("../image/link-arrow.svg") no-repeat;

	width: 20px;
	height: 20px;

	-webkit-transition: left 150ms;
	-moz-transition: left 150ms;
	transition: left 150ms;
}
.content-element-text a.link-arrow:hover:before
{
	left: 5px;
}



/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-TEASER
------------------------------------------------------------------------------
*/

.content-element-teaser
{
	position: relative;
    z-index: 2;
	display: block;
	/*display: inline-block;
	vertical-align: top;*/
	float: left;

	margin: 15px;
	border-radius: 10px;

	overflow:hidden;

	-webkit-transition: background-color 300ms;
	-moz-transition: background-color 300ms;
	transition: background-color 300ms;
}
.content-element-teaser.minus-margin
{
	margin-top: -220px !important;
}



.content-element-teaser.width-25 { width:270px; }
.content-element-teaser.width-33 { width:370px; }
.content-element-teaser.width-50 { width:570px; }

.content-element-teaser.height-1 { height:270px; }
.content-element-teaser.height-2 { height:370px; }
.content-element-teaser.height-3 { height:510px; }
.content-element-teaser.height-4 { height:570px; }


.content-element-teaser.white
{
	color: #023f84;
	background-color: #fff;
}
.content-element-teaser.grey
{
	color: #023f84;
	background-color: #e8ecef;
}
.content-element-teaser.green
{
	color: #023f84;
	background-color: #d9e242;
}
.content-element-teaser.blue
{
	color: #fff;
	background-color: #023f84;
}
.no-touch .content-element-teaser.white:hover
{
	color: #023f84;
	background-color: #fbfcfd;
}
.no-touch .content-element-teaser.grey:hover
{
	color: #023f84;
	background-color: #f2f5f7;
}
.no-touch .content-element-teaser.green:hover
{
	color: #023f84;
	background-color: #e8e86d;
}
.no-touch .content-element-teaser.blue:hover
{
	color: #fff;
	background-color: #0c4c8c;
}


.content-element-teaser .background-image
{
	display: block;
	border-radius: 10px;

	position: absolute;
	top: 0px;
	left: 0px;

	width: inherit;
	height: inherit;

	background-color: #000;
	overflow:hidden;

	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
}
.content-element-teaser .background-image img
{
	width: inherit;
	height: inherit;

	opacity: 0.6;

	transform:scale(1);
	-webkit-transform:scale(1);
	-moz-transform:scale(1);
	-ms-transform:scale(1);

	-webkit-transition: -webkit-transform 300ms;
	-moz-transition: -moz-transform 300ms;
	transition: transform 300ms;
}
.no-touch .content-element-teaser:hover .background-image img
{
	transform:scale(1.1);
	-webkit-transform:scale(1.1);
	-moz-transform:scale(1.1);
	-ms-transform:scale(1.1);
}
.content-element-teaser .background-image + .info
{
	color: #fff;
}
.content-element-teaser .background-image + .info .link i.arrow
{
	background-position: -70px -177px;
}

.content-element-teaser .info
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	position: relative;
	z-index: 2;

	width: inherit;
	height: inherit;

	padding:30px;

	-webkit-transition: -webkit-transform 300ms;
	transition: transform 300ms;
}
.content-element-teaser:hover .info
{
	transform: translateX(5px);
	-webkit-transform: translateX(5px);
}

.content-element-teaser .text
{
	display: block;

	position: absolute;
	bottom: 80px;
}
.content-element-teaser.width-33 .text { width:310px; }
.content-element-teaser.width-50 .text { width:510px; }

/* .content-element-teaser.height-1 .text { display: none; }
.content-element-teaser.height-2 .text { display: none; } */

.content-element-teaser .link
{
	display: block;

	position: absolute;
	bottom: 30px;
	left: 30px;
}
.content-element-teaser.width-25 .link { width:210px; }
.content-element-teaser.width-33 .link { width:310px; }
.content-element-teaser.width-50 .link { width:510px; }

.content-element-teaser .link i
{
	display: block;

	width: 20px;
	height: 20px;

	float: right;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
}
.content-element-teaser .link i.arrow
{
	background-position: -70px -117px;
}
.content-element-teaser.blue .link i.arrow
{
	background-position: -70px -177px;
}

.content-element-teaser .image
{
	position: absolute;
	bottom: 10px;
	left: 0px;

	width: inherit;
	height: 150px;
}
.content-element-teaser.height-2 .image
{
	bottom: 40px;
}
.content-element-teaser .image img
{
	width: inherit;
	height: inherit;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-TEASER-NEWS
------------------------------------------------------------------------------
*/

.content-element-teaser-news
{
	/*display: inline-block;
	vertical-align: top;*/
	float: left;
	position: relative;

	margin: 15px;

	border-radius: 10px;

	font-size: 0px;
	line-height: 0px;

	-webkit-transition: background-color 300ms;
	-moz-transition: background-color 300ms;
	transition: background-color 300ms;
}

.structure-element-single.white .content-element-teaser-news
{
	color:#023f84 !important;
	background-color: #e8ecef;
}
.structure-element-single.grey .content-element-teaser-news
{
	color:#023f84 !important;
	background-color: #fff;
}
.no-touch .structure-element-single.white .content-element-teaser-news:hover
{
	color: #023f84;
	background-color: #fbfcfd;
}
.no-touch .structure-element-single.grey .content-element-teaser-news:hover
{
	color: #023f84;
	background-color: #f2f5f7;
}

.content-element-teaser-news .text
{
	margin-top: 10px;
}

.content-element-teaser-news .link
{
	position: absolute;
	bottom: 30px;
	right: 30px;

	text-transform: uppercase;
	letter-spacing: 2px;
}

.content-element-teaser-news .link i
{
	display: block;
	position: absolute;
    right: 0px;
    top: 0px;

	width: 20px;
	height: 20px;

	float: right;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
}

.content-element-teaser-news i.arrow
{
	background-position: -70px -115px;
}

.content-element-teaser-news .image
{
	display: inline-block;

	overflow:hidden;

	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
}

.content-element-teaser-news img
{
	transform:scale(1);
	-webkit-transform:scale(1);
	-moz-transform:scale(1);
	-ms-transform:scale(1);

	-webkit-transition: -webkit-transform 300ms;
	-moz-transition: -moz-transform 300ms;
	transition: transform 300ms;
}
.no-touch .content-element-teaser-news:hover img
{
	transform:scale(1.1);
	-webkit-transform:scale(1.1);
	-moz-transform:scale(1.1);
	-ms-transform:scale(1.1);
}

/*IMAGE TOP*/

.content-element-teaser-news.image-top
{
	height: 510px;
	width: 370px;
}
.content-element-teaser-news.image-top.big
{
	height: 510px;
	width: 770px;
}

.content-element-teaser-news.image-top .image
{
	height: 270px;
	width: 370px;

	border-radius: 10px 10px 0px 0px;
}
.content-element-teaser-news.image-top.big .image
{
	height: 270px;
	width: 770px;

	border-radius: 10px 10px 0px 0px;
}

.content-element-teaser-news.image-top img
{
	height: 270px;
	width: 370px;
}
.content-element-teaser-news.image-top.big img
{
	height: 270px;
	width: 770px;
}

.content-element-teaser-news.image-top .info
{
	margin:30px;
}

.content-element-teaser-news.image-top .link
{
	width: 310px;
}
.content-element-teaser-news.image-top.big .link
{
	width: 710px;
}


/*IMAGE LEFT*/

.content-element-teaser-news.image-left
{
	height: 270px;
	width: 570px;
}
.content-element-teaser-news.image-left.big
{
	width: 770px;
}

.content-element-teaser-news.image-left .image
{
	height: 270px;
	width: 290px;

	border-radius: 10px 0px 0px 10px;
}
.content-element-teaser-news.image-left.big .image
{
	width: 370px;
}

.content-element-teaser-news.image-left img
{
	display: inline-block;

	height: 270px;
	width: 370px;

	margin-left: -40px;
}
.content-element-teaser-news.image-left.big img
{
	margin-left: 0px;
}

.content-element-teaser-news.image-left .info
{
	display: inline-block;

	vertical-align: top;

	width: 220px;
	margin: 30px;
}
.content-element-teaser-news.image-left.big .info
{
	width: 340px;
}

.content-element-teaser-news.image-left .link
{
	width: 220px;
}
.content-element-teaser-news.image-left.big .link
{
	width: 340px;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-TEASER-NAVIGATION
------------------------------------------------------------------------------
*/

.content-element-teaser-navigation
{
	position: relative;
	display: block;

	width: 370px;
	height: 300px;
}

.content-element-teaser-navigation img
{
	width: 370px;
	height: 210px;

	border-radius: 10px;
}

.content-element-teaser-navigation .headline
{
	margin-top: 20px;
}

.content-element-teaser-navigation .link
{
	position: absolute;
	bottom: 0px;
	left: 0px;

    padding-right: 30px;
}
.content-element-teaser-navigation .link i
{
	position: absolute;
	top: 0px;
	right: 0px;

	display: block;

	width: 20px;
	height: 20px;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
	background-position: -70px -117px;

	-webkit-transition: opacity 200ms;
	-moz-transition: opacity 200ms;
	transition: opacity 200ms;
}
.content-element-teaser-navigation .link:hover i:first-child
{
	opacity: 0;
}

.content-element-teaser-navigation .link i:last-child
{
	background-position: -70px -147px;

	opacity: 0;
}
.content-element-teaser-navigation .link:hover i:last-child
{
	opacity: 1;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-LINKBOX
------------------------------------------------------------------------------
*/

.content-element-linkbox
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	position: relative;
	z-index: 1;
	/*display: inline-block;
	vertical-align: top;*/
	float: left;

	width: 370px;

	margin: 15px;
	padding: 30px;

	border-radius: 10px;
}

.content-element-linkbox.width-33 { width:370px; }
.content-element-linkbox.width-50 { width:570px; }
.content-element-linkbox.width-66 { width:770px; }

.content-element-linkbox.height-1 { height:270px; }
.content-element-linkbox.height-2 { height:370px; }
.content-element-linkbox.height-3 { height:570px; }
.content-element-linkbox.height-auto { height:auto; }

.content-element-linkbox.minus-margin
{
	margin-top: -220px !important;
}

.minus-margin-2
{
	margin-top: -140px !important;
}

.content-element-linkbox > p.text
{
	margin-top: 30px;
}

.content-element-linkbox.green
{
	background-color: #d9e242;
}
.content-element-linkbox.green a,
.content-element-linkbox.green p
{
	color: #023f84;

	-webkit-transition: color 200ms;
	-moz-transition: color 200ms;
	transition: color 200ms;
}
.no-touch .content-element-linkbox.green a:hover p
{
	color: #fff;
}

.content-element-linkbox.blue
{
	background-color: #023f84;
}
.content-element-linkbox.blue a,
.content-element-linkbox.blue p
{
	color: #fff;

	-webkit-transition: color 200ms;
	-moz-transition: color 200ms;
	transition: color 200ms;
}
.no-touch .content-element-linkbox.blue a:hover p
{
	color: #d9e242;
}

.content-element-linkbox.grey
{
	background-color: #e8ecef;
}
.content-element-linkbox.grey a,
.content-element-linkbox.grey p
{
	color: #023f84;

	-webkit-transition: color 200ms;
	-moz-transition: color 200ms;
	transition: color 200ms;
}
.no-touch .content-element-linkbox.grey a:hover p
{
	color: #8aa8b5;
}

.content-element-linkbox.white
{
	background-color: #fff;
}
.content-element-linkbox.white a,
.content-element-linkbox.white p
{
	color: #023f84;

	-webkit-transition: color 200ms;
	-moz-transition: color 200ms;
	transition: color 200ms;
}
.no-touch .content-element-linkbox.white a:hover p
{
	color: #d9e242;
}

.content-element-linkbox.transparent
{
	padding: 0px;
	background-color: transparent;
}
.content-element-linkbox.transparent a,
.content-element-linkbox.transparent p
{
	color: #023f84;

	-webkit-transition: color 200ms;
	-moz-transition: color 200ms;
	transition: color 200ms;
}
.no-touch .content-element-linkbox.transparent a:hover p
{
	color: #d9e242;
}


.content-element-linkbox .nav
{
	margin-top: 10px;
}

.content-element-linkbox .link
{
	position: relative;

	display: block;
	margin: 15px 0px;
}

.content-element-linkbox .link p
{
	display: inline-block;
	vertical-align: middle;

	padding-left: 30px;
}

.content-element-linkbox .link i
{
	position: absolute;
	top:0px;
	left:0px;

	display: inline-block;
	vertical-align: middle;

	width: 20px;
	height: 20px;
	margin-right: 20px;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;

	-webkit-transition: opacity 200ms;
	-moz-transition: opacity 200ms;
	transition: opacity 200ms;
}
.content-element-linkbox .link:hover i:first-child
{
	opacity: 0;
}
.content-element-linkbox .link i:nth-child(2)
{
	opacity: 0;
}
.content-element-linkbox .link:hover i:nth-child(2)
{
	opacity: 1;
}

.content-element-linkbox .intern i
{
	background-position: -100px -115px;
}

.content-element-linkbox .extern i
{
	background-position: -10px -115px;
}

.content-element-linkbox .download i
{
	background-position: -40px -115px;
}

.content-element-linkbox.blue .intern i
{
	background-position: -100px -175px;
}

.content-element-linkbox.blue .extern i
{
	background-position: -10px -175px;
}

.content-element-linkbox.blue .download i
{
	background-position: -40px -175px;
}

.content-element-linkbox .intern i:nth-child(2)
{
	background-position: -100px -145px;
}

.content-element-linkbox .extern i:nth-child(2)
{
	background-position: -10px -145px;
}

.content-element-linkbox .download i:nth-child(2)
{
	background-position: -40px -145px;
}

.content-element-linkbox.green .intern i:nth-child(2)
{
	background-position: -100px -175px;
}

.content-element-linkbox.green .extern i:nth-child(2)
{
	background-position: -10px -175px;
}

.content-element-linkbox.green .download i:nth-child(2)
{
	background-position: -40px -175px;
}

.content-element-linkbox.blue .intern i:nth-child(2)
{
	background-position: -100px -145px;
}

.content-element-linkbox.blue .extern i:nth-child(2)
{
	background-position: -10px -145px;
}

.content-element-linkbox.blue .download i:nth-child(2)
{
	background-position: -40px -145px;
}

.content-element-linkbox.grey .intern i:nth-child(2)
{
	background-position: -100px -85px;
}

.content-element-linkbox.grey .extern i:nth-child(2)
{
	background-position: -10px -85px;
}

.content-element-linkbox.grey .download i:nth-child(2)
{
	background-position: -40px -85px;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-IMAGE
------------------------------------------------------------------------------
*/

.content-element-image
{
	display: block;
	/*display: inline-block;
	vertical-align: top;*/
	float: left;

	position: relative;
	margin: 15px;
}

.content-element-image .image
{
	width: inherit;
	height: inherit;

	border-radius: 10px;
	overflow:hidden;
	font-size: 0px;
}
.content-element-image .image.border
{
	border:1px solid #023f84;
}


.structure-element-slideshow .content-element-image .image
{
	border-radius: 0px;
}

.content-element-image.width-25 { width:270px; }
.content-element-image.width-33 { width:370px; }
.content-element-image.width-50 { width:570px; }
.content-element-image.width-66 { width:770px; }
.content-element-image.width-75 { width:870px; }
.content-element-image.width-100 { width:1170px; }

.content-element-image.height-1 { height:240px; }
.content-element-image.height-2 { height:270px; }
.content-element-image.height-3 { height:510px; }
.content-element-image.height-4 { height:570px; }
.content-element-image.height-auto { height:auto; }

.content-element-image img { width: inherit; height: inherit; }

.content-element-image .caption p
{
	position: absolute;
	top:0px;
}

.content-element-image .caption .right { width: 200px; }
.content-element-image .caption .left { width: 200px; text-align: right; }




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-KEYVISUAL
------------------------------------------------------------------------------
*/

.content-element-keyvisual
{
	position: relative;

	width: 100%;
}
.content-element-keyvisual.big
{
	height: 460px;
}
.content-element-keyvisual.small
{
	height: 280px;
}


.content-element-keyvisual.small .wrapper
{
	height: 100%;
}


.content-element-keyvisual h1
{
	position: absolute;
	z-index: 1;

	left: 15px;
}
.content-element-keyvisual.big h1
{
	top: 80px;
}
.content-element-keyvisual.small h1
{
	/* top: 180px; */
	bottom:0;
	margin-bottom:46px;
}

.content-element-keyvisual .image
{
	position: absolute;

	top: 0px;
	left: 0px;

	width: 100%;
	height: inherit;

	z-index: 1;
	overflow:hidden;
	background-size: 0 0;
}
.content-element-keyvisual .image:before
{
	content: '';

	display: block;
    width: inherit;
    height: inherit;

	position:absolute;
	top:0;left:0;right:0;bottom:0;
	z-index: -1;

	background-repeat: no-repeat;
	background-position: center center;
	background-image: inherit;
	background-size: cover;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-VIDEO
------------------------------------------------------------------------------
*/

.content-element-video
{
	/*display: inline-block;
	vertical-align: top;*/
	float: left;

	position: relative;

	margin: 15px;

	border-radius: 10px;
	overflow:hidden;

	background-color: #e8ecef;
}
.structure-element-single.grey .content-element-video
{
	background-color: #fff;
}
.structure-element-single.white .content-element-video
{
	background-color: #e8ecef;
}

.content-element-video.width-33
{
	height:240px;
	width:370px;
}
.content-element-video.width-33 iframe
{
	height: 214px;
	width: 380px;
	/* margin: -5px; */
}
.content-element-video.width-33.title
{
	height:240px;
}
.content-element-video.width-33 p
{
	padding: 5px 30px;
}

.content-element-video.width-66
{
	height:440px;
	width:770px;
}
.content-element-video.width-66.title
{
	height:510px;
}
.content-element-video.width-66 iframe
{
	height: 440px;
	width: 780px;
	/* margin: -5px; */
}
.content-element-video.width-66 p
{
	padding: 30px;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-FACTS
------------------------------------------------------------------------------
*/

.content-element-facts
{
	position: relative;
	float: left;

	margin: 15px;
}
.content-element-facts h2
{
	margin-bottom:15px;
}

.content-element-facts.width-50
{
	width:570px;
}
.content-element-facts.width-50 .fact-element .headline
{
	width: 290px;
}
.content-element-facts.width-50 .fact-element .text
{
	width: 280px;
}
.content-element-facts.width-66
{
	width:770px;
}
.content-element-facts.width-66 .fact-element .headline
{
	width: 390px;
}
.content-element-facts.width-66 .fact-element .text
{
	width: 380px;
}

.content-element-facts .fact-element
{
	padding: 20px 0px;

	font-size: 0px;
	line-height: 0px;

	border-top:1px solid #023f84;
}
.content-element-facts .fact-element:last-child
{
	border-bottom:1px solid #023f84;
}

.content-element-facts .fact-element .headline
{
	display: inline-block;
	vertical-align: top;

	width: 290px;
}
.content-element-facts .fact-element .text
{
	display: inline-block;
	vertical-align: top;

	width: 280px;
}
.content-element-facts .fact-element .text a
{
	display: block;
}

.content-element-facts .fact-element .text a.mail {
	display: inline-block;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-PROFILE
------------------------------------------------------------------------------
*/

.content-element-profile
{
	/*display: inline-block;
	vertical-align: top;*/
	float: left;

	margin: 15px;

	width: 370px;
	margin: 15px;

	padding: 20px 0px;

	border-top: 1px solid #023f80;
	/*border-bottom: 1px solid #023f80;*/
}
.content-element-profile.title
{
	margin-top: 50px !important;
}

.structure-item > .content-element-profile.title:first-child
{
	margin-top: 80px !important;
}

.content-element-profile
{
	/*display: inline-block;
	vertical-align: top;*/
	float: left;

	margin: 15px;

	width: 370px;
	margin: 15px;

	padding: 20px 0px;

	border-top: 1px solid #023f80;
	/*border-bottom: 1px solid #023f80;*/
}

.profile-title
{
	width: 370px;

	margin-top: -80px;
	margin-bottom: 40px;
}
.profile-title.small
{
    margin-top: -60px;
    margin-bottom: 30px;
}

.structure-element-30-70 .structure-item:first-child .content-element-profile + .content-element-profile,
.structure-element-70-30 .structure-item:nth-child(2) .content-element-profile + .content-element-profile
{
	margin-top: 80px !important;
}

.content-element-profile > div + div
{
	margin-top: 20px;
    padding-top: 20px;

    border-top: 1px solid #023f80;
}

.content-element-profile .contact
{
	width: inherit;

	margin: 0px 0px 25px;

	line-height: 0px;
	font-size: 0px;
}

.content-element-profile .contact .profilepic
{
	display: inline-block;
	vertical-align: top;

	height: 170px;
	width: 170px;

	margin-right: 30px;
}
.content-element-profile .contact.no-contact .profilepic
{
	width: 370px;
}


.content-element-profile .contact .profilepic img
{
	height: inherit;
	width: inherit;

	border-radius: 10px;
}

.content-element-profile .contact .button-box
{
	display: inline-block;
	vertical-align: top;

	width: 170px;
	height: 170px;
}

.content-element-profile .contact .button-box .button
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	display: block;

	height: 80px;
	width: 170px;

	padding: 20px;

	border-radius: 10px;

	transition: background-color 300ms;
	-moz-transition: background-color 300ms;
	-webkit-transition: background-color 300ms;
}
.structure-element-single.white .content-element-profile .contact .button-box .button
{
	background-color: #e8ecef;
}
.no-touch .structure-element-single.white .content-element-profile .contact .button-box .button:hover
{
	background-color: #fbfcfd;
}
.structure-element-single.grey .content-element-profile .contact .button-box .button
{
	background-color: #fff;
}
.no-touch .structure-element-single.grey .content-element-profile .contact .button-box .button:hover
{
	background-color: #f2f5f7;
}

.content-element-profile .contact .button-box .button:first-child
{
	margin-bottom: 10px;
}

.content-element-profile .contact .button-box i
{
	display: block;

	width: 45px;
	height: 45px;

    margin: 0px auto;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
}
.content-element-profile .contact .button-box .button.mail i
{
	background-position: -10px -225px;
}
.content-element-profile .contact .button-box .button.phonenumber i
{
	background-position: -65px -225px;
}

.content-element-profile .info .name
{
	margin-bottom: 20px;
}

.content-element-profile .info .detail .title
{
	display: inline-block;
	width: 110px;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-BREADCRUMB
------------------------------------------------------------------------------
*/

.content-element-breadcrumb
{
	margin:0px 15px 25px;
}

.content-element-breadcrumb a
{
	position: relative;
	display: inline-block;

	padding-right: 50px;
}
.content-element-breadcrumb a:before
{
	content:"";
	display: block;

	position: absolute;
	top:-2px;
	right: 15px;

	width: 20px;
	height: 20px;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
	background-position: -100px -145px;
}
.content-element-breadcrumb a:last-child
{
	padding-right: 0px;
}
.content-element-breadcrumb a:last-child:before
{
	display: none;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-START-SLIDESHOW
------------------------------------------------------------------------------
*/

.content-element-start-slideshow
{
	position: relative;

	width: 100%;
	height: 700px;

	cursor:w-resize;
	cursor:-webkit-grab;

	cursor: url(../image/grab.gif) 12 12, pointer;
}
.content-element-start-slideshow:active
{
	cursor:-webkit-grabbing;
}
.content-element-start-slideshow .slideshow-elements
{
	position: relative;

	display: block;
	height: inherit;
}

.content-element-start-slideshow .slideshow-elements .slideshow-element
{
	position: absolute;
	top:0px;

	width: 100%;
	height: 100%;

	z-index: 0;
	opacity: 0;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	background-color: #000;
}
.content-element-start-slideshow .slideshow-elements .slideshow-element.inactive
{
	z-index: 1;
	opacity: 1;
}
.content-element-start-slideshow .slideshow-elements .slideshow-element.active
{
	z-index: 2;
	opacity: 1;
	animation: page-element-start-slideshow-in 400ms linear 0ms forwards;
	-moz-animation: page-element-start-slideshow-in 400ms linear 0ms forwards;
	-webkit-animation: page-element-start-slideshow-in 400ms linear 0ms forwards;
}
@keyframes page-element-start-slideshow-in
{
	  0% { opacity: 0; }
	100% { opacity: 1; }
}
@-webkit-keyframes page-element-start-slideshow-in
{
	  0% { opacity: 0; }
	100% { opacity: 1; }
}
@-moz-keyframes page-element-start-slideshow-in
{
	  0% { opacity: 0; }
	100% { opacity: 1; }
}


.content-element-start-slideshow .slideshow-elements .slideshow-element .image
{
	position: absolute;

	width: 100%;
	height: 100%;

	background: no-repeat center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;

	transition: none;
	-webkit-transition: none;
	-moz-transition: none;
}
.content-element-start-slideshow .slideshow-elements .slideshow-element.dark-image .image
{
	opacity: 0.8;
}

.content-element-start-slideshow .slideshow-element .info
{
	position: absolute;
	top: 180px;
	left: 50%;
	margin-left: -490px;

	width: 990px;

	text-align: center;
}

.content-element-start-slideshow .slideshow-element .info h1,
.content-element-start-slideshow .slideshow-element .info h2
{
	color: #fff;
}
.content-element-start-slideshow .slideshow-element.active .info h1,
.content-element-start-slideshow .slideshow-element.active .info h2
{
	opacity: 0;
	transform:translateY(0px);

	animation: content-element-slideshow-start-show-caption 400ms ease-out 100ms forwards;
	-moz-animation: content-element-slideshow-start-show-caption 400ms ease-out 100ms forwards;
	-webkit-animation: content-element-slideshow-start-show-caption 400ms ease-out 100ms forwards;
}
@keyframes content-element-slideshow-start-show-caption
{
	  0% { opacity: 0; transform:translateY(50px);}
	100% { opacity: 1; transform:translateY(0px);}
}
@-webkit-keyframes content-element-slideshow-start-show-caption
{
	  0% { opacity: 0; -webkit-transform:translateY(50px);}
	100% { opacity: 1; -webkit-transform:translateY(0px);}
}
@-moz-keyframes content-element-slideshow-start-show-caption
{
	 0% { opacity: 0; -moz-transform:translateY(50px);}
	100% { opacity: 1; -moz-transform:translateY(0px);}
}

.content-element-start-slideshow .slideshow-element .info .text
{
	display: block;
	margin-top: 50px;

	color: #fff;
}
.content-element-start-slideshow .slideshow-element.active .info .text
{
	opacity: 0;
	transform:translateY(0px);

	animation: content-element-slideshow-start-show-text 400ms ease-out 250ms forwards;
	-moz-animation: content-element-slideshow-start-show-text 400ms ease-out 250ms forwards;
	-webkit-animation: content-element-slideshow-start-show-text 400ms ease-out 250ms forwards;
}
@keyframes content-element-slideshow-start-show-text
{
	  0% { opacity: 0; transform:translateY(50px);}
	100% { opacity: 1; transform:translateY(0px);}
}
@-webkit-keyframes content-element-slideshow-start-show-text
{
	  0% { opacity: 0; -webkit-transform:translateY(50px);}
	100% { opacity: 1; -webkit-transform:translateY(0px);}
}
@-moz-keyframes content-element-slideshow-start-show-text
{
	 0% { opacity: 0; -moz-transform:translateY(50px);}
	100% { opacity: 1; -moz-transform:translateY(0px);}
}

.content-element-start-slideshow .slideshow-element .info .button
{
	display: inline-block;
	position: relative;
	z-index: 2;

	margin-top: 100px;

	text-align: center;
	color: #fff;
}
.content-element-start-slideshow .slideshow-element .info .button p
{
	display: inline-block;
	margin-right: 20px;
}
.content-element-start-slideshow .slideshow-element .info .button i
{
	display: inline-block;
}
.content-element-start-slideshow .slideshow-element.active .info .button
{
	opacity: 0;
	transform:translateY(0px);

	animation: content-element-slideshow-start-show-link 400ms ease-out 300ms forwards;
	-moz-animation: content-element-slideshow-start-show-link 400ms ease-out 300ms forwards;
	-webkit-animation: content-element-slideshow-start-show-link 400ms ease-out 300ms forwards;
}
@keyframes content-element-slideshow-start-show-link
{
	  0% { opacity: 0; transform:translateY(50px);}
	100% { opacity: 1; transform:translateY(0px);}
}
@-webkit-keyframes content-element-slideshow-start-show-link
{
	  0% { opacity: 0; -webkit-transform:translateY(50px);}
	100% { opacity: 1; -webkit-transform:translateY(0px);}
}
@-moz-keyframes content-element-slideshow-start-show-link
{
	 0% { opacity: 0; -moz-transform:translateY(50px);}
	100% { opacity: 1; -moz-transform:translateY(0px);}
}

.content-element-start-slideshow .slideshow-element .info .button p
{
	color: #fff;
}
.no-touch .content-element-start-slideshow .slideshow-element .info .button:hover p
{
	color: #d9e242;
}

.content-element-start-slideshow .slideshow-element .info .button i
{
	display: block;

	width: 20px;
	height: 20px;

	float: right;

	background: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;
	background-position: -70px -173px;
}

.no-touch .content-element-start-slideshow .slideshow-element .info .button:hover i
{
	background-position: -70px -143px;
}


/* controller */
.content-element-start-slideshow .controller
{
	text-align: center;
}

.content-element-start-slideshow .controller .button
{
	position: absolute;

	width: 40px;
	height: 40px;

	top: 50%;
	margin-top: -20px;

	background-image: url(../image/sprite-sheet.svg?t=10);
	background-size: 338px 530px;

	z-index: 2;
	cursor: pointer;

	transition: all 200ms;
	-moz-transition: all 200ms;
	-webkit-transition: all 200ms;
}
.content-element-start-slideshow .controller .button.prev
{
	left: 10px;
	background-position: -10px -335px;
}
.no-touch .content-element-start-slideshow .controller .button.prev:hover
{
	left: 5px;
}
.content-element-start-slideshow .controller .button.next
{
	right: 10px;
	background-position: -55px -335px;
}
.no-touch .content-element-start-slideshow .controller .button.next:hover
{
	right: 5px;
}



/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-FORM
------------------------------------------------------------------------------
*/

.content-element-form
{
	position: relative;

	width:770px;

	margin: 30px 0px;
}

/*HONEYPOT DISABLE*/
.content-element-form form .honeypot
{
	display: none;
}

.content-element-form .form-item input.width-33 { width:170px; }
.content-element-form .form-item input.width-50 { width:370px; }
.content-element-form .form-item input.width-66 { width:570px; }
.content-element-form .form-item input.width-100 { width:770px; }
.content-element-form .form-item textarea { width:770px; }

.content-element-form form fieldset
{
	margin-top: 15px;
}
.content-element-form form fieldset:first-child
{
	margin-top: 0px;
}

.content-element-form .form-item.invalid input,
.content-element-form .form-item.invalid textarea
{
	border-bottom:4px solid #ff4443;
}
.content-element-form .form-item.invalid label,
.content-element-form .form-item.invalid .required
{
	color: #ff4443;
}

.content-element-form .form-item
{
	position: relative;
}

.content-element-form .form-item input
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	position: relative;
	z-index: 2;

	height: 40px;

	padding:0px 10px;

	border:none;
	background-color: #e8ecef;
	border-radius:10px;

	transition: all 200ms;
	-webkit-transition: all 200ms;
}
.content-element-form .form-item input:focus
{
	border-left: 4px solid #d9e242;
}
.content-element-form .form-item.invalid input:focus
{
	border-left: none;
}

.content-element-form .form-item label
{
    display: inline-block;
}

.content-element-form .form-item textarea
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	position: relative;
	z-index: 2;

	min-height: 200px;
	resize: vertical;

	padding:8px;

	border:none;
	background-color: #e8ecef;
	border-radius:10px;

	outline:none;

	transition: all 200ms;
	-webkit-transition: all 200ms;
}
.content-element-form .form-item textarea:focus
{
	border-left: 4px solid #d9e242;
}
.content-element-form .form-item.invalid textarea:focus
{
	border-left: 2px solid #ff5000;
}

.content-element-form .form-item-checkbox,
.content-element-form .form-item-radio
{
	height: auto;
	margin-top: 10px;
}

.content-element-form .form-item-checkbox input,
.content-element-form .form-item-radio input
{
	display: none
}

.content-element-form .form-item-checkbox label,
.content-element-form .form-item-radio label
{
	height: inherit;
	cursor: pointer;
	margin-bottom: 0px !important;
}

.content-element-form .form-item-checkbox label .label,
.content-element-form .form-item-radio label .label
{
	display: table-cell;
	vertical-align: middle;
	height: inherit;

	line-height: 20px;
}

.content-element-form .form-item-checkbox input + label i,
.content-element-form .form-item-radio input + label i
{
	display: inline-block;
	vertical-align: middle;

	position: relative;

	width: 20px;
	height: 20px;

	margin-right: 10px;

	background-color: #023f84;
}
.content-element-form .form-item-radio input + label i
{
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

.content-element-form .form-item-checkbox input + label i:before,
.content-element-form .form-item-radio input + label i:before
{
	display: block;
	content: "";

	position: absolute;
	top:10px;
	left: 10px;

	width: 0px;
	height: 0px;

	background-color: #d9e242;

	transition: all 100ms;
	-moz-transition: all 100ms;
	-webkit-transition: all 100ms;
}
.content-element-form .form-item-radio input:checked + label i:before
{
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}
.content-element-form .form-item-checkbox input:checked + label i:before,
.content-element-form .form-item-radio input:checked + label i:before
{
	top:5px;
	left: 5px;

	width: 10px;
	height: 10px;
}

.content-element-form .form-item-checkbox input + label p,
.content-element-form .form-item-radio input + label p
{
	display: inline-block;
	vertical-align: middle;
}

.content-element-form button
{
	display: inline-block;
	position: relative;
	z-index: 1;

	margin-top: 30px;
	padding: 11px 26px;

	color: #fff;
	background-color:#023f84;
	border-radius: 10px;

	transition: background-color 200ms, color 200ms;
	-moz-transition: background-color 200ms, color 200ms;
	-webkit-transition: background-color 200ms, color 200ms;
}
.no-touch .content-element-form button:hover
{
	color: #023f84;
	background-color:#d9e242;
}

.content-element-form .status
{
	display: inline-block;
	width: 310px;

	margin-left: 20px;
}

.content-element-form .status > span
{
	/*display: block;*/
	display: none;

	text-align: left;
	margin-top: 16px;
}
.content-element-form .status > span.default
{
	display: block;
}
.content-element-form .status > span.error
{
	color: #ff4443;
}
.content-element-form .status > span.success
{
	color: #00c842;
}




/*
------------------------------------------------------------------------------
CONTENT-ELEMENT-MAP
------------------------------------------------------------------------------
*/

.content-element-map .frame
{
	width: 790px;
	height: 790px;

	margin: -10px;
}

.content-element-map
{
	overflow: hidden;
	position: relative;

	width: 770px;
	height: 730px;

	border-radius: 10px;
}





/*
------------------------------------------------------------------------------
HELPER
------------------------------------------------------------------------------
*/

.styled-scrollbar::-webkit-scrollbar
{
	width: 10px;
}
.styled-scrollbar::-webkit-scrollbar-track
{
	background-color: #ccc;
}
.styled-scrollbar::-webkit-scrollbar-thumb
{
	background-color: #ffd100;
}

.floatleft
{
	float: left;
}

.floatright
{
	float: right;
}

.floatkill
{
	float: none;
	clear:both;
	display: block;
	overflow: auto;
}

.structurekill
{
	display: block;
	overflow: auto;
}

/*
------------------------------------------------------------------------------
Newsletter
------------------------------------------------------------------------------
*/

.newsletter-abmelden-link {
	margin-top: 22px;
}

div.newsletter-anmeldung p {

	font-family: "Metropolis regular";

}

div.newsletter-anmeldung a {

}

div.newsletter-anmeldung p.invalid {
	color: #ff4443;
	margin-bottom:10px;
}

div.newsletter-anmeldung .content-element-form button {

	color: #023f84;
	background-color: #e8ecef;
	margin-top:24px;
	margin-left:8px;

}

div.newsletter-verwaltung .content-element-form button {
	margin-top:24px;
	margin-left:8px;
}

div.newsletter-anmeldung .content-element-form .form-item label {
	color:#fff;
}

div.newsletter-verwaltung.content-element-form button {
	margin-top:24px;
	margin-left:8px;
}

/*
------------------------------------------------------------------------------
Sonstiges
------------------------------------------------------------------------------
*/

a[name] {
	padding-top: 120px;
	margin-top: -120px;
	display: inline-block; /* required for webkit browsers */
}

.cc-banner .cc-message {
	flex: none;
	-ms-flex: unset;
	/* margin-right:1.8em; */

	font-family: "Metropolis medium", sans-serif;
	font-size: 15px;

	max-width: calc(100vw - 230px);
}

.cc-window.cc-banner {
	padding: 0.8em 1.8em;
}

.cc-banner .cc-message a {
	font-size: 15px;
}

@media screen and (min-width: 900px) {
	.cc-compliance {
		margin-left: auto;
		margin-right: 1.8em;
	}
}
