/*==========================================================================================================================================================================*/
/* Подключение шрифтов */
@font-face {
	font-family: "HelveticaNeueCyr";
	src: url("../fonts/HelveticaNeueCyr-Light.woff") format("woff"),
         url("../fonts/HelveticaNeueCyr-Light.ttf") format("truetype"),
		 url("../fonts/HelveticaNeueCyr-Light.eot?#iefix") format("embedded-opentype");
	font-weight: 300;
	font-style: normal;
    font-display: swap;
}

@font-face {
	font-family: "HelveticaNeueCyr";
	src: url("../fonts/HelveticaNeueCyr-LightItalic.woff") format("woff"),
         url("../fonts/HelveticaNeueCyr-LightItalic.ttf") format("truetype"),
		 url("../fonts/HelveticaNeueCyr-LightItalic.eot?#iefix") format("embedded-opentype");
	font-weight: 300;
	font-style: italic;
    font-display: swap;
}

@font-face {
	font-family: "HelveticaNeueCyr";
	src: url("../fonts/HelveticaNeueCyr-Regular.woff") format("woff"),
         url("../fonts/HelveticaNeueCyr-Regular.ttf") format("truetype"),
		 url("../fonts/HelveticaNeueCyr-Regular.eot?#iefix") format("embedded-opentype");
	font-weight: 400;
	font-style: normal;
    font-display: swap;
}

@font-face {
	font-family: "HelveticaNeueCyr";
	src: url("../fonts/HelveticaNeueCyr-Medium.woff") format("woff"),
		 url("../fonts/HelveticaNeueCyr-Medium.ttf") format("truetype"),
         url("../fonts/HelveticaNeueCyr-Medium.eot?#iefix") format("embedded-opentype");
	font-weight: 500;
	font-style: normal;
    font-display: swap;
}

@font-face {
	font-family: "Montserrat";
	src: url("../fonts/Montserrat-Regular.woff") format("woff"),
         url("../fonts/Montserrat-Regular.ttf") format("truetype"),
         url("../fonts/Montserrat-Regular.svg") format("svg");
	font-weight: 400;
	font-style: normal;
    font-display: swap;
}



/*==========================================================================================================================================================================*/
/* Обнуление */
* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    width: 100%;
    font-size: 100%;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

nav,
footer,
header,
aside {
    display: block;
}

input,
button,
textarea {
    font-family: inherit;
    outline: none;
    border: none;
}

input::-ms-clear {
    display: none;
}

a,
button {
    color: inherit;
    cursor: pointer;
    border: none;
}

button {
    background-color: none;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

ul li {
    list-style: none;
}

img {
    vertical-align: top;
    border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
}

:focus,
:active,
a:focus,
a:active {
    outline: none;
}

a,
a:visited,
a:hover {
    text-decoration: none;
}



/*==========================================================================================================================================================================*/
/* Общие стили */
html,
body {
    height: 100%;
    font-family: "HelveticaNeueCyr", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    color: #000000;
    background: #ffffff;
}

body {
    opacity: 0;
    animation: body_show 0.5s forwards ease-in-out 0s;
}

body.portfolio {
    animation-delay: 0.3s;
}

@keyframes body_show {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

body._lock {
    overflow: hidden;
}

.wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    overflow: hidden;
}

[class*=__container] {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0px 20px;
    box-sizing: content-box;
}

.content {
    flex: 1 1 auto;
}


/*===================================================================================*/
/* Media Queries */
@media (max-width: 479.98px) {
    [class*=__container] {
        padding: 0 15px;
    }
}



/*==========================================================================================================================================================================*/
/* Модификаторы */
._title {
    position: relative;
    max-width: 610px;
    margin: 0px auto;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
    color: #313638;
}

._title-work {
    max-width: 600px;
    margin: 0px 0px 20px 0px;
    font-size: 26px;
    line-height: 1.45;
    color: #313638;
}

._title::before,
._title::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 630px;
    height: 27px;
    background-repeat: no-repeat;	
}

._title::before {
    transform: translate(-152%, -50%);
    background-image: url("../img/line-left.png");
}

._title::after {
    transform: translate(53%, -50%);
    background-image: url("../img/line-right.png");
}

._btn {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
    text-transform: uppercase;
    background: none;
    transition: color 0.3s ease;
}

._btn span {
    position: relative;
    color: #F84001;
    letter-spacing: 0.5px;
    transition: color 0.4s ease-out;
    z-index: 5;
}

._btn:hover span {
    color: #fff;
}

._btn-arrow {
    width: 64px;
    height: auto;
    transform: translateX(6px);
    transition: transform 0.4s ease-out 0.15s;
}

._btn:hover:hover ._btn-arrow {
    transform: translateX(-4px);
}

._btn-stroke {
    position: absolute;
    top: -5px;
    left: -35px;
    width: 154px;
    height: 62px;
}

._btn-stroke path {
    width: 150px;
    height: 58px;
}

._btn:hover:hover ._btn-stroke path {
    fill: #F84001;
    transition: fill 0.4s ease-out;
}

._input,
._textarea {
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
    color: #AAAAAA;
    background: transparent;
    border-bottom: 1px solid #AAAAAA;
}

._input {
    padding: 15px 0px 17px;
    transition: border 0.3s ease;
}

._input._error {
    border-bottom: 1px solid #F84001;
}

._textarea {
    resize: none;
    overflow: hidden;
    height: 94px;
    padding: 13px 0px 60px;
}

._input::placeholder,
._textarea::placeholder {
    font-size: 16px;
    line-height: 1.5;
    color: #AAAAAA;
    transition: opacity 0.3s;
}

._input:focus::placeholder,
._textarea:focus::placeholder {
    opacity: 0.2;
}

._animation-star {
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.3s 0.3s ease-out, transform 0.4s 0.2s ease-out;
}

._animation-star._show {
    opacity: 1;
    transform: scale(1);
}

._animation-delay:nth-child(2) {
    transition: opacity 0.3s 0.5s ease-out, transform 0.4s 0.4s ease-out;
}

._animation-delay:nth-child(3) {
    transition: opacity 0.3s 0.7s ease-out, transform 0.4s 0.6s ease-out;
}

._animation-delay:nth-child(4) {
    transition: opacity 0.3s 0.9s ease-out, transform 0.4s 0.8s ease-out;
}

._animation-shadow {
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.4s 0.1s ease-out, transform 0.5s ease-out;
}

._animation-shadow._show {
    opacity: 1;
    transform: scale(1);
}

._hidden-link {
    position: relative;
    mix-blend-mode: screen;
    transition: text-shadow 0.3s ease;
}

._hidden-link::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, transparent, rgb(0, 0, 0) 60%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 100;
}

._hidden-link._active::before {
    background-size: 2000% 100%;
    -webkit-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
}


/*===================================================================================*/
/* Media Queries */
@media (any-hover: hover) {
    ._btn:hover {
        color: #fff;
    }

    .action-main__link_phone._hidden-link._active:hover,
    .contacts-footer__link_phone._hidden-link._active:hover {
        text-shadow: 0 0 5px #dfdfdf;
    }

    .action-main__link_mail._hidden-link._active:hover,
    .contacts-footer__link_mail._hidden-link._active:hover {
        text-shadow: 0 0 5px #F84001;
    }
}

@media (max-width: 1920px) {
    ._title-work {
        font-size: calc(22px + 4 * ((100vw - 375px) / (1920 - 375)));
    }
}

@media (max-width: 1250px) {
    ._title {
        font-size: calc(23px + 25 * ((100vw - 375px) / (1250 - 375)));
    }

    ._title::before {
        left: calc(500px - 200 * ((100vw - 375px) / (1250 - 375)));
    }
    
    ._title::after {
        left: calc(130px + 170 * ((100vw - 375px) / (1250 - 375)));
    }

    ._input,
    ._textarea {
        font-size: calc(14px + 2 * ((100vw - 375px) / (1250 - 375)));
    }

    ._input::placeholder,
    ._textarea::placeholder {
        font-size: calc(14px + 2 * ((100vw - 375px) / (1250 - 375)));
    }
}

@media (max-width: 991.98px) {
    ._textarea {
        height: 107px;
    }
}

@media (max-width: 767.98px) {
    ._title {
        max-width: calc(260px + 90 * ((100vw - 375px) / (768 - 375)));
        text-align: center;
    }

    ._title::before,
    ._title::after {
        height: 20px;
        width: 460px;
        background-size: cover;
    }   

    ._title::before {
        left: calc(245px - 50 * ((100vw - 375px) / (768 - 375)));
    }

    ._title::after {
        left: calc(10px + 130 * ((100vw - 375px) / (768 - 375)));
    }

    ._btn {
        font-size: 14px;
        transform: scale(0.82);
    }

    ._btn-arrow {
        transform: translateX(8px);
    }
    
    ._btn:hover:hover ._btn-arrow {
        transform: translateX(-4px);
    }
}



/*==========================================================================================================================================================================*/
/* Иконочный шрифт */
[class^="icon-"],
[class*=" icon-"] {
    font-family: "icomoon" !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

[class^=_icon-]:before,
[class*=" _icon-"]:before {
    font-family: "icomoon";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}



/*==========================================================================================================================================================================*/
/* Header */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-image: url("../img/covers/header-cover.png");
    background-size: cover;
    border-bottom: 1px solid #72A1B3;
    z-index: 101;
}

.header::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(50% - 257px);
    width: 1px;
    height: 100%;
    background-color: #72A1B3;
}

.header__star {
    position: absolute;
    bottom: -14px;
    left: calc(50% - 257px);
    transform: translateX(-50%);
    z-index: 110;
}

.header__star img {
    width: 28px;
    height: 28px;
}

.header__body {
    display: flex;
    align-items: center;
    min-height: 96px;
    padding: 8px 0px 8px 23px;
}

.header__main {
    display: flex;
    align-items: center;
    width: 100%;
}

.logo-header {
    position: relative;
    margin-right: 142px;
    z-index: 100;
}

.logo-header__link {
    position: relative;
    display: inline-block;
}

.logo-header__image {
    width: 222px;
    height: auto;
}

.logo-header__text {
    position: absolute;
    bottom: -25px;
    right: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.03em;
    color: #72A1B3;
}

.menu-header {
    flex: 1 1 auto;
}

.menu-header__stars,
.menu-header__light {
    display: none;
}

.menu-header__list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin: 8px 0px 0px 0px;
}

.menu-header__item {
    padding: 7px 0px;
    margin-right: 80px;
}

.menu-header__item:last-child {
    margin-right: 0;
}

