@charset "UTF-8";
html, body, ul, ol, li, p, td, h1, h2, h3, h4, h5, h6, form, fieldset, a, img {
  margin: 0;
  padding: 0;
  border: 0;
}

html, body 
    {
    height: 100%;
    }
body 
    {
    font-family: 'Helvetica', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    background-color: #000;
    color: #fff;
    overflow-x: hidden;
    }
body.load_in_progress,
body.disable_scroll
    {
    overflow: hidden;
    }

* html #wrap 
    {
    height: 100%;
    }
    body #wrap 
        {
        min-height: 100%;
        width: 100%;
        margin: auto;
        position: relative;
        }


.load_in_progress * 
    {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    }




/* Variables */        
:root
    {
    --main-color: #fff;
    --active-color: orange;
    --gray-color: #717171;
    }


/* Mobile button */
.mm_button
    {
    display: none;
    position: absolute;
    right: 15px;
    top: 0px;
    width: 45px;
    padding: 5px 10px;
    cursor: pointer;
    z-index: 100;
    }
    .mm_button span 
        {
        background: var(--active-color);
        display: block;
        height: 3px;
        width: 100%;
        margin: 6px 0;
        border-radius: 2px;
        }
    


section,
.container,
.row
    {
    position: relative;
    margin: 0 auto;
    }
section
    {
    margin: 20px 0;
    }


a
    {
    color: var(--main-color);
    text-decoration: none;
    }
    a:hover
        {
        color: var(--active-color);
        }

p
    {
    margin-bottom: 10px;
    color: var(--main-color);
    }


/* Main elements */

h1,
h2,
.h2_like
    {
    font-size: 7cqw;
    font-weight: 400;
    line-height: 100px;
    margin: 0 0 5vh 0;
    }

h1
    {
    margin-left: -5px;
    }


h3,
.h3_like
    {
    font-size: 96px;
    line-height: 96px;
    font-weight: 400;
    margin: 0 0 0.2vh 0;
    }
h4,
.h4_like
    {
    font-size: 64px;
    line-height: 64px;
    font-weight: 400;
    margin: 0 0 20px 0;
    }

h5
    {
    font-size: 32px;
    line-height: 32px;
    font-weight: 400;
    margin: 0 0 20px 0;
    }
.anchor
    {
    display: block;
    height: 0;
    }

