



/*===========================================================================================*/
/* Preloader ------------------------- */
/*===========================================================================================*/

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255,255,255,1);
    z-index: 9999;
    display: block;
}

#preloader .loader {
    width: 32px;
    height: 32px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -16px 0 0 -16px;
    text-align: center;
}

#preloader .loader .loader-img {
    background: url("../grafix/loading.gif");
    width: 32px;
    height: 32px;
    display: block;
}


.isr-report-image {
    border:1px solid #f0f0f0;
}
.logo {
    display:block;
    margin-top:2.5rem;
}
@media (max-width: 991.95px) {
    .logo {
        margin-top:1.35rem;
    }      
}

@media (max-width: 767.95px) {
    .logo {
        margin-top:0.5rem;
    }   
}


img {
    height: auto;
    max-width: 100%;
    border: none;
    outline: none;
    transition: all 0.2s ease 0s;
    -moz-transition: all 0.2s ease 0s;
    -webkit-transition: all 0.2s ease 0s;
    -o-transition: all 0.2s ease 0s;
}

.mediaelement-image img {
    border:1px solid #fcdf9d;
}

.bg-img {
    background-size: contain;
    background-repeat: no-repeat;
}

blockquote {
    font-size:1.4rem;
    font-weight:400;
    margin-bottom:0.25rem;
    margin-top:1rem;
    padding-top:2.5rem;
    border-top:1px solid #fcdf9d;
}


.br-1 {
    border-right:1px solid #fcdf9d;
}
.bb-1 {
    border-bottom:1px solid #fcdf9d;
}

.overlay-light {
    background-color:rgba(255,255,255,0.95);
}

a {
    transition: all 0.27s cubic-bezier(0, 0, 0.58, 1) 0s;
    -o-transition: all 0.27s cubic-bezier(0, 0, 0.58, 1) 0s;
    -moz-transition: all 0.27s cubic-bezier(0, 0, 0.58, 1) 0s;
    -webkit-transition: all 0.27s cubic-bezier(0, 0, 0.58, 1) 0s;
}  

#main h2 {
    padding-top:1.25rem;
    font-weight:500;
}
#main h3 {
    padding-top:0.9rem;
}

#main ul, #main li {
    padding: 0;
    margin: 0;
    list-style: none;
}

#main ul {
    margin: 6px 0;
}

#main li {
    margin-bottom:4px;
    margin-left: 1.9em;
}

#main li:before {
    content:"\f138";
    font-family: 'FontAwesome';
    float: left;
    margin-left: -1.5em;
    margin-top:2px;
    color:#fcab00;
    font-size:80%;
}
#main .page-navigation li {
    margin-left:0;
}

#main .page-navigation li:before {
    content:"";
    font-family: 'FontAwesome';
    float: left;
    margin-left: 0em;
    margin-top:0px;
    color:#fcab00;
    font-size:80%;
}

.navbar-nav .nav-link:hover, 
.navbar-nav .nav-link:focus,
.active .nav-link {
    background-color:#343a40;
}

/* LIGHTBOX */

#imagelightbox {
    position: fixed;
    z-index: 9999;
    -ms-touch-action: none;
    touch-action: none;
}


/* SLIDER */

.slider-text {
    height:500px;
}

@media (max-width: 1200px) {
    .slider-text {
        height:410px;
    }  
}    
    
    
@media (max-width: 992px) {
    .slider-text {
        height:310px;
        text-align:right;
        
    }
}
@media (max-width: 768px) {

    .slider-text {
        height:210px;
        padding:140px 10px 80px 10px;
    }
}


.js-slider {
    overflow: hidden;
}
.owl-nav {
    position: static;
}
.owl-carousel.white .owl-page span {
    background: none repeat scroll 0 0 #fff;
}
.owl-carousel.white .owl-page.active span {
    background: rgba(0, 0, 0, 0);
    border: 2px solid #fff;
}
.js-slider .owl-nav .owl-prev,
.js-slider .owl-nav .owl-next {
    background: rgba(245,245,245,0.8);
    color: #252525;
    display: block;
    top: 50%;
    transition: all 0.25s ease 0s;
    -o-transition: all 0.25s ease 0s;
    -moz-transition: all 0.25s ease 0s;
    -webkit-transition: all 0.25s ease 0s;
    z-index: 3;
    position: absolute;
    text-align: center;
}