.menu-header__link {
    display: inline-block;
    height: 100%;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #FFFFFF;
    transition: color 0.3s ease;
}

.contacts-header {
    display: none;
}


/*===================================================================================*/
/* Media Queries */
@media (any-hover: hover) {
    .menu-header__link:hover,
    .menu-header__link._active {
        color: #F84001;
    }
}

@media (max-width: 1920px) {
    .menu-header__item {
        margin-right: calc(20px + 60 * ((100vw - 375px) / (1920 - 375)));
    }
}

@media (max-width: 1250px) {
    .header::before,
    .header__star {
        left: calc(135px + 191 * ((100vw - 375px) / (1250 - 375)));
    }

    .header__body {
        padding: 8px 10px;
    }

    .logo-header {
        margin-right: calc(-40px + 182 * ((100vw - 375px) / (1250 - 375)));
    }

    .logo-header__image {
        width: calc(137px + 85 * ((100vw - 375px) / (1250 - 375)));
    }

    .logo-header__text {
        bottom: calc(-23px + -2 * ((100vw - 375px) / (1250 - 375)));
        font-size: calc(10px + 6 * ((100vw - 375px) / (1250 - 375)));
    }

    .menu-header__link {
        font-size: calc(12px + 4 * ((100vw - 375px) / (1250 - 375)));
    }
}

@media (max-width: 767.98px) {
    .header {
        border: none;
    }

    .header::before {
        display: none;
    }

    .header__star {
        left: auto;
        right: 11px;
    }

    .header__body {
        min-height: 60px;
        padding: 8px 0px;
    }

    .header__main {
        justify-content: center;
    }

    .logo-header {
        margin: 0px 0px 5px 0px;
    }

    .logo-header__text {
        bottom: -15px;
        font-size: 10px;
    }

    .header__menu-icon {
        position: absolute;
        left: 27px;
        width: 22px;
        height: 20px;
        background-color: transparent;
        cursor: pointer;
        z-index: 100;
    }

    .header__menu-icon span {
        position: absolute;
        top: calc(50% - 1px);
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #72A1B3;
        border-radius: 2px;
        transition: transform 0.3s ease;
    }

    .header__menu-icon span:first-child {
        top: 0px;
    }
    
    .header__menu-icon span:nth-child(2) {
        width: 17px;
    }

    .header__menu-icon span:last-child {
        top: auto;
        bottom: 0px;
        width: 12px;
    }

    .header__menu-icon._active span {
        transform: scale(0);
    }

    .header__menu-icon._active span:first-child {
        transform: translateY(8px) rotate(-45deg);
    }

    .header__menu-icon._active span:last-child {
        width: 100%;
        transform: translateY(-10px) rotate(45deg);
    }

    .menu-header {
        position: fixed;
        right: -100%;
        top: 0;
        width: 100%;
        height: 100vh;
        padding: 105px 20px 0px;
        display: flex;
        flex-direction: column;
        overflow: auto;
        background-image: url("../img/covers/mobile-menu-cover.png");
        background-size: cover;
        transition: right 0.3s ease;
        z-index: 50;
    }

    .menu-header::before {
        content: "";
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        min-height: 61px;
        background-image: url("../img/covers/header-cover-mobile.png");
        background-size: cover;
        border-bottom: 1px solid #72A1B3;
        transition: right 0.3s ease;
        z-index: 103;
    }

    .menu-header__light {
        display: block;
        position: absolute;
        top: 45px;
        right: 0;
    }

    .menu-header__light img {
        width: 138px;
        height: auto;
        transform: scale(1);
        transition-delay: 0.6s;
    }

    .menu-header__stars {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .menu-header__stars img {
        position: absolute;
        transition-delay: 0.3s;
    }

    .menu-header__stars img:first-child {
        top: 150px;
        left: 4px;
        width: 65px;
        height: 62px;
    }

    .menu-header__stars img:nth-child(2) {
        top: 112px;
        left: 73px;
        width: 35px;
        height: 35px;
    }

    .menu-header._active,
    .menu-header._active::before {
        right: 0;
    }

    .menu-header__list {
        position: relative;
        flex: 1 1 auto;
        display: block;
        margin: 0px 0px 40px 0px;
    }

    .menu-header__item {
        text-align: center;
    }

    .menu-header__item:not(:last-child) {
        margin: 0px 0px 20px 0px;
    }

    .menu-header__link {
        font-size: 16px;
    }

    .contacts-header {
        position: relative;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 26px 0;
    }

    .contacts-header::before {
        content: '';
        position: absolute;
        top: 0;
        left: -20px;
        width: calc(100% + 40px);
        height: 1px;
        background-color: #72A1B3;	
    }

    .contacts-header__phone {
        margin: 0px 0px 3px 0px;
        font-size: 20px;
        line-height: 1.3;
        text-transform: uppercase;
        color: #C8C8C8;
        white-space: nowrap;
    }

    .contacts-header__mail {
        font-size: 16px;
        line-height: 1.2;
        color: #F84001;
        white-space: nowrap;
    }

    .contacts-header__phone:hover {
        text-shadow: 0 0 5px #dfdfdf;
    }

    .contacts-header__mail:hover {
        text-shadow: 0 0 5px #F84001;
    }
}

@media (max-width: 479.98px) {
    .header__menu-icon {
        left: 22px;
    }
}



/*==========================================================================================================================================================================*/
/* Main */
.main {
    position: relative;
    min-height: calc(100vh - 96px);
    margin-top: 96px;
    margin-bottom: 110px;
}

.main__body {
    position: relative;
    min-height: 100%;
}

.main__slider,
.slider-main {
    position: relative;
    width: 100%;
}

.slide-main {
    position: relative;
    min-height: calc(100vh - 96px);
    background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8));
    background-blend-mode: normal, color-burn, normal;
    opacity: 0.7;
    z-index: 3;
}

.slide-main__cover,
.slide-main__video,
.slide-main__stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slide-main__cover {
    z-index: -1;
}

.slide-main__cover img {
    object-fit: cover;
}

.slide-main__video {
    object-fit: cover;
    z-index: -2;
}

.slide-main__body {
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    margin: 0px auto;
    height: 100%;
    padding: 0 20px;
}

.slide-main__content {
    margin: 139px 0px 0px 13%;
    display: flex;
    flex-direction: column;
}

.slide-main__title {
    max-width: 800px;
    margin: 0px 0px 18px;
    font-size: 64px;
    font-weight: 500;
    line-height: 1.3;
    display: flex;
    align-items: flex-end;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #FFFFFF;
}

.slide-main__list {
    margin: 0px 0px 18px 0px;
}

.slide-main__item {
    position: relative;
    padding: 0px 0px 0px 72px;
    font-size: 39px;
    font-style: italic;
    font-weight: 300;
    line-height: 166.5%;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #F84001;
}

.slide-main__item::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 39px;
    height: 39px;
    background: url("../img/stars/mobile/star-orange-empty.png") no-repeat;
    background-size: cover;	
}

.slide-main__text {
    max-width: 800px;
    font-size: 26px;
    font-weight: 300;
    line-height: 1.49;
    letter-spacing: 0.03em;
    color: #E0E0E0;
}

.slide-main__line {
	/*zzz*/
	display: none;
	
    position: absolute;
    bottom: -1px;
    left: -25vw;
    width: 125vw;
    height: 165px;
    transform: translateY(0px);
    background-image: url("../img/covers/line-cover.png");
    background-size: cover;
    opacity: 0.7;
    border-top: 1px solid #72A1B3;
    z-index: -1;	
}

.stars-main {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.stars-main__star {
    position: absolute;
    transform: scale(0);
    opacity: 0;
}

.stars-main__star img {
    width: 100%;
    height: 100%;
}

.stars-main__star:first-child {
    left: -30px;
    bottom: 238px;
    width: 53px;
    height: 53px;
}

.stars-main__star:nth-child(2) {
    bottom: 197px;
    left: 24px;
    width: 77px;
    height: 77px;
}

.stars-main__star:nth-child(3) {
    top: 71px;
    right: 60px;
    width: 148px;
    height: 148px;
}

.stars-main__star:nth-child(4) {
    top: 165px;
    right: 0;
    width: 73px;
    height: 73px;
}

.stars-main__star:nth-child(5) {
    top: 96px;
    right: -5px;
    width: 38px;
    height: 38px;
}

.swiper-slide-active .stars-main__star {
    transition: opacity 0.3s 2.0s, transform 0.4s 1.9s;
    transform: scale(1);
    opacity: 1;
}

.swiper-slide-active .stars-main__star:first-child {
    transition-delay: 1.9s; 
}

.swiper-slide-active .stars-main__star:nth-child(2) {
    transition-delay: 2.1s;
}

.swiper-slide-active .stars-main__star:nth-child(3) {
    transition-delay: 2.3s;
}

.swiper-slide-active .stars-main__star:nth-child(4) {
    transition-delay: 2.5s;
}

.swiper-slide-active .stars-main__star:nth-child(5) {
    transition-delay: 2.7s;
}

.slide-main__light {
    position: absolute;
    bottom: 80px;
    right: -180px;
    width: 300px;
    height: 300px;
    display: none;
    transition: opacity 0.5s 2s;
    z-index: -1;
}

.slide-main__light img {
    width: 100%;
    height: 100%;
    filter: blur(30px);
}

.action-main {
	/*zzz*/
	display: none;
    position: absolute;
    bottom: 0;
    width: 100%;
    min-height: 164px;
    z-index: 5;
}

.action-main::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(50% + 242px);
    width: 1px;
    height: 100%;
    background-color: #72A1B3;	
}

.action-main__star {
    position: absolute;
    top: 0;
    left: calc(50% + 242px);
    transform: translate(-50%, -50%);
    width: 19px;
    height: 19px;
}

.action-main__body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1240px;
    min-height: 164px;
    padding: 0 20px;
    margin: 0px auto;
}

.action-main__arrow,
.action-main__stroke {
    position: absolute;
    top: 50%;
}

.action-main__stroke {
    transform: translate(-15px, -50%);
}

.action-main__button {
    position: relative;
    justify-self: flex-end;
    margin: 0px 0px 0px 30px;
    width: 150px;
    height: 103px;
    cursor: pointer;
}

.action-main__button:hover svg path {
    fill: #F84001;
    transition: fill 0.4s ease-out;
}

.fraction-main {
    position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
    color: #fff;
    font-size: 20px;
    font-weight: 300;
    z-index: 5;
}

.fraction-main__current {
    margin: 0px -5px 0px 0px;
    font-size: 28px;
    line-height: 1.2;
}

.fraction-main__all {
    margin: 0px 0px 0px -4px;
    font-size: 18px;
}

