/* ######################### */
/* remove me */
/* ######################### */
@media all {

    .grid-overlay {
        --grid-color-1: rgba(255, 0, 255, 1);
        --grid-color-2: rgba(0, 255, 255, 1);
        pointer-events: none;
        position: fixed;
        z-index: 9999;
        top: 0;
        left: 0;
        right: 0;
        max-width: var(--width-page);
        margin: 0 auto;
        display: none !important;
        grid-template-rows: minmax(0, 1fr);
        grid-template-columns: repeat(60, minmax(0, 1fr));
    }

    .page-grid > .grid-overlay-inner {
        position: relative;
        grid-column: 2 / -2;
        z-index: 1200;
        opacity: .1;
        display: grid;
        margin: 0 auto;
        width: 100%;
        /*! max-width: var(--width-content); */
        grid-template-columns: repeat(25, minmax(0, 1fr));
    }

    .grid-overlay-inner::before {
        content: "";
        position: fixed;
        top: 0;
        display: block;
        background-color: var(--grid-color-2);
        width: var(--base-size);
        height: var(--base-size);
        z-index: 9999;
    }

    .grid-overlay-inner::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 100%;
        border-left: 1px solid var(--grid-color-1);
    }

    .grid-overlay span {
        height: 100vh;
    }

    .grid-overlay-inner span {
        border-left: 1px solid var(--grid-color-1);
    }

    .grid-overlay-outer {
        max-width: calc(var(--width-content-xl) );
        display:flex;
        justify-content: space-between;
    }

    .page-layout-grid > .grid-row + .grid-row {
        margin-top: var(--base-3-2);
    }

}

/* beginning template styles page */

