#media{
    background-color: RGBA(0, 0, 0, 0.2);
    color: #000;
    width: 150px;
    height: 25px;
    padding: 0 5px;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99999;
    display:none;
}

#media:before{
    content: 'Базис';
}

@media (min-width: 320px){
    #media:before{
        content: 'min-width: 320px';
    }
}

@media (min-width: 480px){
    #media:before{
        content: 'min-width: 480px';
    }
}

@media (min-width: 576px){
    #media:before{
        content: 'min-width: 576px';
    }

    body > header .container-fluid{
        grid-template-columns: 140px 1fr 240px;
        /*@formatter:off*/
        grid-template-areas:
            "logo menu1 menu1"
            "hr hr hr"
            "search search widget";
        /*@formatter:on*/
    }

    body > header .container-fluid .widget{
        display: flex;
        justify-content: space-between;
    }

    body > header .container-fluid .widget > *{
        flex: 0 0 66px;
        height: 46px;
        font-size: 12px;
        text-align: center;
        margin-top: 4px;
        color: #7A7A7A;
        cursor: default;
        position: relative;
        text-decoration: none;
    }

    body > header .container-fluid .widget > * .count,
    body > header .container-fluid .widget .declension_total_count,
    body > header .container-fluid .widget .total_price{
        display: none;
    }

    body > header .container-fluid .widget svg{
        display: block;
        margin: 0 auto;
    }

    body > header .container-fluid .widget > .active{
        color: #000;
    }

    body > header .container-fluid .widget > .active:hover{
        cursor: pointer;
    }

    body > header .container-fluid .widget > .active .count{
        display: block;
        position: absolute;
        right: 10px;
        top: -5px;
        border-radius: 10px;
        background-color: #D93535;
        color: #FFF;
        font-size: 12px;
        min-width: 20px;
        height: 20px;
        padding: 0 3px;
    }
}

@media (min-width: 640px){
    #media:before{
        content: 'min-width: 640px';
    }
}

@media (min-width: 768px){
    #media:before{
        content: 'min-width: 768px';
    }

    /*
    .selectiongood{
        width: 200px;
    }
    */

    body > footer .container-fluid{
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 48px 126px auto auto;
        /*@formatter:off*/
        grid-template-areas:
            "logo contact"
            "company contact"
            "curs catalog"
            "copyright copyright";
        /*@formatter:on*/
        align-items: start;
    }
}

@media (min-width: 992px){
    #media:before{
        content: 'min-width: 992px';
    }

    body > header .container-fluid{
        grid-template-columns: 140px 128px 1fr 240px;
        /*@formatter:off*/
        grid-template-areas:
            "menu1 menu1 menu1 menu1"
            "hr hr hr hr"
            "logo catalog search widget";
        /*@formatter:on*/
    }

    #navbar-expand1.navbar .navbar-collapse{
        position: static;
    }

    body > header .container-fluid .catalog{
        display: block;
    }

    #carousel1{
        display: block;
        width: 100%;
        margin: var(--bs-gutter-y) auto 0 auto;
    }

    #carousel1 .carousel-control-prev,
    #carousel1 .carousel-control-next{
        top: 250px;
    }

    #carousel1 .carousel-control-prev{
        left: 44%;
    }

    #carousel1 .carousel-control-next{
        right: 44%;
    }

    #carousel1 .carousel-control-prev-icon,
    #carousel1 .carousel-control-next-icon{
        box-shadow: 0 0 5px #333;
    }

    #carousel1 .carousel-caption{
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        padding: 0;
        display: flex;
        justify-content: space-between;
        font-size: 16px;
        line-height: 135%;
    }

    #carousel1 .carousel-caption .carousel-text{
        flex: 0 0 450px;
        color: #FFF;
        align-self: center;
        text-align: left;
        padding-left: 15px;
        text-shadow: 1px 1px 2px #333;
    }

    #carousel1 .carousel-caption .carousel-text .blue{
        color: #307FE2;
        font-weight: 600;
    }

    #carousel1 .carousel-caption .carousel-text h2{
        font-size: 24px;
    }

    #carousel1 .carousel-caption .carousel-text > p{
        width: 250px;
    }

    #carousel1 .carousel-caption .carousel-info{
        flex: 0 0 312px;
        height: 300px;
        margin: 10px;
        padding: 24px;
        text-align: left;
        background: #F4F4F5;
        box-shadow: -5px -5px 10px rgb(255 255 255 / 80%), 5px 5px 10px rgb(166 180 200 / 70%);
        border-radius: 16px;

        display: flex;
        flex-flow: column nowrap;
        justify-content: space-between;
    }

    #carousel1 .carousel-caption .carousel-info p{
        margin: 0 0 10px 0;
    }

    #carousel1 .carousel-caption .carousel-info .warning{
        color: #D93535;
    }

    #carousel1 .carousel-caption .carousel-info .strong{
        color: #000;
        font-weight: 700;
        flex: auto;
    }

    #carousel1 .carousel-caption .carousel-info .gray{
        color: #707070;
    }

    #carousel1 .carousel-caption .carousel-info .btn{
        background: #307FE2;
        color: #FFF;
        border-radius: 4px;
        padding: 12px 0;
        text-align: center;
        width: 100%;
    }

    #carousel1 .carousel-caption .carousel-info .btn:hover{
        text-decoration: none;
        background: #206FE2;
    }


    #carousel1 .carousel-item0,
    #carousel1 .carousel-item1{
        background-position: right 0 !important;
    }

    #carousel1 .carousel-item2,
    #carousel1 .carousel-item3,
    #carousel1 .carousel-item4,
    #carousel1 .carousel-item5{
        background-position: 0 0 !important;
    }

    .tools_block{
        margin-bottom: 0;
    }

    .preview .selectiongood form .spoiler{
        border: none;
        /*padding: 5px;*/
        background: #fff;
    }

    .preview .selectiongood form .spoiler.opened{
        background: #fff;
    }


    .preview .selectiongood .spoiler .spoiler-content{
        background: #fff;
    }

    body > footer .container-fluid{
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 48px 126px auto auto;
        /*@formatter:off*/
        grid-template-areas:
        "logo . ."
        "company contact catalog"
        "curs contact catalog"
        "copyright copyright copyright";
        /*@formatter:on*/
        justify-items: start;
        align-items: start;
    }

    body > footer .container-fluid .catalog{
        width: auto;
    }
}