/* Luxoria button */
.luxoria_btn
    {
    display: block;
    position: relative;
    border-radius: 30px;
    text-transform: uppercase;
    overflow: hidden;
    white-space: nowrap;
    }
    .luxoria_btn.inline
        {
        display: inline-block;
        }
    /* Black button */
    .luxoria_btn
        {
        border: 1px #fff solid;
        background-color: #000;
        color: #fff;
        }
    .luxoria_btn span:first-child
        {
        background-color: #000;
        color: #fff;
        }
    .luxoria_btn span:last-child
        {
        background-color: #fff;
        color: #000;
        }
    .luxoria_btn:after
        {
        background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8" standalone="no"%3F><svg width="50" height="25" viewBox="0 0 50 25" fill="none" version="1.1" id="svg2" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_427_209)" id="g2" transform="translate(-8.44291,-10.144)" style="fill:none;stroke:%23000000;stroke-opacity:1"><path d="M 9.19291,22.5605 H 32.5262" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" id="path1" style="fill:none;stroke:%23000000;stroke-opacity:1" /><path d="M 20.8596,10.894 32.5262,22.5606 20.8596,34.2273" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" id="path2" style="fill:none;stroke:%23000000;stroke-opacity:1" /></g><g clip-path="url(%23clip0_427_209-4)" id="g2-8" transform="translate(16.55709,-10.144)"><path d="M 9.19291,22.5605 H 32.5262" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" id="path1-1" /><path d="M 20.8596,10.894 32.5262,22.5606 20.8596,34.2273" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" id="path2-7" /></g><defs id="defs2"><clipPath id="clip0_427_209"><rect width="29" height="31" fill="%23ffffff" transform="rotate(-135,19.099223,17.109598)" id="rect2" x="0" y="0" /></clipPath><clipPath id="clip0_427_209-4"><rect width="29" height="31" fill="%23ffffff" transform="rotate(-135,19.099223,17.109598)" id="rect2-2" x="0" y="0" /></clipPath></defs></svg>');
        }

    .luxoria_btn .saved_text
        {
        display: none;
        }

    /* Transparent button */
    .luxoria_btn.transparent,
    .luxoria_btn.to_open,
    .luxoria_btn.to_close
        {
        min-width: 220px;
        }

    
    .luxoria_btn.white.transparent
        {
        border: 1px #000 solid;
        background-color:  transparent;
        }
    .luxoria_btn.white.transparent span:first-child
        {
        background-color:  transparent;
        color: #000;
        }


    /* Close button */
    .luxoria_btn.white.to_close
        {
        border: 1px #000 solid;
        background-color:  transparent;
        }
    .luxoria_btn.white.to_close span:first-child
        {
        background-color:  #000;
        color: #fff;
        }
        


    /* White button */
    .luxoria_btn.white
        {
        border: 1px #000 solid;
        background-color: #fff;
        color: #000;
        }
    .luxoria_btn.white span:first-child
        {
        background-color: #fff;
        color: #000;
        }
    .luxoria_btn.white span:last-child
        {
        background-color: #000;
        color: #fff;
        }
    .luxoria_btn.white:after
        {
        background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8" standalone="no"%3F><svg width="50" height="25" viewBox="0 0 50 25" fill="none" version="1.1" id="svg2" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_427_209)" id="g2" transform="translate(16.55709,-10.144)" style="fill:none;stroke:%23000000;stroke-opacity:1"><path d="M 9.19291,22.5605 H 32.5262" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" id="path1" style="fill:none;stroke:%23000000;stroke-opacity:1" /><path d="M 20.8596,10.894 32.5262,22.5606 20.8596,34.2273" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" id="path2" style="fill:none;stroke:%23000000;stroke-opacity:1" /></g><g clip-path="url(%23clip0_427_209-4)" id="g2-8" transform="translate(-8.44291,-10.144)"><path d="M 9.19291,22.5605 H 32.5262" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" id="path1-1" /><path d="M 20.8596,10.894 32.5262,22.5606 20.8596,34.2273" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" id="path2-7" /></g><defs id="defs2"><clipPath id="clip0_427_209"><rect width="29" height="31" fill="%23ffffff" transform="rotate(-135,19.099223,17.109598)" id="rect2" x="0" y="0" /></clipPath><clipPath id="clip0_427_209-4"><rect width="29" height="31" fill="%23ffffff" transform="rotate(-135,19.099223,17.109598)" id="rect2-2" x="0" y="0" /></clipPath></defs></svg>');
        }
    .luxoria_btn.to_close:after
        {
        background-image: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.7601 1.39833C17.8361 1.32227 17.8965 1.23197 17.9376 1.13259C17.9788 1.03321 18 0.92669 18 0.819121C18 0.711553 17.9788 0.605038 17.9376 0.505657C17.8965 0.406277 17.8361 0.315977 17.7601 0.239915C17.684 0.163852 17.5937 0.103517 17.4943 0.062352C17.395 0.0211873 17.2884 0 17.1809 0C17.0733 0 16.9668 0.0211873 16.8674 0.062352C16.768 0.103517 16.6777 0.163852 16.6017 0.239915L9 7.84322L1.39833 0.239915C1.32227 0.163852 1.23197 0.103517 1.13259 0.062352C1.03321 0.0211873 0.92669 8.01448e-10 0.819121 0C0.711553 -8.01448e-10 0.605038 0.0211873 0.505657 0.062352C0.406277 0.103517 0.315977 0.163852 0.239915 0.239915C0.163852 0.315977 0.103517 0.406277 0.062352 0.505657C0.0211873 0.605038 -8.01448e-10 0.711553 0 0.819121C8.01448e-10 0.92669 0.0211873 1.03321 0.062352 1.13259C0.103517 1.23197 0.163852 1.32227 0.239915 1.39833L7.84322 9L0.239915 16.6017C0.0862998 16.7553 0 16.9636 0 17.1809C0 17.3981 0.0862998 17.6065 0.239915 17.7601C0.39353 17.9137 0.601877 18 0.819121 18C1.03637 18 1.24471 17.9137 1.39833 17.7601L9 10.1568L16.6017 17.7601C16.7553 17.9137 16.9636 18 17.1809 18C17.3981 18 17.6065 17.9137 17.7601 17.7601C17.9137 17.6065 18 17.3981 18 17.1809C18 16.9636 17.9137 16.7553 17.7601 16.6017L10.1568 9L17.7601 1.39833Z" fill="white"/></svg>');
        background-position: center center;
        }
    
    .luxoria_btn span
        {
        display: block;
        width: 100%;
        height: 100%;
        padding: 14px 100px 14px 20px;
        box-sizing: border-box;
        transition: transform 0.3s ease;
        }
    .luxoria_btn span:first-child
        {
        transform: scaleY(1);
        transform-origin: center top;
        }
    .luxoria_btn span:last-child
        {
        position: absolute;
        bottom: 0px;
        transform: scaleY(0);
        transform-origin: center bottom;
        }
        .luxoria_btn:after
            {
            display: block;
            position: absolute;
            top: 10px;
            right: 10px;
            content: ' ';
            width: 25px;
            height: 25px;
            background-position: -25px 0;
            background-repeat: no-repeat;
            z-index: +1;
            transform-origin: center center;
            transition: all 0.3s ease;
            }
        .luxoria_btn:hover:after
            {
            background-position: 0 0;
            }
        .luxoria_btn.to_close:hover:after
            {
            filter: invert(24%) sepia(91%) saturate(7083%) hue-rotate(359deg) brightness(105%) contrast(125%);
            background-position: center center;
            transform: rotate(90deg);
            }
        .luxoria_btn:hover span:first-child
            {
            transform: scaleY(0);
            }
        .luxoria_btn:hover span:last-child
            {
            transform: scaleY(1);
            }

input
    {
    display: block;
    font-size: 14px;
    border: 0;
    border-bottom: 1px solid #fff;
    width: 100%;
    background-color: #000;
    color: #fff;
    text-transform: uppercase;
    padding: 5px 0;
    margin-bottom: 20px;
    outline: none;
    text-align: left;
    }
    input::placeholder 
        {
        opacity: 1;
        color: #fff;
        }

