/* elements.css for JSOS */

.werbelink {
    float:left;
    clear: both;
    line-height: 1;
    padding: 0.625rem 0.3125rem;
    margin-left: -0.3125rem;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 400;
    margin-left: -0.3125rem;
}

.werbelink span {
    font-weight: 600;
}

/* cookieconsent */
.cc-link {
    padding: 0;
    display: inline;
}

/* fix inline icons */
p .fa {
    display:inline;
}

/* lightbox - we have fontawesome? awesome! */
@media all {
    .ce-media-image a { position:relative; }

    .ce-media-image a::before {
        content: '\f0c1';
        font-family: FontAwesome;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1;

        width: 1rem;
        height: 1rem;
        position: absolute;
        z-index: 1;
        top: auto;
        bottom: 0.3125rem;
        right: 0.3125rem;

        color: rgb(255,255,255);
        text-shadow: 0 0 1px rgb(0,0,0);
        background: none;
    }
    .ce-media-image a {
        text-decoration: none;
    }

    .ce-media-image a.lightbox::before {
        content: '\f00e';
    }
    .ce-media-image .ce-media-caption a::before {
        content: none;
    }
}

/* news */
@media all {

    .news-list-item + .news-list-item {
        border-top: .125rem solid rgb(242,244,244);
        padding-top: 1.25rem;
    }
    .news-list-item + .news-list-item.news-list-item-teaser {
        border: none;
        padding-top: 0;
    }

    .news-list-item.news-list-item-teaser .ce-gallery {
        float: left;
        width: 33%;
        margin-right: 1.25rem;
    }

    .news-list .news-date {
        display: inline-block;
        margin-top: 0.3125rem;
    }
    .news-list-link .fa {
        padding-left: 0.5em;
    }

    .news-list-item-teaser {
        width: 100%;
    }
    .modernizr-flexbox .news-list-teaser .ce-textpic-inner {
        display: flex;
        flex-direction: column;
    }

    .modernizr-flexbox .news-list-teaser .news-teaser-text {
        flex-grow: 1;
    }

    .news-list-masonry .has-pagination {
        margin-bottom: 5rem; /*FIXME */
    }

    .news-list-masonry .pagination {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
    }
}