.action-main__arrow {
    right: -5px;
    width: 64px;
    height: 46px;
    transform: translateY(-50%);
    transition: all 0.4s ease-out 0.2s;
}

.action-main__button:hover .action-main__arrow {
    transform: translateY(-50%) translateX(-12px);
}

.action-main__stroke,
.action-main__stroke svg {
    width: 140px;
    height: 85px;
}

.action-main__links {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex: 0 0 230px;
    margin: 0px 0px 0px 33.75%;
}

.action-main__link_phone,
.action-main__link_mail {
    font-size: 16px;
    color: #fff;
    line-height: 1.2;
    white-space: nowrap;
    padding: 0px 10px;
    border-radius: 5px;
}

.action-main__link_mail {
    color: #F84001;
}

.action-main__link_phone._hidden-link::before,
.action-main__link_mail._hidden-link::before {
    display: none;
}

.action-main__link_phone._active {
    font-size: 24px;
}

.action-main__link_mail._active {
    font-size: 20px;
}

.action-main__link_phone {
    margin: 0px 0px 8px 0px;
}

.action-main__star img,
.slide-main__cover img,
.action-main__arrow img {
    width: 100%;
    height: 100%;
}


/*===================================================================================*/
/* Media Queries */
@media (max-width: 1920px) {
    .main {
        margin-bottom: calc(57px + 53 * ((100vw - 375px) / (1920 - 375)));
    }
}

@media (max-width: 1300px) {
    .stars-main__star:first-child {
        left: 20px;
    }
    
    .stars-main__star:nth-child(2) {
        left: 74px;
    }

    .stars-main__star:nth-child(3) {
        right: 70px;
    }
    
    .stars-main__star:nth-child(4) {
        right: 10px;
    }
    
    .stars-main__star:nth-child(5) {
        right: 5px;
    }
}

@media (max-width: 1250px) {
    .slide-main__body,
    .action-main__body {
        padding: 0 30px;
    }

    .slide-main__title {
        max-width: calc(380px + 420 * ((100vw - 375px) / (1250 - 375)));
        font-size: calc(35px + 29 * ((100vw - 375px) / (1250 - 375)));
    }

    .slide-main__item {
        padding-left: calc(41px + 31 * ((100vw - 375px) / (1250 - 375)));
        font-size: calc(21px + 18 * ((100vw - 375px) / (1250 - 375)));
    }

    .slide-main__item::before {
        top: calc(6px + 4 * ((100vw - 375px) / (1250 - 375)));
        width: calc(24px + 15 * ((100vw - 375px) / (1250 - 375)));
        height: calc(24px + 15 * ((100vw - 375px) / (1250 - 375)));
    }

    .slide-main__text {
        font-size: calc(12px + 14 * ((100vw - 375px) / (1250 - 375)));
    }

    .action-main__star,
    .action-main::before {
        left: calc(50% + 20%);
    }

    .action-main__links {
        margin-left: calc(0px + 270 * ((100vw - 375px) / (1250 - 375)));
    }

    .action-main__link_phone._active {
        font-size: calc(16px + 8 * ((100vw - 375px) / (1250 - 375)));
    }
    
    .action-main__link_mail._active {
        font-size: calc(14px + 6 * ((100vw - 375px) / (1250 - 375)));
    }
}

@media (min-width: 1300px) and (max-height: 900px) {
    .stars-main__star:first-child {
        left: -3.3vmin;
    }
    
    .stars-main__star:nth-child(2) {
        left: 2.7vmin;
    }

    .stars-main__star:nth-child(3) {
        right: 6.7vmin;
    }
    
    .stars-main__star:nth-child(4) {
        right: 0;
    }
    
    .stars-main__star:nth-child(5) {
        right: -0.6vmin;
    }
}

@media (min-width: 991.98px) and (max-height: 900px) {
    .main {
        min-height: calc(100vh - 10.67vmin);
        margin-top: 10.67vmin;
        margin-bottom: 12.22vmin;
    }

    .slide-main {
        min-height: calc(100vh - 10.67vmin);
    }

    .slide-main__body {
        padding: 0 2.2vmin;
    }

    .slide-main__content {
        margin: 15.44vmin 0px 0px 13%;
    }

    .slide-main__title {
        margin: 0px 0px 2vmin 0px;
        max-width: 77.77vmin;
        font-size: clamp(35px, 7.11vmin, 64px);
    }

    .slide-main__list {
        margin: 0px 0px 2vmin 0px;
    }

    .slide-main__item {
        font-size: clamp(21px, 4.33vmin, 39px);
        padding: 0px 0px 0px 8vmin;
    }

    .slide-main__item::before {
        top: 1.1vmin;
        width: 4.33vmin;
        height: 4.33vmin;
    }

    .slide-main__text {
        max-width: 88.88vmin;
        font-size: clamp(12px, 2.88vmin, 26px);
    }

    .stars-main__star:first-child {
        left: 2.2vmin;
        bottom: 26.4vmin;
        width: 5.9vmin;
        height: 5.9vmin;
    }
    
    .stars-main__star:nth-child(2) {
        bottom: 21.9vmin;
        left: 8.22vmin;
        width: 8.6vmin;
        height: 8.6vmin;
    }
    
    .stars-main__star:nth-child(3) {
        top: 7.9vmin;
        right: 7.77vmin;
        width: 16.4vmin;
        height: 16.4vmin;
    }
    
    .stars-main__star:nth-child(4) {
        right: 1.1vmin;
        top: 18.3vmin;
        width: 8.1vmin;
        height: 8.1vmin;
    }
    
    .stars-main__star:nth-child(5) {
        top: 10.7vmin;
        right: 0.6vmin;
        width: 4.2vmin;
        height: 4.2vmin;
    }

    .slide-main__line {
        bottom: -0.11vmin;
        height: 18.33vmin;
        border-top: 0.11vmin solid #72A1B3;
    }

    .action-main {
        min-height: 18.22vmin;
    }
    
    .action-main::before {
        width: 0.1vmin;
    }
    
    .action-main__star {
        width: 2.1vmin;
        height: 2.1vmin;
    }
    
    .action-main__body {
        min-height: 18.22vmin;
        padding: 0 2.2vmin;
    }
    
    .action-main__stroke {
        transform: translate(-1.67vmin, -50%);
    }
    
    .action-main__button {
        margin: 0px 0px 0px 3.333vmin;
        width: 16.67vmin;
        height: 11.44vmin;
    }
    
    .fraction-main {
        left: 4.4vmin;
        font-size: 2.2vmin;
    }
    
    .fraction-main__current {
        margin: 0px -0.55vmin 0px 0px;
        font-size: 3.11vmin;
    }
    
    .fraction-main__all {
        margin: 0px 0px 0px -0.44vmin;
        font-size: 2vmin;
    }
    
    .action-main__arrow {
        right: -0.55vmin;
        width: 7.11vmin;
        height: 5.11vmin;
    }
    
    .action-main__button:hover .action-main__arrow {
        transform: translateY(-50%) translateX(-1.33vmin);
    }
    
    .action-main__stroke,
    .action-main__stroke svg {
        width: 15.55vmin;
        height: 9.44vmin;
    }
    
    .action-main__link_phone {
        margin: 0px 0px 0.88vmin 0px;
    }
    
    .action-main__link_phone,
    .action-main__link_mail {
        font-size: clamp(14px, 1.8vmin, 16px);
        padding: 0px 1.1vmin;
        border-radius: 0.55vmin;
    }

    .action-main__link_phone._active {
        font-size: clamp(16px, 2.7vmin, 24px);
    }
    
    .action-main__link_mail._active {
        font-size: clamp(14px, 2.2vmin, 20px);
    }
}

@media (min-width: 991.98px) and (max-height: 530px) {
    .stars-main__star:nth-child(3) {
        top: 60px;
    }
    
    .stars-main__star:nth-child(4) {
        top: 110px;
    }
    
    .stars-main__star:nth-child(5) {
        top: 70px;
    }
}

@media (max-width: 991.98px) {
    .main,
    .slide-main {
        height: calc(100vh - 96px);
        min-height: 700px;
    }

    .slide-main__content {
        margin: 147px 0px 0px 8%;
    }

    .slide-main__line {
        height: 100px;
        opacity: 1;
        z-index: 8;
    }

    .stars-main__star:first-child {
        bottom: 174px;
    }
    
    .stars-main__star:nth-child(2) {
        bottom: 133px;
    }
    
    .stars-main__star:nth-child(3) {
        width: 100px;
        height: 100px;
    }
    
    .stars-main__star:nth-child(4) {
        top: 135px;
        right: 20px;
    }
    
    .stars-main__star:nth-child(5) {
        top: 70px;
        right: 15px;
    }

    .action-main,
    .action-main__body {
        min-height: 100px;
    }

    .action-main__body {
        justify-content: space-between;
    }

    .action-main__star,
    .action-main::before {
        display: none;
    }

    .action-main__links {
        margin: 0;
    }

    .action-main__link_mail,
    .action-main__link_phone {
        font-size: calc(14px + 2 * ((100vw - 375px) / (992 - 375)));
    }

    .action-main__button {
        margin: 0;
    } 
}

@media (max-width: 767.98px) {
    .main {
        margin-top: 60px;
    }

    .main,
    .slide-main {
        height: calc(100vh - 60px);
        min-height: 600px;
    }

    .slide-main__content {
        margin: 147px 0px 0px 0px;
    }

    .slide-main__text {
        max-width: 80%;
        text-transform: uppercase;
    }

    .stars-main__star:first-child,
    .stars-main__star:nth-child(2) {
        display: none;
    }

    .stars-main__star:nth-child(3),
    .stars-main__star:nth-child(4),
    .stars-main__star:nth-child(5) {
        top: auto;
    }

    .stars-main__star:nth-child(3) {
        bottom: 192px;
        right: 27px;
        width: 53px;
        height: 53px;
    }
    
    .stars-main__star:nth-child(4) {
        bottom: 179px;
        right: 16px;
        width: 29px;
        height: 29px;
    }
    
    .stars-main__star:nth-child(5) {
        bottom: 158px;
        right: 36px;
        width: 34px;
        height: 34px;
    }

    .slide-main__light {
        display: block;
        opacity: 0;
    }

    .swiper-slide-active .slide-main__light {
        opacity: 1;
    }

    .action-main__links {
        flex: 0 0 auto;
    }
}