/* ######################### */
/* basic */
/* ######################### */
@media all {

    html {
        background-color: var(--color-bg-light);
        background-color: rgb(250,250,250);
    }

    body {
        max-width: var(--width-page);
        overflow-x: hidden;
        margin: 0 auto;
    }

    .page {
        overflow-x: clip;
    }

    .content {
        padding-bottom: var(--base-3-2);
    }

    .page-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) repeat(25, minmax(0, var(--base-size))) minmax(0, 1fr);
    }

    .page-grid > * {
        grid-column: 3 / -3;
    }

    .page-layout-grid > * ,
    .page-footer-content.page-grid > * {
        grid-column: 1 / -1;
    }

    .page-grid > .ce-type-div ,
    .page-grid > .ce-type-list ,
    .page-grid > .ce-type-list > div ,
    .page-grid > .ce-type-grid-swiper ,
    .page-grid > [class*="ce-type-grid-"],
    .page-grid > [class*="ce-type-grid-"].ce-full-width {
        grid-column: 1 / -1;
    }

    .page-grid > .ce-type-list > nav ,
    .page-grid > .ce-type-grid-1-1-1 ,
    .page-grid > .ce-type-grid-1-1-1-1  {
        grid-column: 3 / -3;
    }

    .mfp-close-btn-in .mfp-close {
        opacity: 1;
        right:0;
        text-shadow: 0 0 .5rem rgb(255,255,255);
        display: grid;
        place-content: center;
        width: auto;
        aspect-ratio: 1;
        margin-top: var(--gap);
    }

    .mfp-container {
        padding: 0;
    }

    .page-grid > .ce-type-grid-swiper ,
    .page-grid > .ce-type-list {
        display: grid;
        grid-template-columns: var(--grid-template-columns);
        grid-template-rows: repeat(2, auto);
    }

    .page-grid > .ce-type-grid-swiper .ce-header,
    .page-grid > .ce-type-list .ce-header {
        grid-column: 3 / -11;
        grid-row: 1 / -2;
    }

    .page-grid > .ce-type-grid-swiper > .swiper,
    .page-grid > .ce-type-list .swiper {
        grid-column: 3 / -3;
        grid-row: 2 / -1;
    }

    .page-grid > .ce-type-grid-swiper > .swiper-dots ,
    .page-grid > .ce-type-list .swiper-dots {
        grid-column: 19 / -3;
        grid-row: 1 / -2;
        display: grid;
    }

    .page-grid > .ce-type-grid-swiper > .swiper-nav ,
    .page-grid > .ce-type-list .swiper-nav {
        grid-column: 1 / -1;
        grid-row: 2 / -1;
        padding-top: var(--base-3-2);
        display: grid;
        grid-template-columns: var(--grid-template-columns);
    }

    .page-grid > .ce-type-grid-swiper > .swiper-nav .swiper-prev ,
    .page-grid > .ce-type-list .swiper-nav .swiper-prev ,
    .page-grid > .ce-type-grid-swiper > .swiper-nav .swiper-next ,
    .page-grid > .ce-type-list .swiper-nav .swiper-next {
        z-index: 1;
        display: none;
        justify-content: center;
        align-items: center;
        color: var(--color-accent-hover);
        opacity: 0;
    }

    .page-grid > .ce-type-grid-swiper > .swiper-nav .swiper-prev:hover ,
    .page-grid > .ce-type-list .swiper-nav .swiper-prev:hover ,
    .page-grid > .ce-type-grid-swiper > .swiper-nav .swiper-next:hover ,
    .page-grid > .ce-type-list .swiper-nav .swiper-next:hover {
        opacity: 1;
    }

    .page-grid > .ce-type-grid-swiper > .swiper-nav .swiper-prev ,
    .page-grid > .ce-type-list .swiper-nav .swiper-prev {
        grid-column: 1 / 2;
        position: relative;
        background: linear-gradient(-90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    }

    .page-grid > .ce-type-grid-swiper > .swiper-nav .swiper-next ,
    .page-grid > .ce-type-list .swiper-nav .swiper-next {
        grid-column: -2 / -1;
        position: relative;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    }

    .page-grid > .ce-type-list .swiper-dots .swiper-pagination {
        justify-content: end;
        align-items: end;
        padding-top: 0;
        padding-bottom: calc(var(--dynamic-size-scaler) * .375);
    }

    .page-grid > .ce-type-list .news-list-item-all-news .ce-gallery-bg .ce-gallery-placeholder {
        background-color: var(--color-primary);
        aspect-ratio: 4 / 3;
    }

    .page-grid > .ce-type-list .news-list-item-all-news:hover .ce-gallery-bg ,
    .page-grid > .ce-type-list .news-list-item-all-news:focus .ce-gallery-bg {
        opacity: .95;
    }

}

@media (min-width: 100rem) {

    .page-grid > .ce-type-grid-swiper > .swiper-nav .swiper-prev ,
    .page-grid > .ce-type-list .swiper-nav .swiper-prev ,
    .page-grid > .ce-type-grid-swiper > .swiper-nav .swiper-next ,
    .page-grid > .ce-type-list .swiper-nav .swiper-next {
        display: grid;
    }

}