.img_wrap_to_tween
    {
    position: relative;
    width: 100%;
    overflow-y: hidden;
    }
    .adaptive_img
        {
        display: block;
        width: 100%;
        height: auto;
        }


.horizontal_slide,
.vertical_slide
    {
    position: relative;
    }

.img_mask
    {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    z-index: 100;
    background: #000;
    }

.overflow_wrap
    {
    overflow: hidden;
    }

.spanned
    {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    }
    .spanned span
        {
        display: inline;
        }


.folio_intro_section h2
    {
    padding-top: 5px;
    }
    


/* Crumbreads */
.crumbreads a 
    {
    text-decoration: none;
    font-size: 12px;
    }
    .crumbreads a:hover 
        {
        text-decoration: underline;
        }
    .crumbreads > span + span::before 
        {
        padding: 0 5px;
        color: #000;
        content: "/ ";
        }



.tm_wrap
    {
    display: flex;
    align-items: center;
    justify-content: space-between;
    }
    .tm
        {
        font-size: 14px;
        display: flex;
        gap: 40px;
        }
        .tm a
            {
            display: block;
            }
        .tm a.active
            {
            }

.menu_button
    {
    width: 35px;
    cursor: pointer;
    }
    .menu_button span
        {
        display: block;
        height: 1px;
        width: 100%;
        background: #fff;
        margin: 10px 0;
        }


.popup_menu
    {
    display: none;
    position: absolute;
    z-index: 9999;
    top: 0;
    left: 0;
    background: #000;
    width: 100%;
    height: 100vh;
    padding: 50px 15px;
    box-sizing: border-box;
    }
    .popup_menu .container
        {
        height: 100%;
        }
    .popup_menu .menu,
    .popup_menu .contacts
        {
        position: relative;
        display: flex;
        flex-direction: column;
        height: 100%;
        }
    .popup_menu .menu
        {
        justify-content: space-between;
        }
        .popup_menu .menu a
            {
            display: block;
            font-size: 4cqh;
            width: 100%;
            background: url('/img/icon/arrow_close.svg') right 15px no-repeat;
            background-size: auto 60%;
            padding: 20px 0;
            }
            .popup_menu .menu .spacer
                {
                border-bottom: 1px #fff solid;
                }
            .popup_menu .menu .spacer:last-child
                {
                display: none;
                }

    .popup_menu .contacts
        {
        justify-content: flex-end;
        }
        .popup_menu .contacts .main_phone
            {
            text-align: right;
            font-size: 4cqw;
            }
        .popup_menu .contacts .soc_icons
            {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            }
    
    
.close
    {
    position: absolute;
    top: 0;
    right: 20px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 9000;
    }
    .close img
        {
        height: 100%;
        width: 100%;
        }
    
    



.small_text_block
    {
    width: 300px;
    }


section.top_bar
    {
    overflow: hidden;
    }



.intro_title
    {
    position: relative;
    margin-top: 0;
    margin-left: 0;
    display: flex;
    text-align: center;
    padding: 0 30px;
    font-size: 12.5cqw;
    font-weight: 600;
    justify-content: center;
    z-index: 9100;
    }
    .intro_title .w1
        {
        width: 58.33%;
        text-align: right;
        margin-left: -1cqw;
        }            
    .intro_title .w2
        {
        width: 41.67%;
        text-align: left;
        }

    .intro_title div:last-child
        {
        font-weight: 300;
        }


.slogan_section
    {
    margin: 10px 0;
    }    
    .slogan_section .btn_wrap
        {
        display: flex;
        align-items: center;
        }
    .slogan_section .slogan
        {
        }
.slogan_section .img_01.img_wrap
    {
    position: relative;
    width: 100%;
    }



.about_section
    {
    margin: 50px 0;
    }
    .mile_titles li b
        {
        font-size: 7cqw;
        line-height: 5cqw;
        font-weight: 400;
        margin: 0;
        }

    .about_title_wrap
        {
        display: flex;
        flex-direction: column;
        justify-content: space-between; 
        }
    
    .mile_titles ul
        {
        list-style: none;
        }
        .mile_titles li 
            {
            display: flex;
            align-items: flex-end;  
            gap: 10px;
            }
            .mile_titles li:not(:last-child)
                {
                margin-bottom: 70px;
                }
            .mile_titles li b,
            .mile_titles li span
                {
                display: block;
                }
            .mile_titles li b
                {
                }
            .mile_titles li span
                {
                width: 100px;
                }

    .about_section .img_02
        {
        margin: 20px 0;
        }


.folio_wrap
    {
    margin: 100px 0;
    }
    .folio_block
        {
        margin: 0 0 70px 0;
        }
        .folio_block .name,
        .folio_block .area span
             {
             font-size: 3cqw;
             }
        .folio_block .area span
             {
             padding-left: 50px;
             }
        .folio_block .area
            {
            margin-bottom: 30px;
            }

    .folio_wrap,
    .obj_col,
    .folio_scroller,
    .folio_intro
        {
        position: relative;
        }
        .folio_intro .sticky_folio
            {
            position: sticky;
            top: 40px;
            }
            .white_and_gray             
                {
                font-size: 3cqw;
                margin-top: 20vh;
                width: 90%;
                }
                .white_and_gray,
                .white_and_gray p
                    {
                    color: var(--gray-color);
                    }
                .white_and_gray strong,
                .white_and_gray b
                    {
                    color: #fff;
                    font-weight: 400;
                    }

