@font-face {
   font-family: "Onest";
   font-display: swap;
   src:
      url("../fonts/Onest-Regular.woff") format("woff"),
      url("../fonts/Onest-Regular.woff2") format("woff2");
   font-weight: 400;
   font-style: normal;
}
@font-face {
   font-family: "Onest";
   font-display: swap;
   src:
      url("../fonts/Onest-Medium.woff") format("woff"),
      url("../fonts/Onest-Medium.woff2") format("woff2");
   font-weight: 500;
   font-style: normal;
}
@font-face {
   font-family: "Onest";
   font-display: swap;
   src:
      url("../fonts/Onest-Bold.woff") format("woff"),
      url("../fonts/Onest-Bold.woff2") format("woff2");
   font-weight: 700;
   font-style: normal;
}
@font-face {
   font-family: "Unbounded";
   font-display: swap;
   src:
      url("../fonts/Unbounded-Regular.woff") format("woff"),
      url("../fonts/Unbounded-Regular.woff2") format("woff2");
   font-weight: 400;
   font-style: normal;
}
@font-face {
   font-family: "Unbounded";
   font-display: swap;
   src:
      url("../fonts/Unbounded-Medium.woff") format("woff"),
      url("../fonts/Unbounded-Medium.woff2") format("woff2");
   font-weight: 500;
   font-style: normal;
}
@font-face {
   font-family: "Unbounded";
   font-display: swap;
   src:
      url("../fonts/Unbounded-Bold.woff") format("woff"),
      url("../fonts/Unbounded-Bold.woff2") format("woff2");
   font-weight: 700;
   font-style: normal;
}
@font-face {
   font-family: "Jost";
   font-display: swap;
   src:
      url("../fonts/Jost-Light.woff") format("woff"),
      url("../fonts/Jost-Light.woff2") format("woff2");
   font-weight: 300;
   font-style: normal;
}
.wow {
   opacity: 0;
}
:root {
   --min-width: 320px;
   --max-width: 1920px;
   --max-width-container: 1920px;
   --container-padding: 92px;

   --font-primary: "Onest";
   --font-second: "Unbounded";
   --font-tertiary: "Jost";
   --bp-1: 1440px;

   --padding-12: 12px;
   --padding-16: 16px;
   --padding-24: 24px;
   --padding-40: 40px;
   --padding-80: 80px;

   --padding-block: 80px;

   --bg-20: #f0e9f8;
   --bg-photo: gray;
}

* {
   padding: 0px;
   margin: 0px;
   border: 0px;
}
*,
*:before,
*:after {
   box-sizing: border-box;
}
:focus,
:active {
   outline: none;
}
a:focus,
a:active {
   outline: none;
}

html,
body {
   min-width: var(--min-width);
}
body {
   color: var(--black-10);
   line-height: 1;
   background: var(--black-0);
   font-family: var(--font-primary), sans-serif;
   -ms-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}
input,
button,
textarea {
   font-family: var(--font-primary);
   font-size: inherit;
   line-height: inherit;
}
button {
   cursor: pointer;
   color: inherit;
   background-color: transparent;
}
a {
   color: inherit;
   text-decoration: none;
}
ul li {
   list-style: none;
}
img {
   vertical-align: top;
}
h1,
h2,
h3,
h4,
h5,
h6 {
   font-weight: inherit;
   font-size: inherit;
}

body.lock {
   overflow: hidden;
   touch-action: none;
   overscroll-behavior: none;
}
.content section:not(.home):first-child {
   margin-top: 234px;
}
.wrapper {
   min-height: 100%;
   display: flex;
   flex-direction: column;
   overflow: hidden;
}

@supports (overflow: clip) {
   .wrapper {
      overflow: clip;
   }
}

.wrapper footer > main {
   flex: 1 1 auto;
}