.js-slider .owl-nav .owl-prev:hover,
.js-slider .owl-nav .owl-next:hover {
    color: #fcab00;
}

.js-slider .owl-nav .owl-next {
    right: 0;
}


.js-slider:hover .owl-nav .owl-prev,
.js-slider:hover .owl-nav .owl-next {
    margin-right: 0;
    margin-left: 0;
    opacity: 1;
}

.js-slider .owl-dots {
    position: absolute;
    z-index: 200;
    bottom: 15px;
    left: 0;
    text-align: center;
    width: 100%;
}

.owl-dots .owl-dot {
    display: inline-block;
    zoom: 1;
}

.owl-dots .owl-dot span {
    width: 10px;
    height: 10px;
    margin: 5px 7px;
    background: #D6D6D6;
    display: block;
    -webkit-backface-visibility: visible;
    transition: opacity .2s ease;
    border-radius: 30px;
}

.owl-dots .owl-dot.active span, 
.owl-dots .owl-dot:hover span {
    background: #869791;
}

.js-slider .owl-nav .owl-prev,
.js-slider .owl-nav .owl-next {
    width: 51px;
    height: 51px;
    line-height: 51px;
    font-size: 21px;
    margin-top: -25px;
}

.js-slider .owl-nav .owl-prev {
    left: 0;
    margin-left: -10px;
    opacity: 1;
}

.js-slider .owl-nav .owl-next {
    right: 0;
    margin-right: -10px;
    opacity: 1;
}

.owl-item p {
    background-color:rgba(255,255,255,0.95);
    padding:0.3rem 1rem 0.3rem 1rem;
    display:inline-block;
    font-weight:400;
}
.owl-item h3 {
    font-weight:400;
}

/* FLYIN */
.flyin .btn {
    margin-bottom:4px;
}

.flyin .ce-bodytext {
    height:140px;
    display:table-cell;
    vertical-align:middle;
}

@media (max-width: 1200px) {
    .flyin .btn {
        font-size:0.9rem;
    }
}
@media (max-width: 992px) {
    .flyin p {
        font-size:0.9rem;
    }
    .flyin .btn {
        font-size:0.9rem;
    }
}
@media (max-width: 768px) {
    
}
@media (max-width: 576px) {
    .flyin .ce-gallery img {
        width:100px;
        height:auto;
    }
    .flyin .ce-bodytext {
        vertical-align: top;
    }
}

/* MAP */
.mapbox {
    background-color:#5c6b7e;
}

.map {
    width: 100%;
    height: 500px;
    background-image:url('../grafix/map_preload.png');
    background-size:cover;
    background-repeat:none;
}

#map {
    height: 100%;
}


/* BOXES */
.box-banner {
    background-color:#c1c7ce;
    height:210px;
}

@media (max-width: 1200px) {
    .box-banner {
        height:150px;
    }
}

@media (max-width: 992px) {
    .box-banner {
        height:125px;
    }
}
@media (max-width: 768px) {
     .box-banner {
        height:175px;
        margin-bottom:1rem;
    }
}

/* VIDEO */

.responsive-video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
}
.responsive-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* FOOTER */

.footer {
    background-color:#fcab00;
    color:#fff;
}

.footer h5,
.footer a {
    color:#fff;
}

.btn-footer {
  font-size:0.9rem;
  text-transform:uppercase;
  letter-spacing:0.1rem;
  font-weight:400;
  position:relative;
  vertical-align: middle;
  color: #fff;
  display: block;
  height: 34px;
  line-height: 34px;
  text-align: left;
  transition: 0.5s;
  padding: 0 0px;
  cursor: pointer;
  border: 1px solid #fcab00;
  -webkit-transition:0.5s;
  
}

