
.slick-dots {
    max-width: 100%; /* prevent page overflow */
    overflow: clip;
}

.btn-video-pause {
    --btn-color-fg: var(--color-white);
    --btn-color-bg: var(--color-darkgray);
    --btn-color-border: var(--color-darkgray);
}

/* 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: var(--color-white);
        text-shadow: 0 0 1px rgb(0,0,0);
        background: none;
    }
    .ce-media-image a.lightbox::before {
        content: '\f00e';
    }
    .page-footer .ce-media-image a::before {
        content: none;
    }
}

/* news */
@media all {

    .news-list-item + .news-list-item {
        border-top: 1px solid rgb(153,153,153);
        padding-top: 1.25rem;
    }
    .news-list-item + .news-list-item.news-list-item-teaser {
        border: none;
        padding-top: 0;
    }

    .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;
    }
}

/* expandable */
@media all {
    .rc-expandable-enabled {
        position: relative;
        margin-bottom: 1.25rem;
    }

    .rc-expandable-enabled .rc-expandable-inner {
        overflow: clip;
    }
    .rc-expandable-enabled.rc-open .rc-expandable-inner {
        max-height: none !important;
    }

    .rc-expandable-bottom {
        display: none;
    }
    .rc-expandable-enabled .rc-expandable-bottom {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
        text-align: center;
    }
    .rc-expandable-enabled.rc-open .rc-expandable-bottom {
        position: static;
    }
}

/* teaser elements */
@media all {

    .ce-teaser-link {
        position: relative;
        display: block;
        height: 0;
        padding-bottom: 75%;
        overflow: clip;
        margin-bottom: 0.9375rem;
        color: inherit;
        background-color: rgb(224,224,224);
        text-align: center;
    }
    .ce-teaser-type-topic .ce-teaser-link,
    .ce-teaser-type-photo .ce-teaser-link {
        padding-bottom: 86.363636%
    }

    .ce-teaser-hover.ce-bg-brown .ce-bodytext { background-color: rgba(51,27,0,0.25); }
    .ce-teaser-hover.ce-bg-cyan .ce-bodytext { background-color: rgba(0,102,102,0.25); }
    .ce-teaser-hover.ce-bg-green .ce-bodytext { background-color: rgba(0,102,68,0.25); }

    .ce-teaser-hover.ce-bg-brown:hover .ce-bodytext,
    .ce-teaser-hover.ce-bg-brown:focus .ce-bodytext { background-color: rgba(51,27,0,0.8); }
    .ce-teaser-hover.ce-bg-brown:focus-within .ce-bodytext { background-color: rgba(51,27,0,0.8); }
    .ce-teaser-hover.ce-bg-cyan:hover .ce-bodytext,
    .ce-teaser-hover.ce-bg-cyan:focus .ce-bodytext { background-color: rgba(0,102,102,0.8); }
    .ce-teaser-hover.ce-bg-cyan:focus-within .ce-bodytext { background-color: rgba(0,102,102,0.8); }
    .ce-teaser-hover.ce-bg-green:hover .ce-bodytext,
    .ce-teaser-hover.ce-bg-green:focus .ce-bodytext { background-color: rgba(0,102,68,0.8); }
    .ce-teaser-hover.ce-bg-green:focus-within .ce-bodytext { background-color: rgba(0,102,68,0.8); }

    .ce-teaser-hover .ce-bodytext {
        position: absolute;
        top:0;
        left:0;
        right:0;
        bottom:0;
        display: flex;
        align-items: center;
        padding: 1.25rem;
        padding-bottom: 5rem;
        transition: background-color 0.25s ease-in;
    }
    .ce-teaser-hover .ce-bodytext-inner {
        opacity: 0;
        transition: opacity 0.25s ease-in;
    }
    .ce-teaser-hover:hover .ce-bodytext-inner,
    .ce-teaser-hover:focus .ce-bodytext-inner {
        opacity: 1;
    }
    .ce-teaser-hover:focus-within .ce-bodytext-inner {
        opacity: 1;
    }
    .ce-teaser-hover .ce-bodytext-inner :last-child {
        margin-bottom: 0;
    }

    .ce-teaser-figure {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .ce-teaser-header {
        position: absolute;
        z-index: 1;
        bottom: 45%;
        width: 100%;
        transition: bottom 0.25s ease-in;
    }
    .ce-teaser-hover:hover .ce-teaser-header,
    .ce-teaser-hover:focus .ce-teaser-header {
        bottom: 100%;
    }
    .ce-teaser-hover:focus-within .ce-teaser-header {
        bottom: 100%;
    }

    .ce-teaser-header-inner {
        font-size: 10vw;
    }

    .ce-teaser-button {
        position: absolute;
        top: 55%;
        width: 100%;
        transition: top 0.25s ease-in;
    }
    .ce-teaser-hover:hover .ce-teaser-button,
    .ce-teaser-hover:focus .ce-teaser-button {
        top: calc(100% - 3.75rem);
    }
    .ce-teaser-hover:focus-within .ce-teaser-button {
        top: calc(100% - 3.75rem);
    }

    .ce-teaser-type-text .ce-teaser-link {
        height: auto;
        padding: 1.25rem;
        text-decoration: none !important;
    }

    .ce-teaser-type-text .ce-teaser-header {
        position: static;
    }

    .ce-teaser-type-text .ce-teaser-button {
        position: static;
    }

    .ce-teaser-type-photo .ce-teaser-header {
        position: relative;
        top: 1.25rem;
    }

    /* center teaser box wide and high */
    .ce-box-2-1 .ce-teaser-figure {
        left: calc(-50% - 0.625rem);
        right: calc(-50% - 0.625rem);
    }
    .ce-box-1-2 .ce-teaser-figure {
        top: calc(-50% - 0.625rem);
        bottom: calc(-50% - 0.625rem);
    }
    .page-content-more .content-more .ce-type-grid-boxes .ce-type-shortcut .ce-teaser-type-topic .ce-teaser-figure img{
        width: 100%;
       }
}


/* iconlink elements (icon classes -> rte.css) */
@media all {
    .ce-iconlink-container {
        list-style: none;
        margin-bottom: 1.25rem;
        padding:0;
    }

    .ce-type-iconlink {
        border-top: 1px solid rgb(153,153,153);
        border-bottom: 1px solid rgb(153,153,153);
    }

    .ce-type-iconlink + .ce-type-iconlink {
        border-top:  none;
    }

    .ce-iconlink-link {
        display: flex;
        align-items: center;
        color: currentColor;
        font-size: max(14pt, 1em);
        padding: 0.625rem 0;
        padding-right: 0.625rem;
    }

    .ce-iconlink-link:focus span,
    .ce-iconlink-link:hover span {
        color: var(--color-orange);
        text-decoration: underline;
    }
}

/* layout card */
@media all {

    .ce-layout-card-outer {
        background: var(--color-white);
        box-shadow: 0 0 1.25rem rgba(0,0,0,0.05);
        padding: 0.625rem;
        padding-bottom: 0.3125rem;
        margin-bottom: 0.9375rem;
    }

    .rc-xsmall .ce-layout-card .ce-right.ce-nowrap .ce-gallery,
    .rc-small .ce-layout-card .ce-right.ce-nowrap .ce-gallery {
        float: none;
        width: auto;
        margin-top: -0.625rem;
        margin-left: -0.3125rem;
        margin-right: -0.3125rem;
        padding: 0;
    }

    .ce-layout-card .ce-grid-large-66-33 {
        display: flex;
        flex-direction: column;
    }

    .ce-layout-card .ce-grid-large-66-33 .ce-col:first-child {
        order: 2;
    }
    .ce-layout-card .ce-grid-large-66-33 .ce-col:last-child {
        margin-top: -0.625rem;
        margin-left: -0.625rem;
        margin-right: -0.625rem;
    }

    .ce-layout-card .ti-object-map {
        margin: 0 -0.625rem -0.3125rem;
        width: calc(100% + 1.25rem);
    }
}

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

}

