/* desktop only */

@media screen and (min-width: 64em) { /* 1024 */
    
    .dh, .mobile_flag, .search input.reset { display: none; } /* hide mobile elements & set desktop mode */
    
    .content {
        display: flex;
        flex-flow: row-reverse nowrap;
        align-items: stretch;
        justify-content: flex-start;
        width: 100%;
        max-width: 91.375rem;
        padding: 1.25rem 3rem 4.5rem;
        margin: auto;
        box-sizing: border-box;
    }
    
    .content > * { position: relative; }
    
    .content > .inner {
        width: 0;
        flex: 1 0 auto;
    }
    
    .sidebar {
        flex: 1 0 15rem;
        max-width: 15rem;
    }
    
    .inner + .sidebar { margin-right: 2rem; } 
    
    .header .inner, .footer .inner {
        max-width: 85.375rem;
        padding: 0 3rem;
    }
    
    .header .top_line .inner { min-height: 5.375rem; }
    
    .header .contact_box:not(.dh) {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        position: relative;
        padding-bottom: 0.75rem;
    }
    
    .header .contact_box dt {
        color: #999;
        font-size: 0.75rem;
        position: absolute;
        left: 1.125rem;
        bottom: 0;
    }
    
    .header .messengers {
        margin: 0 0 -1rem 2rem;
    }
    
    .header .bottom_line {
        background: #fdc101;
        position: relative;
        z-index: 1;
    }
    
    .header .bottom_line .inner { min-height: 3rem; }    
    .header .bottom_line svg { fill: #1e1e1e; }
    
    /* catalog menu */
    
    .catalog_switch {
        background: #fed75a;
        /*box-shadow: 0 0 0 0.0625rem #f5bb02;*/
        border-radius: 0.25rem;
        font-size: 0.8215rem;
        font-weight: 700;
        text-transform: uppercase;
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: 15rem;
        height: 2.25rem;
        padding: 0 1rem;
        box-sizing: border-box;
        cursor: pointer;
        user-select: none;
    }

    .catalog_switch:hover { background: #fedb6b; }
    
    .catalog_switch svg:first-of-type {
        width: 1.375rem;
        height: 1.375rem;
    }

    .catalog_switch svg:last-of-type {
        width: 0.875rem;
        height: 0.5rem;
    }

    .catalog_menu.active .catalog_switch {
        background: #fff;
        border-radius: 0.25rem 0.25rem 0 0;
    }
    
    .catalog_menu .tabs {
        background: #fff;
        border-radius: 0 0 0.25rem 0.25rem;
        position: absolute;
        top: 50%;
        left: 0;
        width: 15rem;
        padding: 1rem 0;
        box-sizing: border-box;
        visibility: hidden;
        opacity: 0;
        /*transition: visibility 0.25s linear, opacity 0.25s linear, top 0.25s linear;*/
    }

    .catalog_menu.active .tabs {
        visibility: visible;
        top: 100%;
        z-index: 1;
        opacity: 1;
    }

    .catalog_menu .tabs::before {
        content: '';
        background: #ebebeb;
        display: block;
        width: 100%;
        height: 0.0625rem;
        margin: -1rem auto 1rem;
    }

    .catalog_menu .tabs dl:not(:first-of-type) dt { margin-top: 1rem; }
    
    .catalog_menu .tabs dt {
        font-size: 0.875rem;
        font-weight: 700;
        padding: 0 1rem;
        margin-bottom: 0.5rem;
    }
    
    .catalog_menu ul > li:hover { background: rgba(253,193,1,0.3); }
    .catalog_menu .tabs dd > ul > li > a { padding: 0.25rem 1rem; }

    .catalog_menu .tabs dd > ul > li:hover > a::after { /* dummy element for hover */
        content: '';
        border-radius: 50% 0 0 50%;
        display: block;
        position: absolute;
        left: 100%;
        top: 0;
        bottom: 0;
        z-index: 1;
        width: 2rem;
        margin: -0.5rem auto -0.5rem -1rem;
    }
    
    .catalog_menu .submenu {
        position: absolute;
        top: 0;
        left: 100%;
        padding-left: 0.25rem;
        margin-top: -0.75rem;
    }

    .submenu_inner {
        background: #fff;
        border-radius: 0.25rem;
        padding: 1rem 0;
    }

    .submenu_inner > div, .brands > ul { min-width: 12rem; }

    .submenu_inner, .submenu .brands  {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .catalog_menu ul > li:hover .submenu { display: block; }
    
    .catalog_menu .brands { padding-top: 1.5rem; } /* only if brands has title */
    .top_ten { border-left: 0.0625rem solid #ebebeb; }
    .top_ten a { color: #548eff; }
    .submenu a { padding: 0.125rem 1rem; }
    
    .catalog_menu .brands > span, .top_ten h4 {
        font-size: 0.8125rem;
        font-weight: 700;
        text-transform: uppercase;
        margin-bottom: 0.5rem;
        padding: 0 1rem;
    }

    .catalog_menu .brands > span {
        position: absolute;
        top: 1rem;
        left: 0.25rem;
    }
    
    .submenu_inner.reverse { flex-direction: row-reverse; }
    .catalog_menu .reverse .brands > span { left: auto; }
    .reverse .top_ten { border-right: 0.0625rem solid #ebebeb; border-left-width: 0; }
    
    /* additional menu */
    
    .additional_menu .submenu_inner > div:not(:last-child) { margin-right: 1.5rem; }    
    .submenu .submenu_categories a { padding: 0; transition: color 0.2s linear; }
    .submenu_categories ul > li:hover { background: none; }    
    .submenu_categories a { display: inline-block; }
    
    .submenu .submenu_categories ul a {
        color: #548eff;
        padding: 0.125rem 0;
    }
    
    .submenu .submenu_categories a:hover {
        color: #1e1e1e;
        text-decoration: underline;
    }
    
    /* search*/    
    
    .search {
        width: 100%;
        margin: 0 2rem;
        box-sizing: border-box;
    }
    
    .search input[type=text] { border: none; }
    .search input[type=text]:hover { background: #fff; }
    .search.active input[type=text] { border-radius: 0.25rem 0.25rem 0 0; }
    .search:hover input[type=submit] { opacity: 0.5; }
    
    .search_results {
        border-top: 0.0625rem solid #ebebeb;
        border-radius: 0 0 0.25rem 0.25rem;
        top: 50%;
        left: 0;
        right: 0;
    }
    
    .search_results.loading, .search_results.complete { top: 100%; }
    
    /* cart, promos, user box */
    
    .user_menu {
        position: absolute;
        top: 50%;
        left: 0;
        padding-top: 0.5rem;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0.25s ease-out, opacity 0.25s ease-out, top 0.25s ease-out;
    }

    .user_box.active .user_menu {
        visibility: visible;
        opacity: 1;
        top: 100%;
    }
    
    .user_menu ul {
        background: #fff;
        border-radius: 0.25rem;
        padding-top: 0.5rem;
    }

    .user_menu li { padding: 0.3125rem 1rem; }

    .user_menu .logout {
        border-top: 0.0625rem solid #ebebeb;
        line-height: 2.375rem;
        margin-top: 0.3125rem;        
    }
    
    .promos, .user_box > div > a, .cart_switch {
        border-radius: 0.25rem;
        height: 2.25rem;
        padding: 0 1rem;
        transition: background 0.2s linear;
    }
    
    .promos:hover, .user_box > div > a:hover, .cart_switch:hover { background: #fed75a; }
    .promos { margin-left: -1rem; }
    
    .promos, .user_box > div > a, .cart_switch span {
        font-size: 0.875rem;
        font-weight: 700;
    }
    
    .shopping_cart.full .cart_switch svg, .promos svg { margin-right: 1rem; }

    .cart_switch b {
        top: 0.5rem;
        left: 2rem;
    }
    
    .promos b {
        top: 0.5rem;
        left: 2rem;
    }
    
    .cart_switch i {
        font-size: 0.75rem;
        font-weight: 400;
        font-style: normal;
        white-space: nowrap;
        display: block;
    }
    
    /* footer */
    
    .footer .inner {
        flex-flow: row wrap;
        align-items: flex-start;
        justify-content: flex-start;
        min-height: 9.625rem;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    
    .footer .logo {
        position: absolute;
        left: 3rem;
        top: 3rem;
        margin-top: -0.75rem;
    }
    
    .copyrights {
        text-align: left;
        position: absolute;
        left: 3rem;
        bottom: 3rem;
    }
    
    .site_menu, .site_menu li, .language, .language li, .messengers ul,
    .apps a, .contact_box .phone a, .contact_box .phone span
    { justify-content: flex-start; }
    
    .site_menu, .footer_contacts { padding-left: 30%; }
    
    .site_menu {
        width: 100%;
        margin-bottom: 2.5rem;
    }
    
    .footer_contacts { flex-direction: row; }
    
    .footer_contacts .contact_box:not(:first-child), .apps { margin-left: 3rem; }
    
    .apps { align-items: flex-start; }
    
    .language {
        position: absolute;
        right: 3rem;
        top: 3rem;
        margin-top: 0.125rem;
    }
    
    .fogma {
        text-indent: -9999rem;
        overflow: hidden;
        position: absolute;
        right: 3rem;
        bottom: 3rem;
        width: 2rem;
        padding-left: 0;
        margin-left: auto;
        opacity: 0.5;
    }
    
    /* text content */

    h1 {
        font-size: 1.5rem;
        line-height: 1.25;
        margin-bottom: 1.5rem;
    }

    h2 {
        font-size: 1.25rem;
        font-weight: 700;
        line-height: 1.25;
        margin-bottom: 1.5rem;
    }

    h3 {
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 1rem;
    }
    
    .text p + h2, .text p + h3 { margin-top: 2rem; }

    .text, .text p, .text li {
        font-size: 0.875rem;
        line-height: 1.25;
        text-align: justify;
    }
    
    .text p:not(:last-child), .text ul:not(:last-child), .text ol:not(:last-child) { margin-bottom: 1.5rem; }
    .text li:not(:last-child) { margin-bottom: 0.75rem; }
    
    .product_info .text p + h2, .product_info .text p + h3 { margin-top: 1.5rem; }

    .product_info .text p, .product_info .text li {
        font-size: 0.875rem;
        line-height: 1.25;
        text-align: justify;
    }
    
    .product_info .text p:not(:last-child), .product_info .text ul:not(:last-child), .product_info .text ol:not(:last-child) { margin-bottom: 1rem; }
    .product_info .text li:not(:last-child) { margin-bottom: 0.5rem; }
    .product_info .text li { text-align: left; }
    
    /* articles list */
    
    section[role=main] article {
        background: #fff;
        border: solid #ebebeb;
        border-width: 0 0.0625rem 0.0625rem 0.0625rem;
        display: grid;
        grid-template-columns: 15rem auto;
        grid-column-gap: 2rem;
        padding: 2rem 2.5rem;
    }
    
    section[role=main] article:first-of-type { border-top-width: 0.0625rem; }
    
    section[role=main] article:first-of-type { border-radius: 0.25rem 0.25rem 0 0; }
    section[role=main] article:last-of-type { border-radius: 0 0 0.25rem 0.25rem; }
    
    section header { margin-bottom: 1.25rem; }
    section header h1 { margin-bottom: 0; }
    
    section[role=main] article .img {
        grid-row-start: 1;
        grid-row-end: 5;
        width: 15rem;
        height: 100%;
        align-items: flex-start;
    }
    
    .no_img img { width: 15rem; }
    
    section[role=main] article h2 { margin-bottom: 0.75rem; }
    section[role=main] article p:not(:last-of-type), section[role=main] article ul:not(:last-of-type), section[role=main] article ol:not(:last-of-type) { margin-bottom: 0.75rem; }
    
    /* article */
    
    article[role=main] {
        background: #fff;
        border: 0.0625rem solid #ebebeb;
        border-radius: 0.25rem;
        padding: 2rem;
    }
    
    article[role=main] header {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    
    article[role=main] .img { margin-bottom: 1rem; }
    
    article[role=main] footer {
        padding-top: 1rem;
        justify-content: flex-end;
    }
    
    .comments_form { border-radius: 0.25rem; }
    
    /* breadcrumbs */
    
    .breadcrumbs { margin-bottom: 1.25rem; }
    
    /* pagination */
    
    .pagination { text-align: right; }
    article + .pagination { margin-top: 2.5rem; }
    .pagination i { display: none; }
    .pagination a, .pagination span { padding: 0 0.25rem; }
    .pagination li:first-child svg, .pagination li:last-child svg { margin: 0; }
    .pagination li:last-child a:hover, .pagination li:first-child a:hover { background: #fff; }
    
    /* panels */
    
    .panel { top: 0; }
    
    .panel_title {
        font-size: 1.125rem;
        min-height: 4rem;
    }
    
    /* filter */
    
    .side_box:not(:last-child) { margin-bottom: 1.25rem; }
    .filter.closed:last-child { margin-bottom: -0.625rem; }
    .filter:first-child, .active_filters:not(.active) + .filter { margin-top: -0.8125rem; }
    .box_body .toggle:hover { color: #1e1e1e; }
    .box_body .toggle:hover::after { opacity: 0.7; }
    
    /* catalog */
    
    .catalog_toolbar > *:not(:last-child) {
        border-right: solid 0.0625rem #cfcfcf;
        height: 2rem;
        padding-right: 1.25rem;
        margin-right: 0.8125rem;
    }
    
    .sortings li:hover { color: #548eff; }
    
    /* product */
    
    .product_page .full_width {
        background: #fff;
        border: solid #ebebeb;
        border-width: 0 0.0625rem;
        overflow: hidden;
        padding-left: 2rem;
        padding-right: 2rem;
    }
    
    .product_page .product_links.full_width { padding-bottom: 1.5rem; }

    .shop_features:last-child, .product_comments:last-child, .similar_items:last-child {
        border-width: 0 0.0625rem 0.0625rem;
        border-radius: 0 0 0.25rem 0.25rem;
        padding-bottom: 2rem;
    }
    
    .window_product form.double {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 1.25rem;
    }
    
    .window_product .comments_form .fieldset { margin: 0; }
    .window_product .comments_form .fields_box .fieldset { margin-top: 1rem; }

    .window_product .comments_form .fieldset:first-child {
        grid-row-start: 1;
        grid-row-end: 3;
    }

    .window_product .comments_form .fieldset:last-child { align-items: flex-end; }
    
}

@media screen and (min-width: 64em) and (max-width: 80em)  { /* 1024-1280 */
    
    .sortings ul { right: 0; }
    .sortings.active ul { right: 1rem; }
    
}

@media screen and (min-width: 70.25em) { /* 1124 */
    
    .site_menu a { font-size: 1rem; }
    
}

@media screen and (min-width: 80.0625em)  { /* 1281 */
    
    .sortings_switch svg, .sortings_switch b, .view_type > svg { display: none; }
    
}

@media screen and (min-width: 85.375em) { /* 1366 */
    
    .footer_contacts .contact_box.showroom { display: block; }
    
}

@media screen and (min-width: 64em) and (max-width: 112.5em) { /* 1024 - 1800 */
    
    .promo_box { display: none; }
    
}

@media screen and (min-width: 112.5625em) { /* 1801 */
    
    .promo_box {
        position: absolute;
        top: 10.875rem;
        left: 0;
        right: 0;
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
    }
    
    .promo_box > * {
        flex: 0 0 50%;
        box-sizing: border-box;
        height: 0;
    }
    
    .promo_box .left { padding-right: 42.6875rem; background: #eee; }
    .promo_box .right { padding-left: 42.6875rem; background: #ccc; }
    
    .promo_box .inner {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem 1rem 1rem;
        width: 100%;
        box-sizing: border-box;
    }
    
    .promo_box img {
        width: 100%;
        max-width: 30rem;
        margin: auto;
    }
    
    .promo_box .left .hide { display: none; }
    .promo_box .right .hide { display: none; } 
    
    .promo_box a {
        display: block;
        position: relative;
    }
    
    .promo_box .close_bttn {
        background: rgba(255,255,255,1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        width: 1.125rem;
        height: 1.125rem;
        top: 0.5rem;
        right: 0.5rem;
        opacity: 0.5;
        transition: opacity 0.2s linear;
    }
    
    .promo_box .close_bttn:hover { opacity: 0.75; }
    
    .promo_box .close_bttn svg {
        width: 0.625rem;
        height: 0.625rem;
    }
    
}