.btn-footer:hover {
  border: 1px solid rgba(0,160,80,0);
  color: #000;
}

.btn-footer::before, .btn-footer::after {
  width: 100%;
  height:100%;
  z-index: 3;
  content:'';
  position: absolute;
  top:0;
  left:0;
  box-sizing: border-box;
  -webkit-transform: scale(0);
  transition: 0.5s;
}

.line::before {
  border-bottom: 1px solid #000;
  border-left: 0;
  -webkit-transform-origin: 0% 100%;
}

.line::after {
  border-top: 0;
  border-right: 0;
  -webkit-transform-origin: 50% 50%;
}

.btn-footer:hover::after, .btn-footer:hover::before {
  -webkit-transform: scale(1);
}

.footer-logo {
    width:38%;
}

.copyright {
    color:#bbb;
}


.vcard {
    border-top:1px solid #ccc;
}
.vcard:first-child {
    border-top:0;
}

.vcard h4 {
    margin:0;
    padding:0;
    
}
.vcard img.photo {
    float:left;
    margin-right:0.75rem;
    
}


.navbar-fixed {
    position:fixed;
    top:0;
    width:100%;
    z-index:1000;
}


/* ----------------------------------*/
/* Scroll Top Arrow */
/* ----------------------------------*/
.scroll-top {
    width: 40px;
    height: 40px;
    line-height: 40px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    text-align: center;
    font-size: 20px;
    background: #fcab00;
    border:1px solid #fff;
    border-radius:0.2rem;
    color: #fff;
    z-index: 99;
    display: none;
    transition: none;
    -o-transition: none;
    -moz-transition: none;
    -webkit-transition: none;
    
}

    .scroll-top:hover {
        background: #444;
        text-decoration: none;
        color: #fff;
    }

@media (max-width: 768px) {
    .scroll-top {
        opacity: 0;
        visibility: hidden;
    }
}


/* ===================================================================================================== */
/* Contants (Portfolio, Blog, Shop, etc) -------------------  */
/* ===================================================================================================== */
.col.container-grid {
    padding-left:0;
    padding-right:0;
}
.col.container-masonry {
    padding-left:0;
    padding-right:0;
}
.container.nf-container1 {
    padding-left: 15px;
    padding-right: 15px;
}

.container.nf-container2 {
    /*padding-left: 25px;
    padding-right: 25px;*/
}

.nf-row1 {
    margin-left: -15px;
    margin-right: -15px;
    /*overflow: hidden;*/
}

.nf-col-padding {
    padding-left: 25px;
    padding-right: 25px;
}

.nf-row2 {
    /*margin-left: -25px;
    margin-right: -25px;*/
}

    .nf-row1:before, .nf-row1:after, .nf-row2:before, .nf-row2:after {
        display: table;
        content: " ";
    }

    .nf-row1:after, .nf-row2:after {
        clear: both;
    }

.nf-row1 .nf-item.spacing, .nf-row1 .grid-sizer.spacing {
    padding: 15px;
}


.nf-row2 .nf-item.spacing, .nf-item.spacing, .nf-row2 .grid-sizer.spacing, .spacing-box {
    padding: 5px;
}

.spacing-grid {
    padding-top: 25px;
    padding-bottom: 25px;
}

.nf-col-1 .nf-item, .nf-col-1 .grid-sizer {
    width: 100%;
    min-height: 1px;
}

.nf-col-2 .nf-item, .nf-col-2 .grid-sizer {
    width: 50%;
    min-height: 1px;
}

.nf-col-3 .nf-item, .nf-col-3 .grid-sizer {
    width: 33.3333%;
    min-height: 1px;
}

.nf-col-4 .nf-item, .nf-col-4 .grid-sizer {
    width: 25%;
    min-height: 1px;
}

.nf-col-5 .nf-item, .nf-col-5 .grid-sizer {
    width: 20%;
    min-height: 1px;
}