/* Фикс для слайдеров */
.wrapper > * {
   min-width: 0;
}
body::-webkit-scrollbar {
   width: 15px;
}
body::-webkit-scrollbar-track {
   background: var(--black-2);
}
body::-webkit-scrollbar-thumb {
   background-color: var(--brand-6);
   border-radius: 2px;
   border: 0px solid var(--black-2);
}
[class*="__container"] {
   margin: 0 auto;
   max-width: 1736px;
   padding: 0 20px;
}
@media (max-width: 1440px) {
   [class*="__container"] {
      max-width: 1152px;
   }
}
@media (max-width: 1280px) {
   [class*="__container"] {
      max-width: 1152px;
   }
}
@media (max-width: 1024px) {
   [class*="__container"] {
      max-width: 860px;
   }
}
@media (max-width: 720px) {
   [class*="__container"] {
      max-width: 568px;
   }
}
/* main */
.block-description__title-hide {
   display: none;
}
.mobile-ver {
   display: none;
}
.partner-title {
   margin-bottom: 80px;
}
.image {
   width: 100%;
   height: 100%;
}
.h1,
.section__single-page h1 {
   font-size: 48px;
   line-height: 1.25;
   font-weight: 700;
   font-family: var(--font-second), sans-serif;
}
.section__single-page h1 {
   margin-bottom: 24px;
}
.h2,
.section__single-page h2 {
   font-size: 40px;
   line-height: 1.3;
   font-weight: 400;
   font-family: var(--font-second), sans-serif;
}
.section__single-page h2,
.section__single-page h3 {
   margin-bottom: 16px;
   margin-top: 30px;
}
.section__single-page a {
   color: var(--brand-6);
   transition: all 0.6s ease 0s;
}
.section__single-page a:hover {
   color: var(--brand-8);
   transition: all 0.6s ease 0s;
}
.h3,
.section__single-page h3 {
   font-size: 28px;
   line-height: 1.4;
   font-weight: 700;
   font-family: var(--font-second), sans-serif;
}
.h4,
.section__single-page h4 {
   font-size: 20px;
   line-height: 1.4;
   font-weight: 700;
   font-family: var(--font-second), sans-serif;
}
.h5,
.section__single-page h5 {
   font-size: 28px;
   line-height: 1.5;
   font-weight: 500;
}
.h6,
.section__single-page h6 {
   font-size: 24px;
   line-height: 1.5;
   font-weight: 500;
}
.section__single-page p {
   font-size: 16px;
   line-height: 1.5;
   margin: 5px 0;
}
.bold {
   font-weight: 700;
}
.text-1 {
   font-size: 20px;
   line-height: 1.4;
   font-weight: 400;
}
.text-2 {
   font-size: 16px;
   line-height: 1.5;
   font-weight: 400;
}
.text-link {
   transition: all 0.6s ease 0s;
}
.text-link:hover {
   color: var(--brand-6);
}
.text-link:focus {
   color: var(--brand-6);
}
.text-link:disabled {
   color: var(--black-6);
}
.black-0 {
   color: var(--black-0);
}
.black-2 {
   color: var(--black-2);
}
.black-4 {
   color: var(--black-4);
}
.black-6 {
   color: var(--black-6);
}
.black-8 {
   color: var(--black-8);
}
.brand-2 {
   color: var(--brand-2);
}
section {
   margin: 140px 0;
   padding-bottom: 80px;
}
.btn {
   transition: all 0.5s ease 0s;
   padding: 12px 20px;
   text-align: center;
   white-space: nowrap;
}
.btn--border {
   border: 1px solid var(--brand-6);
   color: var(--brand-8);
   background-color: transparent;
}
.btn--border:hover {
   border: 1px solid var(--brand-2);
   background-color: var(--brand-2);
}
.btn--border:active {
   border: 1px solid var(--brand-8);
   background-color: var(--brand-8);
   color: var(--black-0);
}
.btn--border:disabled {
   border: 1px solid var(--black-4);
   color: var(--black-4);
   background-color: transparent;
}
.btn--border:disabled:active {
   border: 1px solid var(--black-4);
   color: var(--black-4);
   background-color: transparent;
}
.btn-nb-wbg {
   transition: all 0.5s ease 0s;
   padding: 28px 40px;
   width: max-content;
   text-align: center;
   background-color: var(--black-2);
   display: block;
   color: var(--brand-8);
}
.btn-nb-wbg:hover {
   color: var(--black-2);
   background-color: var(--brand-8);
}
.btn--nbg-nb {
   color: var(--brand-8);
}
.btn--nbg-nb:hover {
   color: var(--brand-4);
}
.btn--nbg-nb:active {
   color: var(--brand-10);
}
.btn--nbg-nb:disabled {
   color: var(--black-4);
}