/* ######################### */
/* page-header */
/* ######################### */
@media all {
    .hidden-onload {
        display: none;
    }

    .page-header-sticky {
        --min-window-height-px: 460;
    }

    .page-header-spacer {
        display: none;
    }

    .page-header-spacer {
        display: flex;
        /*
        height: calc((var(--height-logo) + var(--padding-logo) * 2) + (var(--gap-4) + 1em));
        height: calc(var(--height-logo) + var(--padding-logo) * 2);
        */
        height: var(--gap-4);
    }
    .page-header-sticky .page-header-main {
        position: sticky;
        left: 0;
        right: 0;
        z-index: 1030;
        top: 0;
    } 

    .page-header-main.offcanvas-active {
        position: absolute;
        top: var(--scroll-y);
    }

    page-header-main::before ,
    .page-header-main::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .page-header-main::before {
        z-index: -3;
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        mask: linear-gradient(rgba(255,255,255) 50%, rgba(255,255,255,.5));
    }

    .page-header-main::after {
        z-index: -2;
        background: linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, .9));
    }

    .top-menu ,
    .page-header-searchbox {
        width: auto;
        display: flex;
        align-items: center;
    }

    .top-menu .navbar-nav {
        flex-direction: row;
        gap: var(--base-5-8);
    }

    .page-header-searchbox:focus-within ,
    .page-header-searchbox:hover ,
    .page-header-searchbox:focus-within input::placeholder ,
    .page-header-searchbox:hover input::placeholder {
        color: var(--color-accent-hover);
    }    
    
    .page-header-searchbox:has(input:focus-visible) {
        box-shadow: var(--shadow-focus);
    }

    .page-header-topbar-inner {
        /*! align-items: center; */
        gap: var(--base-5-8);
    }

    .page-header-topbar {
        z-index: 1040;
        position: relative;
        border-bottom: 1px solid var(--color-bg-light);
    }

    .page-header-topbar .navbar-nav {
        margin-top: 0;
    }

    .page-header-logo {
        max-width: 100%;
        height: var(--height-logo);
        padding: var(--padding-logo) 0;
        box-sizing: content-box;
    }

    .page-header-logo-link,
    .page-header-logo-img {
        display: block;
        max-width: 100%;
        width: auto;
        height: 100%;
        fill: var(--color-primary);
        aspect-ratio: 244 / 56;
        /*! overflow: hidden; */
        filter: drop-shadow(0 0 1rem rgb(255, 255, 255)) drop-shadow(0 0 2.5rem rgb(255, 255, 255));
    } 

    .navbar {
        position: static;
        align-items: unset;
    }

    .page-header-searchbox > form ,
    .page-header-searchbox > form > .input-group > input {
        height: 100%;
        display: flex;
    }

}

@media(min-width: 48rem) {

    .navbar {
        position: relative;
    }

    .page-header-searchbox-dummy {
        height: 3.375rem
    }

    .page-header-searchbox {
        transform: translateY(0)
    }

    .page-header-sticky {
        --min-window-height-px: 600
    }

    .page-header-sticky .top-menu {
        width: auto;
    }

    .page-header-sticky .top-menu,
    .page-header-sticky .page-header-logo {
        transition: all .25s ease-in-out;
    }

    .page-header-sticky .page-header-topbar {
        max-height: calc(1em + var(--gap-4));
        transition: all .25s ease-in-out;
    }

    .page-header-sticky .page-header-topbar .container {
        max-height: calc(1em + var(--gap-4));
        transition: all .25s ease-in-out;
        display: flex;
        justify-content: end;
        align-items: center;
    }

    .page-header-sticky.page-scrolled .page-header-topbar {
    }

}

@media(min-width: 62rem) {
    .page-header-sticky .page-header-navigation {
        overflow: visible;
    }

    .page-header-sticky {
        --min-window-height-px: 760;
    }
}

/* ######################### */
/* page-stage */
/* ######################### */
@media all {
    .page-stage .ce-element {
        margin: 0;
    }

    .page-stage-two-cols {
        display: flex;
        align-items: center;
        flex-direction: column-reverse;
        background-color: rgba(var(--color-bg-dark-rgb), .05);
        width: 100%;
    }

    .page-stage-left {
        padding: var(--gap-5);
    }

    .page-stage-right {
        width: 100%;
    }
}

@media (min-width: 62rem) {
    .page-stage-two-cols {
        display: flex;
        align-items: center;
        flex-direction: row;
        background-color: rgba(var(--color-bg-dark-rgb), .05);
        gap: var(--gap-5);
        width: 100%;
    }

    .page-stage-left {
        width: calc(var(--col-6-width) + var(--gap-5));
        margin-left: calc((var(--width-page) - var(--width-content)) / 2);
    }

    .page-stage-right {
        width: calc(var(--col-6-width) + var(--gap-5) + (var(--width-page) - var(--width-content)) / 2);
    }
}

