﻿@font-face {
 font-family: 'Roboto Slab';
 font-style: normal;
 font-weight: 300;
 src: local(''),
 url('/layout/fonts/roboto-slab-v11-latin-300.woff2') format('woff2'),
 url('/layout/fonts/roboto-slab-v11-latin-300.woff') format('woff')
}
@font-face {
 font-family: 'Roboto Slab';
 font-style: normal;
 font-weight: 400;
 src: local(''),
 url('/layout/fonts/roboto-slab-v11-latin-regular.woff2') format('woff2'),
 url('/layout/fonts/roboto-slab-v11-latin-regular.woff') format('woff')
}
@font-face {
 font-family: 'Roboto Slab';
 font-style: normal;
 font-weight: 600;
 src: local(''),
 url('/layout/fonts/roboto-slab-v11-latin-600.woff2') format('woff2'),
 url('/layout/fonts/roboto-slab-v11-latin-600.woff') format('woff')
}
@font-face {
 font-family: 'Roboto Slab';
 font-style: normal;
 font-weight: 900;
 src: local(''),
 url('/layout/fonts/roboto-slab-v11-latin-900.woff2') format('woff2'),
 url('/layout/fonts/roboto-slab-v11-latin-900.woff') format('woff')
}
@font-face {
 font-family: 'Open Sans';
 font-style: normal;
 font-weight: 300;
 src: local('Open Sans Light'),
 local('OpenSans-Light'),
 url('/layout/fonts/open-sans-v17-latin-300.woff2') format('woff2'),
 url('/layout/fonts/open-sans-v17-latin-300.woff') format('woff')
}
@font-face {
 font-family: 'Open Sans';
 font-style: normal;
 font-weight: 400;
 src: local('Open Sans Regular'),
 local('OpenSans-Regular'),
 url('/layout/fonts/open-sans-v17-latin-regular.woff2') format('woff2'),
 url('/layout/fonts/open-sans-v17-latin-regular.woff') format('woff')
}
@font-face {
 font-family: 'Open Sans';
 font-style: normal;
 font-weight: 600;
 src: local('Open Sans Bold'),
 local('OpenSans-Bold'),
 url('/layout/fonts/open-sans-v17-latin-600.woff2') format('woff2'),
 url('/layout/fonts/open-sans-v17-latin-600.woff') format('woff')
}
@font-face {
 font-family: 'Open Sans';
 font-style: normal;
 font-weight: 800;
 src: local('Open Sans ExtraBold'),
 local('OpenSans-ExtraBold'),
 url('/layout/fonts/open-sans-v17-latin-800.woff2') format('woff2'),
 url('/layout/fonts/open-sans-v17-latin-800.woff') format('woff')
}
.rs-columns {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 width: 100%;
 position: relative
}
.rs-column {
 position: relative;
 margin-bottom: 3.2rem
}
.boxen .rs-column {
 padding: 2rem
}
.-small-col-2-1 {
 width: calc((100% / 2) - (3.2rem / 2))
}
.-small-col-1-1 {
 width: 100%
}
.-small-last-row {
 margin-bottom: 0
}
@media all and (min-width: 996px) {
 .-large-col-6-1 {
  width: calc((100% / 6) - (3.2rem / 1.2))
 }
 .-large-col-5-1 {
  width: calc((100% / 5) - (3.2rem / 1.24))
 }
 .-large-col-4-1 {
  width: calc((100% / 4) - (3.2rem / 1.33))
 }
 .-large-col-3-1 {
  width: calc((100% / 3) - (3.2rem / 1.5))
 }
 .-large-col-2-1,
 .-large-col-4-2,
 .-large-col-6-3 {
  width: calc((100% / 2) - (3.2rem / 2))
 }
 .-large-col-4-3 {
  width: calc((100% / 4 * 3) - (3.2rem / 2))
 }
 .-large-first-row {
  margin-bottom: 0
 }
}
.nav-main {
 position: relative;
 float: left;
 overflow: visible
}
.nav-main .level_2 {
 display: none;
 position: absolute;
 top: 7rem;
 background: #fff;
 box-shadow: 0 10px 10px -5px #333;
 padding-bottom: 2rem
}
.nav-main .level_2 li {
 display: block;
 padding: .5rem 1.5rem;
 white-space: nowrap
}
.nav-main .level_2 li a,
.nav-main .level_2 li strong {
 text-transform: none
}
.nav-main li {
 position: relative;
 display: inline-block;
 padding: .25rem 0 3.5rem 5rem
}
.nav-main li a,
.nav-main li strong {
 display: block;
 padding: .25rem 1.25rem .25rem 1.25rem;
 font-size: 2rem;
/*text-transform: uppercase;*/
 text-decoration: none;
 font-weight: 400;
 font-family: 'Open Sans';
 color: #001d19
}
.nav-main li a:hover,
.nav-main li strong {
 color: #900
}
.nav-main li .submenu {
 padding-right: 2.8rem;
 background-image: url('/layout/img/submenu.svg');
 background-repeat: no-repeat;
 background-position: right .2em;
 background-size: 1.6rem auto
}
nav label,
nav input {
 display: none
}
@media all and (min-width: 996px) {
 .nav-main .submenu:hover ul {
  display: block
 }
}
@media all and (max-width: 995px) {
 .nav-main {
  position: absolute;
  right: 0rem;
  top: 7rem;
  width: 33rem;
  overflow: visible;
  box-shadow: 0 10px 10px -5px #333
 }
 .nav-main > label {
  display: block;
  width: 4.2rem;
  height: 4.2rem;
  text-align: center;
  position: absolute;
  right: 1rem;
  top: -6.5rem;
  line-height: 0.5
 }
 .nav-main > label i {
  display: inline-block;
  width: 80%;
  height: 0.5rem;
  background: #04339d
 }
 .nav-main > ul {
  background: #fff;
  padding: 1.5rem;
  display: none;
  width: 100%;
  max-height: calc(100vh - 16rem);
  overflow: auto;
  box-shadow: none
 }
 .nav-main > ul > li > a,
 .nav-main > ul > li > strong {
  font-weight: 600
 }
 .nav-main input:checked + ul,
 .nav-main li.active > ul {
	border:none;
  display: block;
 }
 .nav-main li {
  position: relative;
  display: block;
  margin-bottom: 1rem;
  text-align: right;
  padding-left: 0;
  padding-bottom: .25rem;
  padding-right: 2.8rem
 }
 .nav-main li a.submenu,
 .nav-main li strong.submenu,
 .nav-main li a,
 .nav-main li strong {
  padding-right: 0;
  background: none;
  white-space: nowrap
 }
 .nav-main li label {
  display: block;
  width: 2.8rem;
  height: 2.7rem;
  background-image: url('/layout/img/submenu.svg');
  background-repeat: no-repeat;
  background-position: right .3em;
  background-size: 1.6rem auto;
  position: absolute;
  right: 0;
  top: 0
 }
 .nav-main li li {
  padding-right: 0
 }
 .nav-main li .level_2 {
  top: auto;
  margin-top: 1rem;
  margin-bottom: 0;
  position: relative;
  box-shadow: none
 }
 .nav-main li .level_2 li {
  padding-right: 0
 }
}
* {
 box-sizing: border-box;
 margin: 0;
 padding: 0;
 border: none
}
html {
 font-size: 40.5%
}
@media (min-width: 1250px) {
 html {
  font-size: 50.5%
 }
}
@media (min-width: 1650px) {
 html {
  font-size: 62.5%
 }
}
body {
 background-color: #fff;
 line-height: 1.2;
 font-size: 1.8rem;
 color: #000D0B;
/* font-size: 1.6rem;
 color: #001d19; */
 font-family: 'Roboto Slab';
 font-weight: 300
}
p,
ul,
/*dt,*/
ol{
 margin-bottom: 1em;
 line-height: 1.4
}
p:last-child,
ul:last-child,
ol:last-child,
dt:last-child,
p:last-child a,
ul:last-child a,
ol:last-child a,
dt:last-child a {
 margin-bottom: 0
}
p a,
ul a,
ol a,
dt a {
/* color: #001d19;*/
	color:#000D0B;
 display: inline-block;
 text-decoration: underline;
 text-decoration-color: #04339d;
}
.mod_article a {
/* color: #001d19;*/
 color:#000D0B;
 display: inline-block;
 text-decoration: underline;
 text-decoration-color: #04339d;
/*	text-decoration-thickness:1px;*/
}
p.small {
 font-size: 1rem
}
td,th {
 padding: 1rem
}
th{
	border:none;
	text-align:left;
	background-color:#f5f7fb;
	font-weight:bolder;
	color:#04339d;
	white-space:nowrap;
	padding:0.5em;
	vertical-align:top;
}
.th_main, .th_main th, thead th{
	border:none;
	text-align:center;
	font-weight:bolder;
	font-style:italic;
	color:#04339d;
	background-color:#f5f7fb;
}
li {
 list-style: none;
 margin-bottom: 0.5em
}
.mod_article li {
 list-style: disc;
 margin-left: 1.5em
}
#pagination li {
 list-style: none;
 margin-left: 0
}
nav ul,
nav li {
 margin: 0
}
h1,
h2,
h3,
h4 {
 font-family: 'Open Sans';
 line-height: 1.2;
 margin-bottom: 1em;
 font-weight: 600
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child {
 margin-bottom: 0
}
h1 {
 font-size: 4rem;
 color: #900;
 font-weight: 800;
/* text-transform: uppercase*/
}
h2 {
 font-size: 3.5rem;
 color: #04339d;
 font-weight:800;
 margin-top:1em;
}
h1 + h2 {
 margin-top: -1em
}
h1 + h3 {
 margin-top: -1em
}
h2 + h3 {
 margin-top:-0.5em;
}
p + h2,
ul + h2,
dl + h2,
a + h2 {
 margin-top: 1em;
 margin-bottom: 0.5em
}
h3 {
 font-size: 3rem;
 color: #04339d;
 margin-top:1em;
}
p + h3,
ul + h3,
dl + h3,
a + h3 {
 margin-top: 1em;
 margin-bottom: 0.5em
}
h4 {
 font-size: 2rem;
 color: #04339d;
 font-weight: 800
}
p + h4,
ul + h4,
dl + h4,
a + h4 {
 margin-top: 1em;
 margin-bottom: 0.5em
}
h5 {
	font-size: 1.8rem;
	color: #04339d;
	font-weight: 800;
}
p + h5,
ul + h5,
dl + h5,
a + h5 {
 margin-top: 1em;
 margin-bottom: 0.5em
}
video {
 max-width: 100%;
 height: auto;
}
figure img {
 max-width: 100%;
 height: auto;
 display: block
}
button,
.submit {
 cursor: pointer
}
.ap {
 padding: 8rem 0 8rem 0
}
.apt {
 padding: 8rem 0 0 0
}
.apb {
 padding: 0 0 8rem 0
}
#header > .inside,
.mod_article > .inside,
#footer > .inside {
 position: relative;
 margin: auto;
 width: 100%;
 max-width: 165rem;
 padding: 0 1.5rem
}
#header {
 background-color: #fff;
 box-shadow: 0 -5px 15px 0px #000;
 width: 100%;
 height: 10rem;
 padding: 3rem 0;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 50
}
#header .logo {
 position: relative;
 float: left;
 margin-right: 1.5rem
}
#header .logo a,
#header .logo strong {
 display: block;
 width: 29rem;
 height: 4.2rem;
 background-image: url('/layout/img/logo.svg');
 background-position: top left;
 background-repeat: no-repeat;
 background-size: contain;
 text-indent: -1000rem
}
#container {
 padding-top: calc(10rem + 0rem);
 position: relative;
 z-index: 20
}
.mod_article {
 position: relative;
 width: 100%;
 padding: 8rem 0 8rem 0
}
.np {
 padding: 0
}
.col_last figure {
 margin-right: 0 !important
}
.cookiebar {
 background-color: #900;
 z-index: 99999
}
.cookiebar__message {
 margin: 0
}
.cookiebar__button {
 display: inline-block;
 text-decoration: none;
 text-transform: uppercase;
 font-size: 2rem;
 font-family: 'Open Sans';
 font-weight: 800;
 border: none;
 border-radius: calc(2rem + .5em + .5em);
 padding: .5em 1.5em .5em 1.5em;
 background-color: #fff;
 color: #04339d
}
.cookiebar__button:hover {
 background-color: #04339d;
 color: #fff
}
.ce_accordion.hide {
 display: none
}
.ce_accordion .toggler {
 font-size: 2rem;
 color: #04339d;
 font-weight: 800;
 padding: 1.75rem 4rem;
 cursor: pointer;
 outline: none;
 position: relative
}
.ce_accordion .toggler::after {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 height: 100%;
 width: 4rem;
 background-image: url('/layout/img/icon-plus.svg');
 background-repeat: no-repeat;
 background-position: left center;
 background-size: 2rem auto
}
.ce_accordion .toggler.active::after {
 background-image: url('/layout/img/icon-minus.svg')
}
.ce_accordion .accordion {
 padding: 1.75rem 4rem
}
.ce_accordion .accordion p {
 padding-left: 3.5rem;
 position: relative;
 font-size: 1.4rem
}