.why_us
    {
    padding: 30px 0;
    height: 100vh;
    transition: background-color 0.5s ease;
    }
    .why_us.white
        {
        background-color: #fff;
        }
        .why_us.white,
        .why_us.white p
            {
            color: #000;
            }
    .why_us .desc_wrap,
    .why_us .img_wrap
        {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;
        }
    .why_us .abs_text
        {
        background-color: #000;
        transition: background-color 0.5s ease;
        }
        .why_us.white .abs_text
            {
            background-color: #fff;
            }

    .why_us .images_col
        {
        width: 100%;
        height: 100%;
        }
    
    .why_us .img_wrap
        {
        height: 60vh;
        }
        
    .why_us .abs_text,
    .why_us .abs_img
        {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        }





.service_packets
    {
    padding: 3vh 0;
    background-color: #000;
    height: 100vh;
    transition: background-color 0.5s ease;
    }
    .service_packets.white
        {
        background-color: #fff
        }
    .service_packets.white,
    .service_packets.white p
        {
        color: #000;
        }

    .service_packets .sp_header
        {
        z-index: 9000;
        }

    .service_packets h5
        {
        margin: 2vh 0;
        }

        .sp_wrap
            {
            position: relative;
            width: 100%;
            height: 600px;
            overflow: hidden;
            }
        .service_packet
            {
            position: absolute;
            top: 0;
            width: 100%;
            height: 100%;
            margin-bottom: 100px;
            background-color: #000;
            transition: background-color 0.5s ease;
            z-index: 9000;
            }
            .service_packets.white .service_packet
                {
                background-color: #fff;
                }
            .service_packets.white .service_packet,
            .service_packets.white .service_packet p
                {
                color: #000;
                }
        .service_packet .packet_text
            {
            flex-direction: column;
            justify-content: space-between;
            }
            .service_packet .title
                {
                display: flex;
                }
            .service_packet h4
                {
                width: 60%;
                margin-bottom: 50px;
                }
            .service_packet .description
                {
                width: 60%;
                text-align: justify;
                }
            .service_packet .btn_row a
                {
                margin-right: 20px;
                }

            .service_packet .img_wrap
                {
                position: relative;
                }
                .service_packet .packet_desc
                    {
                    display: none;
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    width: 100%;
                    padding: 15px 0;
                    background-color: #000;
                    color: #fff;
                    }
                .service_packets.white .service_packet .packet_desc
                    {
                    background-color: #fff;
                    }
                .service_packets.white .service_packet .packet_desc,
                .service_packets.white .service_packet .packet_desc p
                    {
                    color: #000;
                    }

                .service_packet .packet_desc ul
                    {
                    list-style: none;
                    columns: 3;
                    }
                    .service_packet .packet_desc ul li
                        {
                        margin-bottom: 10px;
                        }

.work_steps
    {
    margin: 120px 0 70px 0;
    }
    .work_steps .title
        {
        display: flex;
        justify-content: space-between;
        }

    .work_steps .step
        {
        font-size: 32px;
        margin-bottom: 30px;
        }
        .work_steps .arrow_div
            {
            background-image: url('/img/icon/arrow_close.svg');
            background-repeat: no-repeat;
            background-position: top right;
            cursor: pointer;
            }
        .work_steps .arrow_div.open
            {
            background-image: url('/img/icon/arrow_open.svg');
            }
        .work_steps .arrow_div .text
            {
            display: none;
            max-width: 500px;
            font-size: 14px;
            margin: 20px 0 10px 0;
            }

    .work_steps .coda
        {
        margin-top: 70px;
        margin-bottom: 120px;
        }

.contact_section
    {
    padding: 50px 0;
    }
    .contact_section h2
        {
        font-size: 5cqw;
        line-height: 3cqw;
        font-weight: 400;
        margin: 0 0 20px 0;
        }
    .contact_inner
        {
        margin-bottom: 40px;
        }
    .contact_form form,
    .contact_form .message_form_div
        {
        height: 100%;
        }
    .contact_form .message_form_div
        {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        }


.soc_icons
    {
    
    }
    .soc_icons a
        {
        margin: 5px 0;
        display: block;
        font-size: 32px;
        background-image: url('/img/icon/arrow_close.svg');
        background-repeat: no-repeat;
        background-position: 97% center;
        width: 240px;
        }

    .soc_icons a.si_450,
    .soc_icons a.si_451,
    .soc_icons a.si_452
        {
        background-size: auto 100%;
        background-position: right center;
        }
    .soc_icons a.si_450   { background-image: url('/img/icon/telegram.png')   }
    .soc_icons a.si_451   { background-image: url('/img/icon/whatsup.png')    }
    .soc_icons a.si_452   { background-image: url('/img/icon/viber.png')    }