@media (max-width: 479.98px) {
    .main,
    .slide-main {
        min-height: 550px;
    }

    .slide-main__title {
        margin: 0px 0px 10px;
    }

    .slide-main__body,
    .action-main__body {
        padding: 0 15px;
    }

    .action-main__stroke {
        transform: translate(0px, -50%);
    }

    .action-main__button {
        width: 130px;
    }

    .fraction-main {
        left: 35px;
        font-size: 15px;
    }

    .fraction-main__current {
        font-size: 23px;
    }
    
    .fraction-main__all {
        font-size: 15px;
    }

    .action-main__arrow {
        right: 2px;
        width: 53px;
        height: 39px;
    }

    .action-main__button:hover .action-main__arrow {
        transform: translateY(-50%) translateX(-8px);
    }

    .action-main__stroke,
    .action-main__stroke svg {
        width: 98px;
        height: 66px;
    }
}

@media (max-width: 370px) {
    .slide-main__content {
        margin: 100px 0px 0px;
    }
}



/*==========================================================================================================================================================================*/
/* Advantages */
.advantages {
    position: relative;
    margin-bottom: 110px;
}

.points-advantages {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.points-advantages__right,
.points-advantages__left {
    position: absolute;
}

.points-advantages__right {
    top: 350px;
    right: 0;
    width: 240px;
    height: auto;
}

.points-advantages__left {
    bottom: 0;
    width: 230px;
    height: auto;
}

.points-advantages__right img 
.points-advantages__left img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.advantages__title {
    margin-bottom: 70px;
}

.advantages__container {
    padding: 0 60px;
}

.advantages__row {
    display: flex;
    align-items: center;
    margin: 0px 0px 40px;
}

.column-advantages {
    position: relative;
    margin-right: 140px;
}

.advantages__row:nth-child(2) .column-advantages {
    margin: 0;
}

.column-advantages_text {
    max-width: 560px;
    width: 100%;
}

.advantages__row:nth-child(2) .column-advantages_text {
    margin-right: 140px;
    text-align: right;
}

.advantages__row:nth-child(3) .column-advantages_text {
    flex: 0 1 680px;
    margin: 0;
}

.column-advantages__image {
    position: relative;
    flex: 0 0 360px;
    height: 301px;
}

.advantages__row:first-child .column-advantages__image {
    height: 280px;
}

.column-advantages__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.column-advantages__stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.column-advantages__stars img {
    position: absolute;
}

.advantages__row:first-child .column-advantages__stars img:first-child {
    top: 29px;
    left: -45px;
    width: 90px;
    height: 90px;
}

.advantages__row:first-child .column-advantages__stars img:nth-child(2) {
    top: 8px;
    left: -58px;
    width: 48px;
    height: 48px;
}

.advantages__row:nth-child(2) .column-advantages__stars img:first-child {
    top: 153px;
    right: -60px;
    width: 48px;
    height: 48px;
}

.advantages__row:nth-child(2) .column-advantages__stars img:nth-child(2) {
    top: 45px;
    right: -45px;
    width: 90px;
    height: 90px;
}

.advantages__row:nth-child(3) .column-advantages__stars img:first-child {
    bottom: 6px;
    right: -45px;
    width: 90px;
    height: 90px;
}

.advantages__row:nth-child(3) .column-advantages__stars img:nth-child(2) {
    top: 170px;
    right: -70px;
    width: 48px;
    height: 48px;
}

.column-advantages__info {
    display: flex;
    flex-direction: column;
}

.advantages__row:nth-child(3) .column-advantages__info {
    margin-top: 18px;
    flex-direction: row;
    justify-content: space-between;
}

.column-advantages__title {
    margin-bottom: 25px;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.3;
    text-transform: uppercase;
    color: #313638;
}

.advantages__row:nth-child(2) .column-advantages__title {
    margin-bottom: 0;
    text-align: right;
}

.advantages__row:nth-child(3) .column-advantages__title {
    max-width: 330px;
    margin-right: 40px;
}

.column-advantages__title span {
    font-weight: 500;
    font-style: italic;
    color: #F84001;
}

.column-advantages__text {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #313638;
}

.advantages__row:nth-child(3) .column-advantages__text {
    max-width: 260px;
}


/*===================================================================================*/
/* Media Queries */
@media (max-width: 1920px) {
    .advantages {
        margin-bottom: calc(11px + 99 * ((100vw - 375px) / (1920 - 375)));
    }

    .points-advantages__right {
        width: calc(0px + 240 * ((100vw - 375px) / (1920 - 375)));
    }
    
    .points-advantages__left {
        width: calc(50px + 180 * ((100vw - 375px) / (1920 - 375)));
    }

    .advantages__title {
        margin-bottom: calc(30px + 40 * ((100vw - 375px) / (1920 - 375)));
    }

    .column-advantages {
        margin-right: calc(0px + 140 * ((100vw - 375px) / (1920 - 375)));
    }
    
    .column-advantages_text {
        max-width: calc(250px + 310 * ((100vw - 375px) / (1920 - 375)));
    }
    
    .advantages__row:nth-child(2) .column-advantages_text {
        margin-right: calc(0px + 140 * ((100vw - 375px) / (1920 - 375)));
    }

    .column-advantages__title {
        margin-bottom: calc(20px + 5 * ((100vw - 375px) / (1920 - 375)));
        font-size: calc(22px + 10 * ((100vw - 375px) / (1920 - 375)));
    }

    .advantages__row:nth-child(3) .column-advantages__title {
        margin-right: calc(20px + 20 * ((100vw - 375px) / (1920 - 375)));
    }
    
    .column-advantages__text {
        font-size: calc(16px + 4 * ((100vw - 375px) / (1920 - 375)));
    }
}

@media (max-width: 1500px) {
    .points-advantages__right {
        top: 650px;
        width: 120px;
    }
}

@media (max-width: 991.98px) {
    .points-advantages__right {
        top: 635px;
        width: 85px;
    }

    .points-advantages__left {
        display: none;
    }

    .column-advantages_text {
        margin-right: 0;
    }

    .advantages__row:nth-child(3) .column-advantages__info {
        flex-direction: column;
        margin: 0px 0px 0px 40px;
    }
}

@media (max-width: 767.98px) {
    .points-advantages__right {
        top: 740px;
    }

    .advantages__container {
        padding: 0 20px;
    }

    .advantages__row {
        flex-direction: column;
        align-items: flex-start;
    }

    .advantages__row:nth-child(2) {
        flex-direction: column-reverse;
    }

    .column-advantages,
    .column-advantages__image {
        width: 100%;
    }

    .column-advantages__image {
        position: relative;
        max-width: 500px;
        margin: 0px auto 20px;
    }

    .advantages__row:first-child .column-advantages__stars img:first-child {
        top: -2px;
        left: -4px;
        width: 56px;
        height: 56px;
    }
    
    .advantages__row:first-child .column-advantages__stars img:nth-child(2) {
        top: -16px;
        left: -16px;
        width: 32px;
        height: 32px;
    }
    
    .advantages__row:nth-child(2) .column-advantages__stars img:first-child {
        top: 79px;
        right: -16px;
        width: 32px;
        height: 32px;
    }
    
    .advantages__row:nth-child(2) .column-advantages__stars img:nth-child(2) {
        top: 23px;
        right: -15px;
        width: 56px;
        height: 56px;
    }
    
    .advantages__row:nth-child(3) .column-advantages__stars img:first-child {
        bottom: -6px;
        left: -15px;
        width: 56px;
        height: 56px;    
    }
    
    .advantages__row:nth-child(3) .column-advantages__stars img:nth-child(2) {
        top: 226px;
        left: 14px;
        width: 32px;
        height: 32px;
    }

    .column-advantages_text {
        max-width: 100%;
    }

    .column-advantages__info {
        max-width: 500px;
        margin: 0px auto;
    }

    .advantages__row:nth-child(3) .column-advantages__info {
        margin: 0px auto;
    }

    .column-advantages,
    .advantages__row:nth-child(2) .column-advantages_text {
        margin-right: 0;
    }

    .advantages__row:nth-child(2) .column-advantages__title,
    .advantages__row:nth-child(2) .column-advantages_text {
        text-align: left;
    } 

    .column-advantages__title {
        max-width: 390px;
    }

    .advantages__row:nth-child(2n + 3) .column-advantages_text {
        flex: auto;
    }
}

@media (max-width: 479.98px) {
    .advantages__container {
        padding: 0 15px;
    }
}

@media (max-width: 370px) {
    .points-advantages__right {
        display: none;
    }
}



/*==========================================================================================================================================================================*/
/* Partners */
.partners {
    position: relative;
    margin-bottom: 110px;
}

.partners__container {
    max-width: 1160px;
}

.partners__title {
    margin-bottom: 110px;
}

.partners__row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 50px;
}

.partners__image {
    position: relative;
    flex: 0 0 148px;
    height: 140px;
    cursor: pointer;
    transition: filter 0.3s ease;
}

.partners__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.partners__image {
    filter: grayscale(1) opacity(0.8);
}


/*===================================================================================*/
/* Media Queries */
@media (any-hover: hover) {
    .partners__image:hover {
        filter: grayscale(0) opacity(0.8);
    }    
}

@media (max-width: 1920px) {
    .partners {
        margin-bottom: calc(37px + 73 * ((100vw - 375px) / (1920 - 375)));
    }
    
    .partners__title {
        margin-bottom: calc(31px + 79 * ((100vw - 375px) / (1920 - 375)));
    }

    .partners__row {
        row-gap: calc(25px + 25 * ((100vw - 375px) / (1920 - 375)));
    }
}

@media (max-width: 479.98px) {
    .partners__image {
        height: 90px;
    }
}



/*==========================================================================================================================================================================*/
/* Footer */
.footer {
    position: relative;
    width: 100%;
    background-color: #fff;
    background-image: url("../img/covers/footer-cover.png");
    background-size: cover;
    border-top: 1px solid #72A1B3;
    overflow: hidden;
}

.footer__body {
    display: flex;
    flex-direction: column;
}


/*=====================================================================================*/
/* Footer. Contacts */
.contacts-footer {
    position: relative;
    background-image: url("../img/covers/footer-cover.png");
    background-size: cover;
    z-index: 10;
}

.contacts-footer__body {
    position: relative;
    padding: 66px 0px 0px;
    /* padding-bottom: 138px; */
    padding: 0px 0px 100px 0px;
}

.contacts-footer__title {
    margin: 0px 0px 110px 0px;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #FFFFFF;
}

.contacts-footer__row {
    position: relative;
}

.contacts-footer__row:first-child::before {
    content: '';
    position: absolute;
    top: -60px;
    left: -50vw;
    width: 200vw;
    height: 1px;
    background-color: #72A1B3;
}

