/* elements.css for Varusschlacht */

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

.werbelink span {
    font-weight: 600;
}

/* cookieconsent */
.cc-link {
    padding: 0;
    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: 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: block;
        margin-bottom: 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;
    }

    .no-news-found {
        margin-bottom: 2.5rem;
    }

}

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

    .pagination {
        margin-bottom: 2.5rem;
        clear: both;
    }

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

    .pagination ul {
        display: block;
        margin: 0 -.3125rem;
        padding: 0;
        position: relative;
        clear: both;
    }

    .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;
        min-height: 2.5rem;
        min-width: 2.5rem;
        line-height: 2.5rem;
        vertical-align: middle;
        white-space: nowrap;
        background-color: rgb(255, 255, 255);
        box-shadow: 0 0rem 1.25rem rgba(0,0,0,0.075);
    }

    .pagination span:hover,
    .pagination a:not(.btn):focus, 
    .pagination a:not(.btn):hover{
        color: rgb(255, 255, 255);
        background-color: rgb(36, 16, 2);
        box-shadow: unset;
    }

    .pagination a:not(.fa)::before { content: none; }

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

    .pagination .current {
        background: currentColor;
        background-clip: padding-box;
        background-color: rgb(255, 80, 0);
        box-shadow: unset;
    }
    .pagination .current b {
        color: rgb(255,255,255);
    }

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

    .ce-layout-box .ce-teaserlink-link {
        opacity: 1;
        z-index: 2;
    }

    .news-list-category {
        float: left;
        font-weight: 700;
    }

    .news-single .news-list-category {
        float: none;
    }

    .news-single .news-list-category::after ,
    .news-list-item-teaser .news-list-category::after {
        content: " | ";
    }

    .link-icon {
        display: flex;
        width: 1.25rem;
        height: 1.25rem;        
        z-index: 2;
        right: 0;
        margin-right: 0;
        justify-content: center;
        align-items: center;
        transform: translate(0);
    }

    .link-icon-plus::before, 
    .link-icon-plus::after {
        content: "";
        position: absolute;
        height: 100%;
        width: .25rem;
        background-color: currentColor;
    }

    .link-icon-plus::after {
        height: .25rem;
        width: 100%;
    }

    .link-icon-enlarge {
        position: absolute;
        bottom: 0;
        right: 0;
        margin-right: 1.25rem;
        margin-bottom: 1.25rem;
        opacity: .1;
    }

    .lightbox:hover .link-icon-enlarge {
        opacity: 1;
    }

    .link-icon-enlarge::before, 
    .link-icon-enlarge::after {
        content: "";
        position: absolute;
        height: 60%;
        width: 60%;
        background-color: transparent;
        border: .25rem solid rgb(255, 255, 255);
    }

    .link-icon-enlarge::before {
        top: 0;
        right: 0;
        border-bottom-color: transparent;
        border-left-color: transparent;
    }

    .link-icon-enlarge::after {
        bottom: 0;
        left: 0;
        border-top-color: transparent;
        border-right-color: transparent;
    }

    .btn .link-icon {
        top: 50%;
        margin-left: .625rem;
    }

    .ce-layout-box .ce-teaserlink-link .link-icon {
        position: absolute;
        right: 0;
        margin-right: 1.25rem;
        bottom: 0;
        margin-bottom: 1.25rem;
        color: rgb(254, 80, 0);
    }

    .ce-layout-box.ce-frame-bg-orange .ce-teaserlink-link .link-icon {
        color: rgb(255, 255, 255);
    }

    /* Animation */

    .link-icon ,
    .link-icon:before ,
    .link-icon:after {
        transition: all .125s ease-in-out;
    }

    .link-icon.link-icon-plus {
        transition: all .125s ease-in-out, 
            transform .125s ease-in-out .125s, 
            color .125s ease-in-out;
    }

    a:focus .link-icon.link-icon-plus ,
    a:hover .link-icon.link-icon-plus {
        transition: all .125s ease-in-out .125s, 
            transform .125s ease-in-out, 
            color .125s ease-in-out;
    }

    .link-icon.link-icon-enlarge {
        transition: all .125s ease-in-out;
    }

    a:focus .link-icon.link-icon-enlarge ,
    a:hover .link-icon.link-icon-enlarge {
        transition: all .125s ease-in-out;
    }

    a:focus .link-icon.link-icon-plus:before ,
    a:focus .link-icon.link-icon-plus:after ,
    a:hover .link-icon.link-icon-plus:before ,
    a:hover .link-icon.link-icon-plus:after {
        transition-delay: .125s;
    }

    a.ce-teaserlink-link:focus .link-icon ,
    a.ce-teaserlink-link:hover .link-icon ,
    .btn:focus .link-icon ,
    .btn:hover .link-icon {
        transform: rotate(45deg);
    }

    a:focus .link-icon.link-icon-plus::before ,
    a:hover .link-icon.link-icon-plus::before {
        transform: translateY(.375rem);
        height: 1rem;
    }

    a:focus .link-icon.link-icon-plus::after ,
    a:hover .link-icon.link-icon-plus::after {
        transform: translateX(-.375rem);
        width: 1rem;
    }

    a:focus .link-icon.link-icon-enlarge::before ,
    a:hover .link-icon.link-icon-enlarge::before {
        transform: translate(.25rem, -.25rem);
    }

    a:focus .link-icon.link-icon-enlarge::after ,
    a:hover .link-icon.link-icon-enlarge::after {
        transform: translate(-.25rem, .25rem);
    }

    .cc-revoke.cc-right {
        /*! right: 13.9375rem; */
        left: 0;
        right: unset;
        z-index: 10;
        padding: 0 1.25rem;
        border-radius: 0;
        overflow: visible;
        height: 2.75rem;
        display: flex;
        justify-content: center;
        align-items: center;
        box-shadow: 0 0rem 2.5rem rgba(0,0,0,0.15);
    }

    .cc-revoke.cc-right:hover {
        background-color: rgb(36, 16, 2);
    }

    .cc-animate.cc-revoke.cc-bottom {
        transform: translateY(100%);
    }

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

    .ce-div::before {
        content: "";
        display: block;
        border-radius: 25%;
        position: absolute;
        left: 2.5rem;
        right: 2.5rem;
        bottom: 100%;
        height: 1.25rem;
        box-shadow: 0 0 1.25rem rgba(0,0,0,0.25);
    }

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

    .ce-accordeon .rc-link .ce-header {
        margin-bottom: 0;
        margin-top: 2.5rem;
    }   

    .offset-controller {
        position: absolute;
        z-index: -1;
        left: 0;
        /*! top: 0; */
        bottom: 0;
        height: 3.875rem;
    }

    .ce-bodytext p.p-orange-hint {
        padding: 1.25rem;
        padding: calc(1.25rem - .25rem);
    }

    .ce-bodytext p + p.p-orange-hint {
        margin-top: 1.875rem;
    }

    .ce-bodytext p.p-orange-hint + p .btn {
        margin-top: 1.25rem;
    }

    a.shop-link {
        display: block;
        background: rgb(254, 80, 0);
        position: fixed;
        z-index: 10;
        bottom: 0;
        right: 5.25rem;
        color: rgb(255, 255, 255);
        padding: 0 1.25rem;
        transform-origin: 100% 50%;
        box-shadow: 0 0rem 2.5rem rgba(0,0,0,0.15);
        right: 2.75rem;
        height: 2.75rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    a.shop-link:not(.btn):focus, 
    a.shop-link:not(.btn):hover {
        background: rgb(36, 16, 2);
        color: rgb(255, 255, 255);
    }

    a.lightbox::before {
        display: none;
    }

    .ce-uploads-fileinfo > .ce-uploads-description {
        display: block;
    }

    .searchresults ol {
        padding: 0;
        padding-left: 1.25rem;
        margin: 0;
    }

    .searchresults ol li {
        position: relative;
        margin: 0;
        padding: 2.5rem 0;
    }

    .searchresults ol li::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: 0 -2.5rem 0 -3.75rem;
        z-index: -1;
        background-color: rgb(242, 242, 242);
    }

    .searchresults ol li:nth-child(2n)::before {
        background-color: rgb(235, 235, 235);
    }

    .searchresults ol li .search-result-info {
        margin-bottom: 0;
    }

    .news-related { 
        margin-bottom: 2.5rem; 
    }

    .news-related:last-of-type { 
        margin-bottom: 0; 
    }

    html body > .cc-window.cc-floating {
        max-width: none;
        width: auto;
        left: 0;
        right: 0;
        bottom: 0;
        border-radius: 0;
        box-shadow: 0 0rem 2.5rem rgba(0,0,0,0.05), 0 1.25rem 1.25rem rgba(0,0,0,.125);
    }

    html body > .cc-window.cc-theme-classic .cc-compliance .cc-btn {
        border-radius: 0;
        background-color: rgb(255, 255, 255);
        color: rgb(36, 16, 2);
        font-size: 1rem;
        padding: .625rem;
        margin: 0 .3125rem;
    }

    html body > .cc-window.cc-theme-classic .cc-compliance {
        display: flex;
        margin-left: -.3125rem;
        margin-right: -.3125rem;
    }

    html body > .cc-window.cc-theme-classic .cc-btn.cc-allow {
        order: 0;
    }

    html body > .cc-window.cc-theme-classic .cc-btn.cc-deny {
        order: 1;
    }

    html body > .cc-window.cc-theme-classic .cc-menu {
        margin-left: -.3125rem;
        margin-right: -.3125rem;
    }

    html body > .cc-window.cc-theme-classic a.cc-link ,
    html body > .cc-window.cc-theme-classic .cc-menu a {
        opacity: 1;
    }

    html body > .cc-window.cc-theme-classic .cc-menu a {
        padding: .625rem;
        margin: .3125rem;
        background-color: rgb(36, 16, 2, .1);
        color: rgb(255, 255, 255);
    }

    html body > .cc-window.cc-theme-classic .cc-link ,
    html body > .cc-window.cc-theme-classic .cc-btn.cc-allow ,
    html body > .cc-window.cc-theme-classic .cc-btn.cc-deny {
        text-decoration: none;
    }

    html body > .cc-window.cc-theme-classic .cc-menu a:hover , 
    html body > .cc-window.cc-theme-classic .cc-compliance .cc-btn:hover {
        background-color: rgb(36, 16, 2);
        color: rgb(255, 255, 255);
    }

    .page-header-topnav {
        color: rgb(36, 16, 2);
        margin-top: -2.5rem;
    }

    .page-header-topnav .topnav {
        margin: -.625rem;
        padding: 2.5rem;
    }

    .page-header-topnav .topnav a {
        padding: .625rem;
        color: rgb(166, 162, 159);
        transition: all .125s ease-in-out;
    }

    .page-header-topnav .topnav a:focus ,
    .page-header-topnav .topnav a:hover {
        color: rgb(255, 80, 0);
    }

    .page-footer-socialnav .socialnav {
        margin: 0 -.625rem;
    }

    .page-footer-socialnav .socialnav a {
        font-size: 2rem;
        padding: 0 .625rem;
        transition: all .125s ease-in-out;
    }

    .page-footer-socialnav .socialnav a:hover {
        color: rgb(255, 80, 0);
        transform: scale(1.1);
    }

    .page-header-socialnav .socialnav {
        font-size: 1.5rem;
        margin: 0 -.625rem;
        padding: 2.5rem;
        padding-top: 0;
    }

    .page-header-socialnav .socialnav a {
        padding: .625rem;
        color: rgb(51, 51, 51);
        transition: all .125s ease-in-out;
    }

    .page-header-socialnav .socialnav a:focus ,
    .page-header-socialnav .socialnav a:hover {
        color: rgb(166, 162, 159);
        color: rgb(255, 80, 0);
    }

    .mm-menu_position-bottom.mm-menu_opened, 
    .mm-menu_position-front.mm-menu_opened, 
    .mm-menu_position-top.mm-menu_opened {
        z-index: 20;
    }

    /* Megamenue Animation */

    .mm-panel ,
    .mm-listitem_opened > .mm-panel {
        -webkit-transition: -webkit-max-height .25s ease-in-out !important;
        transition: -webkit-max-height .25s ease-in-out !important;
        -o-transition:  max-height .25s ease-in-out !important;
        transition: max-height .25s ease-in-out !important;
    }

    .mm-panel.mm-hidden {
        display: block !important;
        max-height: 0;
    }

    .mm-listitem_opened > .mm-panel {
        display: block;
        max-height: 100vh;
    }

    .mfp-bg {
        background-color: transparent;
    }

    .mfp-container {
        background-color: rgba(0, 0, 0, .75);
    }

    .mfp-content {
        border: none;
    }

    .mfp-content figcaption {
        background: transparent;
    }

    .mfp-content figcaption * {
        font-size: inherit;
    }

    .mfp-image-holder .mfp-close {
        line-height: 0;
    }

    .cr_body {
        margin-bottom: 2.5rem;
    }

    .cr_body {
        margin-bottom: 2.5rem;
    }

    .cr_body input:not([type="radio"]):not([type="checkbox"]) {
        background-color: rgb(242, 242, 242);
        border: none;
        padding: 1.25rem;
        box-shadow: 0 0 1rem rgba(0, 0, 0, .05) inset;
    }

    .category-list ,
    .news-menu-view ul {
        display: flex;
        list-style: none;
        padding: 0;
        gap: .625rem;
    }

    .category-list a ,
    .news-menu-view ul a {
        padding: .625rem;
        min-height: 2.5rem;
        line-height: 2.5rem;
        vertical-align: middle;
        white-space: nowrap;
        background-color: rgb(255, 255, 255);
        box-shadow: 0 0rem 1.25rem rgba(0,0,0,0.075);
    }
    
    .news-menu-year {
        float: left;
        margin-right: .625rem;
        min-height: 2.5rem;
        display: flex;
        align-items: center;
    }
    
    .news-menu-view {
        margin-bottom: 2.5rem;
    }
    
    .news-menu-year::after {
        content: ":";
    }
    
    .news-menu-view ul a:not(.btn):focus ,
    .news-menu-view ul a:not(.btn):hover ,
    .category-list a:not(.btn):focus ,
    .category-list a:not(.btn):hover {
        color: rgb(255, 255, 255);
        background-color: rgb(36, 16, 2);
        box-shadow: unset;
    }

    .news-menu-view ul li.itemactive a ,
    .category-list a.active {
        color: rgb(255, 255, 255);
        background-color: rgb(255, 80, 0);
        box-shadow: unset;
    }

}

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

    .offset-controller {
        height: 6.75rem;
    }

}

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

    html body > .cc-window.cc-floating {
        left: auto;
        max-width: 24rem;
        margin-right: 1.25rem;
        margin-bottom: 4rem;
    }

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

    .pagination ul {
        padding-inline: 1.25rem;
    }

}

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

    .offset-controller {
        height: 7.75rem;
    }

}

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

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

    /* news teaser */
    .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:82.5em) {

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

/* desktop - xxlarge */
@media (min-width: 90em) {

    .offset-controller {
        height: 0;
    }

    .page-header-topnav {
        margin-top: 0;
    }

    .cc-revoke.cc-right {
        left: 25%;
    }

}

/* desktop - xxlarge */
@media (min-width: 112.5em) {

    .ce-bodytext p.p-orange-hint {
        padding: 2.5rem;
        padding: calc(2.5rem - .25rem);
    }

    a.shop-link {
        padding: .53125rem 1.25rem;
    }

    .searchresults ol li {
        padding: 5rem 0;
    }

    .searchresults ol li::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: 0 -5rem 0 -6.25rem;
        z-index: -1;
        background-color: rgb(242, 242, 242);
    }

    .news-related { 
        margin-bottom: 5rem; 
    }

    .news-list-teaser {
        margin: 0 -2.5rem;
    }
    .news-list-item-teaser {
        padding: 0 2.5rem;
    }

    .cc-revoke.cc-right {
        /*! right: 15rem; */
        padding: .53125rem 1.25rem;
    }

    .ce-layout-box .ce-teaserlink-link .link-icon {
        margin-right: 2.5rem;
        margin-bottom: 2.5rem;
        width: 2rem;
        height: 2rem;
    }

    .ce-layout-box .link-icon-plus::before, 
    .ce-layout-box .link-icon-plus::after {
        width: .375rem;
    }

    .ce-layout-box .link-icon-plus::after {
        height: .375rem;
        width: 100%;
    }

    .ce-layout-box a:focus .link-icon::before ,
    .ce-layout-box a:hover .link-icon::before {
        transform: translateY(.625rem);
        height: 1.5rem;
    }

    .ce-layout-box a:focus .link-icon::after ,
    .ce-layout-box a:hover .link-icon::after {
        transform: translateX(-.625rem);
        width: 1.5rem;
    }

    .link-icon-enlarge {
        width: 2rem;
        height: 2rem;
        margin-right: 2.5rem;
        margin-bottom: 2.5rem;
    }

    .link-icon-enlarge::before, 
    .link-icon-enlarge::after {
        border-width: .375rem;
    }

    .page-header-topnav .topnav {
        padding: 5rem;
        padding-right: 2.5rem;
    }

    .page-header-socialnav .socialnav {
        padding: 5rem;
        padding-top: 0;
    }

    .page-footer-socialnav .socialnav {
        margin: 0 -1.25rem;
    }

    .page-footer-socialnav .socialnav a {
        font-size: 3rem;
        padding: 0 1.25rem;
        transition: all .125s ease-in-out;
    }

    .cr_body {
        margin-bottom: 5rem;
    }

    .cr_body input {
        background-color: rgb(242, 242, 242) !important;
    }

    .pagination {
        margin-bottom: 5rem;
    }

    .pagination ul {
        padding-inline: 2.5rem;
    }
    
    .news-menu-view {
        margin-bottom: 5rem;
    }

}

/* desktop - xxlarge */
@media (min-width: 120em) {

    .ce-bodytext p.p-orange-hint {
        padding: 2.5rem;
        padding: calc(2.5rem - .25rem);
    }

    a.shop-link {
        bottom: auto;
        top: 50%;
        padding: 1.25rem;
        right: 0;
        height: unset;
        transform: translateY(-50%) rotate(-90deg) translate(50%, -50%);
    }

    html body > .cc-window.cc-floating {
        right: calc(50% - 57.25rem);
    }

    .cc-revoke.cc-right {
        /*! right: 2.75rem; */
    }

}

/* desktop - xxlarge + */
@media (min-width: 121em) {

    a.shop-link {
        right: 50%;
        transform: translate(60.0375rem, -50%) rotate(-90deg) translate(50%, -50%);
    }

    .cc-revoke.cc-right {
        /*! right: calc(50% - 57.25rem); */
        left: calc(50% - 30rem);
    }

}