.btn--bg {
   position: relative;
   display: inline-block;
   overflow: hidden;
   color: var(--black-0);
   z-index: 0;
   background: linear-gradient(to right, var(--brand-6), var(--brand-4));
   transition: color 0.5s ease;
}
.btn--bg::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: linear-gradient(to right, var(--brand-6), var(--brand-6));
   opacity: 0;
   transition: opacity 0.5s ease;
   z-index: -2;
}
.btn--bg::after {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: linear-gradient(to right, var(--brand-8), var(--brand-8));
   opacity: 0;
   transition: opacity 0.5s ease;
   z-index: -1;
}
.btn--bg:hover::before {
   opacity: 1;
}

.btn--bg:active::after {
   opacity: 1;
}

.btn--bg:disabled::before {
   background: linear-gradient(to right, var(--black-2), var(--black-2));
   opacity: 1;
}
.btn--bg:disabled::after {
   background: linear-gradient(to right, var(--black-2), var(--black-2));
   opacity: 1;
}
.btn--bg:disabled {
   color: var(--black-4);
}
.btn--bg:disabled:active {
   color: var(--black-4);
   background: linear-gradient(to right, var(--black-2), var(--black-2));
}
.btn--bg:disabled:active::after {
   opacity: 0;
}

.btn--bg:disabled:active::before {
   background: linear-gradient(to right, var(--black-2), var(--black-2));
   opacity: 1;
}
.alert-messages {
   position: fixed;
   bottom: -300px;
   left: 0;
   width: 100%;
   transition: all 0.8s ease-in-out;
   z-index: 1000;
   padding: 0 20px;
   opacity: 0;
}

.alert-messages.show {
   bottom: 20px;
   opacity: 1;
}

.alert-messages__body {
   box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 28px 100px;
   gap: 60px;
   background-color: var(--brand-6);
}

.alert-messages__btn {
   transition: all 0.6s ease 0s;
   color: var(--black-0);
   border: 1px solid var(--black-0);
   padding: 20px 88px;
   cursor: pointer;
}
.alert-messages__btn:hover {
   color: var(--brand-6);
   background-color: var(--black-0);
}
.alert-messages__title {
   margin-bottom: 12px;
   font-size: 16px;
   line-height: 1.25;
   font-family: var(--font-second);
   text-transform: uppercase;
}
.alert-messages__text {
   max-width: 1000px;
}
.page-404__container {
}
.page-404__body {
   display: flex;
   flex-direction: column;
   align-items: start;
   justify-content: center;
   height: 100%;
}
.page-404__title {
   margin-bottom: 40px;
}

/* main */