.contacts-footer__stars {
    position: absolute;
    top: -60px;
    left: 305px;
    width: 19px;
    height: 19px;
    transform: translate(-50%, -50%);
}

.contacts-footer__stars img {
    width: 100%;
    height: 100%;
}

.form-contacts {
    display: flex;
    align-items: flex-start;
    flex: 0 1 100%;
    column-gap: 40px;
}

.form-contacts__item {
    flex: 0 1 22.41%;
    gap: 40px;
    margin: 0px 0px 67px 0px;
}

.form-contacts__item_textarea {
    flex: 0 1 48.4%;
    margin: 0px 0px 63px 0px;
}

.contacts-footer__data {
    display: flex;
    align-items: flex-start;
    column-gap: 30px;
    flex: 0 1 48%;
}

.form-contacts__label {
    font-size: 20px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 2.5px;
    color: #FFFFFF;
}

.contacts-footer__links {
    flex: 1 1 auto;
    margin: 0px 0px 18px 0px;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.4;
    color: #FFFFFF;
}

.contacts-footer__links,
.contacts-footer__adress {
    margin: 0px 0px 18px 0px;
}

.contacts-footer__link {
    white-space: nowrap;
}

.contacts-footer__link:not(:last-child) {
    margin: 0px 0px 5px 0px;
}

.contacts-footer__link_mail {
    color: #F84001;
    filter: saturate(180%);
    font-weight: 400;
}

.contacts-footer__data span {
    font-weight: 400;
}

.contacts-footer__adress {
    flex: 0 1 52.2%;
    justify-self: flex-end;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}

.contacts-footer__adress span {
    white-space: nowrap;
    font-weight: 400;
}

.form-contacts__button {
    margin: 0px 0px 0px 35px;
}


/*=====================================================================================*/
/* Footer. Bottom */
.bottom-footer {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 150px;
    padding: 20px 0px;
}

.bottom-footer::before,
.bottom-footer::after {
    content: '';
    position: absolute;
    top: 0;
    background-color: #72A1B3;	
}

.bottom-footer::before {
    left: -50vw;
    width: 200vw;
    height: 1px;
}

.bottom-footer::after {
    left: 300px;
    width: 1px;
    height: 100%;
}

.bottom-footer__stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    z-index: 10;}

.bottom-footer__stars img {
    position: absolute;
    left: 300px;
    width: 19px;
    height: 19px;
    transform: translate(-50%, -50%);
}

.bottom-footer__logo {
    position: relative;
    margin: 0px 165px 14px 0px;
    z-index: 100;
}

.bottom-footer__logo img {
    width: 222px;
    height: auto;
}

.menu-footer {
    flex: 1 1 auto;
    margin: 0px 0px 18px 0px;
}

.menu-footer__list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin: 8px 0px 0px 0px;
}

.menu-footer__item {
    padding: 7px 0px;
    margin-right: 80px;
}

.menu-footer__item:last-child {
    margin-right: 0;
}

.menu-footer__link {
    display: inline-block;
    height: 100%;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #FFFFFF;
    transition: color 0.3s ease;
}


/*===================================================================================*/
/* Media Queries */
@media (any-hover: hover) {
    .menu-footer__link:hover {
        color: #F84001;
    }
}

@media (max-width: 1920px) {
    .contacts-footer__body {
        padding-top: calc(20px + 46 * ((100vw - 375px) / (1920 - 375)));
        padding-bottom: calc(50px + 50 * ((100vw - 375px) / (1920 - 375)));
    }

    .menu-footer__item {
        margin-right: calc(20px + 60 * ((100vw - 375px) / (1920 - 375)));
    }
}

@media (max-width: 1250px) {
    .contacts-footer__row:first-child::before,
    .contacts-footer__stars {
        top: calc(-20px + -40 * ((100vw - 375px) / (1250 - 375)));
    }

    .contacts-footer__stars {
        left: calc(150px + 155 * ((100vw - 375px) / (1250 - 375)));
    }

    .contacts-footer__title {
        margin-bottom: calc(30px + 79 * ((100vw - 375px) / (1250 - 375)));
        font-size: calc(23px + 25 * ((100vw - 375px) / (1250 - 375)));
    }

    .form-contacts__label {
        font-size: calc(18px + 2 * ((100vw - 375px) / (1250 - 375)));
    }

    .form-contacts__item {
        margin-bottom: calc(30px + 37 * ((100vw - 375px) / (1250 - 375)));
    }

    .form-contacts__item_textarea {
        margin-bottom: calc(26px + 37 * ((100vw - 375px) / (1250 - 375)));
    }

    .contacts-footer__adress {
        font-size: calc(12px + 4 * ((100vw - 375px) / (1250 - 375)));
    }
    
    .bottom-footer {
        padding: 20px 0;
    }

    .bottom-footer::after,
    .bottom-footer__stars img {
        left: calc(160px + 140 * ((100vw - 375px) / (1250 - 375)));
    }

    .bottom-footer__stars img {
        width: 29px;
        height: 29px;
    }

    .bottom-footer__logo {
        margin-right: calc(-70px + 235 * ((100vw - 375px) / (1250 - 375)));
    }

    .bottom-footer__logo img {
        width: calc(168px + 54 * ((100vw - 375px) / (1250 - 375)));
    }

    .menu-footer__link {
        font-size: calc(12px + 4 * ((100vw - 375px) / (1250 - 375)));
    }
}

