

html {
    font-size: 1.03vw;
    line-height: 1.4;
    color: #000;
    background-color: #fff;
    font-family: 'HelveticaNeueCyr', sans-serif;
    font-weight: 600;
}


body {
    padding: 0;
    margin: 0;
}

.page {
    overflow: hidden;
}

* {
    box-sizing: border-box;
    outline: none;
    border: none;
}


.fz14 {
    font-size: 14px;
}


.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.464vw 1.757vw;
}

.header .left-column,
.header .right-column {
    width: 30%;
}

.header-name {
    text-transform: uppercase;
    font-weight: 600;
}

.logobox img {
    width: 4.32vw;
}



.header .right-column {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.locale-box {
    display: flex;
    text-transform: uppercase;
    font-weight: 600;
    margin-right: 1.757vw;
}

.locale-box > * + * {
    margin-left: .9vw;    
}

.locale-box > * {
    opacity: .4;
    transition: opacity .2s;
}

.locale-box > *:hover {
    opacity: 1;
}

.locale-box .active {
    opacity: 1;
}


.burger-box {

}


.burger {
    width: 24px;  
    height: 12px;
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    opacity: 1;
    transition: opacity .2s;
}

.burger:hover {
    opacity: .6;
}

.burger i {
    display: block;
    background: #000;
    width: 100%;
    height: 2px;
    opacity: 1;
    transition: background .2s;
}

.burger i:before, .burger i:after {
    position: absolute;
    content: '';
    display: block;
    background: #000;
    width: 100%;
    height: 2px;
    top: 0;
    left: 0;
    transition: all .2s;
}

.burger i:after {
    top: auto;
    bottom: 0;
}





.index-intro-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-top: 5.8vw;
}

.index-intro-box .index-title {
    font-size: 3.212vw;
}

.ttr {
    text-transform: uppercase;
}



/*=====================================================*/


.popup {
    background: transparent !important;
    width: 376px;
    padding: 15px;
    display: none;
}

.fancybox-close-small {
    display: none;
}

.c-white, .c-white * {
    color: #fff;
}


.popup > span {
    display: block;
    font-size: 30px;
    text-align: center;
    margin-bottom: 20px;
}

.popup > span img {
    display: inline-block;
    vertical-align: middle;
    margin-left: 4px;
}

.form .item {
    width: 100%;
    display: table;
    vertical-align: bottom;
    padding-bottom: 22px;
}

.form .item > * {
    display: table-cell;
    vertical-align: bottom;
}

.form .item .label {
    white-space: nowrap;
    font-size: 21px;
    padding-right: 10px;

}

.form .item .label span {
    position: relative;
    top: 4px;
}

.form .item .form-item {
    width: 100%;

}

.form input, .form textarea {
    padding: 0;
    text-align: center;
    font-size: 21px;
    width: 100%;
    border: 0;
    height: auto;
    background: transparent;
    border-bottom: 1px solid #fff;
    resize: none;
}

.form button {
    display: block;
    padding: 0;
    background: transparent;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
    border: 1px solid #fff;
    width: 170px;
    height: 50px;
    text-align: center;
    margin: 20px auto 0;
    font-size: 21px;
    cursor: pointer;

}

.form button:hover {
    background: #ed1c24 !important;
    border-color: #ed1c24 !important;
    color: #ffffff !important;
}

.form p {
    text-align: center;
    font-size: 21px;
    line-height: 24px;
    padding-bottom: 10px;
}

.form p img {
    display: inline-block;
    margin-left: 4px;
}

.popup .vi {
    display: inline-block;
}

#thanks {
    text-align: center;
}


/*===============================================================*/



