[mn="footer"]{
    margin-top: auto;
    padding: 0; 
    font-family: var(--ft-t1);

    .main{
        position: relative;
        &::after{
            content: '';
            display: block;
            position: absolute;
            height: 45px;
            aspect-ratio: 2 / 1;
            background-color: var(--clr01);
            top: -60px;
            left: 15px;
            clip-path: polygon(100% 0, 0 0, 50% 100%);
        }
    }

    .main > * ~ * {
        margin-top: 21px; 
    }

    .ttl {
        line-height: 1;
        margin: -15px 0 15px -3px;
    }
    .sitemap p {
        margin: 6px 0 0 !important;
        padding: 0 !important; 
    }
    .sitemap ul {
        margin: 6px 0 15px !important;
        padding: 0 !important;
        list-style-type: none;
        display: flex;
        flex-wrap: wrap;
    }
    .sitemap ul > li {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }
    .desc img {
        vertical-align: inherit;
    }

    .footer-logo {
        max-height: 30px;
        margin: 0 0 15px;
    }

    .wrap-top {
        padding: 60px 0;
    }

    .wrap-bottom { 
        padding: 30px 0;
    }

    .copyright {
        color: #fff;
        background-color: var(--clr01);
        font-family: var(--ft-t1);
    }
    a {
        color: inherit
    }
    a.active {
        color: var(--clr03)
    }

    a:not(.btn-gen-line2):hover {
        text-decoration: underline;
        color: var(--clr01)
    } 
    .title {
        font-family: var(--ft-t2);
        margin: 0 0 6px;
        font-size: 130%;
        line-height: 1.2;
    }

    .med .scon {
        border: 2px solid var(--clr01);
        margin: 3px;
        border-radius: 6px;
        background-color: var(--clr01);
    }
    .med .scon a {
        display: block;
        width: 100%;
    }

    .med .scon:hover {
        background-color: var(--clr02);
        border: 2px solid var(--clr02);

    }

    .med .bimg {
        background-color: var(--clr01x, #fff);
    }

    .med .scon:hover .bimg {
        background-color: #fff;
    }

    .med .bimg-w {
        padding: 6px;
    }

    .med .itm {
        padding: 0 3px;
    }

    .signup {
        margin: 0 0 15px
    }

    .signup .btn-gen {
        padding: 0;
        position: absolute;
        right: 3px;
        top: 50%;
        border-radius: 50%;
        height: 40px;
        width: 40px;
        transform: translate(0, -50%);
    }

    .signup input {
        margin: 0;
        padding: 12px;
        border-radius: 50px
    }
    .signup input {
        margin: 0;
        padding: 12px;
        border-radius: 50px
    }

    @media only screen and (max-width: 991px) {
        .main>* {
            align-items: flex-start;
        }
        .copyright>* {
            flex: 0 0 100%;
            max-width: 100%; 
        }
    }
    @media only screen and (max-width: 767px) {
        .sitemap ul > li {
            flex: 0 0 50%;
            max-width: 50%;
        }
    }
}

/* ================================ */
/* ================================ */
[mn]{
    background-repeat: no-repeat;
    background-size: cover;
}

.float.btnbx{
    position: absolute;
    top: 90px;
    right: 15px;
    z-index: 30;
    width: 120px;
    line-height: 0; 

    @media(width<575px){
        /* top: auto;
        right: auto;
        left: 15px;
        bottom: 60px;
        position: fixed; */
        width: 80px;
    }

    img{
        max-height: 60px;
    }
} 

body{
    [mn="menu"]{
        padding: 9px 0 0; 
        overflow: clip;

        .logo
{
    line-height: 1;
    /*padding: 15px;*/
    /*background-color: #fff;*/
    margin: 0 0 -30px;
}
    }
    .topmenu { 
        height: 30px;
        width: 100% !important;
        background-color: var(--clr01);
    } 

    nav {
        line-height: 1;
    }

    nav :is(ul, li) {
        list-style: none;
        list-style-type: none;
        margin: 0;
        padding: 0;
        display: inline-flex;
        /* justify-content: center; */
        align-items: center;
        flex-wrap: wrap;
        position: relative;
    }

    nav a {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-family: var(--ft-t1);
        /* font-size: 110%; */
        /* text-transform: uppercase; */
        text-decoration: none;
        color: inherit;
        position: relative;
        overflow: hidden;
    }

    nav a:hover,
    nav a.active {
        color: var(--clr01)
    }

    nav>ul {
        gap: 9px;
    }
    .mobilenavw nav>ul {
        gap: 15px;
    }
    nav>ul>li>a{
    text-transform: uppercase;
    }
    nav>ul li a i {
        margin: 0 0 0 6px;
    }

    nav>ul>li~li {
        /* margin: 0 0 0 12px;
        padding: 0 0 0 12px; */
        position: relative
    }

    @media (max-width: 767px) {
        nav>ul>li ul {
            padding: 0 0 0 12px !important
        }

        nav>ul>li>ul li {
            width: 100%;
            font-size: 80%;
        }

        nav>ul>li>ul li~li {
            border-top: 1px solid #eee
        }

        nav>ul>li>ul a {
            text-transform: initial;
            width: 100%;
            justify-content: flex-start;
        }
    }

    @media (min-width: 767px) {
        nav>ul>li>ul {
            position: absolute;
            bottom: -15px;
            right: 50%;
            translate: 50% 100%;
            scale: 1 0;
            /* display: none; */
            min-width: 250px;
            background-color: #fff;
            padding: 9px;
            transition: .6s all .3s ease;
            display: block;
            transform-origin: top;
            border: 1px solid #999;
            border-radius: 3px;
        }

        nav>ul>li:hover{
            z-index: 4;
        }
        nav>ul>li:hover>ul {
            transition: .6s all ease;
            scale: 1 1;
            
        }

        nav>ul>li>a:not(.vbtn) {
            padding: 9px;

    
            .main_nav{
                translate: 0 0;
                display: block;
                text-align: center;
            } 

            &::after{
                content: '';
                width: 0%;
                height: 3px;
                display: block;
                position: absolute;
                bottom: 0;
                left: 0; 
                background-color: var(--clr01);
                transition: .6s all cubic-bezier(0.075, 0.82, 0.165, 1);
            }

            &:hover,
            &.active{
                &::after{ 
                    width: 100%; 
                }
            } 
        }
        nav>ul>li>ul a {
            text-transform: initial;
            width: 100%;
            justify-content: flex-start;
            padding: 9px !important;
            border-radius: 3px;
        }

        nav>ul>li>ul a:hover,
        nav>ul>li>ul a.active {
            /* background-color: #444; */
            color: var(--clr01);
        }

        nav>ul>li>ul li {
            width: 100%;
            justify-content: flex-start;
        }

        nav>ul>li>ul li~li {
            /* margin-top: 9px; */
        }
    }

    @media (min-width: 767px) {
        /* nav > ul > li::after {
            content: '';
            display: block;
            right: 0;
            top: 50%;
            translate: 0 -50%;
            height: 12px;
            width: 2px;
            background-color: #999;
            position: absolute;
        }
        nav > ul > li:last-child::after {
            display: none;
        } */
    } 
    

    .mobilenav {
        position: fixed;
        height: 100vh;
        background-color: rgba(0 0 0 / 50%);
        z-index: 50;
        padding: 0 0 0 0;
        width: 100% !important;
        display: block;
        translate: -101% 0;
        opacity: 0;
        transition: .6s all .3s ease;
    }

    .mobilestickbx {
        text-align: center;
        position: fixed;
        top: 0;
        left: 0;
        padding: 15px 15px;
        width: 100% !important;
        background-color: var(--clr02x, #fff);
        z-index: 50;
        /* border-bottom: 1px solid #ccc; */
    }

    .mobilestickbx .mobilesocialcon {
        position: absolute;
        right: 0;
        top: 50%;
        translate: 0 -50%
    }

    .mobilestickbx img {
        max-height: 45px
    }

    .mobilestickbx ._imgobj {
        max-width: 28vw;
    }

    .mobilenav nav a {
        flex: 0 0 100%;
        width: 100%;
        justify-content: flex-start;
        color: inherit;
        text-decoration: none;
        padding: 6px 0;
        font-size: 150%;

        .sub_nav{
            width: 100%;
            font-family: var(--ft-t1);
            font-weight: bold;
            font-size: 80%;
            margin: 6px 0 0;
        }
    }

    .mobilenav.active {
        translate: 0 0;
        opacity: 1;
        transition: .3s all ease;
    }

    .mobilenavw {
        transition: .3s all cubic-bezier(0.075, 0.82, 0.165, 1);
        height: 100vh;
        background-color: #fff;

        width: calc(100% - 90px) !important;
        display: block;
        overflow: hidden;
        overflow-y: auto;
        translate: -101% 0;
        opacity: 0;
        max-width: 400px;
    }

    .mobilenav.active .mobilenavw {
        transition: .9s all .3s cubic-bezier(0.075, 0.82, 0.165, 1);
        translate: 0 0;
        opacity: 1;
    }

    .mobilenav nav {
        padding: 90px 24px 15px;
    }

    .mobilenav .infobx {
        padding: 0 24px 60px;
    }

    .mobilenav .infow {
        border-top: 1px solid #ccc;
        padding: 21px 0 0;
    }

    .mobilenav nav :is(ul, li) {
        margin: 0;
        padding: 0;
    }

    .mobilenav nav>ul>li {
        flex: 0 0 100%;
    }

    .mobilenav nav a {
        flex: 0 0 100%;
        width: 100%;
        justify-content: flex-start;
        color: inherit;
        text-decoration: none;
        flex-wrap: wrap;
    }
    .mobilenav nav a.vbtn {
    padding: 15px !important; 
    }

    .mobilenav nav .med a {
        width: auto;
        flex: auto
    } 

    /* ===================== */
    .menuburger {
        --square: 35px;
        --height: 3px;
        --top: 9px;
        --vpadding: 15px;
        --bgclr: var(--clr01);
        --radius: 5px;
        position: fixed;
        width: var(--square) !important;
        height: var(--square);
        top: var(--vpadding);
        right: calc(var(--vpadding) + 9px);
        transition-duration: 0.5s;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 55;
        scale: 0.7;
    }

    .menuburger .icon {
        transition-duration: 0.5s;
        position: relative;
        height: var(--height);
        width: var(--square);
        top: 0;
        background-color: var(--bgclr);
        border-radius: var(--radius)
    }

    .menuburger .icon:before {
        transition-duration: 0.5s;
        position: absolute;
        width: var(--square);
        height: var(--height);
        background-color: var(--bgclr);
        content: "";
        top: calc(-1 * var(--top));
        border-radius: var(--radius)
    }

    .menuburger .icon:after {
        transition-duration: 0.5s;
        position: absolute;
        width: calc(var(--square) / 2);
        height: var(--height);
        background-color: var(--bgclr);
        content: "";
        top: var(--top);
        border-radius: var(--radius)
    }

    .menuburger.open {
        --bgclr: var(--clr02);
    }

    .menuburger.open .icon {
        transition-duration: 0.5s;
        transform: rotateZ(180deg);
    }

    .menuburger.open .icon:before {
        transform: rotateZ(45deg) scaleX(0.75) translate(var(--top), -6px);
    }

    .menuburger.open .icon:after {
        width: var(--square);
        transform: rotateZ(-45deg) scaleX(0.75) translate(var(--top), 6px);
    }


    .mobilestickbxp,
    .dekstickbx {
        width: 100% !important;
    }

    .dekstickbx {
        padding: 9px 0;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 10;
        background-color: #fff;
        /* border-bottom: 1px solid #eee; */
        transition: 2s all cubic-bezier(0.075, 0.82, 0.165, 1);
        translate: 0 -101%;
    } 

    .dekstickbx .logo img {
        max-height: 55px;
    }

    .dekstickbx .logo ._imgobj img {
        max-height: 15px;
    }

    @media (max-width: 767px) {

        .dekstickbx,
        [mn="menu"] {
            display: none;
        }
    }

    @media (max-width: 575px) {
        .mobilestickbx>* {
            /* justify-content: flex-end; */

        }
    }

    @media (min-width: 767px) {

        .menuburger,
        .mobilestickbxp,
        .mobilestickbx,
        .mobilenav {
            display: none !important;
        }
    }
    
    :where(.mobilenav, .topmenu) .iconbx a {
        text-decoration: none;
    }

    :where(.mobilenav, .topmenu) .iconbx { 
        --clr: var(--secftclr, #000);
        --clrhov: var(--secftclr, #000);
        --font: inherit;
        font-size: 80%;
        margin: 0 6px 0 0;
    }

    :where(.mobilenav, .topmenu) .iconbx h4 {
        font-family: inherit;
        font-size: inherit;
        color: inherit; 
        margin: 0 0 3px;
    }
    /* ============ */
    /* ============ */
    /* ============ */
    nav .horibar {
        position: absolute;
        bottom: -6px;
        left: 50%;
        transform: translate(-50%, 0);
        width: auto;
        margin: 0;
        transition: .4s all ease;
        opacity: 0;
        display: none;
    }

    nav li>a.active .horibar,
    nav a:hover .horibar {
        opacity: 1
    }

    nav .horibar:before {
        width: 20px;
    }

    nav .horibar:after {
        width: 10px;
    }

    nav .med .scon {
        border-radius: 3px;
    }

    .mobilenavw .horibar {
        display: none;
    }

    .mobilenav .med .scon {
        border-radius: 3px
    }

    /* .mobilenavw .med .bimg, */
    nav .med .bimg {
        background-color: #fff
    }

    nav .mediabx .unit {
        margin: 0 0 0 9px
    }

    .dekstickbx nav .med .bimg {
        background-color: #000
    }

    .med .scon.special {
        overflow: visible;
    }

    .med .scon.special ul {
        position: absolute;
        bottom: 0;
        left: 0;
        text-align: left;
        padding: 12px;
        translate: 0 100%;
        background: #fff;
        display: none;
        list-style: none;
        margin: 0 !important;
    }

    .med .scon.special ul a {
        color: inherit
    }

    .med .scon.special ul li~li {
        margin: 9px 0 0;
    }

    .med .scon.special ul li {
        width: 100%;
    }

    .med .scon.special:hover ul {
        display: block;
    }

    @media (max-width: 767px) {
        .mobilenav .med .scon.special ul {
            border: 1px solid #ccc;
            border-radius: 3px;
        }
    }

    [mn="menu"] img.decor {
        max-height: 100%;
    } 
    

    body.nobanner [mn="menu"] .dekstopnav>* {
        margin-top: 0px;
    }

    nav .login {
        color: #ec008c
    }

    li .med .scon {
        border: 0 !important;
        background-color: transparent;
    }

    li .med .bimg {
        background-color: var(--clr01);
    }

    .med .count {
        --square: 15px;
        width: var(--square);
        height: var(--square);
        position: absolute;
        line-height: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: red;
        top: 0;
        right: 0;
        border-radius: 50%;
        color: #fff;
        font-size: 75%;
        font-family: var(--ft-t2);
    }

    .medstick {
        position: fixed;
        right: 5px;
        top: 81px;
        z-index: 10;
        width: 40px;
    }

    @media (min-width: 767px) {
        .medstick {
            display: none;
        }
    }

    .mobilestickbx .med {
        margin-left: 21px;
    }

    .mobilestickbx .med .scon {
        max-width: 30px;
        width: 30px;
        background-color: transparent;
        border: 0;
        overflow: initial;
    }

    .mobilestickbx .med .scon {
        max-width: 30px;
        width: 30px;
        background-color: transparent;
        border: 0;
        margin: 0;
    }

    .mobilestickbx .med .bimg-w {
        background-color: transparent;
    }

    .mobilestickbx .med .bimg {
        background-color: #000;
        min-width: 18px;
        min-height: 18px;
    }

    .mobilenav .mediabx {
        padding: 15px 24px;
    }
    .mobilenav .mediabx,
    .dekstickbx .mediabx,
    .mobilestickbx .mediabx,
    [mn="menu"] .mediabx {
        --bgclr: var(--clr01x, #fff);
        --bghovclr: var(--clr01);
        --pd: 6px;
        --mediaborderradius: 3px;
        --iconclr: var(--clr01);
        --mediaborder: 2px solid #ccc;
        --mediahovborder: 2px solid var(--bghovclr);
    
    }
}
body.scrolled .dekstickbx {
    translate: 0 0;
}
/* =========================================== */
/* =========================================== */
/* =========================================== */
/* =========================================== */
/* =========================================== */
.bar-1 {
    background-image: url(src/bar-1.jpg);
    width: 100% !important;
    min-height: 35px;
    display: block;
}

[mn="200"]{
    .div- {
        --div: 45%
    }
    .div-l {
        flex: 0 0 var(--div);
        max-width: var(--div);
        background-position: top center;
    }
    .div-r {
        flex: 0 0 calc( 100% - var(--div) );
        max-width: calc( 100% - var(--div) );
        padding: 30px;
        text-align: center;
        background-color: var(--clr01);
        color: #fff;
    }
    .descbx { 
        max-width: 90%;
        margin: 0 auto;
    }
    h2 { 
        color: inherit
    }
    .btn-gen {
        display: inline-table;
        
        background-color: var(--clr01x, transparent); 
        border: 2px solid var(--clr01x, #fff);
        
        color: var(--clr01x, #fff);
        text-decoration: none !important;
        text-align: center; 
    }
    .btn-gen:after {
        background-color: #fff;
    }
    .btn-gen:hover:after {
        background-color: var(--clr01);
    }
    .btn-gen:hover {
        /*    box-shadow: 0 0 0 0px #fff inset;*/
        color: var(--clr01, #fff); 
        background-color: var(--clr02x, #fff); 
        border: 2px solid var(--clr02x, #fff);
    }

    .formbx{
        margin: 30px 0 0;
    }

    @media only screen and (max-width: 767px) {
        .div-l,
        .div-r {
            flex: 0 0 100%;
            max-width: 100%; 
        }
        .descbx { 
            max-width: 100%; 
        }
    }

    .categorylistbx{
        --listset-count: 3;
        margin: 45px 0 0;
        text-align: center;

        @media(width<=767px){
            --listset-count: 2;
        }
        @media(width<=575px){
            --listset-count: 1;
        }
    }
}

[mn="300"]{
    background-color: #fff;



    .submsg {
        margin: 0 auto 45px;
    }

    h2 {
        text-align: center
    }
    .subttl { 
        font-family: var(--font-t1);
        font-size: 120%;
        line-height: 1;
        margin: 9px 0 0;
        padding: 0 0 9px
    }
    .blurb {  
        font-size: 80%; 
    }
    

    .play {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%)
    }

    .play img {
        width: 100px;
        opacity: .5;
        transform: scale(1);
        transition: .4s all ease
    }

    .itms {
        margin: 0 -9px
    }
    .list .item {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
        padding: 0 9px 18px
    }
    .list .item a {
        color: inherit;
        text-decoration: none;

        &:hover{
            color: inherit;
            text-decoration: none;
        }
    }
    .list .item>div:hover .play img {
        transform: scale(1.1);
    }
    

    .list .item iframe {
        position: absolute;
        height: 100%;
        width: 100%;
        left: 0;
        top: 0;
        z-index: 10;
    }

    .list .item iframe+.cover {
        position: absolute;
        height: 100%;
        width: 100%;
        left: 0;
        top: 0;
        z-index: 11;
    }

    .list .item .bimg-w {
        background-color: #eee; 
    }

    .list .item .bimg {
    padding-top: 70%;
    background-color: #eee;
    transition: .6s all ease;
    } 
    .list .item a:hover .bimg {
    scale: 1.1
    } 
    .list .item a:hover {
    color: var(--clr02)
    } 
    .list .item .ttl {
        font-family: var(--font-t1);
        text-align: center;
        line-height: 1.2;
        padding: 9px 0 0
    } 

    .bimgbx { 
        z-index: 1;
    }
    /* .bimgbx:after {
        content: '';
        display: block;
        position: absolute;
        height: calc( 100% - 15px );
        width: calc( 100% - 15px );
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        border-radius: 50%;
        z-index: -1;
        border: 2px solid var(--clr01)
    } */
    .bimgbx .bimg-w {  
        overflow: hidden
    }
    .contentw {  
        padding: 30px;
        background-color: #fff;
    }
    &::after {  
        content: '';
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        height: 50%;
        width: 100%;
        background-color: var(--clr01);
        z-index: -1;
    }
    .btnSearch {  
        margin: 0;
        width: 100%;
    }
    

    @media only screen and (max-width: 991px) {
        .list .item {
            flex: 0 0 33.3333%;
            max-width: 33.3333%
        }
    }
    @media only screen and (max-width: 767px) {
        .list .item {
            flex: 0 0 50%;
            max-width: 50%
        }
    }


    .swiper-button-next, 
    .swiper-button-prev {
    --square: 35px;
    aspect-ratio: 1 / 1 !important;
    background-color: var(--clr01);
    width: var(--square);
    height: var(--square);
    height: auto;
    border-radius: 50%;
    z-index: 2;
    }

    .swiper-pagination{
    z-index: 2;
    }

    .swiper-button-next:after, 
    .swiper-button-prev:after {
    color: #fff;
    font-size: 15px;
    }
    .swiper-pagination-bullet {
        width: auto;
        height: auto;
        padding: 3px 0;
        margin: 3px 6px !important;
        background-color: transparent;
        color: #fff;
        font-family: var(--ft-t1);
        border-bottom: 3px solid transparent;
        border-radius: 0;
        opacity: 1;
        line-height: 1;
        text-align: center;
        font-weight: bold;
    }
    .swiper-pagination-bullet-active {
        border-bottom: 3px solid #fff;
    } 
}

.licht_300{
    .galbx.categorylistbx{
        --listset-count: 3;
    }

    .contentbx{
        margin: 30px 0 30px;
    }
}

[mn="400"]{
    text-align: center;
    .contentbx{
        width: 800px;
        max-width: 100%;
        display: block;
        margin: 21px auto;
    }
}

[mn="401"]{
    &::after {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        height: 50%;
        width: 100%;
        background-color: var(--clr01);
        z-index: -1;
    }

    [dna="1"]{
        &.divbx{
            --div: 300px; 
            padding: 21px;
            background-color: #fff;
        }
        &.divw{
            gap: 30px 0;
        }
        &.div-l{
            flex: 0 0 var(--div);
            max-width: var(--div);

            .bimg{
                padding-top: 70%;
            }
        }
        &.div-r{
            flex: 0 0 calc(100% - var(--div));
            max-width: calc(100% - var(--div));
            padding-left: 45px;
        }

        @media(width<=991px){
            &.div-l,
            &.div-r{
                flex: 0 0 100%;
                max-width: 100%;
                padding: 0;
            }
        }
    }
    [dna="2"]{
        &.divbx{
            --div: 30%; 
            padding: 15px;
            border: 1px solid #ccc;
            border-radius: 9px;

            & ~ & {
                margin-top: 21px;
            }
        }
        &.div-l{
            flex: 0 0 var(--div);
            max-width: var(--div);

            .bimg{
                padding-top: 70%;
            }
        }
        &.div-r{
            flex: 0 0 calc(100% - var(--div));
            max-width: calc(100% - var(--div));
            padding-left: 15px;
        } 

        @media(width<=575px){
            &.div-l,
            &.div-r{
                flex: 0 0 100%;
                max-width: 100%;
                padding: 0;
            }
        }

        .date{
            color: var(--clr02);
            font-family: var(--ft-t1);
        }
    }
    
    table{
        width: 100% !important;
        margin: 15px 0;
        tr{
            & > td:nth-child(1){
                width: 150px;

                @media(width<575px){
                    width: 100px;
                }
            }
        }
    }
}

.licht_401{
    .galbx.categorylistbx{
        --listset-count: 3;
    }

    .contentbx{
        margin: 30px 0 30px;
    }
}

[mn="501"]{
    .descbx {
        display: block;
        max-width: 100%;
        width: 500px;
        padding: 30px;
        background-color: var(--clr01);
        color: #fff;
        margin: 0 auto;
        text-align: center;
    } 
    .descbx h2 { 
        color: inherit;
    } 
    .btn-gen {
        display: inline-table;
        
        background-color: var(--clr01x, transparent); 
        border: 2px solid var(--clr01x, #fff);
        
        color: var(--clr01x, #fff);
        text-decoration: none !important;
        text-align: center; 
    }
    .btn-gen:after {
        background-color: #fff;
    }
    .btn-gen:hover:after {
        background-color: var(--clr01);
    }
    .btn-gen:hover {
        /*    box-shadow: 0 0 0 0px #fff inset;*/
        color: var(--clr01, #fff); 
        background-color: var(--clr02x, #fff); 
        border: 2px solid var(--clr02x, #fff);
    }
}

[mn="503"]{

    .categorylistbx{
        --listset-count: 3;
        --listset-gap-y: 30px;
        line-height: 1.2;

        @media(width<=575px){
            --listset-count: 2;
        }
    }

    .filter-{
        display: block;
        width: 100%;
        padding: 12px 9px;

        & ~ & {
            border-top: 1px solid #ccc;
        }

        &.sctive,
        &:hover{
            background-color: var(--clr01);
            color: #fff;
            font-family: var(--ft-t1);
        }
    }

    [dna="1"]{
        &.divbx{
            --div: 250px;  
            background-color: #fff;
        }
        &.divw{
            gap: 30px 0;
        }
        &.div-l{
            flex: 0 0 var(--div);
            max-width: var(--div);
            line-height: 1.3;

            .title{
                font-size: 130%;
                &::after{
                    content: '';
                    display: block;
                    width: 45px;
                    height: 6px;
                    background-color: var(--clr02);
                }
            }
        }
        &.div-r{
            flex: 0 0 calc(100% - var(--div));
            max-width: calc(100% - var(--div));
            padding-left: 45px;
        }

        @media(width<=991px){
            &.div-l,
            &.div-r{
                flex: 0 0 100%;
                max-width: 100%;
                padding: 0;
            }
        }
    }

    .dirbx{
        color: #888;
        font-family: var(--ft-t1);
        margin: 0 0 21px;
    }

    .price{
        .from{
            color: #999;
            text-decoration: line-through;
        }
    }
    .label{
        color: #888;
        font-size: 80%;
    }
    .btm{
        padding-top: 9px;
        margin: auto 0 0;
    }
    .title{
        font-size: inherit;
    }
    .floater{
        line: 1;
        position: absolute;
        z-index: 12;
        aspect-ratio: 1;
        width: 45px;
        background-color: var(--clr02);
        color: #fff;
        border-radius: 50%;
        justify-content: center;
        align-items: center;
        top: 15px;
        left: 15px;
    }
}

.licht_503{
    .galbx.categorylistbx{
        --listset-count: 3;
    }

    .contentbx{
        margin: 30px 0 30px;
    }
}


[mn="102"]{
    .gridw {
        --div: 4; 
    } 
    .griditm:hover {
        z-index: 10;
    }
    .griditm {
        flex: 0 0 calc(100% / var(--div));
        max-width: calc(100% / var(--div));
        aspect-ratio: 1/1.1;
        text-align: center;
        position: relative;
    } 
    .bar{
        display: block;
        width: 45px;
        height: 3px;
        background-color: #fff;
        margin: 9px auto;
    }
    .title  {
        color: #fff;
        font-family: var(--font-t1);
        padding: 15px;
    }
    .desc  {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        translate: 0 -50%;
        opacity: 0;
        transition: .6s all ease;
        padding: 15px;
    } 
    .griditm:hover .desc  { 
        opacity: 1;
    } 
    @media only screen and (max-width: 991px) {
        .gridw {
            --div: 3; 
        }  
    }
    @media only screen and (max-width: 575px) {
        .gridw {
            --div: 1; 
        }  
        .griditm { 
            aspect-ratio: unset; 
            min-height: 210px;
        } 
    }
    .griditm {
        aspect-ratio: 1/1.5;
    }
    @media only screen and (max-width: 575px) {
        .griditm:not([style*="background-image"]) {
            aspect-ratio: unset;
            min-height: 200px;
        }
    } 

     .decor {
        position: absolute;
        top: 0;
        right: 0;
    }
}

[mn="103"] {
    padding-top: 0;
    background-color: var(--clr01);

    .contentbx {
        padding: 30px;
        background-color: #fff;
    } 

    img{
        max-height: 50svh;
    }
} 

[mn="104"] {
    background-color: var(--clr01);
    color: #fff;

    & h2 {
        color: inherit;
    }

    .main {
        max-width: 900px
    }

    .ttlbx{

        text-align: center;

        .txtbx {
            flex: 0 0 200px;
            max-width: 200px;
            text-align: center
        } 
        .txtbx img {
            max-height: 130px
        } 
        .horidecor {
            flex: 1 0 0; 
        }
            .horidecor:after {
                content: "";
                width: 100%;
                margin: 0 0;
                background-color: var(--clr02);
                height: 2px;
                position: relative;
                display: block;
            } 
    }

    .itmbx {
        --div: 5;
        line-height: 1;

        .itmw {
            margin: 0 -9px;
        }

        .itm {
            flex: 0 0 calc(100% / var(--div));
            max-width: calc(100% / var(--div));
            text-align: center;
            padding: 9px;

            .num {
                font-size: 200%;
                font-family: var(--font-t1)
            }
            .bimg-w {
                width: 95px
            }
            .content {
                width: 100%;
                max-width: 210px;
                margin: 9px auto 0
            }
        } 

        @media (width <= 767px) {
            --div: 3
        }
        @media (width <= 575px) {
            --div: 1
        }
        
    }
    
 }

 [mn="101"]{
    .decor-triangle { 
        display: block;
        position: absolute;
        height: 45px;
        aspect-ratio: 2 / 1;
        background-color: var(--clr01);
        top: calc(-1 * var(--secpt));
        left: 15px;
        clip-path: polygon(100% 0, 0 0, 50% 100%);
    }
 }

 [mn="107"]{  
    --secpt: 0px;
    --secpb: 0px;
    text-align: center;
    z-index: 3;
    color: #fff;
    font-size: 120%;

    @media(width<=575px){
        font-size: 100%;

        & h4 {
            font-size: 120%;
        }
        .textbx{
            font-size: 80%;
        }
    }

    & ol {
        list-style-type: none;
        padding: 0;
        display: flex;
        flex-wrap: wrap;

        & li{
        z-index: 1;
        position: relative;
        padding: 0 0 0 21px;
        flex: 0 0 50%;
        max-width: 50%;

        @media(width<767px){
            flex: 0 0 100%;
            max-width: 100%;
        }
        }

        & li::after{
        content: '';
        background-image: url(_src/list_icon.png);
        aspect-ratio: 1;
        width: 19px;
        position: absolute;
        left: 0;
        top: 0;
        translate: -12% 4px;
        background-size: contain;
        }
    }
    .bglyr{
        width: 50%;

        &::after{
        content: '';
        left: auto;
        right: 0;  
        bottom: 0;
        position: absolute;
        display: block;
        height: 100%; 
        width: 150px;
        background: linear-gradient(90deg, #eee0 0%, #eee 100%);  
        }

        @media(width<767px){
            width: 100%; 
            opacity: .15;

            &::after{
                display: none !important;
            }
        }
    }
    .contentbx{ 

        /* &::after{
        content: '';
        position: absolute;
        display: block;
        right: 0;
        top: 0;
        content: '';
        width: 100vw;
        height: 100%;
        background-color: var(--clr01, #999);
        margin: 15px 0 0 !important; 
        z-index: -1;
        opacity: .8;
        transform: skew(-15deg, 0); 
        } */
        @media(width < 575px){
        padding: 0; 

        &::after {
            margin: 0 !important;
            right: -15px;
        }

        }
    }

    & h4 {
        color: inherit;
    }

    .h_decor{
        --icon_div: 45px;
        position: relative; 
        margin: 0 0 15px;
        padding: 0 0 15px;
        border-bottom: 3px solid #ccc;

        ._ittl{
        margin: 0;
        flex: 0 0 calc(100% - var(--icon_div));
        max-width: calc(100% - var(--icon_div));
        }

        .ttldecor-{
        display: none;
        }
        .h4 {
        line-height: 1;
        padding: 0 !important;
        margin: 0 !important;
        font-size: 150%; 
        color: #000; 
        
        }

        .h_icon{
        flex: 0 0 var(--icon_div);
        max-width: var(--icon_div);
        }

        /* &::before, */
        &::after{
        content: '';
        position: absolute;
        display: block;
        height: 9px;
        width: 45px;
        background-color: var(--clr01);
        min-width: 30px;
        left: 0;
        bottom: 0;
        translate: 0 calc(50% + 2px);
        }
    }


    ._video{
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        z-index: -1;

        & video{
        width: 100%;
        height: 100%;
        border-radius: 0;
        object-fit: cover;
        object-position: center bottom;
        }
    } 

    .decor_bar {
        width: 60px;
        aspect-ratio: 60 / 302;
        display: block;
        position: absolute;
        left: 60px;
        bottom: -60px;
        z-index: 10;
        pointer-events: none; 

        @media(width<575px){
            display: none;
        }
    }


    ._imgsec{
    margin: 0 0 15px; 
    }
    ._subttl{
    font-size: 150%;
    } 
    .swiper {
        display: flex;
        
        @media(width<1200px){
            aspect-ratio: 16 / 9;
        }
        /* min-height: 100vh; */
        /* clip-path: ellipse(90% 100% at 50% 0%); */

        @media(width<575px){
            .swiper-pagination{
                bottom: 0;
                display: none;
            }
        }
    }  
    .swiper-wrapper {
        display: flex; 
        height: auto;
    }  
    .swiper-slide {
        padding: 30px;  
        overflow: clip;
        background-color: #eee; 
        

        & > * {
            filter: drop-shadow(0px 2px 3px rgba(0,0,0,.85));
            /* text-shadow: 0px 2px 9px rgba(0,0,0,.85); */
        }
    
        &[video]{
            cursor: pointer;
        }

        .textbx{
            width: 800px;
            max-width: 100%;
            margin: 0 auto;

            & p {
                @media(width<575px){
                    display: none;
                }
            }
        }

        .taste{
            margin: 9px 0 0;
        }
    }  
    .swiper-button-next, 
    .swiper-button-prev {
    --square: 35px;
    aspect-ratio: 1 / 1 !important;
    background-color: var(--clr01x, rgba(255 255 255 / 50%));
    width: var(--square);
    height: var(--square);
    height: auto;
    border-radius: 50%;
    }
    .swiper-button-next:after, 
    .swiper-button-prev:after {
        color: #fff;
        font-size: 12px;
        font-weight: bold;
    }
    .swiper-pagination{
        gap: 30px;
        bottom: 45px;
    }
    .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
        padding: 0;
        margin: 0 !important;
        background-color: #fff;
        color: #fff;
        font-family: var(--ft-t1); 
        border-radius: 0;
        opacity: 1;
        line-height: 1;
        text-align: center;
        font-weight: bold;
        border-radius: 50%;
        position: relative;

        &::after{
            --square: 30px;
            content: '';
            display: block;
            position: absolute;
            left: 50%;
            top: 50%;
            height: var(--square);
            width: var(--square);
            background-color: rgba(255, 255, 255, .5);
            z-index: 1;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            cursor: pointer;
            transition: .3s all ease;
            opacity: 0;
        }
    }
    .swiper-pagination-bullet-active {
        &::after{ 
            opacity: 1;
        }
    } 
    @media only screen and (max-width: 767px) {  
        .swiper-slide { 
            font-size: 110%; 
            font-weight: bold;
        }  
        .bglyr:after  {
            content: '';
            display: block; 
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            /* background-color: rgba(0,0,0,.3); */
        }   
    }
    @media only screen and (min-width: 767px) {  
        .txtbx { 
            width: 100%; 
        }  
    }
    @media only screen and (max-width: 575px) {  
        .swiper-button-next, 
        .swiper-button-prev { 
        --square: 25px; 
        } 
    }

    .socialbtn {
        position: absolute;
        right: 30px;
        bottom: 30px;
        z-index: 2;
        color: #fff;
        font-family: var(--ft-t1); 
        @media(width<575px){
            right: 15px;
            bottom: 15px;
        }
    } 
}  

[mn="108"]{
    background-color: #aaa;
 

    [dna="1"]{
        &.divbx{
            --div: 200px; 
            --pad: 21px;
            padding: var(--pad);
            background-color: #fff;

            @media(width<=991px){
                --div: 100px; 
            }

            &::after{
                content: '';
                position: absolute;
                height: 100%;
                width: calc(var(--div) + var(--pad));
                left: 0;
                top: 0;
                background-color: var(--clr01);
                z-index: -1; 
            }

            
        }
        &.divw{
            gap: 30px 0;
        }
        &.div-l{
            flex: 0 0 var(--div);
            max-width: var(--div);
            color: #fff;
            text-align: center;
            padding-right: var(--pad);

            .bimgbx{
                padding: 6px 15px;
                .bimg{
                    padding-top: 50%;
                }
            }
        }
        &.div-r{
            flex: 0 0 calc(100% - var(--div));
            max-width: calc(100% - var(--div));
            padding-left: 45px;

            @media(width<=991px){
                padding-left: 15px;
            }
        }

        @media(width<=767px){
            --div: 100px;
        }
        
    }
    @media(width>991px){
        .col-l{
            padding-right: 0;
        }
    }
    @media(width<=991px){
        .col-r{
            display: none;
        }
    }

    .sectionbg{
        height: 350px;
    }
}