@media (max-width: 991.98px) {
    .contacts-footer__row:nth-child(2) {
        margin: 0px 0px 10px 0px;
    }

    .contacts-footer__row:nth-child(2) .form-contacts {
        justify-content: space-between;
    }

    .form-contacts__item {
        flex: 0 1 33.333%;
    }

    .form-contacts__item_textarea {
        flex: 1 1 auto;
    }

    .contacts-footer__data {
        flex: 0 1 30%;
        flex-direction: column;
    }

    .contacts-footer__submit {
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 767.98px) {
    .bottom-footer::after {
        display: none;
    }

    .bottom-footer {
        flex-direction: column;
        min-height: auto;
        padding: 60px 0 43px;
    }

    .bottom-footer__logo,
    .menu-footer {
        margin: 0;
    }

    .menu-footer__list {
        display: block;
        margin: 23px 0px 0px 0px;
    }

    .menu-footer__item {
        text-align: center;
    }

    .menu-footer__item:not(:last-child) {
        margin: 0px 0px 16px 0px;
    }

    .menu-footer__link {
        font-size: 16px;
    }
}

@media (max-width: 640px) {
    .contacts-footer__body {
        padding: 30px 0px 60px 0px;
    }

    .contacts-footer__title {
        margin: 0px 0px 30px 0px;
    }

    .contacts-footer__row:nth-child(2) {
        margin: 0px 0px 20px 0px;
    }

    .contacts-footer__row:first-child .form-contacts {
        padding: 20px 0px 0px 0px;
    }

    .contacts-footer__row:first-child::before,
    .contacts-footer__stars {
        top: -5px;
    }

    .contacts-footer__stars {
        right: 20px;
        left: auto;
    }

    .form-contacts {
        display: block;
    }

    .contacts-footer__data {
        flex-direction: row;
    }

    .contacts-footer__adress {
        flex: 0 1 45%;
    }
    
    .bottom-footer__stars img {
        left: 50%;
        width: 21px;
        height: 21px;
        transform: translate(-10px, -50%);
    }
}

@media (max-width: 479.98px) {
    .contacts-footer__data {
        justify-content: center;
        flex-wrap: wrap;
    }

    .contacts-footer__links {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .contacts-footer__adress {
        flex: 0 0 250px;
        text-align: center;
    }
}



/*===========================================================================   WORKS. NAVIGATION   ========================================================================*/
/* Works. Navigation */
.works-nav {
    position: relative;
}

._nav-works ._title {
    margin: 110px auto 60px;
}

.works-nav__action {
    display: flex;
    justify-content: center;
}

.navigation-works__button {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #7E8487;
    background: none;
    padding: 10px 33px;
    border-bottom: 1px solid #C9C9C9;
    transition: color 0.3s ease-out, border-color 0.3s ease-out;
}

.navigation-works__button:nth-child(n + 2) {
    margin: 0px 0px 0px -5px;
}

.navigation-works__button._tab-active {
    color: #F84001;
    border-color: #F84001;
}

.body-works {
    animation: body-works_show 0.5s forwards ease-out;
}

.works-nav__body {
    padding: 0 100px;
    opacity: 0;
    transition: opacity 0.5s ease-out;
}

.works-nav__body[data-tabs-item] {
    opacity: 1;
    animation: item-works_show 0.5s forwards ease-out;
}

@keyframes item-works_show {
    0% {
        opacity: 0;  
    }

    100% {
        opacity: 1;
    }
}

.clients-works {
    margin: 0px 0px 110px 0px;
}

.clients-works__row {
    position: relative;
    width: 100%;
    margin: 25px -10px 0px;
    padding: 0px 0px 45px 0px;
    display: flex;
    /*justify-content: space-between;*/
    justify-content: center;
    transition: margin 0.4s ease-out;
}

.clients-works__item {
    padding: 0 10px;
    filter: grayscale(1);
    cursor: pointer;
    transition: filter 0.3s ease-out;
}

.clients-works__item._active {
    filter: grayscale(0);
}

.clients-works__item img {
    width: 210px;
    height: 210px;
    pointer-events: none;
}

.tooltip-clients {
    position: relative;
    transform: translateY(0px);
    opacity: 0;
    width: 98%;
    min-height: 0;
    background-color: #F8F8F8;
    border-radius: 10px;
    animation: tooltip_hide 0.4s forwards ease-out;
}

@keyframes tooltip_hide {
    0% {
        min-height: calc(42px + 18 * ((100vw - 375px) / (1250 - 375)));
        opacity: 1;
        transform: translateY(0px);
    }

    60% {
        opacity: 0;
    }

    100% {
        opacity: 0;
        min-height: 0;
        transform: translateY(-45px);
    }
}

.tooltip-clients._show {
    animation: tooltip_show 0.4s forwards ease-out;
}

@keyframes tooltip_show {
    0% {
        opacity: 0;
        min-height: 0;
        transform: translateY(-45px);
    }

    20% {
        opacity: 0;
    }

    100% {
        opacity: 1;
        min-height: calc(42px + 18 * ((100vw - 375px) / (1250 - 375)));
        transform: translateY(0px);
    }
}

.tooltip-clients__body {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 60px;
    padding-right: 40px;
    animation: tooltip-body_hide 0.4s forwards ease-out;
}

@keyframes tooltip-body_hide {
    0% {
        height: 100%;
        padding-top: calc(12px + 13 * ((100vw - 375px) / (1250 - 375)));
        padding-bottom: calc(12px + 13 * ((100vw - 375px) / (1250 - 375)));
    }

    100% {
        height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
}

.tooltip-clients._show .tooltip-clients__body {
    animation: tooltip-body_show 0.4s forwards ease-out;
}

@keyframes tooltip-body_show {
    0% {
        height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }

    100% {
        height: 100%;
        padding-top: calc(12px + 13 * ((100vw - 375px) / (1250 - 375)));
        padding-bottom: calc(12px + 13 * ((100vw - 375px) / (1250 - 375)));
    }
}

.tooltip-clients__item {
    display: none;
    flex-direction: column;
    opacity: 0;
}

.tooltip-clients__item._active {
    display: flex;
    animation: tooltip-item_show 0.4s forwards ease-out;
}

@keyframes tooltip-item_show {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.link-tooltip {
    position: relative;
    display: flex;
    align-items: center;
}

.link-tooltip:not(:last-child) {
    padding-bottom: 0;
    margin-bottom: 0;
}

.tooltip-clients__item._active .link-tooltip:not(:last-child) {
    animation: tooltip-link_show 0.4s forwards ease-out;
}

@keyframes tooltip-link_show {
    0% {
        padding-bottom: 0;
        margin-bottom: 0;
    }

    100% {
        padding-bottom: calc(10px + 10 * ((100vw - 375px) / (1250 - 375)));
        margin-bottom: calc(10px + 10 * ((100vw - 375px) / (1250 - 375)));
    }
}

.link-tooltip:not(:last-child)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #C9C9C9;
    z-index: 1;
}

.link-tooltip__item {
    position: relative;
    padding: 0px 45px 0px 0px;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #313638;
    transition: color 0.3s ease-in-out;
}

.link-tooltip__item:hover {
    color: #F84001;
}

.link-tooltip__arrow {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 0;
    width: 25px;
    height: 18px;
    transition: transform 0.3s ease-in-out;
}

.link-tooltip__item:hover .link-tooltip__arrow {
    transform: translate(10px, -50%);
}

.tooltip-clients__triangle {
    position: absolute;
    top: -24px;
    left: 90px;
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 25px solid #F8F8F8;
    transition: left 0.4s ease-out;
}


/*===================================================================================*/
/* Works. Navigation On Chronology */
.chronology-works {
    padding: 0;
}

.chronology-works__year {
    display: flex;
    border-bottom: 1px solid #C9C9C9;
}

.chronology-works__value {
    flex: 0 1 300px;
}

.chronology-works__value span {
    display: inline-block;
    font-size: 26px;
    line-height: 1.45;
    color: #313638;
    margin: 58px 0px 0px 0px;
}

.projects-chronology {
    max-width: 100%;
    width: 100%;
}

.projects-chronology__item {
    padding: 40px 0;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #C9C9C9;
}

.projects-chronology__item:last-child {
    border: none;
}

.projects-chronology__images {
    margin: 0px 20px 0px 0px;
    align-self: flex-start;
    width: 75px;
}

.projects-chronology__images img {
    width: 75px;
    height: 75px;
}

/*.projects-chronology__images img:not(:last-child) {
    margin: 0px 15px 0px 0px;
}
*/
.projects-chronology__link {
    position: relative;
    padding: 0px 45px 0px 0px;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #313638;
    transition: all 0.3s ease;
}

.projects-chronology__link img {
    position: absolute;
    top: 5px;
    right: 0;
    width: 25px;
    height: 18px;
    transition: transform 0.3s ease-out;
}


/*===================================================================================*/
/* Media Queries */
@media (any-hover: hover) {
    .projects-chronology__link:hover {
        color: #F84001;
    }

    .projects-chronology__link:hover img {
        transform: translateX(10px);
    }
}

@media (max-width: 1920px) {
    ._nav-works ._title {
        margin-top: calc(50px + 60 * ((100vw - 375px) / (1920 - 375)));
        margin-bottom: calc(43px + 17 * ((100vw - 375px) / (1920 - 375)));
    }

    .works-nav__action {
        margin-bottom: calc(45px + 25 * ((100vw - 375px) / (1920 - 375)));
    }

    .clients-works {
        margin-bottom: calc(50px + 60 * ((100vw - 375px) / (1920 - 375)));
    }

    .clients-works__row {
        padding-bottom: calc(25px + 20 * ((100vw - 375px) / (1920 - 375)));
        margin-top: calc(20px + 5 * ((100vw - 375px) / (1920 - 375)));
    }

    .chronology-works__value span {
        font-size: calc(22px + 4 * ((100vw - 375px) / (1920 - 375)));
        margin-top: calc(20px + 38 * ((100vw - 375px) / (1920 - 375)));
    }

    .projects-chronology__item {
        padding-top: calc(20px + 20 * ((100vw - 375px) / (1920 - 375)));
        padding-bottom: calc(20px + 20 * ((100vw - 375px) / (1920 - 375)));
    }

/*    .projects-chronology__images img:not(:last-child) {
        margin-right: calc(10px + 5 * ((100vw - 375px) / (1920 - 375)));
    }
*/
    .tooltip-clients__link,
    .projects-chronology__link {
        font-size: calc(16px + 4 * ((100vw - 375px) / (1920 - 375)));
        align-self: self-start;
    }

    .projects-chronology__link img {
        top: calc(2px + 3 * ((100vw - 375px) / (1920 - 375)));
    }
}

@media (max-width: 1250px) {
    .works-nav__body {
        padding-left: calc(0px + 100 * ((100vw - 375px) / (1250 - 375)));
        padding-right: calc(0px + 100 * ((100vw - 375px) / (1250 - 375)));
    }

    .clients-works__row {
        margin-left: calc(-5px + -5 * ((100vw - 375px) / (1250 - 375)));
        margin-right: calc(-5px + -5 * ((100vw - 375px) / (1250 - 375)));
    }

    .clients-works__item {
        padding-left: calc(5px + 5 * ((100vw - 375px) / (1250 - 375)));
        padding-right: calc(5px + 5 * ((100vw - 375px) / (1250 - 375)));
    }

    .clients-works__item img {
        width: calc(75px + 135 * ((100vw - 375px) / (1250 - 375)));
        height: calc(75px + 135 * ((100vw - 375px) / (1250 - 375)));
    }

    .tooltip-clients._show .tooltip-clients__body {
        padding-left: calc(20px + 40 * ((100vw - 375px) / (1250 - 375)));
        padding-right: calc(20px + 20 * ((100vw - 375px) / (1250 - 375)));
    }

    .link-tooltip__item {
        font-size: calc(14px + 6 * ((100vw - 375px) / (1250 - 375)));
    }

    .link-tooltip__arrow {
        width: calc(20px + 5 * ((100vw - 375px) / (1250 - 375)));
        height: auto;
    }

    .tooltip-clients__triangle {
        top: calc(-15px + -9 * ((100vw - 375px) / (1250 - 375)));
        left: calc(23px + 67 * ((100vw - 375px) / (1250 - 375)));
    }

    .chronology-works {
        padding: 0;
    }

    .projects-chronology__item {
        flex-wrap: wrap;
    }

    .projects-chronology__images {
        flex: 1 1 100%;
        margin-bottom: calc(20px + 10 * ((100vw - 375px) / (1250 - 375)));
    }

    .projects-chronology__images img {
        width: calc(50px + 25 * ((100vw - 375px) / (1250 - 375)));
        height: calc(50px + 25 * ((100vw - 375px) / (1250 - 375)));
    }
}

@media (max-width: 767.98px) {
    .chronology-works__value {
        flex: 0 1 150px;
    }
}

@media (max-width: 479.98px) {
    .navigation-works__button {
        flex: 1 1 50%;
        font-size: 14px;
        padding: 10px 0px;
        padding-left: calc(12px + 13 * ((100vw - 375px) / (480 - 375)));
        padding-right: calc(12px + 13 * ((100vw - 375px) / (480 - 375)));
    }

    .chronology-works {
        margin: -5px 0px 0px 0px;
    }

    .chronology-works__year {
        flex-direction: column;
    }

    .chronology-works__year:not(:last-child) {
        margin: 0px 0px 20px 0px;
    }

    .chronology-works__value {
        flex: 0 0 auto;
    }

    .chronology-works__value span {
        margin: 0;
    }

    .link-tooltip__item,
    .projects-chronology__link {
        flex: 1 1 100%;
    }
}



/*===============================================================================   WORKS. ALL   ===========================================================================*/
/* Works. All */
.work-main__title::before {
    width: 733px;
    background-image: url("../img/line-work-left.png");
    transform: translate(-131.5%, -50%);
}

.work-main__title::after {
    width: 733px;
    background-image: url("../img/line-work-right.png");
    transform: translate(31%, -50%);
}

.clients-work {
    position: relative;
    display: flex;
    align-items: center;
    margin: -14px 0px 40px 0px;
    width: 100%;
    height: 100px;
}

.clients-work__button {
    position: absolute;
    left: calc(50% - 585px);
    width: 96px;
    height: 96px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    text-transform: uppercase;
    text-align: center;
    color: #FFFFFF;
    border-radius: 50%;
    background-color: #F84001;
}

.clients-work__button::before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    border-radius: 50%;
    border: 2px solid #F84001;	
}

.clients-work__clients {
    position: relative;
    top: 0;
    margin-left: calc(50% - 463px);
    padding: 10px 0;
    overflow-x: auto;
    overflow-y: hidden;
}

.clients-work__clients::-webkit-scrollbar {
    width: 5px;
    height: 5px;
    background-color: #f6f6f6;
    opacity: 0;
    transition: opacity 0.5s 1s;
    cursor: pointer;
}

.clients-work__clients::-webkit-scrollbar-track {
    margin: -18px 0px;
}

.clients-work__clients::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: rgba(49, 54, 56, 0.4);
}

.clients-work__list {
    display: flex;
    align-items: center;
}

.clients-work__item:not(:last-child) {
    margin: 0px 22px 0px 0px;
}

.clients-work__item img {
    width: 100px;
    height: 100px;
}

.select-form {
    margin: 0px 0px 70px 0px;
    max-width: 300px;
}

._work-sochi .info-work__top {
    margin: 0px 0px 20px 0px;
}

._work-sochi .task-work__text {
    max-width: 660px;
}

.info-work__list {
    margin: 0px 42px 0px 0px;
}

.info-work__item {
    position: relative;
    max-width: 690px;
    padding: 0px 0px 0px 26px;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #313638;
}

.info-work__item:not(:last-child) {
    margin: 0px 0px 25px 0px;
}

.info-work__item::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #313638;	
}

