﻿@font-face{
 font-family: 'Roboto Slab';
 font-style: normal;
 font-weight: 300;
 src: local(''),
 url('../fonts/roboto-slab-v11-latin-300.woff2') format('woff2'),
 url('../fonts/roboto-slab-v11-latin-300.woff') format('woff')
}
@font-face{
 font-family: 'Roboto Slab';
 font-style: normal;
 font-weight: 400;
 src: local(''),
 url('../fonts/roboto-slab-v11-latin-regular.woff2') format('woff2'),
 url('../fonts/roboto-slab-v11-latin-regular.woff') format('woff')
}
@font-face{
 font-family: 'Roboto Slab';
 font-style: normal;
 font-weight: 600;
 src: local(''),
 url('../fonts/roboto-slab-v11-latin-600.woff2') format('woff2'),
 url('../fonts/roboto-slab-v11-latin-600.woff') format('woff')
}
@font-face{
 font-family: 'Roboto Slab';
 font-style: normal;
 font-weight: 900;
 src: local(''),
 url('../fonts/roboto-slab-v11-latin-900.woff2') format('woff2'),
 url('../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('../fonts/open-sans-v17-latin-300.woff2') format('woff2'),
 url('../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('../fonts/open-sans-v17-latin-regular.woff2') format('woff2'),
 url('../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('../fonts/open-sans-v17-latin-600.woff2') format('woff2'),
 url('../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('../fonts/open-sans-v17-latin-800.woff2') format('woff2'),
 url('../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 > a{
 padding-right: 2.8rem;
/* Pfeile sind nicht schön, Entwicklerseiten auf Handy mit Level 3 haben auch doppelte Pfeile
 background-image: url('../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 > 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: 3rem;
		height: 3rem;
		font-weight:bold;
		position: absolute;
		right: 0;
		top: 0
	}


	.nav-main li .level_2 label{
		display:none;
	}
	.nav-main li .level_3 a{
		font-weight: 300;
		line-height: 1;
		margin-bottom: 0;
		margin-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
	}
	.nav-main > label[for="hhmenu"]{
		font-size: 4rem;
		color: #04339d;
		display: inline-block;
		line-height: 1;
		position: absolute;
		right: 3rem;
		top: -6.5rem;
		cursor: pointer;
		box-sizing: border-box;
	}
}

* {
 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,
address 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;*/
}
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,
img + 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,
img + 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,
img + 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,
img + 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
}

p.small{
 font-size: 1.4rem;
}
a.btn{
 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 + 0.5em + 0.5em);
 padding: 0.5em 1.5em 0.5em 1.5em;
 margin-right: 6rem;
 margin-bottom: 1em;
}
a.btn::after{
 content: '';
 display: inline-block;
 height: 1.25em;
 width: 1.95em;
 margin-left: 0.5em;
 vertical-align: sub;
 background-repeat: no-repeat;
 background-position: 0 center;
 background-size: contain;
 transition: 0.5s all;
}
a.btn:hover::after{
 background-position: 0.4em center;
 transition: 0.5s all;
}
a.btn.red{
 background-color: #990000;
 color: #fff;
}
a.btn.darkblue{
 background-color: #04339D;
 color: #fff;
}
a.btn.red::after,
a.btn.darkblue::after{
 background-image: url("/layout/img/btn-pfeil-weiss.svg");
}
a.btn.blue{
 background-color: #F5F7FB;
 color: #04339D;
}
a.btn.blue::after{
 background-image: url("/layout/img/btn-pfeil-blau.svg");
}
a.btn.white{
 background-color: #fff;
 color: #990000;
}
a.btn.white::after{
 background-image: url("/layout/img/btn-pfeil-rot.svg");
}
button{
 display: inline-block;
 text-decoration: none;
 font-size: 2rem;
 font-family: 'Open Sans';
 font-weight: 800;
 border: none;
 border-radius: calc(2rem + 0.5em + 0.5em);
 padding: 0.5em 1.5em 0.5em 1.5em;
 margin-right: 6rem;
 margin-bottom: 1em;
}

#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('../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('../img/icon-plus.svg');
 background-repeat: no-repeat;
 background-position: left center;
 background-size: 2rem auto
}
.ce_accordion .toggler.active::after{
 background-image: url('../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
}
.download{
 text-decoration: none;
 font-size: 1.6rem;
 font-weight: 600;
 display: inline-block;
 margin-left: -3rem;
 padding: 0 3rem;
 background-image: url('../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('../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('../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('../img/icon-twitter.svg');
 background-size: 4.5rem auto
}
.nav-social li a[title=Facebook]{
 background-image: url('../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('../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('../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('../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('../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('../img/icon-ordnung.svg')
}
.ce_text.icon.textsuche{
 background-image: url('../img/icon-textsuche.svg')
}
.ce_text.icon.archiv{
 background-image: url('../img/icon-archiv.svg')
}
.ce_text.icon.info{
 background-image: url('../img/icon-info.svg')
}
.ce_text.icon.office{
 background-image: url('../img/icon-office.svg')
}
.ce_text.icon.weiter{
 background-image: url('../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('../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
}



/* dies in support/sql/ löschen */
a[href$=".pdf"]{
	padding-right:24px;
	background:url("../../layout/img/icon-pdf.svg") no-repeat right center;
	background-size:1em 1em;
}


footer{
	margin: 8rem 0 0;
	padding: 6rem 0 6rem;
	background: #f5f7fb;
	font-size: 1.6rem;
}
footer .footer-block{
	flex: 1 1 18rem;
	min-width: 23rem;
	margin-top:2rem;
	white-space: nowrap;
}
footer .cta{
	display: contents;
}
footer .footer-block.footer-contact{
	flex: 1 1 26rem;
	min-width: 26rem;
}
footer nav.footer-blocks{
	display: contents;
}
footer a{
	text-decoration: none;
}
footer a:hover{
	text-decoration: underline;
	text-decoration-color: #04339d;
}
footer h2{
	margin-top:0;
	margin-bottom:2em;
	font-size: 2.5rem;
}
footer h3{
	margin: 0 0 0.6em;
	font-weight: 800;
	font-size: 2rem;
}
footer ul{
	list-style: none;
	margin: 0;
	padding: 0;
	line-height:1.9;
}
footer address{
	font-style: normal;
	line-height: 1.5;
	margin-bottom: 1.5rem;
}
footer address span{
	display: inline-block;
	width: 7rem;
}
footer .footer-bottom{
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #d3dbed;
	text-align: center;
}
footer .legal-links{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
}
footer .legal-links li{
	display: flex;
	align-items: center;
}
footer .legal-links li:not(:last-child):after{
	content: "\2022";
	margin-left: 10px;
	pointer-events: none;
	speak: none;
}
@media (max-width: 480px){
	footer .legal-links{
		flex-direction: column;
		gap: 10px;
	}
	footer .legal-links li:after{
		display: none;
	}
}
@media (hover: none) and (pointer: coarse){
	footer nav ul{
		line-height:2;
	}
}

@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 .cta{
		display: revert;
	}
 #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
 }
 .cookiebar__button{
  margin-top: 1rem
 }
 .-large-last{
  margin-bottom: 0
 }
}