.nf-col-6 .nf-item, .nf-col-6 .grid-sizer {
    width: 16.6666%;
    min-height: 1px;
}

.nf-col-1 .nf-item.w1, .nf-col-2 .nf-item.w1, .nf-col-3 .nf-item.w1, .nf-col-4 .nf-item.w1 {
    width: 100%;
}

.nf-col-1 .nf-item.w2, .nf-col-2 .nf-item.w2, .nf-col-3 .nf-item.w2, .nf-col-4 .nf-item.w2 {
    width: 50%;
}

.nf-col-1 .nf-item.w3, .nf-col-2 .nf-item.w3, .nf-col-3 .nf-item.w3, .nf-col-4 .nf-item.w3 {
    width: 33.3333%;
}

.nf-col-1 .nf-item.w4, .nf-col-2 .nf-item.w4, .nf-col-3 .nf-item.w4, .nf-col-4 .nf-item.w4 {
    width: 25%;
}

.nf-col-1 .nf-item.w4-2, .nf-col-2 .nf-item.w4-2, .nf-col-3 .nf-item.w4-2, .nf-col-4 .nf-item.w4-2,
.nf-col-1 .nf-item.w3-2, .nf-col-2 .nf-item.w3-2, .nf-col-3 .nf-item.w3-2, .nf-col-4 .nf-item.w3-2 {
    width: 50%;
}

.nf-col-1 .nf-item.w4-1, .nf-col-2 .nf-item.w4-1, .nf-col-3 .nf-item.w4-1, .nf-col-4 .nf-item.w4-1 {
    width: 75%;
}

.nf-col-1 .nf-item.w3-1, .nf-col-2 .nf-item.w3-1, .nf-col-3 .nf-item.w3-1, .nf-col-4 .nf-item.w3-1 {
    width: 66.6666%;
}

@media (max-width: 991px) {
    .nf-col-2 .nf-item, .nf-col-3 .nf-item, .nf-col-4 .nf-item,
    .nf-col-1 .nf-item.w2, .nf-col-2 .nf-item.w2, .nf-col-3 .nf-item.w2, .nf-col-4 .nf-item.w2,
    .nf-col-1 .nf-item.w3, .nf-col-2 .nf-item.w3, .nf-col-3 .nf-item.w3, .nf-col-4 .nf-item.w3,
    nf-col-1 .nf-item.w4, .nf-col-2 .nf-item.w4, .nf-col-3 .nf-item.w4, .nf-col-4 .nf-item.w4,
    .nf-col-1 .nf-item.w4-1, .nf-col-2 .nf-item.w4-1, .nf-col-3 .nf-item.w4-1, .nf-col-4 .nf-item.w4-1,
    .nf-col-1 .nf-item.w3-1, .nf-col-2 .nf-item.w3-1, .nf-col-3 .nf-item.w3-1, .nf-col-4 .nf-item.w3-1 {
        width: 50%;
    }

    .nf-col-5 .nf-item, .nf-col-6 .nf-item {
        width: 33.3333%;
    }



    .nf-row2 .nf-item.spacing, .nf-row2 .grid-sizer.spacing {
        padding: 25px;
    }
}

