
/* cookieconsent */
@media all {

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

    .cc-window.cc-banner,
    .cc-compliance {
        gap: 1rem;
    }

    .cc-window.cc-banner {
        flex-direction: column;
    }

    .cc-theme-classic .cc-btn:last-child {
        min-width: 160px;
    }

}

@media all and (min-width: 58.75rem) {

    .cc-window.cc-banner {
        flex-direction: row;
    }

}

/* colors */
@media all {
    .ce-bg-violet-1 { background-color: rgb(90,37,114) !important; }
    .ce-bg-violet-2 { background-color: rgb(46,38,114) !important; }
    .ce-bg-violet-3 { background-color: rgb(110,34,114) !important; }
    .ce-bg-violet-4 { background-color: rgb(70,38,114) !important; }
    .ce-bg-blue-1 { background-color: rgb(0,87,162) !important; }
    .ce-bg-yellow-1 {background-color: rgb(254,211,3) !important; }
    .ce-bg-pink-1 {background-color: rgb(181,6,127) !important; }
    .ce-bg-orange-1 {background-color: rgb(229,45,9) !important; }
    .ce-bg-green-1 {background-color: rgb(52,128,47) !important; }
    .ce-bg-red-1 {background-color: rgb(229,48,18) !important; }
    .ce-bg-cyan-1 {background-color: rgb(0,168,184) !important; }
    .ce-bg-cyan-2 {background-color: rgb(0,155,220) !important; }
    .ce-bg-lightgreen-1 {background-color: rgb(102,172,39) !important; }
    .ce-bg-lightgreen-2 {background-color: rgb(121,172,43) !important; }
    .ce-bg-white-1 {background-color: rgb(255,255,255) !important; }

    .ce-bg-aadd-violet-1 {
        background: rgb(110,39,119);
        background: linear-gradient(90deg, rgba(110,39,119,1) 0%, rgba(51,41,114,1) 100%);
        text-shadow: 0 0 1rem rgba(51,41,114,1);
    }

    .ce-bg-aadd-rosa-1 {
        background: rgb(222,114,166);
        background: linear-gradient(90deg, rgba(222,114,166,1) 0%, rgba(195,82,146,1) 100%); 
        text-shadow: 0 0 1rem rgba(195,82,146,1);
    }

    .ce-bg-aadd-cyan-1 {
        background: rgb(60,162,166);
        background: linear-gradient(90deg, rgba(60,162,166,1) 0%, rgba(0,99,128,1) 100%); 
        text-shadow: 0 0 1rem rgba(0,99,128,1);
    }

    .ce-bg-aadd-green-1 {
        background: rgb(152,192,25);
        background: linear-gradient(90deg, rgba(152,192,25) 0%, rgba(89,149,37,1) 100%); 
        text-shadow: 0 0 1rem rgba(89,149,37,1);
    }

    .ce-bg-aadd-yellow-1 {
        background: rgb(255,241,98);
        background: linear-gradient(90deg, rgba(255,241,98,1) 0%, rgba(255,207,0,1) 100%); 
        text-shadow: 0 0 1rem rgba(255,207,0,1);
    }    

    .ce-bg-aadd-orange-1 {
        background: rgb(255,241,98);
        background: linear-gradient(90deg, rgba(255,166,67,1) 0%, rgba(239,105,0,1) 100%); 
        text-shadow: 0 0 1rem rgba(239,105,0,1);
    }    

    .ce-header i.fa {
        margin-right: .625rem;
    }
    
    .ce-header-color-aadd-violet-1 i.fa {
        color: rgb(110,39,119);
    }

    .ce-header-color-aadd-rosa-1 i.fa {
        color: rgb(222,114,166);
    }

    .ce-header-color-aadd-cyan-1 i.fa {
        color: rgb(60,162,166);
    }

    .ce-header-color-aadd-green-1 i.fa {
        color: rgb(152,192,25);
    }

    .ce-header-color-aadd-yellow-1 i.fa {
        color: rgb(255,241,98);
    }    

    .ce-header-color-aadd-orange-1 i.fa {
        color: rgb(255,166,67);
    }    

}

/* share buttons */
@media all {
    .shariff ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
    }

    .shariff li+li {
        margin-left: 1rem;
    }

    .shariff .share_text {
        border: 0 !important;
        clip: rect(1px, 1px, 1px, 1px) !important;
        -webkit-clip-path: inset(50%) !important;
        clip-path: inset(50%) !important;
        height: 1px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: absolute !important;
        width: 1px !important;
        white-space: nowrap !important;
    }

    .shariff a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 2.5rem;
        height: 2.5rem;
        color: rgb(90,37,114) !important;
        background: rgb(255,255,255) !important;
        border-radius: 50%;
    }

    .shariff .fa {
        font-size: 1.75rem;
        margin: 0;
        padding: 0;
    }
    .shariff .fa::before {
        margin: 0;
    }
}

