@font-face{
    font-family:"plan";
    src:url("https://s3-eu-west-1.amazonaws.com/fonts-ireland.typotheque.com/WF-018299-001938-000412-1375751473.eot");
    src:url("https://s3-eu-west-1.amazonaws.com/fonts-ireland.typotheque.com/WF-018299-001938-000412-1375751473.eot?#iefix") format("embedded-opentype"),url("https://s3-eu-west-1.amazonaws.com/fonts-ireland.typotheque.com/WF-018299-001938-000412-1375751473.woff") format("woff"),url("https://s3-eu-west-1.amazonaws.com/fonts-ireland.typotheque.com/WF-018299-001938-000412-1375751473.svg#typotheque_webfonts_service") format("svg");
    font-style:normal;
    font-weight:300;
    font-stretch:normal
}
@font-face{
    font-family:"plan";
    src:url("https://s3-eu-west-1.amazonaws.com/fonts-ireland.typotheque.com/WF-018299-001938-000416-1375751476.eot");
    src:url("https://s3-eu-west-1.amazonaws.com/fonts-ireland.typotheque.com/WF-018299-001938-000416-1375751476.eot?#iefix") format("embedded-opentype"),url("https://s3-eu-west-1.amazonaws.com/fonts-ireland.typotheque.com/WF-018299-001938-000416-1375751476.woff") format("woff"),url("https://s3-eu-west-1.amazonaws.com/fonts-ireland.typotheque.com/WF-018299-001938-000416-1375751476.svg#typotheque_webfonts_service") format("svg");
    font-style:normal;
    font-weight:400;
    font-stretch:normal
}
body{
    background:#fff;
    background-color:#eeeeee;
    background:linear-gradient(90deg, #ddd, #fff, #fff);
    transition:0.4s all;
    position:relative;
    left:0;
    font-family:'plan';
    font-weight:300;
    font-size:1rem;
    line-height:1.4rem;
    color:#333
}
h1,h2,h3,h4,h5,h6{
    font-family:"plan",serif;
    font-weight:400;
    color:#2b2b2b
}
h1{
    font-size:2.75rem;
    line-height:1.25
}
h2{
    font-size:1.5rem;
    line-height:2rem;
    font-weight:400
}
h3{
    font-size:1.25rem;
    line-height:1.2;
    margin-bottom:0.75rem;
    font-weight:300
}
h4{
    font-size:1.5rem;
    margin:2rem 0 1rem;
    font-weight:300
}
a,a:visited{
    color:gray;
    text-decoration:none;
    transition:0.2s all
}
a:hover,a:active{
    color:#000;
    text-decoration:none;
    transition:0.2s all
}
p{
    margin:0;
    margin-bottom:0.75rem
}
.artikel p{
    line-height:1.55;
    font-size:1.125rem
}
ul{
    list-style-type:none;
    padding:0;
    margin:0
}
#headtrigger{
    position:absolute;
    top:25vh;
    height:0;
    width:0
}
#uptrigger{
    position:absolute;
    top:100vh;
    height:0;
    width:0
}
#map{
    width:100%;
    height:24rem
}
#indexnews li{
    float:left;
    margin-bottom:2rem
}
.trenner{
    height:1px;
    border:0;
    background:#d0d0d0
}
.links{
    background:#f2f2f5;
    overflow:hidden;
    display:flex;
    flex-direction:row
}
.links a img{
    float:left
}
.rechts{
    background:#ffffff;
    overflow:hidden;
    display:flex;
    flex-direction:row-reverse
}
.rechts a img{
    float:right
}
.headline{
    margin:3rem 0 1rem 0
}
.headline h2{
    font-size:2rem;
    font-weight:400;
    padding:1.5rem 0 1rem
}
#up{
    z-index:9999;
    position:fixed;
    margin-bottom:-3rem;
    bottom:0;
    right:1rem;
    background:transparent;
    color:white;
    height:3rem;
    width:3rem;
    transition:0.5s margin
}
#up.show{
    margin-bottom:4rem;
    transition:0.3s margin
}
footer{
    line-height:1.35rem;
    font-size:0.75rem;
    padding:3rem 0;
    text-transform:uppercase
}
footer a{
    border-bottom:1px dotted
}
footer a:hover{
    border-bottom:1px solid
}
.swiper-slide{
    background:#fff;
    padding:0 1rem;
    margin:0;
    max-width:100%;
    box-sizing:border-box
}
.contentbox{
    min-height:12rem;
    background:#fff;
    padding:0.5rem;
    border:1px solid #d9d9db;
    border-radius:0.5rem;
    margin-bottom:1.5rem;
    overflow:hidden;
    font-size:1rem
}
.contentbox img{
    border-radius:0.5rem;
    width:100%
}
.contentbox ul li{
    list-style-type:disc;
    margin-left:1rem
}
a.buttonlink{
    text-decoration:underline;
    font-weight:400;
    padding:0.25rem 0.5rem;
    color:#222;
    border-radius:4px;
    white-space:nowrap
}
a.morelink{
    color:#BD1719;
    white-space:nowrap;
    text-decoration:underline
}
a.morelink:hover{
    transition:0.2s all;
    text-decoration:none
}
a.morelink{
    background:url(../var/img/menu_arrows.png) 0px 8px no-repeat;
    padding:4px 0px 4px 24px
}
.contentbox a{
    text-decoration:underline
}
.contentbox a:hover{
    text-decoration:none
}
label{
    margin:0 0 0.5rem 0
}
input[type='text'],input[type='email'],textarea{
    width:100%;
    padding:0.5rem 1rem;
    box-sizing:border-box;
    margin-bottom:1rem;
    clear:both;
    background:#fff;
    border:1px solid #ccc
}
select{
    padding:0.5rem 1rem;
    box-sizing:border-box;
    margin-bottom:1rem;
    border:0;
    -webkit-appearance:none
}
input[type='submit']{
    display:bXXXlock;
    border:0;
    background:#555;
    color:white;
    padding:0.5rem 1rem;
    cursor:pointer
}
input[type='submit']:hover{
    background:#999
}
.greybox{
    text-align:center;
    background:linear-gradient(90deg, #ccc, #f4f4f4);
    display:block;
    border-radius:0.5rem
}
.greybox.active{
    text-align:center;
    background:linear-gradient(90deg, #e67470, #742929);
    color:white;
    display:block;
    border-radius:0.5rem
}
.greybox a{
    color:#C51A1B;
    font-weight:400;
    position:relative;
    z-index:2;
    display:block;
    padding:0.925rem 0
}
.greybox a:active{
    text-decoration:none
}
.greybox.active a{
    color:white
}
.greybox img{
    position:absolute;
    height:4vw;
    max-height:38px;
    bottom:-16px;
    left:24px;
    z-index:1
}
.dform_container{
    display:block;
    overflow:hidden
}
.dform_container .checkboxes li{
    float:left;
    padding:0.5rem 1rem 0;
    margin-right:2rem;
    background:#fff;
    margin-bottom:0.5rem
}
.dfcolumns .column:last-child{
    border:5px dashed red
}
.dform_error{
    color:#C51A1B;
    font-weight:400;
    margin:-0.75rem 0 1rem
}
.dfcolumns .column{
    padding:0 0.5rem 0 0;
    float:left
}
.dfcolumns .column:last-child{
    border:5px dashed red
}
.dfcolumns .column-last{
    padding:0 0 0 0.5rem
}
@media (max-width: 576px){
    .dfinput_full{
        text-align:center
    }
    .dform_container ul.checkboxes{
        margin-bottom:1rem;
        overflow:hidden
    }
    .dform_container .checkboxes li{
        float:left;
        padding:0.5rem 1rem 0;
        margin-right:2rem;
        background:#fff;
        margin-bottom:0.5rem;
        width:100%
    }
}
#contactform input[type='text']{
    width:100%;
    padding:0.25rem 0.5rem;
    box-sizing:border-box;
    margin-bottom:0.5rem
}
#contactform textarea{
    width:100%;
    padding:0.25rem 0.5rem;
    box-sizing:border-box;
    margin-bottom:0.5rem
}
#contactform input[type='submit']{
    display:block;
    border:0;
    background:orange;
    color:white;
    padding:0.5rem 1rem;
    cursor:pointer
}
#contactform input[type='submit']:hover{
    background:green
}
.kategoriebox{
    margin-bottom:1.25rem
}
.kategoriebox img{
    width:100%;
    max-width:100%;
    height:10rem;
    background:#aaa
}
.kategoriebox h3{
    font-family:'Roboto';
    font-size:1.5rem;
    font-weight:500;
    color:#2b2b2b
}
@media (max-width: 576px){
    .kategoriebox img{
        width:25%;
        margin-right:1rem;
        float:left;
        clear:left
    }
    .kategoriebox h3{
        float:left
    }
}
.kontaktslider{
    background:#f5f5f7;
    padding:2rem 2rem;
    position:fixed;
    top:0;
    z-index:1001;
    width:100%;
    height:100%;
    box-sizing:border-box;
    transform:translate3d(100%, 0, 0);
    transition:transform 0.4s;
    transition-timing-function:cubic-bezier(0.7, 0, 0.3, 1)
}
.projektslider{
    background:#f5f5f7;
    padding:2rem 2rem;
    position:fixed;
    top:0;
    z-index:1001;
    width:100%;
    height:100%;
    box-sizing:border-box;
    transform:translate3d(-100%, 0, 0);
    transition:transform 0.4s;
    transition-timing-function:cubic-bezier(0.7, 0, 0.3, 1)
}
.fromtop{
    transform:translate3d(0, -100%, 0)
}
.fromright{
    transform:translate3d(100%, 0, 0)
}
.frombottom{
    transform:translate3d(0, 100%, 0)
}
.fromleft{
    transform:translate3d(-100%, 0, 0)
}
.toggle{
    transform:translate3d(0, 0, 0);
    transition:transform 0.8s;
    transition-timing-function:cubic-bezier(0.7, 0, 0.3, 1)
}
#navtoggler{
    position:fixed;
    z-index:9999;
    top:0.75rem;
    right:1rem;
    height:2rem;
    width:2rem;
    background:white;
    cursor:pointer;
    line-height:2rem;
    text-align:center;
    font-size:14px
}
#navtoggler:active{
    background:#f7f7f7
}
#mobilenav{
    position:fixed;
    top:-100vh;
    padding:5rem 1.5rem;
    box-sizing:border-box;
    transition:0.6s all;
    height:100%;
    width:100%;
    z-index:1998;
    background:#f0f0f0
}
#mobilenav.show{
    top:0;
    transition:0.6s all;
    height:100%
}
.header{
    top:0;
    left:0;
    border-bottom:1px solid #dededf;
    transition:all 0.3s;
    z-index:1999;
    background:#fff;
    width:100%;
    padding:1rem 0 1rem;
    position:fixed
}
#headerspacer{
    height:3.4rem
}
body.kompakt{
    max-height:100%;
    overflow:hidden
}
#nav{
    float:right;
    font-size:1rem;
    flex-direction:row;
    transition:none
}
ul.mobilenav{
    display:flex;
    flex-direction:column;
    justify-content:center
}
.mobilenav li{
    background:#fff;
    padding:0.5rem;
    margin-bottom:1rem;
    flex:0 0 auto;
    text-align:center
}
.katnav{
    font-size:1.6vw
}
@media (min-width: 768px){
    #navtoggler{
        top:-120vh;
        transition:0.5s all
    }
    #nav{
        position:relative;
        top:0;
        right:0;
        z-index:1009;
        background:none;
        height:auto;
        width:none;
        float:right;
        font-size:1rem;
        flex-direction:row;
        transition:none
    }
    #nav.visible{
        position:relative;
        top:none;
        transition:none;
        width:100%
    }
    #nav li{
        margin-left:1rem;
        float:left
    }
    #nav li:first-child{
        margin-left:0rem
    }
    #nav li a{
        color:#666
    }
    #nav li a.active{
        border-bottom:2px solid
    }
    #nav li a:hover{
        color:#2b2b2b
    }
    #leistungsnav{
        position:relative;
        top:0;
        right:0;
        float:right
    }
    #leistungsnav li{
        margin-left:1rem;
        float:left;
        padding:0.75rem 0 0.75rem 0.5rem
    }
    #leistungsnav li:first-child{
        margin-left:0rem
    }
    #leistungsnav a.active{
        border-bottom:2px solid
    }
    ul.dreispalter{
        column-count:4
    }
}
@media (min-width: 960px){
    .katnav{
        font-size:0.925rem
    }
}
#sidenav{
    overflow-y:scroll;
    -webkit-overflow-scrolling:touch;
    position:fixed;
    top:0px;
    height:100%;
    z-index:1000;
    background:#e8e8ec;
    background:linear-gradient(90deg, #ccc, #ddd, #eee);
    padding:5.5rem 1.5rem 1.5rem;
    width:420px;
    left:-420px;
    color:#fff;
    transition:0.4s all
}
#sidenav.show{
    left:0px
}
body.show{
/*    left:420px;*/
/*    overflow:hidden;
    position:fixed;*/
    transition:0.4s all
}
#sidenav>ul{
    border-top:1px solid #cccccf;
    padding-top:0.5rem;
    margin-top:1.5rem
}
#sidenav>ul>li{
    border-bottom:1px solid #cccccf;
    padding-bottom:0.5rem;
    margin-bottom:0.5rem
}
#sidenav>ul>li>a{
    font-weight:400;
    margin:0.75rem 0 0.25rem 0;
    display:block;
    color:#666
}
#sidenav>ul>li>a:hover{
    color:#333
}
#sidenav>ul>li>a:before{
    content:url("../var/img/pfeil_klein.png")
}
#sidenav>ul>li>ul{
    margin-left:1rem
}
#sidenav>ul>li>ul a:before{
    content:url("../var/img/pfeile_klein.png")
}
#sidenav a,#sidenav a:visited{
    color:#555
}
#sidenav a:hover{
    color:#222
}
#sidenav>ul>li:nth-child(1),#sidenav>ul>li:nth-child(2){
    border-bottom:none;
    padding:0;
    margin:0
}
/*# sourceMappingURL=styles.css.map */
 