@media (max-width: 767px) {

    .container {
        margin: 0 auto;
        max-width: 480px;
        width: 100%;
    }

    .nf-col-padding {
        padding-left: 15px;
        padding-right: 15px;
    }

    .spacing-grid {
        padding-top: 15px;
        padding-bottom: 15px;
    }


    .nf-col-2 .nf-item, .nf-col-3 .nf-item, .nf-col-4 .nf-item,
    .nf-col-1 .nf-item.w2, .nf-col-2 .nf-item.w2, .nf-col-3 .nf-item.w2, .nf-col-4 .nf-item.w2,
    .nf-col-1 .nf-item.w3, .nf-col-2 .nf-item.w3, .nf-col-3 .nf-item.w3, .nf-col-4 .nf-item.w3,
    nf-col-1 .nf-item.w4, .nf-col-2 .nf-item.w4, .nf-col-3 .nf-item.w4, .nf-col-4 .nf-item.w4,
    .nf-col-1 .nf-item.w4-1, .nf-col-2 .nf-item.w4-1, .nf-col-3 .nf-item.w4-1, .nf-col-4 .nf-item.w4-1,
    .nf-col-1 .nf-item.w3-1, .nf-col-2 .nf-item.w3-1, .nf-col-3 .nf-item.w3-1, .nf-col-4 .nf-item.w3-1 {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
    }

    .nf-col-3, .nf-col-4 {
        margin: 0 auto;
        max-width: 480px;
    }

    .nf-col-5 .nf-item, .nf-col-6 .nf-item {
        width: 100%;
    }

    .nf-row2 .nf-item.spacing, .nf-row1 .nf-item.spacing, .spacing-box {
        padding: 15px;
    }

    .xs-hidden {
        visibility: hidden !important;
        display: none !important;
        opacity: 0;
    }
}

@media (max-width: 480px) {

    .nf-col-5 .nf-item, .nf-col-6 .nf-item {
        width: 100%;
    }
}

/* ----------------------------------------------------------------------*/
/* Portfolio   --------------------------------------------------------- */
/* ----------------------------------------------------------------------*/
.container-filter {
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 30px;
    padding: 0;
    text-align: center;
}

    .container-filter li {
        list-style: none;
        display: inline-block;
    }

        .container-filter li a {
            display: block;
            margin-left: 15px;
            margin-right: 15px;
            text-transform: uppercase;
            letter-spacing: 2px;
            font-size: 12px;
            font-weight: 600;
            font-family: 'Raleway', sans-serif;
        }

            .container-filter li a.active {
                color: #e6ae49;
            }

.item-box {
    position: relative;
    overflow: hidden;
    display: block;
    border:1px solid #fcdf9d;
}

    .item-box a {
        display: inline-block;
    }

    .item-box:hover .item-mask {
        opacity: 1;
        visibility: visible;
    }

        .item-box:hover .item-mask .item-caption {
            bottom: 30px;
            opacity: 1;
        }

    .item-box:hover .item-container {
        transform: scale(1.1);
        transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
        width: 100%;
    }