/* 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.lightbox::before {
        content: '\f00e';
    }
}

/* news */
@media all {

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

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

    .modernizr-flexbox .news-list-teaser .news-teaser-text {
        flex-grow: 1;
    }
    .news-single .news-teaser {
        font-weight: 600;
    }
    
    .news-list-link {
        display: flex;
        justify-content: center;
    }

}

/* 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%;
        font-weight: 600;
        color: rgb(255,255,255);
        background-color: rgb(90,37,114);
        text-decoration: none;
        text-align: center;
        line-height: 1;
        width: 1.75rem;
        padding: 0.4375rem 0;
        border: 2px solid rgb(90,37,114);
    }
    .pagination a:not(.fa)::before { content: none; }

    .pagination a:hover,
    .pagination a:focus {
        color: rgb(255,255,255);
        background-color: rgb(110,34,114);
        box-shadow: none;
    }

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

    .pagination .current {
        color: rgb(90,37,114);
        background-color: rgb(255,255,255);
        background-clip: padding-box;
    }
    .pagination .current b {
        color: currentColor;
    }

    .pagination .paginator-ellip {
        border: none;
        padding: 0;
        width: auto;
    }
}

/* teasers */
@media all {

    .ce-frame-teasergrid {
        margin-bottom: 0;
    }

    .ce-grid-teaser {
        margin-bottom: 0.3125rem;
    }

    .ce-teaser-link {
        display: block;
    }

    .ce-teaser-type-text .ce-teaser-link,
    .ce-teaser-type-photo .ce-teaser-link {
        background-color: rgb(46,38,114);
    }
    .ce-teaser-type-text .ce-teaser-link:focus,
    .ce-teaser-type-text .ce-teaser-link:hover,
    .ce-teaser-type-photo .ce-teaser-link:focus,
    .ce-teaser-type-photo .ce-teaser-link:hover {
        background-color: rgb(110,34,114);
    }
    .ce-teaser-type-icon .ce-teaser-link {
        background-color: rgba(0,0,0,0)!important; /* no hover */
    }
    .ce-teaser-caption {
        display: block;
        color: rgb(255,255,255) !important;
        font-size: 100%;
        text-align: center;
        padding: 0.625rem;
    }

    .ce-bg-yellow-1 .ce-teaser-caption {
        color: rgb(0,0,0) !important;
    }

    .ce-teaser-type-text .ce-teaser-caption {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* within carousel */
    .ce-carousel .ce-teaser-link {
        margin: 0;
    }

    .ce-carousel .ce-teaser-caption {
        font-size: 150%;
    }

    /* within tiles grid */
    .ce-grid-teaser-tiles {
        margin-left: -0.625rem;
        margin-right: -0.625rem;
        margin-bottom: 1.25rem;
        background-color: rgb(90,37,114); /* rounding errors will leave a white border on the right */
    }

    .ce-grid-teaser-tiles .ce-element {
        margin-bottom: 0;
        width: 50%;
        float: left;
    }

    .ce-grid-teaser-tiles .ce-teaser-link {
        margin-bottom: 0;
        font-weight: 600;
    }
    .ce-grid-teaser-tiles .ce-element:nth-child(2n+1) {
        clear: left;
    }

}

.ce-frame-unbold-links a {
    font-weight: 400;
}

@media all {

    .ce-layout-divfullwidth .ce-div {
        position: relative;
        border: 0 none transparent;
        z-index: -1;
    }

    .ce-layout-divfullwidth .ce-div::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: 0 -.625rem;
        height: 5rem;
        background: rgb(244,244,244);
        background: linear-gradient(0deg, rgba(244,244,244,0) 0%, rgba(244,244,244,1) 100%);
    }

    .ce-layout-overlay-headline {
        position: relative;
    }

    .ce-layout-overlay-headline .ce-header {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: 0;
        padding: 1.25rem 2.5rem;
        display: flex;
        align-items: end;
        justify-content: start;
        text-align: left;
        /*
        background-color: rgba(0,155,220,.9);
        background: linear-gradient(90deg, rgba(0,155,220,.9) 0%, rgba(0,155,220,0) 100%);
        */
    }

    .ce-layout-overlay-headline .ce-header > * {
        font-size: 8vw;
        /*
        text-shadow: 0 0 2.5rem rgba(0,155,220,.5);
        */
        /*! text-shadow: 0 0 1rem rgb(46,38,114), 0 0 .5rem rgb(46,38,114); */
        /*! text-shadow: 0 0 1rem rgb(46,38,114); */
    }

    .ce-layout-lp-quote .ce-bodytext {
        overflow: hidden;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .ce-frame-slider-nostyle .ce-slider .ce-intext {
        margin: 0;
    }

    .ce-frame-slider-nostyle .ce-slider .ce-element {
        background-color: transparent;
    }

    .ce-carousel-testimonials .slick-arrow ,
    .ce-frame-slider-nostyle .slick-arrow {
        background: rgb(70,38,114);
    }

    .ce-layout-show-as-slider .slick-arrow ,
    .ce-carousel-testimonials .slick-arrow ,
    .ce-frame-slider-nostyle .slick-arrow {
        background: rgb(70,38,114);
    }

    .ce-layout-show-as-slider .slick-arrow.slick-prev {
        margin-left: .3125rem;
    }
    .ce-layout-show-as-slider .slick-arrow.slick-next {
        margin-right: .3125rem;
    }

    .ce-layout-show-as-slider .slick-arrow::before ,
    .ce-carousel-testimonials .slick-arrow::before ,
    .ce-frame-slider-nostyle .slick-arrow::before {
        color: rgb(255,255,255);
    }

    .ce-layout-show-as-slider .slick-arrow:not(.slick-disabled):hover ,
    .ce-carousel-testimonials .slick-arrow:not(.slick-disabled):hover ,
    .ce-frame-slider-nostyle .slick-arrow:not(.slick-disabled):hover {
        background: rgb(229,0,125);
        background: rgb(7, 155, 210);
    }

    .ce-layout-show-as-slider .slick-arrow:not(.slick-disabled):hover::before ,
    .ce-carousel-testimonials .slick-arrow:not(.slick-disabled):hover::before ,
    .ce-frame-slider-nostyle .slick-arrow:not(.slick-disabled):hover::before {
        background: rgb(229,0,125);
        background: rgb(7, 155, 210);
    }

    .ce-layout-show-as-slider .slick-pause ,
    .ce-grid-carousel-testimonials .slick-pause ,
    .ce-frame-slider-nostyle .slick-pause {
        top:  0;
        right: 0;
    }

    .ce-layout-show-as-slider .slick-pause {
        margin-top: .375rem;
    }

    .ce-uploads .ce-uploads-item {
        padding: 1.25rem;
        box-shadow: 0 0 2.5rem rgba(0,0,0,.1);
        position: relative;
    }

    .ce-uploads .ce-uploads-item + .ce-uploads-item {
        margin-top: .625rem;
    }

    .ce-uploads .ce-uploads-filename {
        font-weight: 700;
    }

    .ce-uploads .ce-uploads-item > i {
        font-size: 1.25rem;
        margin-right: .25rem;
        color: rgb(110,34,114);
    }

    .ce-uploads .ce-uploads-link {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .ce-uploads .ce-uploads-link:focus ,
    .ce-uploads .ce-uploads-link:hover {
        background-color: transparent;
        box-shadow: none;
    }

    .ce-uploads .ce-uploads-item:focus ,
    .ce-uploads .ce-uploads-item:hover {
        background-color: rgb(90,37,114);
        color: #fff;
    }

    .ce-uploads .ce-uploads-item:focus > i ,
    .ce-uploads .ce-uploads-item:hover > i {
        color: #fff;
    }

    .ce-carousel-gallery {
        padding: 0;
    }

    .ce-layout-show-as-slider {
        margin-bottom: 0;
    }

    .ce-layout-show-as-slider .ce-gallery{
        position: relative;
    }

    .ce-carousel-gallery {
        margin: 0 -.3125rem;
    }

    .ce-carousel-gallery .slick-track .slick-slide {
        padding: .125rem .3125rem;
    }

}

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

    .ce-layout-divfullwidth .ce-div::before {
        margin: 0 -1.25rem;
    }

    .ce-layout-overlay-headline .ce-header {
        /*! padding: 1.25rem; */
    }

    .ce-layout-overlay-headline .ce-header > * {
        font-size: 10vw;
    }

    .ce-layout-overlay-headline .ce-header {
        padding: 1.875rem 3.75rem;
        padding: 1.875rem .9375rem;
    }

}

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

    .ce-layout-maxtextwidth .ce-header ,
    .ce-layout-maxtextwidth .ce-bodytext {
        max-width: 66.666%;
    }

    .ce-layout-divfullwidth .ce-div::before {
        margin: 0 -2.5rem;
    }

    .ce-layout-overlay-headline .ce-header {
        /*! padding: 1.25rem; */
    }

    .ce-layout-overlay-headline .ce-header > * {
        /*! font-size: 10vw; */
    }

}


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

    /* teaser */
    .ce-grid-teaser:not(.ce-grid-teaser-tiles) {
        margin-bottom: 0.625rem;
    }

    .ce-grid-teaser:not(.ce-grid-teaser-tiles) .ce-element {
        padding: 0 0.3125rem;
        width: 50%;
        float: left;
    }

    .ce-grid-teaser:not(.ce-grid-teaser-tiles) .ce-teaser-link {
        margin-bottom: 0.625rem;
    }

    .ce-grid-teaser-tiles {
        margin-left: -1.25rem;
        margin-right: -1.25rem;
    }

    .ce-grid-teaser .ce-element:nth-child(2n+1) {
        clear: left;
    }
}

