html, body { margin:0; width:100%; padding:0; font-variant-ligatures: none; }
#wrapper { padding:100px 20px 20px 20px; }
#top, #bottom { left:0; right:0; background:#fff; height:20px; position:fixed; z-index:9; }
#top { top:0; height:100px; background:rgba(255,255,255,.95); }

#top img { height:50px; width:auto; margin-top:25px; margin-left:0px; }
#top svg { height:50px; width:auto; margin-top:25px; margin-left:0px; }

#bottom { bottom:0; }

#site { background:#F1F1EE; }

.inner { max-width:1240px; margin:0 auto; position:relative; }

#navigation { position:absolute; text-align:center; width:100%; top:43px; }
#navigation ul li { display:inline-block; margin-right:40px; border-right:1px solid #bbb; }
#navigation ul li:last-child { border-width:0; margin-right:0; }
#navigation ul li:last-child a { padding-right:0; margin-right:0; }
#navigation ul li a { padding-right:40px; color:#003056;  font-family:'fira_sansbook',arial,sans-serif; font-size:15px; line-height:15px; letter-spacing:0.255em; font-weight:400; text-transform:uppercase; text-decoration:none; display:block; }
#navigation ul li a.active { color:#DD0B2F; }

#navigation-2 { position:absolute; text-align:center; width:100%; top:43px; display:none; }
#navigation-2 ul li { display:inline-block; margin-right:40px; border-right:1px solid #bbb; }
#navigation-2 ul li:last-child { border-width:0; margin-right:0; }
#navigation-2 ul li:last-child a { padding-right:0; margin-right:0; }
#navigation-2 ul li a { padding-right:40px; font-size:28px; color:#003056; font-family:'fira_sanslight',arial,sans-serif; font-size:15px; line-height:15px; letter-spacing:0.05em; font-weight:400; text-transform:uppercase; text-decoration:none; display:block; }
#navigation-2 ul li a.active { color:#DD0B2F; }