footer
    {
    margin-top: 200px;
    margin-bottom: 20px;
    }    
    footer .col_1
        {
        flex-direction: column;
        justify-content: space-between;
        }

    footer .col_1 { flex: 1 1 auto }
    footer .col_2 { flex: 0 1 auto }
        
    footer .col_2 .row
        {
        justify-content: space-between;
        align-items: flex-start;
        }
        footer .address
            {
            display: flex;
            font-size: 32px;
            line-height: 32px;
            font-weight: 400;
            margin: 0 0 20px 0;
            text-align: right;
            }
        footer .bm a
            {
            display: block;
            padding: 5px 0;
            }
        footer .main_phone
            {
            font-size: 6cqw;
            line-height: 6cqw;
            font-weight: 400;
            text-align: right;
            white-space: nowrap;
            margin: 140px -5px 0 -5px;
            }




/* Secondary content */


.portfolio_block
    {
    }
    .portfolio_block h5
        {
        width: 70%;
        }
    .portfolio_list
        {
        }
        .portfolio_list .scroller_wrap,
        .portfolio_list .scroller
            {
            position: relative;
            width: 100%;
            }
        .portfolio_list .scroller
            {
            display: flex;
            flex-wrap: wrap;
            }

        
        .portfolio_list .item
            {
            padding: 0 20px 50px 20px;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            }
        .portfolio_list .item .img_wrap
            {
            height: 270px;
            width: 100%;
            overflow: hidden;
            }
            .portfolio_list .item .img_wrap img
                {
                height: 100%;
                width: auto;
                }

        
        .portfolio_list .item .name,
        .portfolio_list .item .area span
            {
            font-size: 24px;
            }
        .portfolio_list .item .name
            {
            margin: 10px 0 5px 0; 
            }
        .portfolio_list .item .area
            {
            margin-bottom: 20px;
            }


.portfolio_object
    {
    margin-top: 50px;
    }
    .portfolio_object .name_wrap .luxoria_btn
        {
        margin: 50px 0;
        }
    .portfolio_object h1
        {
        font-size: 96px;
        line-height: 96px;
        }
    .portfolio_object .duration
        {
        border-top: 1px #fff solid;
        }
    .portfolio_object .area,
    .portfolio_object .duration
        {
        font-size: 96px;
        }

    .portfolio_object .area span,
    .portfolio_object .duration  span   
        {
        font-size: 14px;
        display: inline-block;
        width: 30%;
        }

    .portfolio_object .gallery .secondary_imgs
        {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 2%;
        margin-bottom: 150px;
        }
        .portfolio_object .gallery .secondary_imgs .img_wrap
            {
            width: 32%;
            box-sizing: border-box;
            margin-bottom: 2%;
            }
        .portfolio_object .object_text
            {
            padding: 30px 0;
            }



.services_list
    {
    gap: 2%;
    }
    .services_list .item
        {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 23%;
        margin-bottom: 2%;
        }
    .services_list .item.full_width
        {
        flex-direction: row;
        width: 100%;
        margin-bottom: 4%;
        }

    .services_list .item .short_desc
        {
        margin: 10px 0 50px 0;
        }