._work-sochi .date-work {
    margin: -10px 0px 0px 0px;
}

._work-krasnogorsk .images-work__logos img {
    width: 360px;
    height: 200px;
}

._work-krasnogorsk .slider-work {
    height: 260px;
}

._work-krasnogorsk .slider-work {
    max-width: calc(100% - 340px);
    height: 260px;
}


/*===================================================================================*/
/* Media Queries */
@media (max-width: 1250px) {
    .work-main__title::before {
        left: calc(400px - 100 * ((100vw - 375px) / (1250 - 375)));
    }
    
    .work-main__title::after {
        left: calc(220px + 80 * ((100vw - 375px) / (1250 - 375)));
    }

    .clients-work {
        margin: 0px 0px 40px 0px;
        height: calc(80px + 20 * ((100vw - 375px) / (1250 - 375)));
    }

    .clients-work__button {
        left: 20px;
        width: calc(80px + 20 * ((100vw - 375px) / (1250 - 375)));
        height: calc(80px + 20 * ((100vw - 375px) / (1250 - 375)));
    }

    .clients-work__clients {
        margin-left: calc(115px + 30 * ((100vw - 375px) / (1250 - 375)));
    }

    .clients-work__item:not(:last-child) {
        margin-right: calc(10px + 12 * ((100vw - 375px) / (1250 - 375)));
    }

    .clients-work__item img {
        width: calc(80px + 20 * ((100vw - 375px) / (1250 - 375)));
        height: calc(80px + 20 * ((100vw - 375px) / (1250 - 375)));
    }

    .info-work__item {
        font-size: calc(14px + 2 * ((100vw - 375px) / (1250 - 375)));
    }

    .info-work__item:not(:last-child) {
        margin-bottom: calc(15px + 10 * ((100vw - 375px) / (1250 - 375)));
    }

    ._work-krasnogorsk .images-work__logos img {
        width: calc(120px + 240 * ((100vw - 375px) / (1250 - 375)));
        height: calc(73px + 127 * ((100vw - 375px) / (1250 - 375)));
    }

    ._work-krasnogorsk .slider-work {
        height: calc(195px + 65 * ((100vw - 375px) / (1250 - 375)));
    }

    .select-form {
        margin-bottom: calc(30px + 40 * ((100vw - 375px) / (1250 - 375)));
    }
}

@media (max-width: 767.98px) {
    .work-main__title::before,
    .work-main__title::after {
        height: 20px;
        width: 550px;
        background-size: cover;
    }

    .work-main__title::before {
        left: calc(200px - 20 * ((100vw - 375px) / (768 - 375)));
    }

    .work-main__title::after {
        left: calc(60px + 105 * ((100vw - 375px) / (768 - 375)));
    }

    ._work-sochi .info-work__top {
        margin: 0px 0px 30px 0px;
    }

    ._work-sochi .date-work {
        margin: 0;
    }

    .info-work__list {
        margin: 30px 0px 0px 0px;
    }
}

@media (max-width: 479.98px) {
    .clients-work__button {
        left: 5px;
    }

    .clients-work__clients {
        transform: translateX(-15px);
    }

    .select-form {
        margin: 0px auto 30px;
    }
}



/*===================================================================================   WORK   =============================================================================*/
/* Work */
.work-main {
    position: relative;
    padding: 96px 0px 0px 0px;
}

.work-main__title {
    margin-top: 110px;
    margin-bottom: 84px;
}

.work-main__action {
    display: flex;
    justify-content: center;
}

.button-work {
    margin-bottom: -5px;
    margin-left: 40px;
}

.button-work ._btn-arrow {
    transform: translateX(15px);
}

.button-work:hover:hover ._btn-arrow {
    transform: translateX(2px);
}

.button-work._btn ._btn-stroke {
    transform: scale(1.1);
    top: -10px;
    left: -20px;
}

/*===================================================================================*/
/* Work. Content */
.logo-work {
    position: relative;
    margin: 0px 0px 40px;
    display: flex;
    justify-content: center;
    width: 100%;
    pointer-events: none;
}

.logo-work ._btn-stroke {
    top: -5px;
    left: 50%;
    width: 128px;
    height: auto;
    transform: translateX(-51px);
}

.logo-work__item {
    display: flex;
    justify-content: center;
    z-index: 2;
}

.logo-work__image {
    position: relative;
    width: 35px;
    height: 35px;
    margin: 2px 0px 0px 34px;
    z-index: 2;
}

.logo-work__image:nth-child(n + 2) {
    margin: 2px 0px 0px -7px;
}

.logo-work__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.images-work {
    position: relative;
    margin-bottom: 70px;
}

.images-work__banner {
    position: relative;
    max-width: 1160px;
    height: 360px;
}

.images-work__banner img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.images-work__stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.images-work__stars img {
    position: absolute;
}

.images-work__stars img:first-child {
    top: -32px;
    left: -32px;
    width: 64px;
    height: 64px;
}

.images-work__stars img:nth-child(2) {
    top: 20px;
    width: 68px;
    height: 68px;
    right: -84px;
}

.images-work__stars img:nth-child(3) {
    top: -40px;
    right: -82px;
    width: 35px;
    height: 35px;
}

.images-work__stars img:nth-child(4) {
    top: -65px;
    right: -28px;
    width: 137px;
    height: 137px;
}

.images-work__logos {
    position: absolute;
    bottom: -100px;
    right: 0;
}

.images-work__logos img {
    width: 200px;
    height: 200px;
    z-index: 2;
}

.images-work__logos img:first-child {
    z-index: 2;
}

.images-work__logos img:nth-child(n + 2) {
    margin: 0px 0px 0px -40px;
    z-index: 1;
}

.images-work__title {
    position: absolute;
    bottom: 48px;
    left: 98px;
    max-width: 560px;
    font-size: 32px;
    line-height: 1.3;
    text-transform: uppercase;
    color: #FFFFFF;
}

.images-work__title span {
    font-style: italic;
    color: #F84001;
}

.info-work {
    padding: 0 20px 0 100px;
}

.info-work__top {
    margin-bottom: 40px;
}

.task-work__text {
    max-width: 660px;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #313638;
}

.info-work__body {
    display: flex;
    align-items: flex-start;
}

.features-work {
    flex: 0 1 658px;
    margin: 0px 42px 0px 0px;
}

.features-work__item {
    display: flex;
    justify-content: space-between;
    padding: 13px 0 15px;
    border-bottom: 1px solid #CFCFCF;
}

.features-work__item:last-child {
    padding: 16px 0px 0px 0px;
    border: none;
}

.features-work__label {
    margin: 0px 20px 0px 0px;
}

.features-work__label,
.features-work__value {
    font-size: 14px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.01em;
    color: #313638;
}

.features-work__value {
    flex: 0 1 157px;
}

.date-work__value {
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #313638;
}

.date-work__value span {
    color: #72A1B3;
}


/*===================================================================================*/
/* Work. Controls */
.work-main__controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: -30px 0px 50px 0px;
}

.work-main__arrow {
    position: relative;
    cursor: pointer;
    transition: transform 0.4s ease-out, opacity 0.25s ease-out;
}

.work-main__arrow img {
    width: 41px;
    height: 30px;
} 

.work-main__arrow_prev {
    transform: rotate(180deg);
}

.work-main__arrow_prev:hover {
    transform: translateX(-5px) rotate(180deg);
}

.work-main__arrow_next:hover  {
    transform: translateX(5px);
}

.work-main__arrow.swiper-button-disabled {
    opacity: 0.2;
    pointer-events: none;
}

.fraction-work {
    display: flex;
    align-items: flex-end;
    padding: 0 10px;
    margin: -6px 0px 0px 0px;
    font-size: 24px;
    line-height: 1.45;
    color: #CBCBCB;
}

.fraction-work__current {
    margin: 0px 12px -2px 0px;
    font-size: 32px;
    color: #313638;
}

.fraction-work__all {
    margin: 0px 0px 0px 8px;
    color: #C1C1C1;
}


/*===================================================================================*/
/* Work. Slider */
.work-main__slider {
    position: relative;
    padding: 40px 0px;
    max-width: 1920px;
    margin: 0px auto;
    margin-bottom: 110px;
    background-color: #F2F2F2;
}

.work-main__slider::before,
.work-main__slider::after {
    content: '';
    position: absolute;
    top: 0;
    height: 100%;
    background-color: #F2F2F2;
    z-index: 10;	
}

.work-main__slider::before {
    left: calc(50% - 585px);
    width: 50vw;
    transform: translateX(-100%);
}

.work-main__slider::after {
    left: calc(50% + 900px);
    width: 50vw;
}

.slider-work {
    position: absolute;
    overflow: visible !important;
    width: 360px;
    height: 360px;
    left: calc(50% - 585px);
}

.slider-work__slide {
    position: relative;
    width: 360px;
    height: 260px;
}

.slider-work__slide._slide-portrait {
    width: 260px;
    height: 360px;
}

.slider-work__slide img:first-child,
.slider-work__slide._slide-portrait img:first-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slide-work__video {
    position: relative;
    width: 360px;
    height: 260px;
}

.slide-work__video,
.video-work__poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
}

.video-work__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 151px;
    height: 151px;
    opacity: 1;
    transition: opacity 0.3s ease 0.1s, transform 0.4s ease;
}


/*===================================================================================*/
/* Media Queries */
@media (max-width: 1920px) {
    .work-main__title {
        margin-top: calc(45px + 65 * ((100vw - 375px) / (1920 - 375)));
        margin-bottom: calc(32px + 52 * ((100vw - 375px) / (1920 - 375)));
    }

    .images-work {
        margin-bottom: calc(30px + 40 * ((100vw - 375px) / (1920 - 375)));
    }

    .info-work__top {
        margin-bottom: calc(30px + 10 * ((100vw - 375px) / (1920 - 375)));
    }
    
    .task-work__text {
        font-size: calc(16px + 4 * ((100vw - 375px) / (1920 - 375)));
    }

    .features-work__label,
    .features-work__value {
        font-size: calc(11px + 3 * ((100vw - 375px) / (1920 - 375)));
    }

    .work-main__slider {
        margin-bottom: calc(50px + 60 * ((100vw - 375px) / (1920 - 375)));
    }
}