/* elem-img-text */
.elem-img-text {
   padding: var(--padding-16);
   border: 1px solid var(--black-4);
}
.elem-img-text__wrapper {
   display: flex;
   flex-direction: column;
   gap: var(--padding-16);
}
.elem-img-text__img {
   width: 100%;
   height: 184px;
}
.elem-img-text__description {
   display: flex;
   flex-direction: column;
   gap: var(--padding-12);
   padding: 0 var(--padding-24);
}
/* elem-img-text */
/* elem-title-text */
.elem-title-text {
   padding: var(--padding-40) var(--padding-16);
}
.elem-title-text--white {
   background-color: transparent;
}
.elem-title-text--black {
   background-color: var(--black-2);
}
.elem-title-text--bg-20 {
   background-color: var(--bg-20);
}
.elem-title-text__wrapper {
   display: flex;
   flex-direction: column;
   gap: var(--padding-12);
   padding: 0 var(--padding-24);
}
/* elem-title-text */

/* elem-title-text-img */
.elem-title-text-img {
   padding: var(--padding-16);
   border: 1px solid var(--black-4);
   height: 100%;
}
.elem-title-text-img__wrapper {
   display: flex;
   flex-direction: column;
   gap: var(--padding-24);
}
.elem-title-text-img__description {
   padding: var(--padding-24) var(--padding-24) 0 var(--padding-24);
   display: flex;
   flex-direction: column;
   gap: var(--padding-12);
}
.elem-title-text-img__imgs {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   gap: var(--padding-16);
}
.elem-title-text-img__img {
   flex: 1;
}
/* elem-title-text-img */
/* footer */
.footer {
}
.footer__content {
   padding: 40px 0;
}
.footer__body {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   gap: var(--padding-16);
   padding: 40px 0;
}
.footer__block-logo {
   max-width: 276px;
   width: 100%;
}
.footer__logo {
}
.footer__logo .image {
   max-height: 100%;
   max-width: 100%;
   object-fit: contain;
   height: auto;
   width: auto;
}
.footer__block-tg {
   max-width: 568px;
   width: 100%;
}
.footer__tg-row {
   display: flex;
   flex-direction: row;
   gap: 40px;
}
.footer__tg-left {
}
.footer__tg-circle {
   width: 70px;
   height: 70px;
   background-color: var(--brand-4);
   border-radius: 50%;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   transition: all 0.6s ease 0s;
}
.footer__tg-circle:hover {
   background-color: var(--brand-6);
}
.footer__tg-circle:focus {
   background-color: var(--brand-8);
}
.footer__tg-circle .image {
   width: 24px;
   height: 24px;
}
.footer__tg-right {
   display: flex;
   flex-direction: column;
   gap: 4px;
}
.footer__tg-text {
   max-width: 301px;
}
.footer__tg-hesh {
   font-family: var(--font-second);
   font-size: 16px;
   font-weight: 500;
   line-height: 1.25;
   max-width: 301px;
}
.footer__block-email {
   max-width: 422px;
   width: 100%;
   display: flex;
   flex-direction: column;
   gap: 4px;
}
.footer__email-text {
}
.footer__email-link {
   font-family: var(--font-second);
   font-size: 16px;
   font-weight: 500;
   line-height: 1.25;
   display: block;
}
.footer__block-privacy {
   max-width: 422px;
   width: 100%;
   display: flex;
   flex-direction: column;
   gap: 4px;
}
.footer__block-privacy-row,
.footer__email-row {
   display: flex;
   flex-direction: row;
   gap: 10px;
   align-items: center;
}
.footer__privacy-icon,
.footer__email-icon {
   width: 16px;
   height: 16px;
}
.footer__privacy-link {
   display: block;
}
.footer__year {
}
/* footer */
/* header */
.header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 40;
   background: var(--black-0);
   transition: all 0.5s ease 0s;
}
.header__container {
}
.header__body {
   padding: 40px 0;
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   align-items: center;
   position: relative;
}
.header__block-logo {
   width: fit-content;
   opacity: 0;
   transition: all 1s ease 0s;
}
.header._active .header__block-logo {
   opacity: 1;
}
.header__logo-link {
}
.header__logo-img {
   max-width: 296px;
}
.header__block-nav {
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   transition: all 1.5s ease-in-out 0s;
}
.header._active .header__block-nav {
}
.header__nav {
}
.header__nav-list {
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   gap: 64px;
   font-size: 20px;
   line-height: 1.2;
}
.header__nav-item {
   position: relative;
}
.header__mobile-menu {
   cursor: pointer;
}
.header__nav-item::before {
   content: "";
   transform-origin: 0% 0%;
   transform: scale3d(0, 1, 1);
   transition: transform 0.6s;
   position: absolute;
   width: 100%;
   height: 2px;
   background: var(--brand-6);
   top: 100%;
   left: 0;
   pointer-events: none;
}