/* ######################### */
/* page */
/* ######################### */
@media all {

    .page-stage [class*="container"] {
        /*! max-width: var(--max-width-page-stage); */
        /*! padding-right:var(--padding-page-stage); */
        /*! padding-left: var(--padding-page-stage); */
    }

    [class^="container"] {
        max-width: unset;
        padding: 0;
        grid-template-columns: var(--grid-template-columns);
        display: grid;
    }

    [class^="container"] > *:not(.row) {
        grid-column: 1 / -1;
    }

    [class^="container"] > *:is(.row) {
        grid-column: 1 / -1;
    }

    .page-stage [class*="container"] [class*="container"],
    [class*="container"] [class*="container"] {
        padding: 0;
    }

    .ce-type-grid-fullwidth-content [class*="container"] {
        max-width: 100%;
        padding: 0;
    }

    .ce-type-grid-fullwidth-bg > [class*="container"] {
        max-width: 100%;
        padding: 0;
    }

    [class*="ce-type-grid-fullwidth"] > [class*="container"] .ce-grid-fullwidth-wrap > .ce-element > [class*="container"] {
        padding-right:var(--gap-5);
        padding-left: var(--gap-5);
    }

}

@media (min-width: 62rem) {

    :is(
    .content-main,
    [class*="ce-type-grid-fullwidth"]
    ) [class*="ce-type-grid-slick"] > [class^="container"] {
        max-width: var(--width-content-xl);
    }

    .content-main [class*="ce-type-grid-slick"] > [class^="container"] :is(.ce-slider, .slick-dots,.slick-pause-wrap-inner,.ce-carousel) {
        max-width: calc(var(--width-content) - var(--gap-5) * 2);
        margin: 0 auto;
    }

    .content-main > :is(
    .ce-type-header,
    .ce-type-textmedia:not([class*="ce-gallery-count"]),
    .ce-type-uploads,
    .ce-type-grid-accordion,
    .ce-type-grid-fold-up,
    .ce-type-grid-expandable,
    ) > [class*="container"] > * {
        max-width: var(--width-content-sm);
    }

    .content-main > :is(
    .ce-type-dw_image_compare,
    .ce-gallery-count-2,
    .ce-gallery-count-3,
    .ce-gallery-count-4
    ) > [class*="container"] .ce-textmedia-outer {
        margin-left: auto;
        margin-right: auto;
        max-width: var(--width-content-sm);
    }

    .content-main > :is(
    .ce-gallery-count-2,
    .ce-type-textmedia.ce-image-nowrap
    ) > [class*="container"] > * {
        max-width: var(--width-content-md);
    }

    .ce-type-list .news .article > .ce-element:not([class*="ce-type-grid"]) > .container,
    .content-main > :is(
    .ce-type-list,
    [class*="ce-type-grid"]
    ) > [class*="container"] > .ce-header {
        /*! max-width: var(--width-content-sm); */
    }

    .ce-type-list .news > .news-list-view:not(.news-list-teaser) {
        /*! margin: 0 auto; */
        /*! max-width: var(--width-content-md); */
    }

}

/* ######################### */
/* page-content */
/* ######################### */
@media all {
    .page-content {
        overflow-x: clip;
    }

    .page-to-top-link {
        display: flex;
        justify-content: center;
        align-items: center;
        position: fixed;
        right: .625rem;
        bottom: .625rem;
        z-index: 1030;
        width: 2.5rem;
        height: 2.5rem;
        opacity: .4;
        border-radius: var(--border-radius-btn-controller);
    }

    .ce-col-sticky .page-sidebar-inner {
        display: flex;
        flex-direction: column;
        position: sticky;
        top: calc(var(--height-logo) + var(--padding-logo) + var(--gap-2));
    }
}