@media (max-width: 1250px) {
    .images-work__banner {
        height: 360px;
        height: calc(235px + 125 * ((100vw - 375px) / (1250 - 375)));
    }

    .images-work__stars img:nth-child(2) {
        right: -90px;
    }

    .images-work__logos {
        bottom: calc(42px - 142 * ((100vw - 375px) / (1250 - 375)));
    }
    
    .images-work__logos img {
        width: calc(50px + 150 * ((100vw - 375px) / (1250 - 375)));
        height: calc(50px + 150 * ((100vw - 375px) / (1250 - 375)));
    }

    .images-work__title {
        font-size: calc(20px + 12 * ((100vw - 375px) / (1250 - 375)));
        left: calc(0px + 98 * ((100vw - 375px) / (1250 - 375)));
        bottom: calc(15px + 33 * ((100vw - 375px) / (1250 - 375)));
    }

    .slider-work {
        left: 20px;
        height: calc(270px + 90 * ((100vw - 375px) / (1250 - 375)));
        width: calc(270px + 90 * ((100vw - 375px) / (1250 - 375)));
    }

    .slider-work__slide {
        width: calc(270px + 90 * ((100vw - 375px) / (1250 - 375)));
        height: calc(195px + 65 * ((100vw - 375px) / (1250 - 375)));
    }
    
    .slider-work__slide._slide-portrait {
        width: calc(195px + 65 * ((100vw - 375px) / (1250 - 375)));
        height: calc(270px + 90 * ((100vw - 375px) / (1250 - 375)));
    }

    .video-work__play {
        width: calc(70px + 81 * ((100vw - 375px) / (1250 - 375)));
        height: calc(70px + 81 * ((100vw - 375px) / (1250 - 375)));
    }
}

@media (max-width: 991.98px) {
    .info-work {
        padding: 0 20px;
    }

    .images-work__logos {
        bottom: 42px;
    }

    .images-work__logos img:nth-child(n + 2) {
        margin: 0px 0px 0px -5px;
    }

    .images-work__title {
        max-width: calc(245px + 135 * ((100vw - 375px) / (992 - 375)));
    }
}

@media (max-width: 767.98px) {
    .button-work {
        margin-bottom: -5px;
    }

    .logo-work ._btn-stroke {
        top: -4px;
        left: 50%;
        width: 112px;
        transform: translateX(-45px);
    }

    .logo-work__image {
        width: 30px;
        height: 30px;
        margin: 2px 0px 0px 30px;
    }

    .work-main {
        padding: 60px 0px 0px 0px;
    }

    .work-main__body {
        padding: 0px 0px 40px 0px;
    }

    .images-work__stars img:first-child {
        top: -18px;
        left: -8px;
        width: 51px;
        height: 51px;
    }
    
    .images-work__stars img:nth-child(2) {
        top: 12px;
        right: 2px;
        width: 25px;
        height: 25px;
    }
    
    .images-work__stars img:nth-child(3) {
        top: -7px;
        right: 3px;
        height: 13px;
        width: 13px;
    }
    
    .images-work__stars img:nth-child(4) {
        top: -20px;
        right: 22px;
        width: 50px;
        height: 50px;
    }

    .button-work {
        transform: scale(0.8);
    }

    .info-work__body {
        flex-direction: column-reverse;
    }

    .features-work {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%;
    }

    .features-work__value {
        flex: 0 0 auto;
    }

    .date-work {
        margin: 0px 0px 30px 0px;
    }

    .work-main__controls {
        justify-content: center;
        margin: 0px 0px 30px 0px;
    }

    .work-main__slider {
        padding: 30px 0;
    }
}

@media (max-width: 479.98px) {
    .images-work__logos {
        right: -15px;
    }

    .images-work__banner img {
        left: -15px;
        width: calc(100% + 30px);
    }

    .images-work__stars img:first-child {
        left: -23px;
    }
    
    .images-work__stars img:nth-child(2) {
        right: -13px;
    }
    
    .images-work__stars img:nth-child(3) {
        right: -12px;
    }
    
    .images-work__stars img:nth-child(4) {
        right: 7px;
    }

    .info-work {
        padding: 0;
    }

    .work-main__controls {
        padding: 0 15px;
        justify-content: space-between;
    }

    .work-main__arrow img {
        width: 33px;
        height: 24px;
    }
    
    .fraction-work {
        font-size: 21px;
    }

    .features-work__label,
    .features-work__value {
        font-size: 11px;
    }

    .fraction-work__current {
        font-size: 29px;
    }
}



/*===================================================================================   SWIPER   ===========================================================================*/
/* Slider Swiper */
.swiper {
    position: relative;
    overflow: hidden;
    list-style: none;
    z-index: 1;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    box-sizing: content-box;
    transition-property: transform;
    z-index: 1;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0, 0, 0);
}

.swiper-pointer-events {
    touch-action: pan-y;
}

.swiper-slide {
    flex-shrink: 0;
    transition-property: transform;
}

/*=============================================================================*/
/* Bullets */
.swiper-pagination-bullets {
    display: none;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    pointer-events: none;
    max-width: 500px;
    margin: 30px auto 0px;
}

.swiper-pagination-bullet {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    margin: 13px;
    padding: 5px;
    background-color: transparent;
    border-radius: 50%;
    border: 1px solid #72A1B3;
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.swiper-pagination-bullet-active {
    background-color: #F84001;
    border-color: #F84001;
}

/*=============================================================================*/
/* Arrows */
.main__slider .main__slider-arrows {
    position: absolute;
    top: calc(50% - 65px);
    left: calc(0% - 20px);
    width: calc(100% + 40px);
    display: flex;
    justify-content: space-between;
    z-index: 5;
}

.main__slider .slider-arrows__arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: #fff;
    cursor: pointer;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    transition: opacity 0.3s;
}

.main__slider .slider-arrows__arrow::before {
    font-size: 14px;
    color: #1d86ff;
}

.main__slider .swiper-arrow_prev::before {
    transform: rotate(90deg);
}

.main__slider .swiper-arrow_next::before {
    transform: rotate(-90deg);
}

/*=============================================================================*/
/* Fraction */
.slider-two .fraction {
    display: flex;
    align-items: flex-end;
    margin: 0px 0px 20px 0px;
    color: #b2b2b2;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.slider-two .fraction__current {
    font-size: 30px;
    color: #1d86ff;
}

.slider-two .fraction__all {
    font-size: 20px;
}

/*=====================================================================================*/
/* Fade Effect */
.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}


/*===================================================================================*/
/* Media Queries */
@media (max-width: 767.98px) {
    .swiper-pagination-bullets {
        display: flex;
        pointer-events: all;
    }
}



/*=================================================================================   ELEMENTS   ===========================================================================*/
/* Select */
.select {
    position: relative;
    z-index: 10;
}

.select::before {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #313638;;
    border-bottom: 2px solid #313638;;
    pointer-events: none;
    transform: translateY(-50%) rotate(45deg);
    transition: transform 0.3s ease-in-out;
}

.select._active::before {
    transform: translateY(-50%) rotate(-45deg);
}

.select__body {
    position: relative;
    font-family: "Montserrat";
}

.select__title {
    width: 100%;
    font-family: "Montserrat";
    color: inherit;
    text-align: left;
    border-radius: 20px 20px 20px 20px;
    background-color: #F1F1F1;
    cursor: pointer;
    transition: border-radius 0.3s ease-in-out 0.2s;
}

.select._active .select__title {
    border-radius: 20px 20px 0px 0px;
    transition: border-radius 0.1s;
}

.select__value {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 45px;
    padding: 0px 30px 0px 15px;
    font-size: 14px;
    line-height: 1.5;
    color: #313638;
}

.select__value span {
    font-family: sans-serif;
}

.select__text {
    flex: 1 1 auto;
}

.select__input {
    width: 100%;
    height: 100%;
    background-color: transparent;
}

.select__options {
    position: absolute;
    top: 45px;
    left: 0;
    min-width: 100%;
    padding: 8px 0px;
    color: #313638;
    background-color: #F1F1F1;
    border-radius: 0 0 20px 20px;
    display: none;
}

.select._active .select__options {
    display: block;
}

.select__scroll {
    max-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
}

.select__option {
    display: block;
    width: 100%;
    padding: 5px 15px;
    text-align: left;
    cursor: pointer;
    font-size: 14px;
    color: rgba(49, 54, 56, 0.7);
}

.body-product__options .select__option {
    text-align: right;
}

.select__option._select-selected {
    background-color: #16bd27;
    color: #fff;
}

.select__row {
    display: inline-flex;
    align-items: center;
}

._select-tag {
    cursor: pointer;
}



/*==================================================================================   POPUP   =============================================================================*/
/* Popup. Application */
._popup {
    position: fixed;
    top: 0;				
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);						  
    opacity: 0;
    visibility: hidden;
    overflow-y: auto;
    overflow-x: hidden;
    transition: all 0.6s ease;
    z-index: 1000;
}

._popup._open {
    opacity: 1;
    visibility: visible;
}

._popup-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 80px 15px;
    transition: all 0.6s ease;
}

._popup-content {
    position: relative;
    max-width: 750px;
    width: 100%;
    height: 450px;
    min-height: 60.34%;
    padding-top: calc(60px + 20 * ((100vw - 375px) / (1920 - 375)));
    padding-left: calc(20px + 30 * ((100vw - 375px) / (1920 - 375)));
    padding-right: calc(20px + 30 * ((100vw - 375px) / (1920 - 375)));
    padding-bottom: calc(70px + 10 * ((100vw - 375px) / (1920 - 375)));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: none;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.5s ease-out 0.1s, transform 0.6s ease-out;
}

._popup._open ._popup-content {
    opacity: 1;
    transform: scale(1);
}

._popup-icon {
    position: absolute;
    right: 20px;
    top: 25px;
    width: 25px;
    height: 25px;
    background: none;
    cursor: pointer;
}

._popup-icon span {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #dddddd;
    transition: background-color 0.3s ease;
}

._popup-icon span:first-child {
    transform: rotate(45deg);
}

._popup-icon span:last-child {
    transform: rotate(-45deg);
}

.popup-video__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

._video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
}

.popup-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 140px;
    height: 140px;
    cursor: pointer;
    pointer-events: none;
    opacity: 1;
    transition: transform 0.5s ease, opacity 0.3s ease;
    z-index: 1000;
}

.popup-video__play._hide {
    transform: translate(-50%, -50%) scale(0.7);
    opacity: 0;
}


/*===================================================================================*/
/* Media Queries */
@media (max-width: 1250px) {
    .popup-video__play {
        width: calc(100px + 40 * ((100vw - 375px) / (1250 - 375)));
        height: calc(100px + 40 * ((100vw - 375px) / (1250 - 375)));
    }
}
@media (max-width: 767.98px) {
    .popup-video__content {
        max-width: 100%;
        height: clamp(350px, 60vw, 500px);
    }
}