.header__nav-item:hover::before {
   transform-origin: 0% 50%;
   transform: scale3d(0.5, 1, 1);
}
.header__nav-item:active::before {
   transform-origin: 0% 50%;
   transform: scale3d(1, 1, 1);
   background: var(--brand-8);
}
.header__nav-item:active .header__nav-link {
   color: var(--brand-8);
}
.header__nav-item._active::before {
   transform-origin: 0% 50%;
   transform: scale3d(0.5, 1, 1);
   background: var(--brand-6);
}
.header__nav-item._active .header__nav-link {
   color: var(--brand-6);
}
.header__nav-item._active:active::before {
   transform-origin: 0% 50%;
   transform: scale3d(1, 1, 1);
   background: var(--brand-8);
}
.header__nav-item._active:active .header__nav-link {
   color: var(--brand-8);
}
.header__nav-link {
   transition: all 0.6s ease 0s;
}
.header__nav-item:hover .header__nav-link {
   color: var(--brand-6);
}
.header__block-btns {
   max-width: fit-content;
   display: flex;
   flex-direction: row;
   gap: 16px;
}
.header__btn-reg {
   display: block;
}
.btn-medium {
   transition: all 0.6s ease 0s;
   padding: 28px 40px;
   text-align: center;
}
.header__btn-partner {
   display: block;
}
/* header */

/* cart-default */
.cart-default {
   position: relative;
}
.cart-default--border {
   border: 1px solid var(--black-4);
}
.cart-default__wrapper {
   padding: var(--padding-40);
   display: flex;
   flex-direction: column;
   gap: 24px;
   position: relative;
   height: 100%;
}
.cart-default--border .cart-default__wrapper:before {
   content: "";
   top: 17px;
   left: -8px;
   width: 52px;
   height: 1px;
   background-color: var(--black-4);
   transform: rotate(135deg);
   position: absolute;
   z-index: 2;
}
.cart-default--border .cart-default__wrapper:after {
   content: "";
   bottom: 17px;
   right: -8px;
   width: 52px;
   height: 1px;
   background-color: var(--black-4);
   transform: rotate(135deg);
   position: absolute;
   z-index: 2;
}
.cart-default__img {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   width: 70px;
   height: 70px;
   min-width: 70px;
   overflow: hidden;
   border-radius: 50%;
}
.cart-default__img svg {
   width: 100%;
   height: 100%;
}

.cart-default__img svg path {
   fill: var(--brand-4);
}
.cart-default__description {
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.cart-default--bg-grey {
   background-color: var(--black-2);
}
.cart-default--bg-brand {
   background-color: var(--brand-2);
}

.cart-default::before {
   content: "";
   position: absolute;
   z-index: 1;
   top: 0px;
   left: 0px;
   border: 20px solid transparent;
   border-left: 20px solid var(--black-0);
   border-top: 20px solid var(--black-0);
   transform: translate(-2px, -2px);
}
.cart-default::after {
   content: "";
   position: absolute;
   z-index: 1;
   bottom: 0px;
   right: 0px;
   border: 20px solid transparent;
   border-right: 20px solid var(--black-0);
   border-bottom: 20px solid var(--black-0);
   transform: translate(2px, 2px);
}
/* cart-default */
.grecaptcha-logo,
.grecaptcha-badge {
   display: none;
   opacity: 0;
}
