html {
    box-sizing: border-box;
    font-size: 10px;
    scroll-behavior: smooth;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

@font-face {
    font-family: "Nunito";
    font-weight: 400;
    font-style: normal;
    src: local("NunitoSans-Regular"), url("../fonts/NUNITOSANS-REGULAR.woff2") format("woff2"), url("../fonts/NUNITOSANS-REGULAR.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "Nunito";
    font-weight: 700;
    font-style: normal;
    src: local("NunitoSans-Bold"), url("../fonts/NUNITOSANS-BOLD.woff2") format("woff2"), url("../fonts/NUNITOSANS-BOLD.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "Nunito";
    font-weight: 900;
    font-style: normal;
    src: local("NunitoSans-Black"), url("../fonts/NUNITOSANS-BOLD.woff2") format("woff2"), url("../fonts/NUNITOSANS-BOLD.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "TacticExd";
    font-weight: 400;
    font-style: normal;
    src: local("TacticSansExd-Reg"), url("../fonts/TacticSansExd-Reg.woff2") format("woff2"), url("../fonts/TacticSansExd-Reg.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "TacticExd";
    font-weight: 700;
    font-style: normal;
    src: local("TacticSansExd-Bld"), url("../fonts/TacticSansExd-Bld.woff2") format("woff2"), url("../fonts/TacticSansExd-Bld.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "Tactic";
    font-weight: 400;
    font-style: normal;
    src: local("TacticSans-Reg"), url("../fonts/TacticSans-Reg.woff2") format("woff2"), url("../fonts/TacticSans-Reg.woff") format("woff");
    font-display: swap;
}

body {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 360px;
    min-height: 100vh;
    font-family: "Nunito", "Tactic", "TacticExd", sans-serif;
    background-color: rgb(239, 239, 239);
}

section {
    max-width: 1920px;
    margin: 0 auto;
}

main {
    flex-grow: 1;
}

footer {
    flex-shrink: 0;
}

a {
    text-decoration: none;
    cursor: pointer;
}

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

button {
    padding: 0;
    border: none;
    outline: none;
    background-color: transparent;
    cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
p {
    margin: 0;
    padding: 0;
}

input {
    border: none;
    outline: none;
    background-color: transparent;
}

address {
    font-style: normal;
}

select {
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.container {
    max-width: 1700px;
    margin: 0 auto;
}

.flex {
    display: flex;
}

.flex.column {
    flex-direction: column;
    gap: 10px 0;
}

.grid {
    display: grid;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type=number] {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    appearance: textfield;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none;
}

.container {
    padding-inline: min(1.04vw, 20px);
}

.header {
    background-color: rgb(24, 27, 29);
}

.header__top {
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding-block: min(0.52vw, 10px);
    -moz-column-gap: min(1.04vw, 20px);
    column-gap: min(1.04vw, 20px);
}

.header__top div:has(address) {
    align-items: center;
    -moz-column-gap: min(1.15vw, 22px);
    column-gap: min(1.15vw, 22px);
}

.header__top div:has(address) address {
    position: relative;
    padding-left: min(1.67vw, 32px);
    font-size: min(0.94vw, 18px);
    font-weight: 400;
    line-height: min(1.25vw, 24px);
    color: white;
}

.header__top div:has(address) address::after {
    content: "";
    position: absolute;
    left: 0;
    width: min(1.25vw, 24px);
    height: min(1.25vw, 24px);
    background-image: url(../img/address_icon.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.header__logo {
    width: min(11.35vw, 218px);
    height: min(3.13vw, 60px);
}

.header__logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.header__logoBlock {
    align-items: center;
    -moz-column-gap: min(1.04vw, 20px);
    column-gap: min(1.04vw, 20px);
}

.header__logoDescrTop {
    width: min(4.43vw, 85px);
    height: min(0.83vw, 16px);
}

.header__logoDescrTop img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.header__logoDescr {
    flex-direction: column;
    row-gap: min(0.1vw, 2px);
}

.header__logoDescrBottom {
    font-family: "Tactic";
    font-size: min(0.83vw, 16px);
    font-weight: 400;
    line-height: min(1.15vw, 22px);
    color: white;
}

.header__nav {
    background-color: white;
    padding-block: min(1.3vw, 25px);
}

.header__nav ul {
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    -moz-column-gap: min(0.52vw, 10px);
    column-gap: min(0.52vw, 10px);
}

.header__nav ul a {
    font-size: min(0.83vw, 16px);
    font-weight: 600;
    line-height: min(1.15vw, 22px);
    color: black;
    text-transform: uppercase;
}

.header__container {
    flex-direction: column;
}

.header__button {
    width: min(12.08vw, 232px);
    padding: min(0.52vw, 10px);
}

.header__button svg {
    width: 100%;
}

.header__button svg path {
    stroke-dasharray: 277;
    stroke: white;
}

.button {
    position: relative;
    align-items: center;
    justify-content: center;
    font-family: "Nunito";
    font-size: min(0.94vw, 18px);
    font-weight: 600;
    line-height: min(1.25vw, 24px);
    color: white;
}

.button svg {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    stroke-width: 1;
}

.button svg path {
    transition: stroke-dashoffset 0.3s ease-in-out;
}

.swiper-pagination2 {
    position: relative;
    z-index: 1000;
    transform: translateY(max(-6.25vw, -120px));
}

.swiper-pagination2 .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    opacity: 1;
    outline-offset: 8px;
    background-color: white;
    margin-inline: 18px !important;
}

.swiper-pagination2 .swiper-pagination-bullet-active {
    outline: 1px solid white;
}

.swiper-pagination1 .swiper-pagination-bullet-active {
    outline: 1px solid rgb(24, 27, 29);
    background-color: rgb(24, 27, 29);
}

.swiper-pagination1 .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    outline-offset: 8px;
    background-color: rgb(140, 140, 140);
    margin-inline: 18px !important;
}

.swiper-pagination1 .swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    width: -moz-max-content;
    width: max-content;
    height: 2.8rem;
    margin: 0 auto;
    margin-top: min(2.08vw, 40px);
}

.hero {
    position: relative;
    overflow-x: hidden;
}

.hero p {
    margin-bottom: min(2.71vw, 52px);
    padding-top: min(4.17vw, 80px);
    font-family: TacticExd;
    font-size: min(2.08vw, 40px);
    font-weight: 700;
    line-height: min(2.71vw, 52px);
    text-transform: uppercase;
}

.hero__title {
    max-width: min(35.94vw, 690px);
    margin-bottom: min(2.6vw, 50px);
    font-family: "Tactic";
    font-size: min(2.08vw, 40px);
    font-weight: 400;
    line-height: min(2.71vw, 52px);
}

.hero__title_1 {
    padding-top: min(4.17vw, 80px);
}

.hero__subtitle {
    font-size: min(1.08vw, 30px);
    line-height: min(1.71vw, 52px);
}

.hero__slide {
    width: 100%;
    min-height: calc(100vh - min(7.92vw, 152px));
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.hero__main {
    background-repeat: no-repeat;
    background-position: left;
    min-height: min(27.08vw, 520px);
    background-size: min(57.29vw, 1100px);
}

.hero__button {
    width: min(19.01vw, 365px);
    padding: min(0.52vw, 10px);
    color: rgb(24, 27, 29);
}

.hero__button svg {
    stroke: #181b1d;
}

.hero__button svg path {
    stroke-dasharray: 480;
}

.advant {
    margin-bottom: min(5.52vw, 106px);
}

.advant__container {
    padding: min(3.13vw, 60px) min(6.25vw, 120px) min(3.65vw, 70px);
    background-color: rgb(58, 60, 62);
}

.advant h2 {
    margin-bottom: min(1.04vw, 20px);
    font-family: Tactic;
    font-size: min(1.67vw, 32px);
    font-weight: 400;
    line-height: min(2.08vw, 40px);
    color: rgb(255, 255, 255);
    letter-spacing: 0.005em;
    text-transform: uppercase;
}

.advant hr {
    height: 2px;
    margin-bottom: min(1.04vw, 20px);
    border: none;
    background-color: rgb(199, 142, 102);
}

.advant ul {
    justify-content: space-between;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    gap: min(1.3vw, 25px);
}

.advant ul li {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: start;
    min-height: min(9.95vw, 191px);
    padding-top: min(1.25vw, 24px);
    background-color: rgb(78, 78, 78);
    row-gap: min(1.56vw, 30px);
    place-items: center;
}

.advant ul li span {
    display: block;
    width: min(3.13vw, 60px);
    height: min(3.13vw, 60px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.advant ul li:nth-child(1) span {
    background-image: url(../img/1.png);
}

.advant ul li:nth-child(2) span {
    background-image: url(../img/2.png);
}

.advant ul li:nth-child(3) span {
    background-image: url(../img/3.png);
}

.advant ul li:nth-child(4) span {
    background-image: url(../img/4.png);
}

.advant ul li:nth-child(5) span {
    background-image: url(../img/5.png);
}

.advant ul li:nth-child(6) span {
    background-image: url(../img/6.png);
}

.advant ul li p {
    font-size: min(1.25vw, 24px);
    font-weight: 400;
    line-height: min(1.67vw, 32px);
    color: White;
    text-align: center;
    letter-spacing: 0.005em;
}

.corp {
    margin-bottom: min(5.21vw, 100px);
}

.corp__container {
    flex-direction: column;
}

.corp li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: min(2.34vw, 45px);
    padding-left: min(3.59vw, 69px);
    font-size: min(1.25vw, 24px);
    font-weight: 400;
    line-height: min(1.67vw, 32px);
    letter-spacing: 0.005em;
}

.corp li::after {
    content: "";
    position: absolute;
    left: 0;
    width: min(2.34vw, 45px);
    height: min(2.34vw, 45px);
    background-repeat: no-repeat;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.corp__client li {
    color: rgb(24, 27, 29);
}

.corp__client li:nth-child(1)::after {
    background-image: url(../img/corp_1.png);
}

.corp__client li:nth-child(2)::after {
    background-image: url(../img/corp_2.png);
}

.corp__add {
    flex-direction: row-reverse;
    background-color: rgb(58, 60, 62);
}

.corp__add li {
    color: rgb(255, 255, 255);
}

.corp__add li:nth-child(1)::after {
    background-image: url(../img/corp_3.png);
}

.corp__add li:nth-child(2)::after {
    background-image: url(../img/corp_4.png);
}

.corp__add h2 {
    color: rgb(255, 255, 255);
}

.corp h2 {
    width: -moz-max-content;
    width: max-content;
    margin-bottom: min(2.6vw, 50px);
    padding-bottom: min(0.94vw, 18px);
    border-bottom: 2px solid rgb(199, 142, 102);
    font-family: "Tactic";
    font-size: min(1.67vw, 32px);
    font-weight: 400;
    line-height: min(2.08vw, 40px);
    letter-spacing: 0.005em;
    text-transform: uppercase;
}

.corp div:has(> h2) {
    width: 50%;
    padding: min(3.13vw, 60px) min(5.94vw, 114px) min(3.13vw, 60px) min(7.29vw, 140px);
}

.corp div:has(> .corp__img) {
    overflow: hidden;
    width: 50%;
    min-height: min(23.44vw, 450px);
}

.corp__img {
    width: 100%;
    height: 100%;
    min-height: min(23.44vw, 450px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: transform 0.3s ease-in-out;
}

.corp__img_client {
    background-image: url(../img/client.jpg);
}

.corp__img_add {
    background-image: url(../img/add.jpg);
}

.corp ul {
    flex-direction: column;
    margin-bottom: min(2.24vw, 43px);
    row-gap: min(1.25vw, 24px);
}

.corp__link {
    align-items: center;
    justify-content: center;
    width: min(19.53vw, 375px);
    min-height: min(1.25vw, 24px);
    padding: min(0.52vw, 10px);
    font-size: min(0.94vw, 18px);
    font-weight: 600;
    line-height: min(1.25vw, 24px);
    stroke-dasharray: 457;
}

.corp__link_add {
    color: White;
}

.corp__link_client {
    color: rgb(24, 27, 29);
}

.feed {
    margin-bottom: min(10.94vw, 210px);
}

.feed h2 {
    margin-bottom: min(1.04vw, 20px);
    font-family: "Tactic";
    font-size: min(1.67vw, 32px);
    font-weight: 400;
    line-height: min(2.08vw, 40px);
    color: rgb(24, 27, 29);
    letter-spacing: 0.005em;
    text-transform: uppercase;
}

.feed hr {
    width: 100%;
    height: 2px;
    margin-bottom: min(1.41vw, 27px);
    border: none;
    background-color: rgb(199, 142, 102);
}

.feed__container {
    flex-direction: column;
}

.feed__name {
    margin-bottom: min(0.73vw, 14px);
    font-size: min(1.25vw, 24px);
    font-weight: 700;
    line-height: min(1.67vw, 32px);
    letter-spacing: 0.005em;
}

.feed li {
    width: 33%;
    height: 100%;
    padding: min(1.3vw, 25px) min(1.56vw, 30px);
    background-color: white;
}

.feed ul {
    display: flex;
    -moz-column-gap: min(1.25vw, 24px);
    column-gap: min(1.25vw, 24px);
}

.feed__feedback {
    font-family: "Nunito";
    font-size: min(0.94vw, 18px);
    font-weight: 400;
    line-height: min(1.46vw, 28px);
    letter-spacing: 0.005em;
}

.feed__descr {
    font-size: min(0.94vw, 18px);
    font-weight: 400;
    line-height: min(1.46vw, 28px);
    color: rgb(96, 96, 96);
    letter-spacing: 0.005em;
}

.feed__starBlock {
    margin-bottom: min(1.46vw, 28px);
    -moz-column-gap: min(1.51vw, 29px);
    column-gap: min(1.51vw, 29px);
}

.feed__star {
    width: min(7.08vw, 136px);
    height: min(1.25vw, 24px);
    background-image: url(../img/star.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.quest {
    margin-bottom: min(5.26vw, 101px);
}

.quest__formBlock {
    max-width: min(18.8vw, 361px);
    margin-left: min(7.29vw, 140px);
}

.quest h2 {
    margin-bottom: min(1.82vw, 35px);
    font-family: Tactic;
    font-size: min(1.67vw, 32px);
    font-weight: 400;
    line-height: min(2.08vw, 40px);
    color: rgb(24, 27, 29);
    letter-spacing: 0.005em;
}

.quest__form {
    flex-direction: column;
}

.quest input[type=tel] {
    margin-bottom: min(0.68vw, 13px);
    font-size: min(0.94vw, 18px);
    font-weight: 400;
    line-height: min(1.46vw, 28px);
    color: rgb(58, 60, 62);
    letter-spacing: 0.005em;
}

.quest input[type=tel]::-moz-placeholder {
    font-size: min(0.94vw, 18px);
    font-weight: 400;
    line-height: min(1.46vw, 28px);
    color: rgb(58, 60, 62);
    letter-spacing: 0.005em;
}

.quest input[type=tel]::placeholder {
    font-size: min(0.94vw, 18px);
    font-weight: 400;
    line-height: min(1.46vw, 28px);
    color: rgb(58, 60, 62);
    letter-spacing: 0.005em;
}

.quest hr {
    width: 100%;
    height: 1px;
    margin-bottom: min(1.25vw, 24px);
    border: none;
    background-color: rgb(58, 60, 62);
}

.quest__button {
    width: min(18.75vw, 360px);
    padding: min(0.52vw, 10px);
    color: rgb(58, 60, 62);
}

.quest__button svg {
    width: 100%;
}

.quest__button svg path {
    stroke-dasharray: 472;
    stroke: #181b1d;
}

.quest__imgBlock {
    width: min(50.83vw, 976px);
    height: min(17.71vw, 340px);
    transition: transform 0.3s ease-in-out;
}

.quest__imgBlock img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.quest__conatiner {
    justify-content: space-between;
}

.contact {
    position: relative;
    padding-top: min(2.29vw, 44px);
    background-color: rgb(58, 60, 62);
}

.contact h2 {
    margin-bottom: min(0.63vw, 12px);
    font-family: "Tactic";
    font-size: min(1.67vw, 32px);
    font-weight: 400;
    line-height: min(2.08vw, 40px);
    color: white;
    letter-spacing: 0.005em;
    text-transform: uppercase;
}

.contact hr {
    width: 100%;
    height: 2px;
    margin-bottom: min(2.6vw, 50px);
    border: none;
    background-color: rgb(199, 142, 102);
}

.contact__map {
    height: min(30.63vw, 588px);
    background-image: url(../img/map.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.contact__main {
    position: absolute;
    z-index: 9999;
    bottom: min(3.13vw, 60px);
    left: min(6.25vw, 120px);
    max-width: min(28.33vw, 544px);
    padding: min(2.08vw, 40px);
    background-color: white;
}

.contact__main > div {
    margin-bottom: min(0.83vw, 16px);
}

.contact__logo {
    display: block;
    width: min(6.25vw, 120px);
    height: min(1.2vw, 23px);
    background-image: url(../img/contact_logo.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.contact__descr {
    display: block;
    margin-bottom: min(1.25vw, 24px);
    font-family: "Tactic";
    font-size: min(0.83vw, 16px);
    font-weight: 400;
    line-height: min(1.15vw, 22px);
    color: rgb(24, 27, 29);
}

.contact__contDescr {
    position: relative;
    margin-bottom: min(0.42vw, 8px);
    padding-left: min(1.56vw, 30px);
    font-family: "Tactic";
    font-size: min(0.94vw, 18px);
    font-weight: 400;
    line-height: min(1.15vw, 22px);
    color: rgb(199, 142, 102);
}

.contact__contDescr::after {
    content: "";
    position: absolute;
    left: 0;
    width: min(1.25vw, 24px);
    height: min(1.25vw, 24px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.contact__contDescr_tel::after {
    background-image: url(../img/contact_tel.png);
}

.contact__contDescr_work::after {
    background-image: url(../img/contact_work.png);
}

.contact__contDescr_address::after {
    background-image: url(../img/contact_map.png);
}

.contact__info {
    font-size: min(0.94vw, 18px);
    font-weight: 400;
    line-height: min(1.15vw, 22px);
    color: rgb(24, 27, 29);
}

.contact__button {
    width: min(18.23vw, 350px);
    padding: min(0.52vw, 10px);
    color: rgb(24, 27, 29);
}

.contact__button svg {
    width: 100%;
}

.contact__button svg path {
    stroke-dasharray: 519;
    stroke: rgb(24, 27, 29);
}

.footer {
    background-color: rgb(58, 60, 62);
    padding-block: min(3.13vw, 60px);
}

.footer p {
    font-size: min(0.73vw, 14px);
    font-weight: 400;
    line-height: min(1.15vw, 22px);
    color: rgb(255, 255, 255);
}

.footer__container {
    align-items: flex-start;
    justify-content: space-between;
}

.footer__container > a {
    display: flex;
    align-items: center;
    font-size: min(0.83vw, 16px);
    font-weight: 400;
    line-height: min(1.25vw, 24px);
    color: white;
    -moz-column-gap: min(0.42vw, 8px);
    column-gap: min(0.42vw, 8px);
}

.footer__container > a span {
    display: block;
    width: min(3.39vw, 65px);
    height: min(0.63vw, 12px);
    background-image: url(../img/sinoby.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.footer div:has(> button) {
    flex-direction: column;
    row-gap: min(0.63vw, 12px);
}

.footer__link {
    display: block;
    font-size: min(0.83vw, 16px);
    font-weight: 700;
    line-height: min(1.15vw, 22px);
    color: rgb(255, 255, 255);
    text-align: start;
}

.disclamer {
    display: none;
    font-size: 14px;
    color: #ffffff;
    padding-top: 30px;
}

.service__choiceList_mob {
    display: none;
}

.service {
    margin-bottom: min(5.21vw, 100px);
}

.service h2 {
    margin-bottom: min(2.4vw, 46px);
    font-family: "Tactic";
    font-size: min(1.67vw, 32px);
    font-weight: 400;
    line-height: min(2.08vw, 40px);
    color: rgb(24, 27, 29);
    letter-spacing: 0.005em;
    text-transform: uppercase;
}

.service__choiceList {
    margin-bottom: min(0.94vw, 18px);
    -moz-column-gap: min(2.08vw, 40px);
    column-gap: min(2.08vw, 40px);
}

.service__choiceBtn {
    position: relative;
    width: 100%;
    height: 100%;
    font-size: min(1.04vw, 20px);
    font-weight: 400;
    line-height: min(1.67vw, 32px);
    color: rgb(24, 27, 29);
    letter-spacing: 0.005em;
    transition: all .3s ease-in-out;
}

.service__choiceBtn::after {
    position: absolute;
    content: "";
    bottom: max(-1.04vw, -20px);
    left: 0;
    width: 100%;
    height: 4px;
    background-color: transparent;
    transition: all .3s ease-in-out;
}

.service__choiceBtn_active {
    color: rgb(199, 142, 102);
}

.service__choiceBtn_active::after {
    background-color: rgb(199, 142, 102);
}

.service hr {
    width: 100%;
    height: 1px;
    margin-bottom: min(2.08vw, 40px);
    border: none;
    background-color: rgb(58, 60, 62);
}

.service__cardsBlock {
    justify-content: space-between;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    -moz-column-gap: min(1.25vw, 24px);
    column-gap: min(1.25vw, 24px);
    row-gap: min(1.77vw, 34px);
}

.service__cardsBlock_serv, .service__cardsBlock_det, .service__cardsBlock_dop {
    display: none;
}

.service div:has(> h3) {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 50%;
    height: 100%;
    padding: min(2.08vw, 40px) min(1.46vw, 28px);
    background: linear-gradient(90deg, #3a3c3e -2.82%, rgba(58, 60, 62, 0.43) 97.54%);
    -webkit-backdrop-filter: 4px;
    backdrop-filter: 4px;
}

.service__cardItem {
    min-height: min(15.63vw, 300px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    transition: background-size 0.3s ease-in-out;
}

.service__cardItem_1rem {
    background-image: url(../img/1rem.jpg);
}

.service__cardItem_2rem {
    background-image: url(../img/2rem.jpg);
}

.service__cardItem_3rem {
    background-image: url(../img/3rem.jpg);
}

.service__cardItem_4rem {
    background-image: url(../img/4rem.jpg);
}

.service__cardItem_5rem {
    background-image: url(../img/5rem.jpg);
}

.service__cardItem_6rem {
    background-image: url(../img/6rem.jpg);
}

.service__cardItem_1serv {
    background-image: url(../img/1serv.jpg);
}

.service__cardItem_2serv {
    background-image: url(../img/2serv.jpg);
}

.service__cardItem_1det {
    background-image: url(../img/1det.jpg);
}

.service__cardItem_2det {
    background-image: url(../img/2det.jpg);
}

.service__cardItem_3det {
    background-image: url(../img/3det.jpg);
}

.service__cardItem_1dop {
    background-image: url(../img/1dop.jpg);
}

.service h3 {
    font-family: "Tactic";
    font-size: min(1.25vw, 24px);
    font-weight: 400;
    line-height: min(1.67vw, 32px);
    color: white;
    letter-spacing: 0.005em;
}

.service__button {
    width: min(11.04vw, 212px);
    padding: min(0.52vw, 10px);
    color: white;
}

.service__button svg {
    width: 100%;
}

.service__button svg path {
    stroke-dasharray: 257;
    stroke: white;
}

.spec {
    position: relative;
    overflow: hidden;
    margin-bottom: min(3.13vw, 60px);
}

.spec hr {
    width: 100%;
    height: 2px;
    margin-bottom: min(1.88vw, 36px);
    border: none;
    background-color: rgb(199, 142, 102);
}

.spec h2 {
    margin-bottom: min(1.04vw, 20px);
    font-family: "Tactic";
    font-size: min(1.67vw, 32px);
    font-weight: 400;
    line-height: min(2.08vw, 40px);
    color: rgb(24, 27, 29);
    letter-spacing: 0.005em;
    text-transform: uppercase;
}

.spec__slide {
    position: relative;
    min-height: min(22.92vw, 440px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    transition: background-size 0.3s ease-in-out;
}

.spec__slide::after {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: min(15vw, 288px);
    background-image: url(../img/spec_back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.spec__slide_1 {
    background-image: url(../img/spec1.jpg);
}

.spec__slide_2 {
    background-image: url(../img/spec2.jpg);
}

.spec__slide_3 {
    background-image: url(../img/spec3.jpg);
}

.spec__slide_4 {
    background-image: url(../img/spec4.jpg);
}

.spec h3 {
    position: absolute;
    z-index: 9999;
    top: min(2.08vw, 40px);
    left: min(2.08vw, 40px);
    max-width: min(24.17vw, 464px);
    font-family: "Tactic";
    font-size: min(1.25vw, 24px);
    font-weight: 400;
    line-height: min(1.67vw, 32px);
    color: white;
    letter-spacing: 0.005em;
}

.spec__hoverBlock {
    position: absolute;
    align-items: center;
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: min(1.56vw, 30px);
    opacity: 0;
    background-color: rgba(58, 60, 62, 0.8);
    transition: opacity 0.3s ease-in-out;
    row-gap: min(1.41vw, 27px);
    inset: 0;
}

.spec__button {
    width: min(24.17vw, 464px);
    padding: min(0.94vw, 18px);
}

.spec__button svg {
    width: 100%;
}

.spec__button svg path {
    stroke-dasharray: 524;
}

.burger {
    position: relative;
    display: none;
    align-items: center;
    width: 30px;
    height: 20px;
    transition: transform 0.3s ease-in-out;
}

.burger::after, .burger::before {
    content: "";
    position: absolute;
}

.burger__line, .burger::after, .burger::before {
    width: 100%;
    height: 2px;
    border-radius: min(3.2vw, 61px);
    background-color: white;
}

.burger::after {
    top: 0;
}

.burger::before {
    bottom: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--current,
.fancybox-slide--next,
.fancybox-slide--previous {
    display: flex;
    align-items: center;
    justify-content: center;
}

.checkBlock {
    position: relative;
    align-items: center;
    cursor: pointer;
    -moz-column-gap: 5px;
    column-gap: 5px;
}

.checkBlock__check {
    width: 12px;
    height: 12px;
    border-radius: 2px;
    accent-color: black;
}

.checkBlock__descr {
    font-size: 12px;
    font-weight: 400;
    line-height: 14px;
    color: rgb(0, 0, 0);
}

.checkBlock__descr a {
    color: rgb(0, 0, 0);
    text-decoration: underline;
}

.modal {
    display: none;
    width: 30%;
    max-width: 430px;
}

.modal__formTel {
    align-items: center;
    width: 100%;
    padding: 12px 16px;
    border: 1px solid rgb(0, 0, 0);
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
    color: rgb(103, 103, 103);
}

.modal__formTel::-moz-placeholder {
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
    color: rgb(103, 103, 103);
}

.modal__formTel::placeholder {
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
    color: rgb(103, 103, 103);
}

.modal__form {
    flex-direction: column;
    width: 420px;
    max-width: 100%;
    background-color: white;
    row-gap: 1rem;
}

.modal__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    font-size: 16px;
    line-height: 28px;
    color: white;
    background-color: rgb(199, 142, 102);
}

.modal__checkInput {
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

.modal__checkBlock {
    position: relative;
    display: flex !important;
    align-items: center;
    width: -moz-max-content;
    width: max-content;
    padding-left: 1.5rem !important;
    cursor: pointer;
}

.modal__check {
    position: absolute;
    left: 0;
    width: 10px;
    height: 10px;
    border: 1px solid #8a8d8f;
    border-radius: 100%;
}

.modal__check::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid white;
    border-radius: 100%;
    opacity: 0;
    background-color: #8a8d8f;
    transition: opacity 0.3s ease-in-out;
}

.modal__title {
    margin-bottom: 2rem;
    font-size: 2.4rem;
    font-weight: 700;
    color: rgb(103, 103, 103);
    text-align: center;
}

@media (

(
hover: hover

)
and

(
pointer: fine

)
)
{
.quest__imgBlock:hover {
    transform: translateX(max(-1.56vw, -30px));
}

.service__cardItem:hover,
.spec__slide:hover {
    background-size: 110%;
}

.modal__btn:hover {
    background-color: gray;
}

.header__link:hover {
    border-bottom: 2px solid rgb(199, 142, 102);
    color: rgb(199, 142, 102);
}

.spec__slide:hover .spec__hoverBlock {
    opacity: 1;
}

.corp__link:hover {
    stroke-dashoffset: 467;
}

.corp__img:hover {
    transform: scale(1.1);
}

.spec__button:hover svg path {
    stroke-dashoffset: 535;
}

.service__button:hover svg path {
    stroke-dashoffset: 267;
}

.contact__button:hover svg path {
    stroke-dashoffset: 530;
}

.quest__button:hover svg path {
    stroke-dashoffset: 482;
}

.header__button:hover svg path {
    stroke-dashoffset: 289;
}

.hero__button:hover svg path {
    stroke-dashoffset: 491;
}

.service__choiceBtn:hover::after {
    background-color: rgba(199, 142, 102, 1);
}

.service__choiceBtn:hover {
    color: rgba(199, 142, 102, 1);
}

}
.has-danger input,
.has-danger select,
.has-danger textarea {
    border-width: 2px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #eba5a3;
}

#form_popup,
#form_popup2 {
    display: none;
}

.popup_container .agree_field {
    font-size: 10px;
    color: black;
    text-align: left;
}

.popup_container .agree_field a {
    color: black;
}

.popup_container .form_comment {
    padding-bottom: 15px;
    font-size: 20px;
    color: #d6001c;
    text-align: center;
}

.popup_container .form_comment a {
    display: block;
    color: #414141;
    text-decoration: none;
}

.popup_container .close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    cursor: pointer;
    /* Aey IE */
    /* Aey Firefox */
    /* Aey Safari, Chrome, iOS */
    /* Aey Opera */
    transform: rotate(45deg);
}

.popup_container .close:before {
    content: "";
    position: absolute;
    top: 16px;
    left: 0;
    display: block;
    width: 34px;
    height: 1px;
    background-color: #a8a8a8;
}

.popup_container .close:after {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    display: block;
    width: 1px;
    height: 34px;
    background-color: #a8a8a8;
}

.popup_container .form-group input[type=text] {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 56px;
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid #f3f3f3;
    line-height: 56px;
    color: black;
    text-align: left;
    text-decoration: none;
    outline: none;
    background: #f3f3f3;
}

.popup_container .form-group textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100px;
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid #c0c6c9;
    font-family: "Montserrat";
    font-size: 16px;
    color: black;
    text-align: left;
    text-decoration: none;
    outline: none;
    background: none;
    resize: none;
}

.popup_container .form-group select {
    width: 100%;
    height: 50px;
    height: 38px;
    padding-left: 10px;
    border: 1px solid white;
    border: 1px solid #c0c6c9;
    border-radius: 5px;
    font-family: "Montserrat";
    font-size: 16px;
    font-weight: 300;
    color: #1d1f20;
    background-color: white;
}

.popup_container .form-group button {
    height: 38px;
    height: 60px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.popup_container .form-group button:before {
    display: none;
}

.popup_container .form-group button:after {
    display: none;
}

.not_agree button {
    color: white !important;
    background-color: #cccccc !important;
    cursor: auto !important;
}

.agree_field {
    position: relative;
    top: 0;
    display: inline-block;
    padding-left: 20px;
    font-size: 10px;
    line-height: 100%;
}

.agree_field input {
    position: absolute;
    top: -1px;
    left: 0;
    margin: 0;
}

.popup_container .form-disclamer {
    padding-top: 10px;
    font-size: 10px;
    color: #b8b8b8;
    text-align: center;
}

.form_tel {
    margin-bottom: 20px;
}

.form_tel a {
    display: block;
    margin-top: 10px;
    font-size: 22px;
    font-weight: 700;
    color: #000000;
    text-decoration: none;
}

.fancybox-button svg {
    pointer-events: none;
}

/*# sourceMappingURL=style.css.map */