.divider { background:#003056; margin:1px 0; }
.divider.light { background:none; margin:1px 0; }
.divider-head-q { background:#003056; padding:30px 0; margin:1px 0; }
.divider > div { padding:30px 0px; }
.divider h3 { font-size:28px; font-family:'fira_sansthin',helvetica,sans-serif; font-weight:400; text-transform:none; padding:0px 0px; color:#fff; text-align:center; letter-spacing:0.05em; margin:30px 0px; }
.divider p { font-size:18px; font-family:'fira_ultralight',helvetica,sans-serif; font-weight:400; text-transform:none; padding:0px 60px; color:#fff; text-align:center; letter-spacing:0.0em; margin:30px 0px; }
.divider p.projekthead { font-size:28px; font-family:'fira_sansthin',helvetica,sans-serif; font-weight:400; text-transform:none; padding:0px 60px; color:#fff; text-align:center; letter-spacing:0.0em; margin:30px 0px; }

.divider ul { font-size:18px; font-family:'fira_sansthin',helvetica,sans-serif; font-weight:400; text-transform:none; padding:0px 60px; color:#fff; text-align:center; letter-spacing:0.05em; margin:30px 0px; }
.divider ul::after { clear:both; display:table; content:""; }

.divider li { text-align:left; float:left; width:44%; margin:0 3%; box-sizing:border-box; display:block; font-family:'fira_sanslight',arial,sans-serif; color:#333; font-size:14px; line-height:1.7em; padding:0.77em 0; border-bottom:1px dotted rgb(130,130,130); }

.divider.light p { font-size:17px; font-family:'fira_sanslight',helvetica,sans-serif; font-weight:400; text-transform:none; padding:0px 60px; color:#003056; text-align:center; letter-spacing:0.00em; margin:30px 0px; }
.divider.light p.minihead { font-size:17px; font-family:'fira_sanslight',helvetica,sans-serif; font-weight:400; text-transform:none; padding:0px 60px; color:#003056; text-align:center; letter-spacing:0.02em; margin:30px 0px; }
.divider hr { width:100px; border:0; background:rgba(255,255,255,.50); height:1px; margin:0 auto; }
.infos-top hr { width:100px; border:0; background:rgba(255,255,255,.50); height:1px; margin:30px auto; }
.infos-top h3 { font-size:18px; font-family:'fira_sansthin',helvetica,sans-serif; font-weight:400; text-transform:none; padding:0px 0px; color:#fff; text-align:center; letter-spacing:0.05em; margin:30px 0px 0 0; }
.infos-top h3 span { font-size:18px; font-family:'fira_sanslight',helvetica,sans-serif; font-weight:400; }

.dsgvo-hinweis { font:400 14px/1.5em 'fira_sanslight',helvetica,sans-serif; color:#888; text-align:left; padding-left:22px; }
.datenschutzzustimmung { margin-top:60px; font-size:16px; font-family:'fira_sanslight',helvetica,sans-serif; color:#222; line-height:1.65em; margin-bottom:0.75em; text-align:left; }
.datenschutzzustimmung a { font-family:'fira_sanslight',helvetica,sans-serif; color:inherit; font:inherit; text-decoration:none; }
.datenschutzzustimmung span { display:block; float:left; width:14px; height:14px; border:1px solid #888; margin-top:3px; margin-right:5px; }
.datenschutzzustimmung span.checked { background:#022856; border-color:#022856; }

.map-with-labels { position:relative; }
.map-info-box { background:#fff; padding:20px; top:0; left:50%; color:#003056; position:absolute; z-index:99; width:250px; margin-left:-125px; display:none; box-sizing:border-box; }
.map-info-box h3 { font-size:14px; font-family:'fira_sansregular',helvetica,sans-serif; font-weight:400; color:#003056; margin-bottom:0; padding:0; }
.map-info-box p { font-size:14px; font-family:'fira_ultralight',helvetica,sans-serif; font-weight:400; color:#003056; margin-bottom:0; padding:0; }

.dtext { padding:60px 30px; background:rgba(150,150,150,0.1); }
.dtext hr { width:50%; border:0; background:rgba(0,0,0,.30); height:4px; margin:0 auto; margin-bottom:50px; margin-top:50px; }
.dtext p { font-size:15px; color:#222; }
.dtext p strong { font-family:'fira_sansmedium'; font-weight:400; }
.dtext p span.stand { font:inherit; color:inherit; font-size:12px !important; }
.dtext p span.stand { margin-bottom:0 !important; color:#666; }
.dtext p a { color:#DD0B2F; font:inherit; text-decoration:none; }
.du-logo { max-width:400px; margin:0 auto; height:auto; display:block; margin-bottom:50px; }

.inner-badge { background:#DD0B2F; color:#fff; font-size:18px; font-family:'fira_sansbook',helvetica,sans-serif; font-weight:400; padding:30px; position:absolute; top:50%; width:300px; margin-top:-138px; }
.inner-badge > div { background:#fff; color:#003056; margin-left:-30px; margin-right:-30px; padding:25px; margin-bottom:-30px; }
.inner-badge > div > p { color:#003056; margin-bottom:0 !important; font-family:'fira_sanslight',helvetica,sans-serif; font-variant-ligatures: none; }
.inner-badge p { font:inherit; font-family:'fira_sanslight',helvetica,sans-serif; color:#fff; line-height:1.45em; margin-bottom:30px !important; }
.inner-badge p strong { font-family:'fira_sansregular',helvetica,sans-serif; font-weight:400; }
.inner-badge img { max-width:100%; height:auto; display:block; }

h2 { font-size:28px; font-family:'fira_sanslight',helvetica,sans-serif; font-weight:400; text-transform:none; padding:60px 0px; color:#003056; text-align:center; letter-spacing:0.05em; }

h3 { font-size:18px; font-family:'fira_sanslight',helvetica,sans-serif; font-weight:300; text-align:center; line-height:1.6em; color:#003056; padding:60px 0px; color:#003056; text-align:center; letter-spacing:0.05em; margin:0px 0px; }
h4 { font-size:18px; font-family:'fira_sanslight',helvetica,sans-serif; font-weight:300; text-align:center; line-height:1.6em; color:#fff; text-align:center; letter-spacing:0.05em; margin:0px 0px; margin-top:15px; }
.light h2 { padding:40px 0 0 0; }
p.anschrift strong { font:inherit; color:inherit; line-height:inherit; font-weight:400; font-family:'fira_sansbook',arial,sans-serif; }

header { z-index:9; }
header, .puffer { background:#003056; padding:30px 0px; border-bottom:1px solid #fff; left:20px; right:20px; position:static; }
header .brand, .puffer .brand, .subnavigation { text-align:center; }
header .brand img, .puffer .brand img { display:block; width:235px; height:auto; margin:0 auto; }
.puffer { opacity:0; position:static; display:none; }
.subnavigation { background:#fff; padding:30px 0; position:relative; }
img.vis { width:100%; height:auto; display:block; }

.infos-top { /*background:#DD0B2F;*/ background:#003056; border-top:1px solid #fff; padding:60px 0px; }
.infos-top .inner { display:table; margin:0 auto; }
.infos-top .inner .block { display:inline-block; margin:0px 30px; color:#fff; font-size:18px; font-family:'fira_ultralight',helvetica,sans-serif; font-weight:300; text-align:center; letter-spacing:0.0em;  }
.infos-top .inner .block > span { display:inline-block; font-size:18px; font-family:'fira_sansthin',helvetica,sans-serif; font-weight:400; text-transform:uppercase; margin-left:10px; letter-spacing:0.05em; }
.infos-top .inner .block > span.small{ font-size:18px; font-family:'fira_sansthin',helvetica,sans-serif; font-weight:400; text-transform:none; letter-spacing:0.05em; }

.infos-middle { padding:30px; background:#DD0B2F; color:#fff; border-top:1px solid #fff; display:none; }

.infos-bottom { padding:60px 30px; padding-top:0; }
.infos-bottom .top-brand img { width:155px; height:auto; display:block; margin:0 auto; }
.infos-bottom p { font-size:18px; font-family:'fira_sanslight',helvetica,sans-serif; font-weight:300; text-align:center; line-height:1.6em; color:#003056; margin-top:60px; }

.meta { text-align:center; }
.meta a { font-size:14px; font-family:'fira_sanslight',helvetica,sans-serif; display:inline-block; font-weight:300; margin:0 20px; color:#ababab; text-decoration:none; }

.slider-q-badge  { position:absolute; right:0; top:30px; background:#003056; padding:30px; z-index:99; width:150px; text-align:center; }

.text { margin:0 auto; }

#gmap { margin-top:0px; }
.clear, .c { clear:both; float:none; }
.col-6 { width:50%; float:left; position:relative; }
.col-left { padding-right:30px; box-sizing:border-box !important;  }
.col-right { padding-left:30px; box-sizing:border-box !important; }

form { margin:60px auto;  }

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color:#003056; }
input[type=text] { background:none; width:100%; box-sizing:border-box; font-family:'fira_sanslight',sans-serif; font-size:16px; line-height:1.5em; border-bottom:1px solid rgba(2,40,86,.50); color:#003056; }
textarea { background:none; width:100%; box-sizing:border-box; font-family:'fira_sanslight',sans-serif; font-size:16px; line-height:1.5em; border-bottom:1px solid rgba(2,40,86,.50); height:1.6em; resize:none; margin-top:60px; color:#003056; overflow:none; }
input[type=submit] { padding:8px 15px 6px 15px;background:rgba(0,0,0,.6); border:1px solid rgba(0,0,0,.5); margin:0; float:right; display:block; width:auto; text-align:center; margin-top:60px; font-family:'fira_sansregular',sans-serif; font-size:16px; line-height:1.5em; color:#fff; text-transform:uppercase; letter-spacing:0.150em; cursor:pointer; }

.unbreak { white-space:nowrap; font:inherit; color:inherit; letter-spacing:inherit; }

.fullscreen { background:rgba(0,0,0,.2); padding:10px; width:50px; height:50px; box-sizing:border-box; display:block; right:0; bottom:0 }
.fullscreen img { width:100%; height:auto; display:block; }

.meta {  }

p { font-size:14px; font-family:'fira_sanslight',helvetica,sans-serif; color:#000; line-height:1.65em; margin-bottom:0.75em; text-align:center; }
.leftalign p { text-align:left; }


.dibaglogo { float:right; }

#badge { position:fixed; top:100px; right:20px; z-index:111; }
#badge-inner { background:#DD0B2F; color:#fff; padding:30px; }
#badge-inner a { color:#fff; text-decoration:none; font-size:18px; font-family:'fira_sansbook',helvetica,sans-serif; font-weight:400; line-height:1.5em; }
#badge-inner h5 { color:#fff; text-decoration:none; font-size:18px; font-family:'fira_sansbook',helvetica,sans-serif; font-weight:400; text-align:center; }
#badge-inner h6 { color:#fff; text-decoration:none; font-size:18px; font-family:'fira_sansbook',helvetica,sans-serif; font-weight:400; text-align:center; margin-bottom:.6em; text-transform:uppercase; letter-spacing:0.05em; }

.error { text-align:center; text-decoration:none; font-size:18px; font-family:'fira_sansbook',helvetica,sans-serif; font-weight:400; margin-top:2em;}

.subnavigation.fixed { position:fixed; top:-100px; left:0; right:0; z-index:9; background:rgba(255,255,255,.95); padding-top:0; transition:all 600ms ease; }
.subnavigation.fixed.show { position:fixed; top:100px; left:0; right:0; z-index:9; background:rgba(255,255,255,.95); transition:all 600ms ease; }

.subnavigation > ul { display:table; margin:0 auto; }
.subnavigation > ul > li { display:inline-block; color:#003056; font-family:'fira_sansbook',arial,sans-serif; font-size:15px; line-height:15px; letter-spacing:0.255em; font-weight:400; text-transform:uppercase; text-decoration:none; padding:0 20px; border-right:1px solid #bbb; }
.subnavigation > ul > li:first-child { padding-left:0; }
.subnavigation > ul > li:last-child { border-right:none; padding-right:0; }
.subnavigation > ul > li a { display:inline-block; color:#003056; font-family:'fira_sansbook',arial,sans-serif; font-size:15px; line-height:15px; letter-spacing:0.255em; font-weight:400; text-transform:uppercase; text-decoration:none; }
.subnavigation > ul > li a.active { color:#DD0B2F; }

.qqs { display:none; }
.qqs.q1 { display:block; }

.objekt-headline { display:block; margin:0px auto; height:50px; }
.objekt-headline-xs { display:block; margin:0px auto; height:20px; }

.karten { display:block; }
#karte { display:block; }


.swiper-slide img { width:100%; height:auto; display:block; }

.swiper-button-next {
    background: url(../images/next.png) no-repeat center center;
    right: 0px;
    left: auto;
    width:50px;
    height:50px;
    margin-top:-25px;
    background-size:cover;
    opacity:0;
    transition:opacity 300ms ease;
}
.swiper-button-prev {
    background: url(../images/prev.png) no-repeat center center;
    left: 0px;
    right: auto;
    width:50px;
    height:50px;
    margin-top:-25px;
    background-size:cover;
    opacity:0;
    transition:opacity 300ms ease;
}
.swiper-container:hover .swiper-button-next, .swiper-container:hover .swiper-button-prev { opacity:1; }


@media (max-width:1300px){
	#top img { margin-left:20px; }
	form { padding:0 30px; }
	.dibaglogo { margin-right:20px; }
}


@media (max-width:1280px){
	.text { padding:0 30px; }
	.break { display:none; }
	.infos-top .inner .block {margin:0 20px;}
}

@media (max-width:1230px){
	.block3 { float:none; margin:30px auto 0 auto !important; width:100%; box-sizing:border-box; text-align:center; }
}

@media (max-width:1024px){
	.infos-top .inner .block.block3 { display:block; margin-top:30px;}
}

@media (max-width:960px){
	#badge { top:auto; bottom:20px; }
}

@media (max-width:960px){
	.block { float:none; text-align:center; margin-top:30px !important; }
}


@media (max-width:900px){
	.block { float:none; margin:30px auto 0 auto !important; width:100%; box-sizing:border-box; text-align:center; }
	#navigation { display:none; }
	#navigation-2 { position:fixed; top:100px; background:rgba(255,255,255,.95); left:0; right:0; padding:0px 0px; top:-100px; transition:all .5s ease; -webkit-transition:all .5s ease; -moz-transition:all .5s ease; z-index:1; }
	#navigation-2.flyout { top:100px; transition:all .5s ease; -webkit-transition:all .5s ease; -moz-transition:all .5s ease; display:block; }
	.menu-btn { width:32px; height:32px; float:left; margin-left:20px; margin-top:38px; }
	.menu-btn span { display:block; height:2px; margin-bottom:9px; background:#003056; }

		.subnavigation.fixed { display:none; }
}

@media (max-width:800px){
	.col-6 { width:100%; float:none; position:relative; margin-bottom:30px; }
	.col-left { padding-right:00px; box-sizing:border-box !important;  }
	.col-right { padding-left:00px; box-sizing:border-box !important; }
	textarea  { margin-top:0px; }


@media (max-width:768px){
}

@media (max-width:767px){
	.infos-top .inner .block2 { display:block; margin-top:30px;}
	.divider p { padding:0 15px; }
	.ms-nav-next, .ms-nav-prev { display:none; }
	#site { padding-bottom:120px; }
}

@media (max-width:480px){
	.du-logo { max-width:240px; margin:0 auto; height:auto; display:block; margin-bottom:50px; }
	.dtext { padding:60px 15px; background:rgba(150,150,150,0.1); }
  .datenschutzzustimmung { padding-left:20px; position:relative; }
  .datenschutzzustimmung span { position:absolute; left:0; }
  .dsgvo-hinweis { padding-left:0; }
	#badge { display:none; }
	#navigation-2 ul li { margin-right:0px; float:none; display:block; margin:15px 0px; border:0; }
	#navigation-2 ul li a { padding-right:0px; }
	.text { padding:0 15px; }
	header .brand img, .puffer .brand img { width:260px; }
	form { padding: 0 15px; }
	#wrapper { padding:100px 10px 10px 10px; }
	textarea, input[type=text], input[type=submit] { font-size:13px; }
	#bottom { height:10px; }
	.infos-top .inner .block { line-height:1.5em; }
	.infos-top h3 { line-height:1.5em; }
	.middot { display:block; }
	.divider.light p { padding:0 20px; }
	.subnavigation > ul > li { display:block; float:none; border:0; margin:15px 0; padding:0; }
	.inner-badge { position:static; margin-top:0; top:auto; width:100%; box-sizing:border-box; }
	.inner-badge img { margin:0 auto; height:50px; width:auto; }
}