@media all and (min-width: 40em), print {
    .ce-media-image a::before {
        right: 0.625rem;
        bottom: 0.625rem;
    }

    /* teaser */
    .ce-teaser-header-inner {
        font-size: 5vw;
    }

    /* teaser grid */
    /* reset teaser wide and high */
    .ce-box-2-1 .ce-teaser-figure,
    .ce-box-1-2 .ce-teaser-figure {
        top: 0;
        left:0;
        right:0;
        bottom: 0;
    }

    .ce-box-2-1 .ce-teaser-link {
        padding-bottom: calc((100% - 1.25rem) / 2 * 0.86363636);
    }
    .ce-box-1-2 .ce-teaser-link {
        padding-bottom: calc(86.363636% * 2 + 1.25rem);
    }
    .ce-box .ce-teaser-type-text .ce-teaser-link::before {
        content:"";
        float:left;
        margin-left:-1px;
        width:1px;
        height:0;
        padding-bottom: 86.363636%
    }

    /* layout card */
    .ce-layout-card-outer {
        padding: 1.25rem;
    }

    .ce-layout-card .ce-right.ce-nowrap .ce-gallery {
        margin-top:  -1.25rem;
        margin-right: -1.25rem;
    }

    .rc-medium .ce-layout-card .ce-right.ce-nowrap .ce-bodytext {
        overflow: visible;
    }

    .ce-layout-card .ce-grid-large-66-33 .ce-col:last-child {
        margin-top: -1.25rem;
        margin-left: -1.25rem;
        margin-right: -1.25rem;
    }

    .ce-layout-card .ti-object-map {
        margin: 0 -1.25rem -0.3125rem;
        width: calc(100% + 2.5rem);
    }

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

}

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

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

    /* teaser */
    .ce-teaser-header-inner {
        font-size: 3.33vw;
    }

    /* teaser grid */
    .ce-box-2-1 .ce-teaser-link {
        padding-bottom: calc((100% - 2.5rem) / 2 * 0.86363636);
    }
    .ce-box-1-2 .ce-teaser-link {
        padding-bottom: calc(86.363636% * 2 + 2.5rem);
    }

    /* layout card */
    .ce-layout-card-outer {
        margin-bottom: 0.9375rem;
        padding: 2.5rem;
        padding-bottom: 1.5625rem;
    }

    .ce-layout-card .ce-right.ce-nowrap .ce-gallery {
        margin-top:  -2.5rem;
        margin-right: -2.5rem;
    }

    .ce-layout-card .ce-grid-large-66-33 { display: block; }
    .ce-layout-card .ce-grid-large-66-33 .ce-col:first-child {
        width: calc(66.6666% + 2.5rem);
    }
    .ce-layout-card .ce-grid-large-66-33 .ce-col:last-child {
        margin-top: -2.5rem;
        margin-right: -2.5rem;
        float: right;
    }

    .ce-layout-card .ti-object-map {
        margin: 0 -2.5rem -1.5625rem;
        width: calc(100% + 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;
    }
}

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

    /* teaser */
    .ce-teaser-hover:hover .ce-teaser-button,
    .ce-teaser-hover:focus .ce-teaser-button {
        top: calc(100% - 7.5rem);
    }
    .ce-teaser-hover:focus-within .ce-teaser-button {
        top: calc(100% - 7.5rem);
    }

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