@media all and (min-width: 47.5em), print {
    
    .ce-layout-overlay-headline .ce-header {
        padding: 1.875rem;
    }
    
    .ce-media-image a::before {
        right: 0.625rem;
        bottom: 0.625rem;
    }

    .pagination-list-item .pagination-previous,
    .pagination-list-item .pagination-next {
        width: auto;
        padding-left: 0.3125rem;
        padding-right: 0.32125rem;
    }

    /* 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;
    }

    /* teaser */
    .ce-teaser-caption {
        padding: 1.25rem;
    }

    .ce-grid-teaser:not(.ce-grid-teaser-tiles) {
        margin: 0 -0.625rem;
    }

    .ce-grid-teaser:not(.ce-grid-teaser-tiles) .ce-element {
        padding: 0 0.6125rem;
    }

    .ce-grid-teaser:not(.ce-grid-teaser-tiles) .ce-teaser-link {
        margin-bottom: 1.25rem;
    }

    .ce-grid-teaser-tiles .ce-element {
        width: 33.3333%;
    }
    .ce-grid-teaser-tiles .ce-element:nth-child(2n+1) {
        clear: none;
    }
    .ce-grid-teaser-tiles .ce-element:nth-child(3n+1) {
        clear: none;
    }

    .ce-layout-overlay-headline .ce-header > * {
        /*! font-size: 6vw; */
    }

    .ce-carousel-gallery {
        margin: 0 -.625rem;
    }

    .ce-carousel-gallery .slick-track .slick-slide {
        padding: .125rem .625rem;
    }

    .ce-layout-show-as-slider .slick-arrow.slick-prev {
        margin-left: .625rem;
    }
    .ce-layout-show-as-slider .slick-arrow.slick-next {
        margin-right: .625rem;
    }
    
}

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

    .ce-grid-teaser:not(.ce-grid-teaser-tiles) {
        margin: 0 -1.25rem;
    }
    .ce-grid-teaser:not(.ce-grid-teaser-tiles) .ce-element {
        padding: 0 1.25rem;
    }
    .ce-grid-teaser:not(.ce-grid-teaser-tiles) .ce-teaser-link {
        margin-bottom: 2.5rem;
    }

    .ce-grid-teaser-tiles .ce-element {
        width: 33.3333%;
    }

    .ce-grid-teaser-tiles {
        margin-left: -2.5rem;
        margin-right: -2.5rem;
        margin-bottom: 2.5rem;
    }

    /* news teaser */
    .news-list-teaser {
        margin: 0 -1.25rem;
    }
    .news-list-item-teaser {
        width: 33.3333%;
        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(3n+1) {
        clear: left;
    }

    .ce-layout-overlay-headline .ce-header {
        /*! padding: 2.5rem; */
    }

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

    .ce-carousel-gallery .slick-track .slick-slide {
        padding: .125rem 1.25rem;
    }

    .ce-layout-show-as-slider .slick-arrow.slick-prev {
        margin-left: 1.25rem;
    }
    .ce-layout-show-as-slider .slick-arrow.slick-next {
        margin-right: 1.25rem;
    }
    
    .ce-layout-overlay-headline .ce-header {
        padding: 3.75rem;
    }
}

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

    .ce-grid-teaser:not(.ce-grid-teaser-tiles) .ce-element {
        width: 33.3333%;
    }
    .ce-grid-teaser:not(.ce-grid-teaser-tiles) .ce-element:nth-child(2n+1) {
        clear: none;
    }
    .ce-grid-teaser:not(.ce-grid-teaser-tiles) .ce-element:nth-child(3n+1) {
        clear: left;
    }

    .ce-layout-overlay-headline .ce-header {
        /*! padding: 5rem; */
    }

}

@media (min-width:92.5em) {

    .ce-layout-overlay-headline .ce-header > * {
        font-size: 9.375rem;
    }

    .ce-layout-overlay-headline .ce-header {
        /*! padding: 7.5rem; */
    }

}
