/* T3 Layouts */
@media all {
    hr,
    .ce-div {
        border: none;
        border-top: 1px solid #ffa904;
        margin: 0;
        height:0.9375rem;
    }

}

/* page rollover searchbox */
@media screen {
    .page-rollover-searchbox[aria-hidden="true"] {
        margin-top: -100vh;
    }

    .page-rollover-searchbox {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10;
        width: 100vw;
        height: 100vh;
        margin-top: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        background: rgba(51,51,51,0.9);
        transition: margin ease-in 0.5s;
    }
    .hide-while-init{
        top: -100vh !important;
    }
    .page-rollover-searchbox .search-label {
        position: absolute;
        left: 0;
        width: 4rem; /* FIXME! */
        bottom: calc(100% + 0.9375rem);
        color: rgb(255,255,255);
        font-size: 125%;
        font-weight: 600;
        text-transform: uppercase;
    }

    .page-rollover-searchbox .searchbox-inner {
        background: rgb(255,255,255);
        border: 0;
        border-radius: 0.25rem;
    }

    .page-rollover-searchbox .search-word {
        color: rgb(0,0,0);
        padding: 0.625rem 0.625rem;
    }

    .page-rollover-searchbox .search-close {
        position: absolute;
        right: 0;
        bottom: calc(100% + 0.625rem);
        color: rgb(255,255,255);
        background: none;
        border: 0;
        width: 2.5rem;
        height: 2.5rem;
        padding: 0.3125rem;
    }
    .page-rollover-searchbox .search-icon-close { 
        position:relative; 
        display: block;
        height: 0.3125rem;}

    .page-rollover-searchbox .search-icon-close::before,
    .page-rollover-searchbox .search-icon-close::after {
        content:"";
        background: rgb(255,255,255);
        display:block;
        height:0.3125rem;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        left: 0;
        right: 0;
    }
    .page-rollover-searchbox .search-icon-close::after {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}

/* page layout */
@media all {

    html {
        background-color: rgb(255,255,255);
    }

    body {
        background-color: rgb(255,255,255);
    }


    .wrap-inner ,
    .page-stage .ce-frame-headerimage .ce-header {
        padding-left: 0.625rem;
        padding-right: 0.625rem;
    }

    /* sticky header */
    .page-header {
        background-color: rgb(255,255,255);
        /*max-width: 120rem;*/
        margin: 0 auto;
        min-height: 1em;
        position: relative;
    }

    .page-header::before {
        content: "";
        display: block;
        position: absolute;
        z-index: 1;
        bottom: 0;
        right: 0;
        left: 0;
        height: 2em;
        box-shadow: 0 0 0 rgba(0,0,0,0);
        pointer-events: none;      
        transition: all ease 0.2s;
    }

    .page-scrolled .page-header::before {
        box-shadow: 0 0 4vw rgba(0,0,0,0.5);
        transition: all ease 0.5s;
    }

    .page-header-main {
        background-color: rgb(255,255,255);
        position: relative;
        z-index: 2;
    }

    .page-header-sticky .page-header { 
        z-index:10;
        top:0;
        left:0;
        right:0;
        position: fixed;    
        transition: margin .2s ease;
    }

    .page-header-sticky.page-scrolled .page-header { 
        transition: margin .5s ease;
    }

    .page-logo {
        /*! display: inline-block; */
        height: 2.5em;
        margin: 0;
        padding: .125em 0;
        width: auto;
        margin-top: 0.125rem;
        transition: all ease 0.4s;
        float:left;
    }

    .logo-link {
        display: block;
        position: relative;
        z-index: 10;
        height: 100%;
        width: auto;
    }

    .logo-img {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
        height: 100%;
        display: block;
        white-space: nowrap;
    }

    .page-header-main {
        height: auto;
    }

    .nav-toggle { float:right; }

    .search-link,
    .search-toggle {
        float: right;
        margin-right: 0.125rem;
        padding: 0;
        -webkit-appearance: none;
        border: 0;
        background: none;
        width: 2.5rem;
        height: 2.5rem;
        text-decoration: none;
    }
    .search-link,
    .search-toggle-inner {
        justify-content: center;
        align-items: center;
    }

    .search-link .fa,
    .search-toggle .fa {
        display: block;
        font-size: 130%;
    }
    .search-toggle:hover .fa-search::before {
        color:#fff;
    }

    .page-modifier-search .search-link,
    .page-modifier-search .search-toggle,
    .page-modifier-search .page-rollover-searchbox { display: none !important; }

    /* stage */
    .page-stage .ce-grid-slider,
    .page-stage .ce-element { margin: 0; }

    .page-stage .ce-gallery { padding: 0 !important; }

    .page-stage .ce-row { margin: 0; }
    .page-stage .ce-column { margin: 0; padding: 0; }
    /* stage may have a heading */
    .page-stage .ce-slider {
        background: rgb(102,102,102);
    }

    .page-stage .slick-dots {
        position: relative;
        text-align: center;
        margin: 0 0 0.625rem;
        color: rgb(255,255,255);
    }

    .page-stage .ce-frame-headerimage {
        margin: 0 -30vw;
    }
    .page-stage .ce-frame-headerimage .ce-header {
        position: absolute;
        bottom: 0.625rem;
        left: 0;
        margin: 0 auto;
        color: rgb(255,255,255);
        right: 0;
    }

    /* shadows */
    .page-stage {
        position: relative;
        z-index:0;
        overflow: hidden;
    }
    .page-stage::before {
        content: "";
        display: block;
        position: absolute;
        bottom: 100%;
        left: 0;
        right: 0;
        height: 10em;
        background-color: #dedede;
    }
    .page-stage-inner::before,
    .page-stage-inner::after {
        content: "";
        display:block;
        position: absolute;
        z-index:1;
        top: 100%;
        right: 0;
        left: 0;
        height: 2em;
        box-shadow: 0 0 6vw rgba(0,0,0,0.25);
        pointer-events: none;
        border-radius: 50%;
    }

    .page-stage-inner::before {
        top: auto; 
        bottom:100%;
    }

    /* content */
    .page-content { padding-top: 1.25rem; }
    .page-modifier-home .page-content {padding-top: 0rem;}

    /* footer */
    .page-footer {
        position: relative;
        overflow: hidden;
    }
    .page-footer::before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 0;
        right: 0;
        height: 2em;
        box-shadow: 0 0 6vw rgba(0,0,0,0.25);
        border-radius: 50%;
    }

    .page-footer {
        background: rgba(75,75,75,1);
    }

    .page-footer-top {
        padding-top: 1.25rem;
    }
    .page-footer-bottom {
        background: rgba(51,51,51,1);
    }

    .nav-toggle {
        margin-right: -0.625rem;
    }

    .slick-dots button {
        opacity: .4;
        background: rgb(190,190,190);
    }

    .slick-dots button:hover{
        opacity: 1;
        background-color:#ffa904;
    }

    .slick-dots .slick-active button {
        opacity: 1;
    }

    .cc-window.cc-banner {
        padding-left: 0.625rem;
        padding-right: 0.625rem;
    }

    .cc-window.cc-banner.cc-theme-classic.cc-bottom {
        background-color: rgba(0, 0, 0, .75);        
        left: auto;
        right: 1rem;
        max-width: 25rem;
        bottom: 1rem;
        display: block;
    }
    .cc-message{
        margin-bottom:0.937rem;
        display:block;
    }
    .cc-banner + a + a + .page ,
    .cc-banner + .mm-menu + a + a + .page {
        /*! margin-bottom: 13rem; */
    }

    .cc-banner.cc-invisible + a + a + .page ,
    .cc-banner.cc-invisible + .mm-menu + a + a + .page {
        margin-bottom: 0;
    }

    .page-header .content-align-right {
        display: flex;
        float: right;
    }

    .page-header .content-align-right > .page-header-navigation {
        order: 4;
    }

    .page-header .content-align-right > .nav-toggle {
        order: 3;
    }

    .page-header .content-align-right > .page-header-lang {
        order: 1;
    }

    .page-header .content-align-right > .search-toggle {
        order: 2;
    }
    .page-stage .ce-grid-medium > .ce-col:nth-child(2){
        margin:0.5rem 0;
    }
    /*GOOGLE MAPS KARTE*/
    /*FONT*/
    .gm-style,.gm-style .gm-style-iw{
        font:1rem Montserat, sans-serif;
        line-height:1.5;
    }
    #gme-1 {
        height: 40rem !important;
        margin-bottom: 1.562rem;
    }
    button.gm-ui-hover-effect{
        background-color:#ffa904!important;
        opacity:1;
        border-radius:1rem 1rem 1rem 0;
    }
    .gm-style .gm-style-iw-c{
        overflow:visible;
        padding:0;
        border-radius:0.5rem;
    }
    .gme-info-window{
        overflow:hidden;
        border-radius:0.5rem;
    }
    .gme-info-window h3,.gme-info-window p{
        text-align:center;
        margin: 0 auto 0.9375rem;
        max-width: 45rem;
        font-family: Montserrat;
    }
    .gme-info-window h3{
        margin:0;
    }
    .gme-info-window>img{
        width:100%;
        object-fit: cover;
    }
    .tx-go-maps-ext{
        position:relative;
        height:40rem;
        margin-bottom: 1.563rem;
    }
    .js-gme-preview .js-gme-show{
        /*! display:none; */
    }
    .tx-go-maps-ext > *.js-gme-preview {
        background-repeat: no-repeat;
        background-size: auto;
        background-position: center;
        position: absolute;
        height:100%;
        width:100%;
        display: flex;
        align-items: center;
    }
    html[lang="de"] .tx-go-maps-ext > *.js-gme-preview {
        background-image: url("../Img/maps-preview_de.jpg");
    }
    html[lang="en"] .tx-go-maps-ext > *.js-gme-preview {
        background-image: url("../Img/maps-preview_en.jpg");
    }
    html[lang="fr"] .tx-go-maps-ext > *.js-gme-preview {
        background-image: url("../Img/maps-preview_fr.jpg");
    }
    .content a.js-gme-overlay {
        transition:ease all 0.4s;
        content:'';
        position:absolute;
        top:0;
        right:0;
        left:0;
        bottom:0;
        opacity: 0.75;
        color:transparent;
        background-color: rgba(0, 0, 0, 0.75) !important;
    }
    .tx-go-maps-ext a.js-gme-overlay:hover{
        color:transparent;
    }
    .js-gme-preview-text {
        z-index: 1;
        text-align: center;
        padding: 1.25rem;
        color: #fff;
        font-weight: 700;
        max-width: 40rem;
        margin: 0 auto;
    }

    /*WINDOW WIDTH*/
    .gm-style-iw .gm-style-iw-c{
        width:40rem!important;
    }
    .gm-style .gm-style-iw-d,.gm-style-iw.gm-style-iw-c{
        overflow:visible;
        max-width: 15rem !important;
        max-height:50rem !important;
    }
    /*CLOSE*/
    button.gm-ui-hover-effect::before{
        content:"\f00d";
        font-family: FontAwesome;
        font-size:1rem;
        display:block;
        color:#fff;
    }
    button.gm-ui-hover-effect img{
        display:none!important;
    }
    /*Neuer BUTTON*/

    .gme-info-window p:last-child .btn-primary{
        box-shadow: none;
        border-radius:0;
        padding:1rem 0;
        margin-bottom: -0.9375rem;
    }
    
    .gme-info-window .headmember{
        padding: 0.9375rem 0.5rem .5rem;
    }
    .gme-info-window > img{
        padding-top:0 !important;
        margin-bottom:0.625rem;
    }
    .gm-style .gm-style-iw-d::-webkit-scrollbar{
        width:0;
        height:0;
    }
    .gme-info-window p {
        padding:0 0.5rem;
    }
    .gme-info-window p .btn{
        margin: 0 -0.5rem;
        display: block;
        width: calc(100% + 1rem);
    }
    .gme-info-window p img ,
    .gme-info-window .headmember img {
        margin: 0 auto;
        max-width: 6rem;
        margin-bottom: -1rem;
    }
    .additional{
        position: relative;
        border-top: 0.125rem solid #ffa904;
        padding: 2.5rem 1rem 0;
        margin-left:-0.625rem;
        margin-right:-0.625rem;
    }
    .additional > div{
        padding:0 1rem;
    }
    
    .cc-window.cc-banner .cc-compliance{
        flex-direction: row-reverse;
    }
    .cc-window.cc-banner .cc-compliance .cc-btn.cc-dismiss{
        margin-left: 0.5em;
        background-color: #cccccc;
    }
    .cc-window.cc-banner .cc-compliance .cc-btn.cc-allow{
        margin-left: 0;
    }
    .mfp-close{
        text-shadow: 0 0 .25rem rgba(0,0,0,0.75);
    }
}