/* ######################### */
/* page-footer */
/* ######################### */
@media all {
    .page-footer-top :is(a,*) {
        color: var(--color-text-light);
    }

    .page-footer-top a:is(:focus, :hover) ,
    .page-footer-bottom a:is(:focus, :hover) {
        opacity: .75;
        color: var(--color-text-light);
    }

    .page-footer-content {
        border-radius: var(--border-radius);
        padding-top: var(--base-3-2);
        background-color: var(--color-bg-light);
        padding-bottom: var(--base-3-2);
    }

    .page-footer-top {
        border-radius: var(--border-radius);
        padding-top: var(--base-3-2);
        background-color: var(--color-primary);
    }

    .page-footer-bottom ,
    .page-footer-bottom a {
        color: var(--color-text-light);
        background-color: var(--color-bg-dark);
    }

    .page-footer {
        position: relative;
    }

    .page-footer-bottom .navbar {
        padding: var(--base-3-2) 0 var(--base-3-2);
        flex-direction: column;
        align-items: flex-start;
        padding-left: var(--base-size);
        padding-right: var(--base-size);
        /*! grid-column: 4 / -4; */
    }

    .werbelink {
        padding:.5rem 0;
        font-weight: normal;
        color: inherit;
        text-decoration: none;
        margin-top: 1rem;
        /*! opacity: .25; */
    }
}

@media (min-width: 48rem) {
    .page-footer-bottom .navbar {
        flex-direction: row;
    }

    .werbelink {
        margin-top: 0;
    }
}

/* ######################### */
/* new special grids */
/* ######################### */