.callback-box {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.callback-box input, .callback-box textarea {
    font-family: 'HelveticaNeueCyr', sans-serif;
    outline: none;
    width: 100%;
    transition: all .2s;
    background-color: transparent;
    color: #000;
    font-weight: 600;
    display: block;
    text-align: center;

}

.callback-box input {
    font-size: 3.212vw;
}

.phone-input {
    display: block;
    margin-bottom: 0.88vw;
    position: relative;
}

.cursorblink {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.phone-input .cursorblink {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    height: 3.52vw;
    top: .092vw;
    left: calc(50% + 1.88vw);      
    background-color: #000;
    animation: cursorblink 1s linear infinite;
}

@keyframes cursorblink {
 0% { opacity: 0}
 49% { opacity: 0}
 50% { opacity: 1}
 99% { opacity: 1 }
 100% { opacity: 0 }
}

.phone-input input:focus + .cursorblink {
    display: none;
}

a {
    text-decoration: none;
    color: inherit;
}

.index-intro-box .description {
    margin-top: 1.757vw;
}


img {
    display: table;
    max-width: 100%;
}

.centerblock {
    margin-left: auto;
    margin-right: auto;
    display: table;
}

.index-portfolio-box {
    margin-top: 7.028vw;
}

.portf-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 80vw;
    margin: -0.438vw;
}

.portf-list .item {
    padding: 0.438vw;
}

.portf-list .portf-block {
    width: 31.476vw;
    display: block;
}

.portf-list .portf-block .photo {
    transform: scale(1);
    transition: transform .5s;
}

.portf-list .portf-block:hover .photo {
    transform: scale(1.04);

}

.portf-more-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 5.27vw;
    margin-bottom: 3.52vw;
    
}

.portf-more-box .title {
    margin-bottom: 5.27vw;
}

ul {
    padding: 0;
    margin: 0;
    display: block;
    list-style:none;
}

li {display: block;
    padding: 0;
    margin: 0;
}

.text-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1.76vw;
}

.portf-more-box .morelink {
    margin-top: 1.76vw;
}

.darkbox, .darkbox a {
    color: #fff;
}


.footer {
    background-color: #333;
}

.footer > * {
    padding: 1.76vw;
    display: flex;
}

.footer .footer-top-box {
    justify-content: center;
    background-color: #000;
}

.footer .footer-bottom-box {
    justify-content: space-between;
}

.footer .footer-bottom-box > * {
    width: 25%;
}

.footer .footer-bottom-box .center-column {
    width: auto;
}

.footer .footer-bottom-box .right-column {
    display: flex;
    justify-content: flex-end;
}

.footer-menu {
    display: flex;
}

.footer-menu li + li {
    margin-left: 1.76vw;
}

.hover {
    transition:  all .2s;
}

.hover-opc a,
a.hover-opc {
    opacity: 1;
    transition: opacity .2s;
}

.hover-opc a:hover,
a.hover-opc:hover {
    opacity: .6;
}


.filters-box {
    background-color: #333;
    display: flex;
}

.filters-box li {
    padding: 1.464vw 1.757vw;
    text-transform: uppercase;
    width: 50%;
}

.filters-box li.active {
    background-color: #000;
}

.filters-box li a {
    width: 100%;
    display: block;
    opacity: .4;
    transition: opacity .2s;
}

.filters-box li.active a {
    opacity: 1;
}

.filters-box li a:hover {
    opacity: 1;
}

.page-portfolio-box {
    margin-top: 3.9vw;
}

.portf-list .title {
    text-transform: uppercase;
    margin-top: 0.58vw;
    height: 3.8vw;
}

.page-portfolio-box .portf-more-box {
    margin-top: 2.4vw;
    margin-bottom: 5.68vw;
}



.portf-list.articles-list {
    margin: -0.66vw;
}

.portf-list.articles-list .item {
    padding: 0.66vw;
}


.main-menu-box {
    position: fixed;
    right: 0;
    top: 0;
    background-color: #fff;
    padding: 1.76vw;
    height: 100%;
    box-shadow: 0 0 32px 8px rgba(0,0,0,0);
    transform: translateX(26.4vw);
    width: 26.4vw;
    transition: transform .3s, box-shadow .3s;
    z-index: 555;
}

.main-menu-box.opened {
    transform: translateX(0);
    box-shadow: 0 0 32px 8px rgba(0,0,0,.2);
}

.main-menu > li {
    display: flex;
}

.main-menu > li + li {
    margin-top: 1.76vw;
}

.main-menu > li > a {
    width: 8.8vw;
    flex-shrink: 0;
    text-transform: uppercase;
}

.main-menu-box .feedback {
    text-transform: uppercase;
    opacity: .4;
    margin-top: 2.93vw;
}

.main-menu-box .close {
    text-transform: uppercase;
    display: block;
    cursor: pointer;
    margin-bottom: 2.64vw;
}


.portf-list img.mob {
    display: none;
}