/* pagination news & search */
@media all {

    .pagination {
        margin-bottom: 0.9375rem;
    }

    .pagination .pagination-count {
        margin-bottom: 0;
    }

    .pagination ul {
        display: block;
        margin: 0 -0.3125rem;
        padding:0;
    }

    .pagination li {
        display: block;
        float:left;
        line-height: 1;
        padding: 0.3125rem;
    }

    .pagination span,
    .pagination a {
        display: inline-block;
        font-size: 75%;
        color: currentColor;
        text-decoration: none;
        text-align: center;
        line-height: 1;
        /*! width: 1.75rem; */
        padding: 0.625rem .75rem;
        border: 0 none transparent;
        background-color: rgba(51,51,51,.1);
        border-radius: .25rem;
    }

    .pagination span:hover,
    .pagination a:not(.btn):hover ,
    .pagination span:focus,
    .pagination a:not(.btn):focus {
        background-color: rgb(227,40,33);
        color: rgb(255,255,255);
    }
    .pagination a:not(.fa)::before { content: none; }

    .pagination .fa {
        margin: 0;
        padding: 0;
    }

    .pagination .current ,
    .pagination .current:hover ,
    .pagination .current:focus {
        background: rgb(111,194,34);
        background-clip: padding-box;
    }
    .pagination .current b {
        color: rgb(255,255,255);
    }
    .pagination .paginator-ellip {
        border: none;
        padding: 0;
        width: auto;
    }    
    .ce-slider .ce-header > * {
        text-shadow: none;
    }    

    .ce-slider .ce-bodytext {
        background: transparent;
    }

    .ce-frame-inverted > div:not(.ce-header) {
        background: rgb(242,244,244);
        background: linear-gradient(90deg, rgba(242,244,244,1) 0%, rgba(255,255,255,1) 100%);
    }
    .ce-layout-box-outer {
        box-shadow: none;
    }   
    .ce-layout-box-inner {
        border-radius: .25rem;
        box-shadow: 0 .25rem 1rem rgba(0,0,0,0.075);
        overflow: hidden;
    }    
    .ce-layout-boxcontents-outer .ce-above-overlay:first-child .ce-gallery,
    .ce-layout-box-inner > .ce-above-overlay .ce-gallery {
        margin-top: -1.25rem;
    }        
    .ce-above-overlay > .ce-textpic-overlay {
        position: relative;
    }    
    .ce-layout-boxcontents-outer .ce-above-overlay > .ce-textpic-overlay > .ce-gallery ,
    .ce-layout-box-inner > .ce-above-overlay > .ce-textpic-overlay > .ce-gallery {
        margin-left: -.625rem;
        margin-right: -.625rem;
    }
    .ce-above-overlay > .ce-textpic-overlay > .ce-header {
        position: absolute;
        bottom: .625rem;
        width: 100%;
        padding-left: .625rem;
        padding-right: .625rem;
    }
    .ce-layout-boxcontents-outer .ce-element .ce-above-overlay > .ce-textpic-overlay > .ce-header ,
    .ce-layout-box .ce-above-overlay > .ce-textpic-overlay > .ce-header {
        padding-left: 0;
        padding-right: 0;
    }

    .ce-frame-inverted a:not(.btn) ,
    .ce-frame-inverted > div:not(.ce-header) {
        text-shadow: none;
    }   

    .ce-layout-box a:not(.btn) {
        color: rgb(111,194,34);
    }

    .ce-frame-inverted > div:not(.ce-header) {
        color: inherit;
    }   

    .page-stage .ce-slider .slick-dots {
        left: 0;
        -ms-transform: none;
        transform: none;
        z-index: 1000;
        position: relative;
        text-align: center;
        padding: 0 0 0.3125rem;
        color: rgb(255,255,255);
        clear: both;
        margin: 0;
        margin-top: -.3125rem;
    }

    .slick-dots button {
        width: 1rem;
        height: 1rem;
        border: 0.125rem solid currentColor;
        opacity: .1;
    }

    .page-stage .ce-slider .slick-dots button {
        opacity: .5;
    }

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

    .page-stage .ce-slider .slick-dots button {
        background-color: transparent;
    }

    .slick-dots .slick-active button {
        background-color: rgb(111,194,34);
        border-color: rgb(111,194,34);
    }

    .page-stage .ce-slider .slick-dots .slick-active button {
        background-color: currentColor;
        border-color: currentColor;
        opacity: 1;
    }

    .slick-dots button:hover ,
    .slick-dots .slick-active button:hover ,
    .page-stage .ce-slider .slick-dots button:hover ,
    .page-stage .ce-slider .slick-dots .slick-active button:hover {
        background-color: rgb(227,40,33);
        border-color: rgb(227,40,33);
        opacity: 1;
        cursor: pointer;
        cursor: url("../Images/icon_absehen_black.png") 16 16, pointer;
        box-shadow: 0 0 .5rem rgba(234,87,25,.25);
    }

    .btn {
        padding: .875rem 1.5rem;
    }

    .slick-slider:hover .slick-arrow.slick-disabled , 
    .ce-carousel .slick-arrow.slick-disabled {
        opacity: 0.1;
    }

    .slick-slider .slick-arrow {
        border: 0 none transparent;
        font-size: 0;
        position: absolute;
        top: 50%;
        z-index: 1;
        display: none !important;
        top: 0;
        bottom: 0;
        padding: 0;
        height: auto;
        background: transparent;
        width: calc(50vw - 47.5rem);
        opacity: 1;
        transition: opacity .5s ease;
        margin-bottom: 4rem;
        cursor: pointer;
        cursor: url("../Images/icon_absehen_black.png") 16 16, pointer;
    }

    .page-stage .slick-slider .slick-arrow {
        margin-top: 10rem;
        margin-bottom: 0;
    }

    .page-stage .slick-slider .slick-arrow {
        opacity: 0;
    }

    .slick-slider:hover .slick-arrow {
        opacity: 1;
    }

    .slick-slider .slick-arrow.slick-prev {
        right: calc(100% - 1.25rem);
        left: auto;
        background: transparent !important;
    }

    .page-stage .slick-slider .slick-arrow.slick-prev {
        left: 0;
        right: auto;    
    }

    .slick-slider .slick-arrow.slick-next {
        left: calc(100% - 1.25rem);
        right: auto;
    }

    .page-stage .slick-slider .slick-arrow.slick-next {
        right: 0;
        left: auto;    
    }

    .slick-slider .slick-arrow.slick-prev::before ,
    .slick-slider .slick-arrow.slick-next::before {
        content: "";
        position: absolute;
        width: 100%;
        left: 0;
        right: 0;
        color: rgb(111,194,34);
        transform: translateY(-50%);
        cursor: pointer;
        cursor: url("../Images/icon_absehen_black.png") 16 16, pointer;

        display:inline-block;
        font:normal normal normal 14px/1 FontAwesome;
        font-size: 5rem;
        text-rendering:auto;
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
    }

    .slick-slider .slick-arrow.slick-disabled.slick-prev::before ,
    .slick-slider .slick-arrow.slick-disabled.slick-next::before ,
    .slick-slider .slick-arrow.slick-disabled.slick-prev:hover::before ,
    .slick-slider .slick-arrow.slick-disabled.slick-next:hover::before {
        color: rgb(51,51,51);
    }

    .page-stage .slick-slider .slick-arrow.slick-prev::before ,
    .page-stage .slick-slider .slick-arrow.slick-next::before {
        color: #fff;
    }

    .slick-slider .slick-arrow.slick-prev:hover::before ,
    .slick-slider .slick-arrow.slick-next:hover::before {
        color: rgb(227,40,33);
        text-shadow: 0 0 .5rem rgba(234,87,25,.25);
    }

    .slick-slider .slick-arrow.slick-prev::before {
        content: "\f0d9";
    }

    .slick-slider .slick-arrow.slick-next::before {
        content: "\f0da";
        left: auto;
    }

    .slick-dots li ,
    .slick-dots li + li {
        margin: 0.3125rem;
    }

    .ce-grid-fullwidth-bg {
        padding-top: .625rem;
        margin-bottom: .625rem;
    }

    .ce-carousel {
        margin: 0 -0.625rem 0.625rem;
    }

    .page-content .ce-media img {
        border-radius: .25rem; 
    }

    .page-content .ce-textpic-overlay img {
        border-radius: .25rem; 
    }

    .page-content .ce-layout-boxcontents-outer .ce-element .ce-textpic-overlay img ,
    .page-content .ce-layout-box .ce-element .ce-textpic-overlay img {
        border-radius: 0; 
    }

    .page-content .ce-layout-boxcontents-outer .ce-element:first-child .ce-textpic-overlay img ,
    .page-content .ce-layout-box .ce-element:first-child .ce-textpic-overlay img ,
    .ce-layout-box-inner > .ce-above-header img {
        border-radius: .25rem .25rem 0 0; 
    }

    p .btn {
        margin-top: .3125rem;
    }

    .ce-layout-boxcontents-outer .ce-element .ce-layoutframe-outer {
        color: rgb(51,51,51);
        background: rgb(255,255,255);
        text-shadow: none;
        margin-bottom: 0.9375rem;
        border-radius: .25rem;
        box-shadow: 0 .25rem 1rem rgba(0,0,0,0.05);
        overflow: hidden;
    }

    .ce-layout-boxcontents-outer .ce-element .ce-layoutframe-inner {
        padding: 0.9375rem 0.625rem 0.3125rem;
    }

    .content .ce-table {
        width: 100%;
    }

    .content .ce-table tr th ,
    .content .ce-table tr td {
        padding: .5rem;
        background-color: rgba(0,0,0,.05);
        min-width: 10%;
    }

    .content .ce-table tbody:first-child tr:nth-child(2n) td ,
    .content .ce-table thead + tbody tr:nth-child(2n+1) td {
        background-color: rgba(0,0,0,.025);
    }

    .content .ce-table tr th + th ,
    .content .ce-table tr td + td {
        border-left: .125rem solid #fff;
    }

    .content .ce-table thead + tbody td ,
    .content .ce-table tr + tr td ,
    .content .ce-table tr td + td {
        border-top: .125rem solid #fff;
    }

    .ce-layout-show-desktop {
        display: none;
    }

    .powermail_fieldwrap .radio {
        float: left;
        line-height: 1.5rem;
        padding: .25rem .5rem .125rem;
        border-radius: .25rem;
        border: 1px dashed rgb(204,204,204);
        /*! background: rgb(250,250,250); */
    }

    .powermail_fieldwrap_type_radio::after ,
    .powermail_fieldwrap_type_radio .powermail_field::after ,
    .powermail_fieldwrap_type_radio .radio::after {
        content: "";
        display: table;
    }

    .powermail_fieldwrap_type_radio::after ,
    .powermail_fieldwrap_type_radio .powermail_field::after ,
    .powermail_fieldwrap_type_radio .radio::after {
        content: "";
        display: table;
        clear: both;
    }

    .powermail_fieldwrap .radio + .radio {
        margin-left: .625rem;
    }

    .powermail_fieldwrap_type_captcha .powermail_field  {
        position: relative;
    }

    img.powermail_captchaimage {
        position: absolute;
        top: 0;
        right:0;
        height: 100%;
        bottom: 0;
        border-radius: .25rem;
        max-height: 2.25rem;
    }

    .powermail_field_error_container {
        clear: both;
    }

    .powermail_field .parsley-errors-list {
        list-style: none;
        padding: 0;
    }

    .powermail_field .parsley-errors-list li {
        background-color: rgb(227,40,33);
        color: #fff;
        padding: .25rem .5rem;
        border-radius: 0 0 .25rem .25rem;
    }

    .powermail_message.powermail_message_error {
        padding: 1.25rem;
        background-color: rgb(227,40,33);
        border-radius: .25rem;
        color: #fff;
        font-weight: 700;
    }

}

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

    .ce-element {
        margin-bottom: 0.9375rem;
    }

    .ce-layout-boxcontents-outer .ce-layout-box
    .ce-layout-box-inner > .ce-above-overlay {
        margin-top: -1.25rem;
    }        
    .ce-layout-boxcontents-outer .ce-above-overlay > .ce-textpic-overlay > .ce-gallery, 
    .ce-layout-box-inner > .ce-above-overlay > .ce-textpic-overlay > .ce-gallery {
        margin-left: -1.25rem;
        margin-right: -1.25rem;
    }

    .ce-carousel .slick-dots {
        margin-top: 0.3125rem;
        margin-bottom: 0.625rem;
    }

    .page-stage .ce-slider .slick-dots {
        padding-bottom: .875rem;
    }

    .ce-grid-fullwidth-bg {
        padding-top: 1.25rem;
        margin-bottom: 1.25rem;
    }

    .ce-above-overlay > .ce-textpic-overlay > .ce-header {
        bottom: 1.875rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .ce-layout-boxcontents-outer .ce-element .ce-layoutframe-inner {
        padding: 1.25rem 1.25rem 0.625rem;
    }

    .powermail_fieldwrap.layout1 ,
    .powermail_fieldwrap.layout1 +.powermail_fieldwrap {
        float: left;
        width: 50%;
        width: calc(50% - .625rem);
    }

    .powermail_fieldwrap.layout1 {
        clear: left;
    }

    .powermail_fieldwrap.layout1 +.powermail_fieldwrap {
        margin-left: 1.25rem;
    }
}