@media all {

    .grid-row {
        display: grid;
        grid-template-columns: var(--grid-template-columns);
        grid-gap: var(--base-3-2) 0;
    }

    .grid-col ,
    .grid-col .grid-inner {
        display: grid;
    }

    .grid-col {
        grid-template-rows: minmax(0, 1fr);
        grid-template-columns: var(--grid-template-columns);
        grid-column: 1 / -1;
    }

    .grid-col .grid-inner {
        grid-column: 1 / -1;
        grid-row: 1 / -1;
        grid-template-columns: var(--grid-template-columns);
        position: relative;
        z-index: 2;
    }

    .grid-col .grid-inner > * {
        grid-column: 3 / -3;
    }

    .grid-items-top .grid-inner {
        align-items: top;
    }

    .grid-items-center .grid-inner {
        align-items: center;
    }

    [class*="grid-items-equal"] .grid-inner {
        align-items: stretch;
    }

    [class*="grid-items-equal"] .grid-inner > .ce-element {
        display: grid;
        align-items: center;
    }

    .grid-items-equal img {
        min-height: 100%;
    }

    .page-layout-homepage .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper {
        align-self: stretch;
        display: grid;
        align-items: stretch;
    }

    .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper > .swiper ,
    .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper .ce-image-only ,
    .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper .swiper-slide ,
    .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper .ce-gallery ,
    .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper .ce-column ,
    .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper .ce-media ,
    .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper .ce-media a {
        align-items: stretch;
        display: grid;
    }

    .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper > .swiper-nav ,
    .grid-items-equal .grid-inner > .ce-element.ce-type-grid-swiper > .swiper-dots {
        align-self: end;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 10;
    }

    [class*="grid-items-equal-top"] .grid-inner > .ce-element {
        align-items: top;
    }
    [class*="grid-items-equal"] .grid-inner > .ce-news-layout-13 ,
    [class*="grid-items-equal"] .grid-inner > .ce-element.ce-image-only {
        align-items: stretch;
    }

    .grid-items-center > .grid-col {
        height: 100%;
    }

    .ce-full-width .grid-inner > .ce-image-only ,
    .ce-full-width .grid-inner > .ce-type-grid-swiper {
        grid-column: 1 / -1;
    }

    .ce-frame-1px .grid-inner .ce-element:nth-child(1) ,
    [class*="page-layout-sub_"] .header-area .grid-col-left .grid-inner .ce-element:nth-child(2) {
        margin-top: var(--base-3-2);
        /*! margin-top: var(--base-size); */
    }    
    .ce-frame-1px .grid-inner .ce-element:nth-last-child(1) {
        margin-bottom: var(--base-3-2);
        /*! margin-bottom: var(--base-size); */
    }

    .ce-frame-1px .grid-inner .ce-element.ce-image-only ,
    .ce-frame-1px .grid-inner .ce-element.ce-type-grid-swiper ,
    .ce-frame-1px .grid-col-right .grid-inner .ce-element.ce-type-list {
        margin-top: 0;
        margin-bottom: 0;
    }

    .ce-frame-1px .grid-col::before {
        content: "";
        grid-column: 3 / -3;
        grid-row: 1 / -1;
        z-index: 1;
        border: 1px solid var(--color-bg-light);
    }   

    /* fit images to full height */

    [class*="grid-items-equal"] .grid-inner > .ce-news-layout-13 ,
    [class*="grid-items-equal"] .grid-inner > .ce-news-layout-13 .ce-gallery ,
    [class*="grid-items-equal"] .grid-inner > .ce-news-layout-13 .ce-column ,
    [class*="grid-items-equal"] .grid-inner > .ce-news-layout-13 figure ,
    [class*="grid-items-equal"] .grid-inner > .ce-image-only ,
    [class*="grid-items-equal"] .grid-inner > .ce-image-only * ,
    [class*="grid-items-equal"] .grid-inner > .ce-image-set ,
    [class*="grid-items-equal"] .grid-inner > .ce-image-set * {
        display: grid;
        align-items: stretch;
    }

    [class*="grid-items-equal"] .grid-inner > .ce-image-set .ce-text-on-image .ce-textmedia-outer {
        align-items: end;
    }

    [class*="grid-items-equal"] .grid-inner > .ce-news-layout-13 img ,
    [class*="grid-items-equal"] .grid-inner > .ce-image-only img ,
    [class*="grid-items-equal"] .grid-inner > .ce-type-grid-swiper img {
        object-fit: cover;
    }

    [class*="grid-items-equal"] .grid-inner > .ce-news-layout-13 img {
        min-height: 100%;
    }

    .grid-row.grid-1 ,
    .grid-row.grid-1-1 ,
    .grid-row.grid-1-1-1 ,
    .grid-row.grid-1-1-1-1 ,
    .grid-row.grid-flex > .grid-col { 
        gap: var(--base-3-2) var(--base-size);
    }


    .ce-frame-equal-gaps .grid-row.grid-flex > .grid-col {
        gap: var(--base-size);
    }

    .grid-row.grid-1 >.grid-col , 
    .grid-row.grid-1-1 >.grid-col ,   
    .grid-row.grid-1-1-1 >.grid-col ,    
    .grid-row.grid-1-1-1-1 >.grid-col {
        grid-column: unset;
        display: unset;
    }

    .grid-row.grid-1 {
        grid-template-columns: unset;
    }

    .grid-row.grid-1-1 {
        grid-template-columns: unset;
    }

    .grid-row.grid-1-1-1 {
        grid-template-columns: unset;
    }

    .grid-row.grid-1-1-1-1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* page layout grids */

    .header-area .grid-col-15 {
        order: 2;
    }
    .header-area .grid-col-7 {
        order: 1;
    }

    .grid-flex > .grid-col > .ce-element {
        margin-top: 0;
    }

    .grid-row.grid-flex > .grid-col {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

}

@media (min-width: 32rem) {

    .grid-row.grid-flex > .grid-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (min-width: 48rem) {

    .grid-col {
        --grid-inner: repeat(calc(var(--grid-cols) + 1), minmax(0, var(--base-size)));
    }

    .grid-col-left ,
    .grid-col-left .grid-inner {
        grid-column: 1 / calc((26 - var(--grid-cols)) * -1);
        grid-template-columns: auto var(--grid-inner);
    }    
    .grid-col-right ,
    .grid-col-right .grid-inner {
        grid-column: calc(26 - var(--grid-cols)) / -1;
        grid-template-columns: var(--grid-inner) auto;
    }

    .grid-col-left .grid-inner ,
    .grid-col-left .grid-inner > * {
        grid-column: 3 / -1;
    }    
    .grid-col-right .grid-inner ,
    .grid-col-right .grid-inner > * {
        grid-column: 1 / -3;
    }

    .grid-col-left .grid-inner ,
    .ce-full-width .grid-col-left .ce-image-only ,
    .ce-full-width .grid-col-left .ce-type-grid-swiper {
        grid-column-start: 1;
    }    
    .grid-col-right .grid-inner ,
    .ce-full-width .grid-col-right .ce-type-list ,
    .ce-full-width .grid-col-right .ce-image-only ,
    .ce-full-width .grid-col-right .ce-type-grid-swiper {
        grid-column-end: -1;
    }

    .grid-col-13 {
        --grid-cols: 13;
    }
    .grid-col-9 {   
        --grid-cols: 9;
    }
    .grid-col-15 {
        --grid-cols: 15;
    }
    .grid-col-7 {
        --grid-cols: 7;
    }    

    .ce-frame-1px .grid-col::before {
        grid-column: 1 / -1;
    }   

    .ce-frame-1px .grid-col-left::before {
        grid-column-start: 3;
    }    
    .ce-frame-1px .grid-col-right::before {
        grid-column-end: -3;
    }

    .ce-frame-1px.ce-full-width .grid-col-left::before {
        grid-column-start: 1;
        border-left: 0 none transparent;
    }
    .ce-frame-1px.ce-full-width .grid-col-right::before {
        grid-column-end: -1;
        border-right: 0 none transparent;
    }

    .grid-row.grid-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .grid-row.grid-1-1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .grid-row.grid-1-1-1 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .grid-row.grid-flex > .grid-col {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* page layout grids */

    .header-area .grid-col-15 {
        order: unset;
    }
    .header-area .grid-col-7 {
        order: unset;
    }

}

@media (min-width: 62rem) {

    .page-layout-sub_15_7 .header-area .grid-col-left .grid-inner .content-breadcrumb + .ce-element:nth-child(2) {
        margin-top: var(--gap-2);
    }

}

@media (min-width: 74.5rem) {

    .grid-row.grid-1-1-1-1 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

}

@media all {

    :is(
    .page-layout-sub_15_7_0c_2c ,
    .page-layout-sub_15_7_2c_2c ,
    .page-layout-sub_15_7_2c_2cm    
    ) > .page-content > .page-grid > .grid-row.main-area {
        grid-gap: 0;
    }

    :is(
    .page-layout-sub_15_7_0c_2c ,
    .page-layout-sub_15_7_2c_2c ,
    .page-layout-sub_15_7_2c_2cm    
    ) > .page-content > .page-grid > .grid-row.main-area > .grid-col-right {
        position: relative;
        margin-top: var(--base-3-2);
        padding-top: var(--base-3-2);
    }

    :is(
    .page-layout-sub_15_7_0c_2c ,
    .page-layout-sub_15_7_2c_2c ,
    .page-layout-sub_15_7_2c_2cm    
    ) > .page-content > .page-grid > .grid-row.main-area > .grid-col-right:before {
        content: "";
        display: block;
        top: 0;
        border-top: 1px solid var(--color-bg-light);
        position: absolute;
        left: calc(var(--base-size)* -1);
        right: calc(var(--base-size)* -1);
    }

}

@media (min-width: 48rem) {

    :is(
    .page-layout-sub_15_7_0c_2c ,
    .page-layout-sub_15_7_2c_2c ,
    .page-layout-sub_15_7_2c_2cm    
    ) > .page-content > .page-grid > .grid-row.main-area > .grid-col-right {
        margin-top: 0;
        padding-top: 0;
    }

    :is(
    .page-layout-sub_15_7_0c_2c ,
    .page-layout-sub_15_7_2c_2c ,
    .page-layout-sub_15_7_2c_2cm    
    ) > .page-content > .page-grid > .grid-row.main-area > .grid-col-right:before {
        display: none;
    }

}

/*

@media (min-width: 75rem) {

.grid-row.grid-1-1-1-1 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}

}

*/