.item-container {
    transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    width: 100%;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.item-mask {
    background: none repeat scroll 0 0 rgba(0, 0, 0, 0.7);
    height: 100%;
    position: absolute;
    transition: all 0.5s ease-in-out 0s;
    -moz-transition: all 0.5s ease-in-out 0s;
    -webkit-transition: all 0.5s ease-in-out 0s;
    -o-transition: all 0.5s ease-in-out 0s;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
}

    .item-mask h5, .item-mask h6, .item-mask p {
        margin-bottom: 0px;
    }

    .item-mask p {
        text-transform: uppercase;
        font-size: 11px;
        letter-spacing: 1.5px;
        font-weight: 400;
        margin-top: 0;
        text-align: left;
    }

    .item-mask .item-caption {
        position: absolute;
        bottom: -60px;
        left: 0px;
        padding-left: 30px;
        padding-right: 30px;
        text-align: left;
        transition: all 0.5s ease-in-out 0s;
        -moz-transition: all 0.5s ease-in-out 0s;
        -webkit-transition: all 0.5s ease-in-out 0s;
        -o-transition: all 0.5s ease-in-out 0s;
        opacity: 0;
    }

.project-detail-block p {
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

ul.project-detail-block, .project-detail-block ul {
    padding-left: 0;
}

.project-detail-block li {
    list-style: none;
}

.project-detail-block p strong {
    display: inline-block;
    width: 110px;
}

.item-nav {
    text-align: center;
    display: block;
    overflow: hidden;
}

    .item-nav .item-prev, .item-nav .item-next, .item-nav .item-all-view {
        position: relative;
        display: inline-block;
    }

        .item-nav .item-all-view h5, .item-nav .item-all-view h6 {
            transition: all 0.3s ease 0s;
            -moz-transition: all 0.3s ease 0s;
            -webkit-transition: all 0.3s ease 0s;
            -o-transition: all 0.3s ease 0s;
        }

            .item-nav .item-all-view h5:hover, .item-nav .item-all-view h6:hover {
                color: #e6ae49;
            }

        .item-nav .item-prev .prev-btn, .item-nav .item-next .next-btn, .item-all-view {
            display: inline-block;
            font-size: 25px;
            text-align: center;
            height: 51px;
            line-height: 51px;
            transition: all 0.3s ease 0s;
            -moz-transition: all 0.3s ease 0s;
            -webkit-transition: all 0.3s ease 0s;
            -o-transition: all 0.3s ease 0s;
        }

        .item-nav .item-prev .prev-btn, .item-nav .item-next .next-btn {
            color: #323232;
            background: #fff;
            width: 51px;
        }

        .item-nav .item-prev:hover .prev-btn, .item-nav .item-next:hover .next-btn {
            background: #f7f7f7;
            /*color: #fff;*/
        }

    .item-nav .item-prev {
        text-align: left;
        float: left;
    }

    .item-nav .item-next {
        text-align: right;
        float: right;
    }

        .item-nav .item-prev .item-prev-text, .item-nav .item-next .item-next-text {
            position: absolute;
            line-height: 51px;
            top: 10px;
            z-index: -1;
            visibility: hidden;
            opacity: 0;
            transition: all 0.3s ease-in-out 0s;
            -moz-transition: all 0.3s ease-in-out 0s;
            -webkit-transition: all 0.3s ease-in-out 0s;
            -o-transition: all 0.3s ease-in-out 0s;
            width: 150px;
        }

        .item-nav .item-prev:hover .item-prev-text, .item-nav .item-next:hover .item-next-text {
            margin-left: 0;
            margin-right: 0;
            visibility: visible;
            opacity: 1;
        }

    .item-nav .item-prev .item-prev-text {
        left: 100%;
        margin-left: -110px;
        padding-left: 15px;
    }

    .item-nav .item-next .item-next-text {
        right: 100%;
        margin-right: -110px;
        padding-right: 15px;
    }

        .item-nav .item-prev .item-prev-text p, .item-nav .item-prev .item-prev-text h5, .item-nav .item-prev .item-prev-text h6,
        .item-nav .item-next .item-next-text p, .item-nav .item-next .item-next-text h5, .item-nav .item-next .item-next-text h6 {
            margin-top: 0;
            margin-bottom: 0;
            padding-top: 0;
            padding-bottom: 0;
        }

        .item-nav .item-prev .item-prev-text h5, .item-nav .item-prev .item-prev-text h6,
        .item-nav .item-next .item-next-text h5, .item-nav .item-next .item-next-text h6,
        .item-nav .item-all-view h5, .item-nav .item-all-view h6 {
            padding-top: 8px;
        }

        
.powermail_fieldset {
    margin-top:2rem;
}
.powermail_label {
    margin-top:1.25rem;
}
#powermail_field_email {
    font-size:1.5rem;
}
.checkboxlabel {
    font-weight:400;
}
#powermail_field_postleitzahl {
    width:150px;
}

.powermail_fieldwrap_marker {
    margin-bottom:1.5rem;
}

.powermail_fieldwrap_marker label {
    font-size:1.4rem;
    
}

.powermail_fieldwrap_datenjetztloeschen {
    margin-top:1.5rem;
}

.powermail_fieldwrap_hinweisloeschen {
    margin-top:1.5rem;
    margin-bottom:2.5rem;
}

.powermail_fieldwrap_hinweispostversand {
    margin-top:2rem;
}

.parsley-errors-list li {
    color:#dd0000;
    font-weight:600;
}
#main .parsley-errors-list li::before {
    content: "\f139";
    color:#dd0000;
    font-size:1.5rem;
    margin-top:-0.2rem;
}

.path {
    color:#aaaaaa;
    font-size:83%;
}
.path a {
    color:#aaa;
}
.path a:hover {
    
    color:#111;
}