.service_popup
    {
    display: none;
    position: absolute;
    top: 0;
    left: 30px;
    width: calc(100% - 60px);
    min-height: calc(100vh - 85px);
    border-bottom: 15px #000 solid;
    background-image:url("/img/dummy/service_bg.jpg");
    background-color: #fff;
    background-position: top center;
    background-size: 100% auto;
    z-index: 9000;
    }
    .service_popup,
    .service_popup p
        {
        color: #000;
        }
    
    .service_popup .for_subtext
        {
        display: none;
        }
    .service_popup .container > div
        {
        position: relative;
        margin-top: 30px;
        margin-bottom: 30px;
        }
    .service_popup .close
        {
        position: absolute !important;
        right: 30px;
        }
    .service_popup .close img
        {
        filter: invert(100%);
        }
    .service_popup .short_desc_col h4
        {
        width: 90%;
        font-size: 64px;
        font-weight: 400;
        line-height: 58.91px;
        letter-spacing: -0.06em;
        }


    .service_popup .short_desc_col .small_text_block
        {
        width: 500px;
        text-align: justify;
        }
    .service_popup .short_desc_col .small_text_block .title
        {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10px;
        }
    .service_popup .short_desc_col .small_text_block .title h5
        {
        display: block;
        }
    
    
    .service_popup .short_desc_col ul,
    .service_popup .short_desc_col ol
        {
        margin: 10px 0 10px 30px;
        }
        .service_popup .short_desc_col ul li,
        .service_popup .short_desc_col ol li
            {
            margin: 5px 0;
            }




    .service_popup .subitem
        {
        margin: 30px 0;
        }
        .service_popup .subitem h5
            {
            margin-bottom: 0;
            }
        .service_popup .short_desc
            {
            margin: 15px 0;
            }
        .service_popup .full_desc
            {
            display: none;
            }
        

        .service_popup .full_desc_col .text,
        .service_popup .full_desc_col .for_subtext
            {
            max-width: 500px;
            }

        .service_popup .full_desc_col .for_subtext
            {
            padding-top: 0px;
            }
        .service_popup .full_desc_col h2,
        .service_popup .full_desc_col h3
            {
            font-size: 24px;
            line-height: 24px;
            margin: 40px 0 20px 0;
            }
        .service_popup .full_desc_col .text h2:first-child,
        .service_popup .full_desc_col .text h3:first-child
            {
            margin-top: 0;
            }


        .service_popup .full_desc_col ul
            {
            margin: 10px 0 10px 30px;
            }

        .service_popup .for_subtext > ol > li
            {
            font-size: 24px;
            background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8" standalone="no"%3F><svg width="20" height="20" viewBox="0 0 20 20" fill="none" version="1.1" id="svg2" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs2" /><path d="M 0.64915917,19.350844 19.350841,0.64915917" stroke="%230f0e0e" stroke-width="1.29831" stroke-linecap="round" stroke-linejoin="round" id="path1" /><path d="M 0.64915746,0.64919717 H 19.350843 V 19.350885" stroke="%230f0e0e" stroke-width="1.29831" stroke-linecap="round" stroke-linejoin="round" id="path2" /></svg>');
            background-repeat: no-repeat;
            background-position: top right;
            cursor: pointer;
            padding-right: 20px;
            }
        .service_popup .for_subtext > ol > li:hover
            {
            opacity: 0.8;
            }
        .service_popup .for_subtext > ol > li.open
            {
            background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8" standalone="no"%3F><svg width="20" height="20" viewBox="0 0 20 20" fill="none" version="1.1" id="svg2" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs2" /><path d="M 0.64915917,0.64920017 19.350841,19.350885" stroke="%230f0e0e" stroke-width="1.29831" stroke-linecap="round" stroke-linejoin="round" id="path1" /><path d="M 0.64915746,19.350847 H 19.350843 V 0.64915917" stroke="%230f0e0e" stroke-width="1.29831" stroke-linecap="round" stroke-linejoin="round" id="path2" /></svg>');
            }

        .service_popup .for_subtext > ol > li > ol
            {
            max-height: 0;
            font-size: 14px;
            background: none;
            overflow: hidden;
            transition: all 0.5s ease;
            }
        .service_popup .for_subtext > ol > li.open > ol
            {
            max-height: 500px;
            }

        .service_popup .for_subtext ol 
            {
            margin: 10px;
            counter-reset: item;
            max-width: 500px;
            }
            .service_popup .for_subtext ol li 
                {
                display: block;
                margin: 5px 0;
                }
            .service_popup .for_subtext ol li:before 
                {
                content: counters(item, ".") ". ";
                counter-increment: item
                }