@media (min-width: 1200px){
    #media:before{
        content: 'min-width: 1200px';
    }
}

@media (min-width: 1330px){
    #navbar-expand4.navbar .navbar-collapse{
        border-radius: 5px;

        background-color: #fff;
        box-shadow: 0 0 5px #DDD;
        border: var(--menu-divider);
    }

    #navbar-expand4.navbar .navbar-collapse ul{
        box-shadow: none !important;
        border: none !important;
    }

    #navbar-expand4.navbar .navbar-collapse ul.navbar-nav > li:first-child a{
        border-top: none !important;
    }

    #navbar-expand4.navbar .navbar-collapse ul ul.dropdown-menu{
        position: fixed !important;
        top: 163px !important;
        transform: translateX(calc(50px + (100vw - 1320px)/2));
        grid-template-columns: 300px 300px 300px;
        grid-auto-rows: auto;
        grid-gap: 15px;
        direction: ltr;
        width: 930px !important;
        background-color: #fff;
    }

    #navbar-expand4.navbar .navbar-collapse ul ul.dropdown-menu > li:first-child{
        grid-column: 1 / -1;
    }

    #navbar-expand4.navbar .navbar-collapse ul ul.dropdown-menu > li:last-child{
        grid-column: 1 / -1;
        justify-self: right;
    }

    #navbar-expand4.navbar .navbar-collapse ul ul ul.dropdown-menu{
        position: static !important;
        transform: translateX(0);
        display: none;
    }

    #navbar-expand4.navbar .navbar-collapse ul ul ul a{
        font-weight: normal;
    }

    #navbar-expand4.navbar .navbar-collapse .dropdown-menu li:hover > a.nav-link{
        color: var(--menu-color-hover, #000);
        background-color: var(--menu-bg-hover, #E8E8E8);
    }

    #navbar-expand4.navbar .navbar-collapse li.show > ul{
        display: grid !important;
    }

    #navbar-expand4.navbar .navbar-collapse ul ul ul,
    #navbar-expand4.navbar .navbar-collapse ul ul a:after{
        display: none !important;
        border: 1px solid #000;
    }

    #navbar-expand4.navbar ul ul .nav-link{
        border: none;
        padding: 5px !important;
    }
}

@media (min-width: 1370px){
    #media:before{
        content: 'min-width: 1370px';
    }

    .container-fluid{
        width: 1350px;
    }

    body > header .container-fluid{
        grid-template-columns: 140px 128px 280px 1fr 240px;
        /*@formatter:off*/
        grid-template-areas:
            "menu2 menu2 menu2 info info"
            "hr hr hr hr hr"
            "logo catalog menu3 search widget";
        /*@formatter:on*/
    }

    body > header .container-fluid #navbar-expand1{
        display: none;
    }

    body > header .container-fluid .info{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    body > header .container-fluid .info .time{
        color: #7A7A7A;
    }

    body > header .container-fluid .info .phone{
        display: flex;
        justify-content: space-between;
        flex: 0 0 270px;
    }

    body > header .container-fluid .info .time{
        flex: 0 0 260px;
    }

    body > header .container-fluid .info .phone a{
        font-weight: 700;
    }

    body > header .container-fluid .menu2,
    body > header .container-fluid .menu3{
        display: block;
    }

    #carousel1{
        width: 1320px;
    }
}