.rightblock {
    margin-left: auto;
    display: table;
}





@media (max-width: 767px) {



    html {
        font-size: 3.2vw;
    }

    body {
        padding: 0;
        margin: 0;
    }

    .logobox img {
        width: 10.67vw;
    }

    .header .left-column, .header .right-column {
        width: auto;
    }

    .header .center-column {
        order: -1;
    }

    .header .left-column {
        flex-grow: 1;
        display: flex;
        justify-content: flex-end;
    }

    .header {
        padding: 5.34vw;
    }

    .locale-box {
        margin-right: 6.408vw;
        margin-left: 6.408vw;
    }

    .locale-box a {
        opacity: 1;
        margin: 0 !important;
    }

    .locale-box a.active {
        display: none;
    }


    .index-intro-box .index-title {
        font-size: 7.46vw;
    }

    .callback-box input {
        font-size: 7.46vw;
        margin-bottom: 4vw;
    }

    .phone-input .cursorblink {
        height: 8.52vw;
        top: .092vw;
        left: calc(50% + 4.18vw);
    }

    .index-intro-box {
        margin-top: 7.8vw;
    }

    .index-intro-box .description {
        margin-top: 2.4vw;
    }

    .portf-list {
        max-width: none !important;
        margin: 0 !important;
        padding: 1.602vw !important;
    }

    .portf-list .item {
        padding: 1.602vw !important;
    }

    .portf-list .portf-block {
        width: auto;
    }

    .main-menu-box {
        width: 100vw;
        height: 100%;
        transform: translateX(100vw);
        padding: 5.34vw;
        overflow-y: scroll;
    }

    

    .main-menu-box .close {
        margin-bottom: 3.204vw;
    }

    .main-menu-box .main-menu {
        padding-bottom: 200px;
    }

    .main-menu > li > a {
        width: auto;
    }

    .main-menu > li + li {
        margin-top: 6.408vw;
    }

    .main-menu-box .feedback {
        margin-top: 6.408vw;
        text-transform: none;
    }

    .main-menu-box .close {
        top: 6vw;
        right: 14.2vw;
    }

    .main-menu > li {
        display: block;
    }

    .main-menu .submenu {
        font-size: 5.34vw;
        margin-top: 1.6vw;
    }



    .index-portfolio-box .item:nth-child(3), 
    .index-portfolio-box .item:nth-child(4) {
        width: 50%;
    }

    .index-portfolio-box .item:nth-child(2) {
        margin-bottom: 6vw;
    } 

    .index-portfolio-box {
        margin-top: 9vw;
    }

    .index-portfolio-box .item:nth-child(3) .photo img, 
    .index-portfolio-box .item:nth-child(4) .photo img {
        display: none;
    }    

    .index-portfolio-box .item:nth-child(3) .photo img.mob, 
    .index-portfolio-box .item:nth-child(4) .photo img.mob {
        display: block;
    }

    .page-portfolio-box {
        margin-top: 7.8vw;
    }

    .text-list {
        font-size: 5.34vw;
    }

    .text-list {
        line-height: 6.2vw;
    }

    .portf-more-box {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 15.6vw;
        margin-bottom: 12.816vw;
    }

    .portf-more-box .title {
        margin-bottom: 19.224vw;
    }

    .portf-more-box .morelink {
        margin-top: 3.204vw;
    }

    .footer > * {
        padding: 4.806vw;
        flex-direction: column;
        align-items: center;
    }

    .footer .footer-bottom-box > * {
        width: auto;
        text-align: center;
    }

    .footer .footer-bottom-box .left-column {
        order: 2;
        margin-top: 6.408vw;
    }

    .footer .footer-bottom-box .center-column {
        margin-top: 6.408vw;
    }

    .footer .footer-bottom-box .right-column {
        order: -1;
    }

    .footer-menu li + li {
        margin-left: 9.612vw;
    }

    .filters-box li {
        padding: 4.806vw;
    }

    .filters-box li a {
        text-align: center;
    }

    .portf-list .title {
        margin-top: 3.204vw;
        margin-bottom: 3.204vw;
        height: auto;
        text-align: center;
    }

    .page-portfolio-box .portf-more-box {
        margin-top: 6.4vw;
        margin-bottom: 18.28vw;
    }

    .ovh {
        overflow: hidden;
    }

}















































