/* .ce_accordion .accordion p a { */
.download {
 text-decoration: none;
 font-size: 1.6rem;
 font-weight: 600;
 display: inline-block;
 margin-left: -3rem;
 padding: 0 3rem;
 background-image: url('/layout/img/icon-dl.svg');
 background-repeat: no-repeat;
 background-position: left center;
 background-size: 1.6rem auto
}
#index h1 {
 font-size: calc(4rem * 2);
 margin: 1em 0 .2em 0;
 line-height: 1.1
}
.mod_article.grey {
 background: #f5f7fb
}
#header .mod_search {
 margin-left: 2rem;
 position: relative;
 float: right
}
#header .mod_search .widget {
 display: inline-block
}
#header .mod_search .widget button {
 background: none;
 border: none;
 width: 3.5rem;
 height: 3.5rem;
 background-image: url('/layout/img/lupe.svg');
 background-repeat: no-repeat;
 background-position: center center;
 background-size: contain;
 text-indent: -1000rem
}
#header .mod_search .widget input {
 width: 15rem;
 height: 3.5rem;
 padding: 0 .5rem;
 font-size: 1.6rem;
 line-height: 1.6;
 outline: none;
	border:none;
 border-bottom: 2px solid #fff
}
#header .mod_search .widget input:focus {
 border-color: #900
}
#header .mod_search:hover input {
 border-color: #900
}
#main .teaser > div {
 width: 26rem
}
#main .teaser > div figure {
 text-align: center;
 margin-bottom: 6rem;
 height: 15rem
}
#main .teaser > div img {
 display: inline-block
}
#kunden h1 {
 margin-bottom: 8rem
}
#kunden .ce_gallery {
 margin-bottom: 8rem
}
#kunden ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 width: 100%
}
#kunden li {
 list-style: none
}
#kunden img {
 height: 9rem;
 width: auto
}
div:not(#kunden) > div > div.ce_gallery > ul {
 width: 100%;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap
}
div:not(#kunden) > div > div.ce_gallery > ul > li {
 width: 29rem;
 border: 1px solid #04339d;
 margin-bottom: 2.5rem
}
div:not(#kunden) > div > div.ce_gallery > ul > li > figure {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 height: 26rem
}
div:not(#kunden) > div > div.ce_gallery > ul > li > figure > img {
 max-width: 70%;
 height: auto
}
.nav-social {
 position: fixed;
 right: 0;
 top: 30rem;
 width: auto
}
.nav-social li {
 display: block;
 margin-bottom: 1rem
}
.nav-social li a {
 display: block;
 width: 20rem;
 height: 6rem;
 padding-left: 7rem;
 background-color: #fff;
 background-image: url('/layout/img/icon-blog.svg');
 background-repeat: no-repeat;
 background-position: 1rem center;
 background-size: 5rem auto;
 text-decoration: none;
 text-transform: uppercase;
 font-size: 2rem;
 font-weight: 800;
 line-height: 3;
 color: #04339d;
 position: relative;
 right: -13rem;
 transition: right 1s
}
.nav-social li a:hover {
 right: 0;
 transition: right 1s
}
.nav-social li a[title=Twitter] {
 background-image: url('/layout/img/icon-twitter.svg');
 background-size: 4.5rem auto
}
.nav-social li a[title=Facebook] {
 background-image: url('/layout/img/icon-facebook.svg');
 background-size: auto 60%;
 background-position: 2rem center
}
.top-btn {
 display: none;
 position: fixed;
 right: 1rem;
 bottom: 8rem;
 width: 7.4rem;
 height: 7.4rem;
 background-image: url('/layout/img/btn-totop.svg');
 background-repeat: no-repeat;
 background-position: center 0;
 background-size: contain;
 background-color: #fff;
 cursor: pointer;
 border-radius: 50%;
 transition: .5s all
}
.top-btn:hover {
 background-position: center -0.4em;
 transition: .5s all
}
.mod_newslist {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 width: 100%;
 position: relative;
 margin-bottom: 4rem;
	font-size:1.6rem;
}
.mod_newslist > div > a,
.mod_newslist > div > .pack {
 width: 29rem;
 height: 26.5rem;
 background: #fff;
 border: .1rem solid #04339d;
 padding: 1.5rem;
 margin-bottom: 4rem;
 position: relative;
 overflow: visible;
 color: #04339d;
 text-decoration: none;
 display: block;
 transition: all .5s
}
.mod_newslist > div > a h2,
.mod_newslist > div > .pack h2 {
 font-size: 2rem;
 margin-bottom: 0.9em;
 height: 2.25em
}
.mod_newslist > div > a p.info,
.mod_newslist > div > .pack p.info {
 color: #04339d;
 font-size: 1rem;
 font-weight: 300;
 margin-bottom: 1.8em
}
.mod_newslist > div > a .teaser,
.mod_newslist > div > .pack .teaser {
 height: 8.8rem
}
.mod_newslist > div > a p,
.mod_newslist > div > .pack p {
 color: #04339d
}
.mod_newslist > div > a .more,
.mod_newslist > div > .pack .more {
 color: #04339d;
 font-family: 'Open Sans';
 font-size: 1.2rem;
 font-weight: 800;
 margin-top: 2em;
 text-transform: uppercase;
 border: none;
 position: absolute;
 left: 1.5rem;
 bottom: 1.5rem;
 text-decoration: none
}
.mod_newslist > div > a .more::after,
.mod_newslist > div > .pack .more::after {
 content: 'mehr erfahren'
}
.mod_newslist > div > a::before,
.mod_newslist > div > .pack::before {
 content: '';
 display: block;
 position: absolute;
 left: 1.5rem;
 bottom: -3.9rem;
 height: 4rem;
 width: 5rem;
 background-image: url('/layout/img/sprechblase.svg');
 background-repeat: no-repeat;
 background-size: contain;
 transition: all .5s
}
#fallstudien .mod_newslist h2 a {
 text-decoration: none;
 color: #04339d;
 text-transform: none
}
#fallstudien .mod_newslist .layout_latest {
 margin-bottom: 8rem
}
#fallstudien .mod_newslist .layout_latest .info {
 position: relative;
 margin-top: -1em
}
.mod_newslist > div > a:hover {
 background-color: #04339d;
 transition: all .5s
}
.mod_newslist > div > a:hover * {
 color: #fff !important
}
.mod_newslist > div > a:hover::before {
 background-image: url('/layout/img/sprechblase_hover.svg');
 transition: all .5s
}
.layout_latest.update .more::after {
 content: 'zum Update'
}
.layout_latest.update::after {
 content: '';
 display: block;
 position: absolute;
 right: 1rem;
 bottom: 5rem;
 height: 3.5rem;
 width: 3.5rem;
 background-image: url('/layout/img/icon-update.svg');
 background-repeat: no-repeat;
 background-size: contain
}
#news {
 padding-right: 6rem
}
#news .mod_newslist > div {
 margin-bottom: 8rem;
 position: relative
}
.layout_full {
 padding: 0 0 8rem 0
}
.layout_full h4 {
 margin-top: 2em
}
.layout_full li {
 padding-left: 1.5em;
 position: relative
}
.layout_full li::before {
 content: "\2022";
 color: #04339d;
 font-weight: bold;
 display: block;
 font-size: 1.2em;
 position: absolute;
 top: -0.1em;
 left: 0
}
.layout_full li::marker {
 font-size: 0
}
.layout_full #antwort {
 margin-top: 4rem
}
.layout_full #antwort ul {
 margin-top: 1.5em;
 margin-bottom: 2em
}
.layout_full #antwort ul img {
 vertical-align: middle
}
.layout_full #frage {
 font-weight: 600
}
#article-34 .inside {
 padding-right: 25%
}
.mod_newsreader a.btn {
 background: #04339d;
 color: #fff
}
.mod_newsreader a.btn::after {
 display: none
}
.mod_newsreader a.btn::before {
 content: '';
 display: inline-block;
 height: 1.25em;
 width: 1.45em;
 margin-right: 0.5em;
 vertical-align: sub;
 background-image: url(/layout/img/btn-pfeil-weiss.svg);
 background-repeat: no-repeat;
 background-position: center center;
 background-size: contain;
 -ms-transform: rotate(180deg);
 -moz-transform: rotate(180deg);
 -webkit-transform: rotate(180deg);
 transform: rotate(180deg)
}
#news.blog .inside {
 padding-right: 25rem
}
#news.blog .layout_latest > a {
 width: 30rem;
 height: 32rem;
 margin-bottom: 6rem
}
#news.blog .layout_latest > a::before {
 display: none
}
#news.blog .layout_latest > a h2 {
 height: 3.5em
}
#news.blog .layout_latest > a .more a::after {
 content: 'zur Antwort'
}
#news.hotline .layout_latest > a {
 height: 100%
}
#news.hotline .layout_latest > a h2 {
 height: 4.5em
}
#pakete .inside {
 width: 128rem
}
#pakete h1,
#pakete h2 {
 margin-bottom: 1rem
}
#pakete .-large-last {
 display: flex;
 align-items: center;
 padding: 0;
 padding-left: 2rem;
 border: none;
 background: none
}
#pakete .-large-last::before {
 display: none
}
#pakete .mod_newslist {
 margin: 0
}
.-large-first .ce_text.icon {
 padding-left: 10rem;
 margin-right: 8rem;
 margin-bottom: 6rem
}
.-large-last .ce_text.icon {
 padding-left: 10rem;
 margin-left: 8rem;
 margin-bottom: 6rem
}
.ce_text.icon {
 padding-top: 1rem;
 background-position: left top;
 background-repeat: no-repeat;
 background-size: 8rem auto
}
.ce_text.icon.ordnung {
 background-image: url('/layout/img/icon-ordnung.svg')
}
.ce_text.icon.textsuche {
 background-image: url('/layout/img/icon-textsuche.svg')
}
.ce_text.icon.archiv {
 background-image: url('/layout/img/icon-archiv.svg')
}
.ce_text.icon.info {
 background-image: url('/layout/img/icon-info.svg')
}
.ce_text.icon.office {
 background-image: url('/layout/img/icon-office.svg')
}
.ce_text.icon.weiter {
 background-image: url('/layout/img/icon-weiter.svg')
}
#ref {
 width: 92rem
}
#ref + div {
 width: 46rem;
 margin-right: 10rem
}
#presse {
 position: relative;
 padding: 3rem;
 top: -3rem;
 background: #f5f7fb
}
#presse::after {
 content: '';
 display: block;
 height: 100%;
 width: 400rem;
 position: absolute;
 top: 0;
 left: 100%;
 background-color: #f5f7fb
}
#presse .esel {
 width: 43rem;
 height: auto;
 background: #fff;
 border: 1px solid #04339d;
 padding: 1.5rem;
 margin-bottom: 4rem;
 position: relative;
 overflow: visible
}
#presse .esel::before {
 content: '';
 display: block;
 position: absolute;
 right: -1px;
 top: -2px;
 height: 4.6rem;
 width: 5.3rem;
 background-image: url('/layout/img/eselsohr.png');
 background-repeat: no-repeat;
 background-size: 5.3rem 4.6rem;
 background-position: right top
}
#presse .esel p {
 color: #04339d
}
#dl-text .inside {
 padding-right: 25rem
}
#dl-text .ce_text {
 padding-right: 9rem
}
#dl-text a.btn::after {
 -ms-transform: rotate(90deg);
 -moz-transform: rotate(90deg);
 -webkit-transform: rotate(90deg);
 transform: rotate(90deg);
 background-position: .1em center
}
#dl-text a.btn:hover::after {
 background-position: .4em center
}
#footer {
 margin: 8rem 0 0 0;
 padding: 8rem 0 3rem 0;
 background: #f5f7fb
}
#footer .-large-first > div,
#footer .-large-first + div > div {
 height: 25rem
}
#footer h2 {
 margin-top:0;
 margin-bottom:2em
}
#footer h4 {
 font-weight: 800
}
#footer h4 a {
 padding-left: 6.5rem;
 height: 3.6rem;
 display: inline-block;
 margin-top: 0.25em;
 background-image: url('/layout/img/icon-blog.svg');
 background-repeat: no-repeat;
 background-position: left center;
 background-size: contain;
 color: #04339d;
 text-decoration: none
}
#footer h4:last-child {
 margin: 0;
 line-height: 1.8
}
#footer p {
 font-size: 1.6rem;
 line-height: 2
}
#footer p a {
 text-decoration: none
}
#footer p a:hover {
 text-decoration: underline;
 text-decoration-color: #04339d
}
#footer p em {
 display: inline-block;
 width: 5rem;
 font-style: normal
}
#footer p .btn {
 padding: .5em 3em
}
#footer .-large-last {
 position: relative;
 display: flex
}
#footer .-large-last div {
 align-self: flex-end;
 padding-bottom: 5rem;
 width: 100%
}
#footer .-large-last p {
 text-align: center
}
#footer .-large-last a:hover {
 text-decoration: none
}
@media all and (min-width: 568px) {
 #dms h1 br:first-child {
  display: none
 }
}
@media all and (max-width: 567px) {
 #dms h1 br:first-child {
  display: block
 }
}
div.fx {
 position: relative
}
div.fx .ce_image:first-child {
 position: relative;
 z-index: 1;
 opacity: 1;
 transition: 1s opacity
}
div.fx .ce_image:last-child {
 position: absolute;
 width: 100%;
 top: 0;
 left: 0;
 z-index: 3;
 opacity: 0;
 transition: 1s opacity
}
div.fx:hover .ce_image:first-child {
 opacity: 0;
 transition: 1s opacity
}
div.fx:hover .ce_image:last-child {
 opacity: 1;
 transition: 1s opacity
}
@media all and (max-width: 995px) {
 html {
  font-size: 50%
 }
 h1 br,
 h2 br,
 h3 br,
 h4 br,
 h5 br,
 h6 br {
  display: none
 }
 h1,
 h2 {
  font-size: 3rem
 }
 h3 {
  font-size: 2.4rem
 }
 #index h1 {
  margin-top: 0
 }
 p:last-child .btn {
  margin-bottom: 1em
 }
 p:last-child .btn:last-child {
  margin: 0
 }
 .top-btn {
  bottom: 0;
  right: 0;
  z-index: 101;
  width: 6rem;
  height: 5rem;
  background-color: #fff
 }
 .nav-social {
  top: auto;
  bottom: 0;
  right: 6rem;
  z-index: 101;
  width: 15rem
 }
 .nav-social li {
  float: right;
  margin: 0
 }
 .nav-social a {
  width: 6rem;
  height: 5rem
 }
 #footer .-large-first + div ~ div {
  width: 100%
 }
 #kunden li {
  width: 100%;
  margin-bottom: 4rem
 }
 #kunden li:last-child {
  margin: 0
 }
 #kunden li img {
  height: 7rem
 }
 #news .inside > h2 {
  text-align: center
 }
 .mod_newslist {
  justify-content: center
 }
 .mod_newslist > div {
  margin-bottom: 8rem
 }
 .mod_newslist + div.ce_text {
  text-align: center
 }
 #news {
  padding-right: 0
 }
 #news .mod_newslist > div {
  margin: 0 1.5rem 8rem 1.5rem
 }
 #news .-large-col-4-3 .ce_text {
  padding-left: 10rem
 }
 #news .-large-col-4-3 .ce_text br {
  display: none
 }
 #news .-large-col-4-3 + div {
  order: -1
 }
 #news.blog .inside,
 #dl-text .inside {
  padding-right: 1.5rem
 }
 #dl-text .ce_text {
  padding: 0
 }
 #main .teaser > div {
  margin-bottom: 8rem;
  width: 100%
 }
 #main .teaser > div:last-child {
  margin: 0
 }
 #pakete .inside {
  width: 100%
 }
 #pakete .inside .-large-last {
  justify-content: center;
  margin: 0;
  height: auto;
  width: 100%;
  text-align: center
 }
 #pakete .inside a.btn {
  margin-right: 0
 }
 #ref {
  width: 100%
 }
 #ref li {
  max-width: 29rem;
  width: 48%
 }
 #ref + div {
  width: 100%;
  margin-right: 0
 }
 #presse .esel {
  width: 100%
 }
 .-large-first .ce_text.icon,
 .-large-last .ce_text.icon {
  margin-left: 0;
  margin-right: 2rem
 }
 #header .mod_search {
  position: fixed;
  bottom: 0;
  right: 23rem;
  z-index: 101;
  background: #fff;
  height: 5rem;
  padding-top: 0.75rem;
  padding-left: 1rem;
  margin: 0
 }
 #header .mod_search .widget input {
  border-color: #04339d;
  width: 30vw
 }
 .nav-social::before {
  content: '';
  display: block;
  height: 5rem;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: #fff
 }
 .nav-social li a {
  width: 5rem;
  height: 5rem;
  text-indent: -1000em;
  right: auto !important;
  background-position: center center !important;
  background-size: 4rem auto;
  padding: 0
 }
 .nav-social li a[title=Twitter] {
  background-size: 3.5rem auto
 }
 #footer .-large-first > div,
 #footer .-large-first + div > div {
  overflow: visible
 }
 .cookiebar__button {
  margin-top: 1rem
 }
 .-large-last {
  margin-bottom: 0
 }
}