@media all and (min-width: 47.5em), print {

    .ce-div {
        position: relative;
        overflow: hidden; 
        height:0;
    }

    .ce-element.ce-type-div {
        margin-bottom: 2.5rem;
    }

    .ce-media-image a::before {
        right: 0.625rem;
        bottom: 0.625rem;
    }

    /* news teaser */
    .news-list-teaser {
        margin: 0 -0.625rem;
    }
    .news-list-item-teaser {
        width: 50%;
        float: left;
        padding: 0 0.625rem;
    }
    .news-list-teaser .news-list-item-teaser:nth-child(2n+1) {
        clear: left;
    }

    .werbelink {
        float: right;
        clear: none;
        margin-right: -.3125rem;
        margin-left: 0;
    }

    .news-list-item.news-list-item-teaser .ce-gallery {
        float: none;
        width: 100%;
        margin-right: 0;
    }

}

/* desktop */
@media all and (min-width: 62.5em) {

    .ce-element {
        margin-bottom: 1.25rem;
    }

    .ce-layout-show-desktop {
        display: block;
    }

    .ce-layout-show-mobile {
        display: none;
    }

    .ce-slider .ce-header,
    .ce-slider .ce-bodytext {
        padding-left: 0;
        padding-right: 0;
    }
    .ce-slider .ce-header {
        padding-top: 0;
    }

    .news-list-item + .news-list-item {
        padding-top: 1.5625rem;
    }

    /* news teaser */
    .news-list-teaser {
        margin: 0 -1.25rem;
    }
    .news-list-item-teaser {
        width: 25%;
        float: left;
        padding: 0 1.25rem;
    }
    .news-list-teaser .news-list-item-teaser:nth-child(2n+1) {
        clear: none;
    }
    .news-list-teaser .news-list-item-teaser:nth-child(4n+1) {
        clear: left;
    }
    .page-stage .ce-slider .ce-textpic-inner {
        top: 5.75rem;       
        top: 50%;
        transform: translateY(-50%);
        background: none;
        border-radius: 0;
        padding: 0;
        padding-top: 5rem;
        left: 2.5rem;
        margin-left: 0;
        width: calc(50% - 3.75rem);
        bottom: auto;
    }

    .page-stage .ce-slider .slick-dots {
        position: absolute;
        background: transparent;
        left: 50%;
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .ce-carousel {
        margin: 0 -1.25rem 0.625rem;
    }

    .ce-grid-fullwidth-bg {
        padding-top: 2.5rem;
        padding-bottom: .625rem;
        margin-bottom: 2.5rem;
    }    

    .ce-above-overlay > .ce-textpic-overlay > .ce-header {
        bottom: 1.25rem;
    }

    p + p .btn {
        margin-top: .625rem;
    }

}

/* desktop - xlarge */
@media (min-width:82.5em) {

    .powermail_fieldwrap .radio {
        padding: .5rem .5rem .25rem;
    }

    .news-list-item + .news-list-item {
        padding-top: 2.5rem;
    }
    .page-stage .ce-slider .ce-textpic-inner {
        /*! top: 10rem; */
        padding-top: 10rem;
        max-width: calc(50rem - 3.75rem);
    }

    .ce-carousel .slick-dots {
        margin-top: 0.9375rem;
    }
    .ce-layout-box-outer {
        margin-bottom: 1.25rem;
    }

    img.powermail_captchaimage {
        max-height: 2.625rem;
    }
}

/* xlarge */
@media all and (min-width: 100em) {
    .page-stage .ce-slider .ce-textpic-inner {
        padding-top: 10rem;
        left: calc(50% - 1.25rem);
        transform: translate(-100%, -50%);
        max-width: calc(50rem - 3.75rem);
    }   

    .ce-header + .ce-above .ce-gallery, .ce-below .ce-gallery {
        padding-top: 0;
        padding-bottom: 0.625rem;
    }

    .ce-element.ce-type-div {
        margin-top: 2.5rem;
        margin-bottom: 5rem;
    }

    .ce-grid-fullwidth-bg {
        padding-top: 5rem;
        padding-bottom: .625rem;
        margin-top: 2.5rem;
        margin-bottom: 5rem;
    }

    .ce-layout-box-inner {
        padding: 2.5rem 2.5rem 1.25rem;
    } 

    .ce-layout-boxcontents-outer .ce-above-overlay > .ce-textpic-overlay > .ce-gallery, 
    .ce-layout-box-inner > .ce-above-overlay > .ce-textpic-overlay > .ce-gallery {
        margin-left: -2.5rem;
        margin-right: -2.5rem;
    }

    .ce-layout-boxcontents-outer .ce-above-overlay:first-child .ce-gallery,
    .ce-layout-box-inner > .ce-above-overlay .ce-gallery {
        margin-top: -2.5rem;
    }    

    .ce-above-overlay .ce-textpic-overlay .ce-gallery {
        padding-bottom: 1.875rem;
    }

    .ce-above-overlay > .ce-textpic-overlay > .ce-header {
        bottom: 2.5rem;
        margin-bottom: 2.5rem;
    }

    .ce-above-overlay .ce-header:before {
        top: -2.5rem;
        bottom: -2.5rem;
    }    

    .ce-layout-boxcontents .ce-element .ce-header::before, .ce-layout-box .ce-above-overlay .ce-header::before {
        right: -2.5rem;
        left: -2.5rem;
    }

    .ce-layout-box-inner > .ce-above-header {
        margin-top: -2.5rem;
    }

    .ce-layout-box-inner > .ce-above-header > .ce-gallery,
    .ce-layout-box-inner > .ce-above > .ce-gallery,
    .ce-layout-box-inner > .ce-below > .ce-gallery {
        margin-left: -2.5rem;
        margin-right: -2.5rem;
    }

    .ce-above-header .ce-gallery,
    .ce-above .ce-gallery {
        padding-bottom: 1.875rem;
    }

}

@media all and (min-width: 110em) {
    .slick-slider .slick-arrow {
        display: block !important;;
    }
}

/* xlarge */
@media all and (min-width: 120em) {
    .page-stage .ce-slider .ce-textpic-inner {
        left: calc(10rem +  2.5rem);
        transform: none;
        transform: translateY(-50%);
        max-width: 36.25rem;
    }
    .ce-grid-fullwidth {
        left: 50%;
        margin-left: -60rem;
        margin-right:0;
        width: 120rem;
    }

    .slick-slider .slick-arrow {
        width: 12.5rem;
    }
}