@media all and (min-width: 30em) {

    .wrap-inner ,
    .page-stage .ce-frame-headerimage .ce-header {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .page-stage .ce-frame-headerimage {
        margin: 0 -15vw;
    }

    .cc-window.cc-banner {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
        min-height: 10rem;
    }

    .cc-banner + a + a + .page ,
    .cc-banner + .mm-menu + a + a + .page {
        /*! margin-bottom: 10rem; */
    }

    .cc-banner .cc-compliance {
        /*! padding-left: 1.25rem; */
    }
    .page-stage .ce-grid-medium > .ce-col:nth-child(2){
        margin:1.25rem 0;
    }
    .additional{
        margin-left:-1.25rem;
        margin-right:-1.25rem;
    }
}

/* tablet + print */
@media all and (min-width: 47.5em), print { 

    .ce-div {
        position: relative;
        overflow: hidden; 
        height:1.563rem;
    }
    .ce-column{
        margin-bottom:0.937rem;
    }
    .ce-header + .ce-above .ce-gallery, .ce-below .ce-gallery{
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
    }

    .topnav { float: right; }

    .page-header-searchbox .searchbox .search-word { padding: 0.5rem; }

    .page-scrolled .page-header-topbar {
        opacity: 0;
        transition: all ease 0.5s;
    }

    .page-scrolled .page-logo {
        /*transition: all ease 0.4s;
        margin-top: 0.125rem;
        height: 2.5rem;*/

    }

    .page-stage .ce-frame-headerimage {
        margin: 0;
    }

    .page-stage .ce-frame-headerimage .ce-header {
        position: absolute;
        bottom: 1.25rem;
        margin: 0;
    }

    .cc-window.cc-banner {
        min-height: 6.6rem;
    }

    .cc-banner + a + a + .page ,
    .cc-banner + .mm-menu + a + a + .page {
        /*! margin-bottom: 6.6rem; */
    }

    .page-stage .ce-grid-medium > .ce-col:nth-child(1) {
        padding-right: 0;
    }

    .page-stage .ce-grid-medium > .ce-col:nth-child(2) {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateY(-60%);
        margin: 0.5rem 0;
    }
    /*GOOGLE MAPS*/

    .gm-style .gm-style-iw-d,.gm-style-iw.gm-style-iw-c{
        overflow: visible !important;
        max-width:30rem !important;
        max-height:60rem !important;
        width:20rem;
        border-radius: 1rem;
    }
    .gm-style .gm-style-iw-d>div{
        width:20rem;
    }


}

/* desktop */
@media all and (min-width: 62.5em) {
    .additional{
        margin-left:-2.5rem;
        margin-right:-2.5rem;
    }
    /* page layout */

    .wrap-inner ,
    .page-stage .ce-frame-headerimage .ce-header {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }

    .page-grid-fullwidth > .wrap-inner {
        /*max-width: 120em;*/
        margin: 0 auto;
    }

    .page-grid-large {
        margin-left: -2.5rem;
        margin-right: -2.5rem;
    }
    .page-grid-large .page-col {
        float:left;
        padding-left: 2.5rem;
        padding-right: 2.5rem;
        max-width: 100%;
        min-height: 1px;
    }
    .page-grid-large-66-33 .page-col {
        width: 66.6666%;
    }
    .page-grid-large-66-33 .page-col:last-child {
        width: 33.3333%;
    }

    .page-logo {
        display: block;
        margin: 0;
        box-sizing: content-box;
        float: left;
        padding: 0.5rem;
        height: 1.5rem;
        width: auto;
    }

    .page-header-main {
        height: auto;
    }

    .page-stage .ce-frame-headerimage .ce-header {
        margin: 0 auto;
        max-width: 80rem;
    }

    .page-content {
        padding-top: 2.5rem;
        padding-bottom: 0.625rem;
    }
    .page-modifier-home .page-content {
        padding-top: 0rem;
        padding-bottom: 0.625rem;
    }
    .page-footer-top {
        padding-top: 2.5rem;
    }

    /* sticky header */

    .page-scrolled .page-logo {
        /* height:3rem;
        transition: all ease 0.4s;
        margin-top: 0.125rem;*/
    }

    .page-scrolled .page-header-searchbox {
        z-index: 1;
    }

    .mainnav {
        transition: all ease 0.4s;
    } 

    .page-scrolled .mainnav {
        padding-left: 8rem;
        background: rgba(0,0,0,0);
        transition: all ease 0.1s;
    } 

    .page-stage .ce-slider .slick-dots {
        margin-bottom: .95rem;
    }

    .slick-dots button {
        width: 0.75rem;
        height: 0.75rem;
    }

    .cc-window.cc-banner {
        /*max-width: 120em;*/

        padding-left: 2.5rem;
        padding-right: 2.5rem;
        min-height: 5rem;
        padding: 2rem 2.5rem;
    }

    .cc-banner + a + a + .page ,
    .cc-banner + .mm-menu + a + a + .page {
        /*! margin-bottom: 5rem; */
    }

    .page-header .content-align-right > .page-header-navigation {
        order: 1;
    }

    .page-header .content-align-right > .nav-toggle {
        order: 2;
    }

    .page-header .content-align-right > .page-header-lang {
        order: 4;
    }

    .page-header .content-align-right > .search-toggle {
        order: 3;
    }
    .page-logo {
        width: auto;
        height: 3.125rem;
        padding: 1.063rem 0;
    }

}

/* desktop - xlarge */
@media (min-width:82.5em) {
    .additional{
        left: 50%;
        margin-left: -50vw;
        margin-right: 0;
        width: 100vw;
    }
    body { /*max-width: 120rem;*/ margin: 0 auto; } /* Full HD */

    .wrap-outer {
        margin: 0 auto;
        max-width: 85rem;
    }

    .page { overflow: hidden; }

    .page-header-topbar-inner {
        margin: 0 auto;
    }

    .page-header-topbar {
        padding: 0;
    }



    .mainnav {
        position: relative;
        background:none;
    }

    /* sticky header */

    .page-header-main-inner {
        position: relative;
    }

    .page-scrolled .mainnav::before {
        display: none;
    }

}