/* Progress bar */
@-webkit-keyframes progress {to {background-position: 30px 0;}}
@-moz-keyframes progress {to {background-position: 30px 0;}}
@keyframes progress {to {background-position: 30px 0;}}
.barBg {width:99%;  height:15px;    border-radius: 8px; margin-bottom:5px;}
.bar {background: #7aff32;  height:30px;    height: 15px;   border-radius: 4px;}
.barFill {
    width: 100%;
    height: 15px;
    border-radius: 20px;
    -webkit-animation: progress 1s linear infinite;
    -moz-animation: progress 1s linear infinite;
    animation: progress 1s linear infinite;
    background-repeat: repeat-x;
    background-size: 30px 30px;
    background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.hundred {  width: 100%;}   
.cornflowerblue {   background-color: CornflowerBlue;   box-shadow:inset 0px 0px 6px 2px rgba(255,255,255,.3);}



/* ============================================================================ */
/* Планшет - меньше 1500px  =================================================== */
/* ============================================================================ */
@media (max-width: 1500px) {


    .portfolio_object h1,
    .portfolio_object .area,
    .portfolio_object .duration
        {
        font-size: 76px;
        line-height: 76px;
        }

    

}


/* ============================================================================ */
/* Телефон - меньше 900px   =================================================== */
/* ============================================================================ */
@media (max-width: 900px) {

h1,
h2,
.h2_like
    {
    font-size: 12cqw;
    line-height: 12cqw;
    margin-bottom: 10px;
    }

h5
    {
    font-size: 24px;
    line-height: 24px;
    margin: 0 0 10px 0;
    }




.spanned
    {
    display: inline;
    gap: 10px;
    }

.img_wrap
    {
    overflow: hidden;
    }

.adaptive_img
    {
    margin: 0 auto;
    }

.intro_title
    {
    font-size: 12cqw;
    padding: 0 15px;
    }
    .intro_title .w1
        {
        margin-left: 0;
        }            

.slogan_section
    {
    margin: 10px 0;
    }    
    .btn_wrap { order: 3 }
    .slogan   { order: 1 }
    .img_01   { order: 2 }

    .img_01
        {
        width: 100%;
        height: 400px;
        overflow: hidden;
        margin: 20px 0;
        }

    .btn_wrap .luxoria_btn
        {
        display: block;
        width: 100%;
        }

.popup_menu
    {
    padding: 15px 0;
    }
    .popup_menu .menu,
    .popup_menu .contacts
        {
        height: auto;
        margin-top: 20px;
        justify-content: flex-start;
        }
    .popup_menu .menu a
        {
        font-size: 2cqh;
        background-size: auto 20px;
        padding: 15px 0;
        }
        .popup_menu .contacts .main_phone
            {
            font-size: 10cqw;
            }
    .close
        {
        top: -5px;
        right: 15px;
        width: 20px;
        height: 20px;
        }


.about_title_wrap
    {
    flex-direction: row;
    }

    .about_title_wrap .tiny_title
        {
        position: absolute;
        top: 0;
        right: 0;
        }
    .mile_titles
        {
        margin-top: 30px;
        }
    .mile_titles li
        {
        justify-content: flex-start;
        }
        .mile_titles li:not(:last-child)
            {
            margin-bottom: 20px;
            }
        .mile_titles li b
            {
            display: inline;
            font-size: 12cqw;
            line-height: 10cqw;
            white-space: nowrap;
            }
        .mile_titles li span
            {
            width: 50%;
            }

    .about_section .img_02
        {
        margin: 20px 0;
        height: 200px; 
        }



.folio_wrap
    {
    margin: 20px 0;
    }
    .folio_wrap .luxoria_btn
        {
        width: 99%;
        }

    .obj_col     { order: 2}
    .folio_intro { order: 1}

    .folio_intro .sticky_folio
        {
        position: relative;
        top: auto;
        }
        .folio_intro .sticky_folio .luxoria_btn
            {
            margin: 10px 0 20px 0;
            }
        .white_and_gray             
            {
            font-size: 24px;
            margin-top: 0;
            margin-bottom: 20px;
            width: 100%;
            }


.obj_col 
    {
    overflow: hidden;
    }
.obj_col .scroller
    {
    display: flex;
    }
    .folio_block
        {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        flex-shrink: 0;
        margin: 0;
        width: 100%;
        }
       .folio_block .name,
       .folio_block .area span
            {
            font-size: 32px;
            }
       .folio_block .area span
            {
            padding-left: 5px;
            }
       .folio_block .area
           {
           margin-bottom: 10px;
           }

.navi
    {
    margin-top: 20px;
    display: flex !important;
    width: 100%;
    justify-content: center;
    }
    .navi div
        {
        width: 10px;
        height: 10px;
        border: 1px #fff solid;
        border-radius: 50%;
        margin: 5px;
        cursor: pointer;
        }
    .white .navi div
        {
        border: 1px #000 solid;
        }
    .navi div:hover,
    .navi div.active
        {
        background-color: #fff;
        }
    .white .navi div:hover,
    .white .navi div.active
        {
        background-color: #000;
        }


.why_us
    {
    padding: 10px 0;
    height: auto;
    }
    .why_us h5
        {
        font-size: 20px;
        line-height: 20px;
        }
    .why_us .horizontal_slide
        {
        height: 100%;
        }
    .why_us .images_col
        {
        position: relative;
        overflow: hidden;
        width: 100vw;
        height: 100%;
        }
        .why_us .scroller
            {
            display: flex;
            flex-wrap: nowrap;
            align-items: stretch;
            height: 100%;
            overflow: visible;
            }
        .why_us .abs_img
            {
            position: relative;
            flex-shrink: 0;
            flex-grow: 1;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            }
        .why_us .why_us_img_1 {order: 1}
        .why_us .why_us_img_2 {order: 2}
        .why_us .why_us_img_3 {order: 3}



.service_packets
    {
    padding-top: 10px;
    margin: 0;
    min-height: 100vh;
    height: auto;
    }
    .service_packets h5
        {
        font-size: 16px;
        line-height: 16px;
        margin: 0;
        }
        .sp_wrap
            {
            height: auto;
            overflow: hidden;
            }
        .sp_wrap .scroller
            {
            display: flex;
            flex-wrap: nowrap;
            }
        .service_packet
            {
            position: relative;
            width: 100%;
            height: auto;
            flex-shrink: 0;
            margin: 0;
            }
            .service_packet .packet_text { order: 2}
            .service_packet .img_wrap    { order: 1; margin: 0 0 10px 0}

            .service_packet .title
                {
                justify-content: space-between;
                }
                .service_packet h4,
                .service_packet .h4_like
                    {
                    width: auto;
                    font-size: 36px;
                    line-height: 36px;
                    margin-bottom: 10px;
                    }
            .service_packets .intro_text,
            .service_packet .description
                {
                width: 100%;
                font-size: 12px;
                }
            .service_packet .packet_desc
                {
                text-transform: lowercase;
                font-size: 11px;
                }
                .service_packet .packet_desc ul li
                    {
                    margin-bottom: 2px;
                    }
            .service_packets .luxoria_btn
                {
                width: 100%;
                margin: 3px 0;
                }
        .service_packet.sp_1 {order: 3}
        .service_packet.sp_2 {order: 2}
        .service_packet.sp_3 {order: 1}
        
        .sp_wrap .navi
            {
            margin: 0 0 10px 0;
            }



.work_steps
    {
    margin: 20px 0;
    }
    .work_steps .tiny_title
        {
        position: absolute;
        top: 0;
        right: 20px;
        }
    .steps_wrap
        {
        margin: 20px 0 0 0;
        }
    .work_steps .step
        {
        font-size: 16px;
        margin-bottom: 20px;
        }
        .work_steps .arrow_div
            {
            background-size: 14px 14px;
            }
    .work_steps .coda
        {
        margin: 40px 0 70px 0;
        }

.contact_section
    {
    padding: 0;
    margin: 10px 0;
    }
    .contact_section h2
        {
        font-size: 48px;
        line-height: 48px;
        margin: 0 0 20px 0;
        }
    .contact_section .contact_form
        {
        margin-top: 20px;
        }



footer
    {
    margin-top: 40px;
    }    
    footer .col_1
        {
        width: 40%;
        position: absolute;
        top: 0;
        }
    footer .col_2
        {
        margin-top: 225px;
        width: 100%;
        }
    footer .bm
        {
        position: absolute;
        top: 0;
        right: 0;
        width: 40%;
        margin-top: -220px;
        }

    footer .soc_icons a
        {
        width: 100%;
        }
    footer .address
        {
        text-align: right;
        font-size: 16px;
        line-height: 16px;
        margin: 20px 0 0 0;
        width: 100%;
        justify-content: flex-end;
        }
    footer .copyright_wrap
        {
        display: none;
        }
    footer .main_phone
        {
        margin: 10px 0 0 0;
        text-align: right;
        font-size: 12.5cqw;
        line-height: 12.5cqw;
        letter-spacing: -0.06em;
        }

    .soc_icons a
        {
        font-size: 18px;
        background-size: 14px 14px;
        margin: 10px 0;
        background-position: 98% center;
        }
    .soc_icons a.si_450,
    .soc_icons a.si_451,
    .soc_icons a.si_452
        {
        background-size: auto 100%;
        background-position: right center;
        }

    .popup_menu .soc_icons a
        {
        width: 50%;
        }



/* Secondary pages */
.portfolio_block
    {
    margin: 30px 0
    }
    .portfolio_block h5
        {
        width: 100%;
        }
    .portfolio_block .tiny_title
        {
        position: absolute;
        top: 0;
        right: 0;
        }
        .portfolio_list .item
            {
            padding: 0 0 20px 0;
            min-width: 100%;
            }

    
    .portfolio_object .area span,
    .portfolio_object .duration  span   
        {
        width: 50%;
        }
    .portfolio_block .navi
        {
        margin: 0;
        }

    .portfolio_list .scroller_wrap
        {
        overflow: hidden;
        }
        .portfolio_list .scroller
            {
            flex-wrap: nowrap;
            }

        

    
.portfolio_object
    {
    margin-top: 20px;
    }
    .portfolio_object h1,
    .portfolio_object .area,
    .portfolio_object .duration
        {
        font-size: 36px;
        line-height: 36px;
        }
    .portfolio_object .scroller_wrap
        {
        overflow: hidden;
        }
        .portfolio_object .scroller
            {
            flex-wrap: nowrap;
            }
    .portfolio_object .gallery .secondary_imgs
        {
        flex-wrap: nowrap;
        margin-bottom: 20px;
        }
        .portfolio_object .gallery .secondary_imgs .img_wrap
            {
            width: 100%;
            flex-shrink: 0;
            }
        .portfolio_object .gallery .secondary_imgs .img_wrap img
            {
            /*
            height: 100%;
            object-fit: cover;
            flex-shrink: 0;
            */
            width: 100%;
            height: auto;
            }

        .portfolio_object .gallery .navi
            {
            margin: 0;
            }

        .portfolio_object .object_text
            {
            padding: 10px 0;
            }
        iframe
            {
            width: 100% !important;
            height: 200px !important;
            }


.services_list
    {
    }
    .services_list .item.full_width,
    .services_list .item
        {
        width: 100%;
        margin-bottom: 40px;
        }
    .services_list .item .small_text_block
        {
        width: 100%;
        }
    .services_list .item h4,
    .services_list .item h5
        {
        font-size: 24px;
        line-height: 24px;
        }
    .services_list .item .luxoria_btn
        {
        width: 100%;
        }
    .services_list .item .short_desc
        {
        margin: 10px 0 30px 0;
        }

.service_popup
    {
    display: none;
    top: 0;
    left: 10px;
    width: calc(100% - 20px);

    background-image:url("/img/dummy/service_bg_mob.jpg");
    background-position: center top;
    }

    .service_popup .container > div
        {
        margin-top: 10px;
        margin-bottom: 10px;
        }
    .service_popup .luxoria_btn
        {
        width: 100%;
        }

    .service_popup .close
        {
        top: 0px;
        right: 10px;
        }
    .service_popup h3
        {
        font-size: 16px;
        line-height: 16px;
        margin: 0 0 5px 0;
        }
    .service_popup .short_desc_col h4
        {
        width: 100%;
        font-size: 24px;
        line-height: 22.09px;
        }

        .service_popup .full_desc_col h2,
        .service_popup .full_desc_col h3
            {
            font-size: 16px;
            line-height: 16px;
            margin: 20px 0 10px 0;
            }

    .service_popup .for_subtext
        {
        }

    
    .service_popup .for_subtext > ol > li,
    .service_popup .for_subtext > ol > li.open
        {
        font-size: 14px;
        font-weight: 400;
        background-image: none;
        }
        .service_popup .for_subtext > ol > li > ol
            {
            font-size: 12px;
            margin: 7px 10px;
            }
        .service_popup .for_subtext ol 
            {
            margin: 7px 0;
            max-width: 100%;
            }


    .service_popup .full_desc_col p
        {
        margin-bottom: 5px;
        }
    .service_popup .short_desc_col .small_text_block
        {
        width: 100%;
        }


}