/*#region ------ Variables --- */
/*#endregion*/
/*#region ------ Fonts --- */
/*#endregion*/
/*#region ------ Colors --- */
/*#endregion*/
/*#region ------ Titles --- */
/*#endregion*/
/*#region ------ Adaptive --- */
/*#endregion*/
/*#region ------ Functions --- */
/*#endregion*/
/* ------ Global ------ */
/* ------ Parts ------ */
/* ------ Components ------ */
/* ------ Widgets ------ */
/* ------ UI ------ */
/* ------ Templates ------ */
/* ------ Misc ------ */
@font-face {
  font-family: "Gilroy-Regular";
  src: url("../fonts/Gilroy-Regular.woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy-Medium";
  src: url("../fonts/Gilroy-Medium.woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy-SemiBold";
  src: url("../fonts/Gilroy-SemiBold.woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy-Bold";
  src: url("../fonts/Gilroy-Bold.woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy-ExtraBold";
  src: url("../fonts/Gilroy-ExtraBold.woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy-Black";
  src: url("../fonts/Gilroy-Black.woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /*#region ------ Colors (filter: https://codepen.io/sosuke/pen/Pjoqqp) --- */
  /*primary*/
  --color-primary: #ff6b00;
  --color-primary--rgb: 255, 107, 0;
  --color-primary--filter: invert(42%) sepia(45%) saturate(2627%) hue-rotate(3deg) brightness(104%) contrast(107%);
  /*hover*/
  --color-hover: #e65300;
  --color-hover--rgb: 230, 83, 0;
  --color-hover--filter: invert(40%) sepia(27%) saturate(6835%) hue-rotate(5deg) brightness(94%) contrast(101%);
  /*dark*/
  --color-dark: #0b0b0b;
  --color-dark--rgb: 11, 11, 11;
  --color-dark--filter: invert(0%) sepia(16%) saturate(7494%) hue-rotate(14deg) brightness(107%) contrast(91%);
  /*light*/
  --color-light: #ffffff;
  --color-light--rgb: 255, 255, 255;
  --color-light--filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
  /*shade_1*/
  --color-shade_1: #6a6a6a;
  --color-shade_1--rgb: 106, 106, 106;
  /*shade_2*/
  --color-shade_2: #989898;
  --color-shade_2--rgb: 152, 152, 152;
  /*shade_3*/
  --color-shade_3: #d9d9d9;
  --color-shade_3--rgb: 217, 217, 217;
  /*shade_4*/
  --color-shade_4: #f8f8f8;
  --color-shade_4--rgb: 248, 248, 248;
  /*shade_5*/
  --color-shade_5: #f0f0f0;
  --color-shade_5--rgb: 240, 240, 240;
  /*#endregion*/
  /*#region ------ Fonts --- */
  --font-1_Regular: "Gilroy-Regular";
  --font-1_Medium: "Gilroy-Medium";
  --font-1_Semibold: "Gilroy-Semibold";
  --font-1_Bold: "Gilroy-Bold";
  --font-1_Black: "Gilroy-Black";
  /*#endregion*/
}

* {
  padding: 0;
  margin: 0;
  border: 0;
  box-sizing: border-box;
}

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

:focus,
:active {
  outline: none;
}

a:focus,
a:active {
  outline: none;
}

html,
body {
  width: 100%;
  font-family: var(--font-1_Regular);
  font-size: 16px;
  line-height: 100%;
}

@media (max-width: 1199px) {

  html,
  body {
    font-size: calc(0.0181818182 * 100vw + -5.8181818182px);
    font-size: calc(0.0022727273 * 100vw + 13.2727272727px);
  }
}

body {
  display: flex;
}

body::-webkit-scrollbar {
  height: 12px;
  width: 12px;
}

body::-webkit-scrollbar-track {
  background: var(--color-dark);
}

body::-webkit-scrollbar-thumb {
  background: var(--color-primary);
}

input::-ms-clear {
  display: none;
}

button {
  cursor: pointer;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

a {
  text-decoration: none;
  color: var(--color-dark);
  transition: color ease 400ms;
}

a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
  color: var(--color-hover);
}

i {
  color: cl(primary);
  font-style: normal;
}

ul,
li {
  list-style: none;
}

b {
  color: var(--color-primary);
}

img {
  display: flex;
  vertical-align: top;
}

h1 {
  font-family: var(--font-1_Bold);
  font-size: 70px;
  line-height: 100%;
}

@media (max-width: 1199px) {
  h1 {
    font-size: calc(0.0795454545 * 100vw + -25.4545454545px);
    font-size: calc(0.0477272727 * 100vw + 12.7272727273px);
  }
}

h2 {
  font-family: var(--font-1_Bold);
  font-size: 50px;
  line-height: 100%;
}

@media (max-width: 1199px) {
  h2 {
    font-size: calc(0.0568181818 * 100vw + -18.1818181818px);
    font-size: calc(0.0272727273 * 100vw + 17.2727272727px);
  }
}

h3 {
  font-family: var(--font-1_Medium);
  font-size: 44px;
  line-height: 100%;
}

@media (max-width: 1199px) {
  h3 {
    font-size: calc(0.05 * 100vw + -16px);
    font-size: calc(0.0295454545 * 100vw + 8.5454545455px);
  }
}

h4 {
  font-family: var(--font-1_Regular);
  font-size: 34px;
  line-height: 100%;
}

@media (max-width: 1199px) {
  h4 {
    font-size: calc(0.0386363636 * 100vw + -12.3636363636px);
    font-size: calc(0.0204545455 * 100vw + 9.4545454545px);
  }
}

h5 {
  font-family: var(--font-1_Regular);
  font-size: 24px;
  line-height: 100%;
}

@media (max-width: 1199px) {
  h5 {
    font-size: calc(0.0272727273 * 100vw + -8.7272727273px);
    font-size: calc(0.0090909091 * 100vw + 13.0909090909px);
  }
}

h6 {
  font-family: var(--font-1_Regular);
  font-size: 20px;
  line-height: 100%;
}

@media (max-width: 1199px) {
  h6 {
    font-size: calc(0.0227272727 * 100vw + -7.2727272727px);
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

p {
  font-family: var(--font-1_Regular);
  font-size: 16px;
  line-height: 100%;
}

@media (max-width: 1199px) {
  p {
    font-size: calc(0.0181818182 * 100vw + -5.8181818182px);
    font-size: calc(0.0022727273 * 100vw + 13.2727272727px);
  }
}

.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

/*========= Part ===========*/
.page {
  display: flex;
  flex-direction: column;
}

.page.hidden {
  overflow: hidden;
  height: 100%;
}

.page--single.services .component_slider_1 {
  background-color: var(--color-shade_4);
  padding-top: 100px;
  padding-bottom: 80px;
}

@media (max-width: 1199px) {
  .page--single.services .component_slider_1 {
    padding-top: calc(0.0795454545 * 100vw + 4.5454545455px);
    padding-bottom: calc(0.0454545455 * 100vw + 25.4545454545px);
  }
}

.page--single.portfolios .component_content_4 {
  padding-bottom: 80px;
}

.page--single.portfolios .component_slider_1 {
  background-color: var(--color-shade_4);
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 1199px) {
  .page--single.portfolios .component_slider_1 {
    padding-top: calc(0.0454545455 * 100vw + 25.4545454545px);
    padding-bottom: calc(0.0454545455 * 100vw + 25.4545454545px);
  }

  .page--single.portfolios .component_content_4 {
    padding-bottom: calc(0.0454545455 * 100vw + 25.4545454545px);
  }
}

.page--taxonomy .component_slider_1 {
  padding-bottom: 60px;
}

@media (max-width: 1199px) {
  .page--taxonomy .component_slider_1 {
    padding-bottom: calc(0.0340909091 * 100vw + 19.0909090909px);
  }
}

.page--404 .component {
  padding-bottom: 30px;
}

.page--404 .component__inner {
  display: grid;
  align-items: center;
  grid-template-columns: auto 500px;
  justify-content: space-between;
}

.page--404 .component__preview {
  font-family: var(--font-1_Black);
  font-size: 332px;
  line-height: 100%;
  letter-spacing: 0.05em;
}

@media (max-width: 1199px) {
  .page--404 .component__preview {
    font-size: calc(0.2318181818 * 100vw + 53.8181818182px);
  }
}

.page--404 .component__content {
  display: flex;
  flex-direction: column;
}

.page--404 .component__content-title {
  font-family: var(--font-1_Bold);
  font-size: 50px;
  line-height: 100%;
  line-height: 130%;
  font-family: var(--font-1_Black);
}

@media (max-width: 1199px) {
  .page--404 .component__content-title {
    font-size: calc(0.0568181818 * 100vw + -18.1818181818px);
    font-size: calc(0.0272727273 * 100vw + 17.2727272727px);
  }
}

.page--404 .component__content-description {
  margin-top: 10px;
  color: var(--color-shade_1);
}

.page--404 .component__link {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  height: 80px;
  padding: 0 15px;
  border-radius: 100px;
  transition: transform ease 300ms, background-color ease 300ms, color ease 300ms;
  overflow: hidden;
  background-color: var(--color-primary);
  color: var(--color-light);
  margin-top: 30px;
  width: fit-content;
  min-width: 230px;
}

@media (max-width: 1199px) {
  .page--404 .component__link {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

@media (max-width: 1199px) {
  .page--404 .component__link {
    height: calc(0.0340909091 * 100vw + 39.0909090909px);
  }
}

.page--404 .component__link:hover {
  transform: scale(1.1);
  background-color: var(--color-hover);
}

@media (max-width: 1199px) {
  .page--404 .component__preview {
    text-align: center;
  }

  .page--404 .component__inner {
    grid-template-columns: 1fr;
  }

  .page--404 .component__content {
    align-items: center;
  }

  .page--404 .component__content-description {
    text-align: center;
  }
}

@media (max-width: 1199px) {
  .page--404 .page__layout .page__preview {
    text-align: center;
    font-size: calc(0.1136363636 * 100vw + 103.6363636364px);
  }

  .page--404 .page__layout .page__link {
    margin: auto;
  }

  .page--404 .page__layout .page__content-title {
    text-align: center;
  }

  .page--404 .page__layout .page__content-description {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .page--404 .page__layout>.container {
    grid-template-columns: 1fr;
    grid-template-areas: "preview" "content";
  }
}

.page__wrapper {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr auto;
}

@media (max-width: 1199px) {
  .page__wrapper {
    grid-template-rows: 0 1fr auto;
  }
}

.page__layout {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: min-content;
  overflow: hidden;
}

.page__head {
  padding-top: 40px;
  padding-bottom: 40px;
}

@media (max-width: 1199px) {
  .page__head {
    padding-bottom: calc(0.0227272727 * 100vw + 12.7272727273px);
    padding-top: 90px;
  }
}

.page__head.background-dark {
  background-color: cl(background-dark);
}

.page__head.background-dark .page__title {
  color: cl(text);
}

.page__breadcrumbs {
  margin-bottom: 20px;
}

.header {
  /*#region ------ Default --- */
  /*#endregion*/
}

.header .header__bottom .menu {
  border-top: 1px solid var(--color-primary);
}

.header .menu.menu-header {
  display: grid;
  grid-auto-flow: column;
  height: 100%;
  align-items: center;
  justify-content: space-between;
}

.header .menu.menu-header .menu-link--active {
  color: var(--color-primary);
}

.header .menu.menu-header .menu-link--active::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-primary);
}

.header .menu.menu-header li {
  height: 100%;
}

.header .menu.menu-header a {
  position: relative;
  display: flex;
  align-items: center;
  color: var(--color-dark);
  height: 100%;
  padding: 15px;
  font-family: var(--font-1_Medium);
}

.header .menu.menu-header a:hover {
  color: var(--color-primary);
}

.header .widget_contact .phone__main {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  color: var(--color-primary);
  transition: color 0.2s ease;
}

.header .widget_contact .phone__main span {
  display: inline;
  transition: opacity 0.2s ease;
}

.header .widget_contact .phone__main:hover {
  color: var(--color-hover);
}

.header .widget_contact .phone__main:hover span {
  opacity: 1 !important;
}

.header .widget_contact .field.phone {
  overflow: visible;
}

.header .widget_contact .field.phone .icon {
  display: none;
}

@media (max-width: 1199px) {
  .header .widget_contact {
    display: grid;
    grid-auto-flow: column;
  }

  .header .widget_contact .field .title {
    display: none;
  }

  .header .widget_contact .phone__main span {
    opacity: 1 !important;
  }

  .header .header__mobile .widget_social {
    display: none;
  }

  .header .header__mobile .widget_contact .field.email {
    display: none;
  }
}

.header .header__top {
  padding-top: 10px;
  padding-bottom: 10px;
}

.header .header__top>.container {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: space-between;
}

.header .header__info {
  display: flex;
  align-items: center;
  gap: 20px;
}

.header .header__btn,
.header .header__info .btn.type_1.header__btn {
  flex-shrink: 0 !important;
  border-radius: 10px !important;
  padding: 14px 10px !important;
  height: auto !important;
}

.header .header__mobile {
  position: relative;
  height: 100%;
  width: fit-content;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: space-between;
  grid-gap: 15px;
  padding: 0 15px;
}

.header .header__mobile .hamburger {
  margin-left: 10px;
}

.header .header__mobile::before {
  content: "";
  top: 0;
  left: 0;
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgb(255 255 255 / 17%);
  box-shadow: 0px 0px 29px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(30px);
  border-radius: 10px;
}

.component_content_3 .table {
  border-radius: 10px !important;
}

@media (max-width: 1199px) {
  .header {
    place-self: flex-end;
    margin-right: 15px;
    height: 50px;
    position: sticky;
    top: 15px;
    z-index: 5;
  }

  .header .header__desktop {
    display: none;
  }
}

@media (min-width: 1200px) {
  .header {
    background-color: var(--color-shade_4);
  }

  .header .widget_social {
    display: none;
  }

  .header .header__mobile {
    display: none;
  }
}

.footer {
  background-color: var(--color-dark);
}

.footer__inner {
  display: grid;
  grid-template-areas: "logo menu" "contact menu";
  grid-gap: 25px;
  padding-top: 80px;
  padding-bottom: 50px;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
}

.footer__menu {
  grid-area: menu;
  place-self: center;
}

.footer__logo {
  grid-area: logo;
}

.footer .logo .title {
  display: none;
}

.footer .logo .subtitle {
  color: var(--color-light);
}

.footer .widget_contact .field.email {
  display: none;
}

.footer .widget_contact .field .icon {
  display: none;
}

.footer .widget_contact .field .title {
  color: var(--color-light);
  width: fit-content;
}

.footer .widget_contact .field .title:nth-child(2) {
  line-height: 200%;
}

.footer .menu.menu-footer {
  display: grid;
  grid-auto-flow: column;
  grid-column-gap: 130px;
}

.footer .menu.menu-footer * a {
  color: var(--color-light);
  font-family: var(--font-1_Medium);
}

.footer .menu.menu-footer * a:hover {
  color: var(--color-primary);
}

.footer .menu.menu-footer .menu-link--active {
  display: flex;
  align-items: center;
}

.footer .menu.menu-footer .menu-link--active:before {
  content: "";
  display: block;
  margin-right: 10px;
  width: 8px;
  height: 8px;
  background-color: var(--color-primary);
  border-radius: 50%;
}

.footer .menu.menu-footer>.menu-node--childs:first-child>.menu-link {
  pointer-events: none;
}

.footer .menu.menu-footer>.menu-node--childs>.menu-link {
  display: flex;
  font-family: var(--font-1_Regular);
  font-size: 24px;
  line-height: 100%;
  font-family: var(--font-1_Black);
  margin-bottom: 25px;
}

@media (max-width: 1199px) {
  .footer .menu.menu-footer>.menu-node--childs>.menu-link {
    font-size: calc(0.0272727273 * 100vw + -8.7272727273px);
    font-size: calc(0.0090909091 * 100vw + 13.0909090909px);
  }
}

.footer .menu.menu-footer .menu--dropdown {
  display: grid;
  grid-row-gap: 20px;
}

@media (max-width: 575px) {
  .footer .menu.menu-footer {
    grid-auto-flow: row;
    grid-template-columns: 100%;
    grid-row-gap: 40px;
  }
}

@media (max-width: 991px) {
  .footer__inner {
    grid-template-areas: "logo" "contacts" "menu";
    grid-template-columns: 1fr;
    padding-top: calc(0.0340909091 * 100vw + 39.0909090909px);
  }

  .footer__menu {
    place-self: flex-start;
  }
}

/*========= UI ===========*/
/*<div class="hamburger">
  <div class="line half start"></div>
  <div class="line"></div>
  <div class="line half end"></div>
</div>*/
.hamburger {
  position: relative;
  width: 25px;
  height: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  transition: transform 330ms ease-out;
}

.hamburger * {
  pointer-events: none;
}

.hamburger:before {
  content: "";
  position: absolute;
  background-color: var(--color-dark);
  border-radius: 10px;
  width: 170%;
  height: 170%;
  z-index: -1;
  top: -35%;
  left: -35%;
}

.hamburger.active {
  transform: rotate(-90deg);
}

.hamburger.active .line.start {
  transform: rotate(-90deg) translateX(3px);
}

.hamburger.active .line.end {
  transform: rotate(-90deg) translateX(-3px);
}

.hamburger .line {
  background-color: #fff;
  border-radius: 5px;
  width: 100%;
  height: 3px;
}

.hamburger .line.half {
  width: 50%;
}

.hamburger .line.start {
  background-color: var(--color-primary);
  transition: transform 330ms cubic-bezier(0.54, -0.81, 0.57, 0.57);
  transform-origin: right;
}

.hamburger .line.end {
  background-color: var(--color-primary);
  align-self: flex-end;
  transition: transform 330ms cubic-bezier(0.54, -0.81, 0.57, 0.57);
  transform-origin: left;
}

.layout {
  position: fixed;
  top: calc(0.0113636364 * 100vw + 76.3636363636px);
  right: -1px;
  width: 80vw;
  z-index: 10;
  overflow-y: auto;
  overflow-x: hidden;
}

.layout__inner {
  position: relative;
  flex-grow: 1;
  background-color: rgba(var(--color-dark--rgb), 0.9);
  border-radius: 10px 0px 0px 10px;
  padding: 10px;
}

.layout__content {
  display: grid;
  justify-items: center;
  grid-gap: 30px;
  margin-top: 30px;
  padding: 0 20px;
  padding-bottom: 15px;
}

.layout__content>*:not(:last-child) {
  margin-bottom: 15px;
}

.layout__social {
  display: flex;
  margin: auto;
  width: fit-content;
}

.layout__social>*:not(:last-child) {
  margin-right: 20px;
}

.layout__widget {
  display: grid;
  justify-items: center;
  grid-row-gap: 15px;
}

.layout__widget .widget_contact {
  display: contents;
}

.layout__widget .widget_contact * {
  color: var(--color-light) !important;
  opacity: 1 !important;
}

.layout__widget .widget_contact .field.phone {
  flex-direction: row-reverse;
}

.layout__widget .widget_contact .field.phone .phone__main {
  font-size: 20px !important;
  font-weight: 500 !important;
}

.layout__widget .widget_contact .field.email {
  flex-direction: row;
}

.layout__widget .widget_contact .field .icon path {
  fill: var(--color-primary);
}

.layout__widget .widget_social {
  grid-column-gap: 10px;
}

.layout__widget .field {
  display: grid;
  grid-template-areas: "icon title" ". values";
  grid-column-gap: 10px;
  width: fit-content;
  height: fit-content;
  align-items: center;
}

.layout__widget .field__icon {
  grid-area: icon;
  display: flex;
  width: 20px;
  height: 20px;
}

.layout__widget .field__icon svg {
  width: 100%;
  height: 100%;
}

.layout__widget .field__icon svg path {
  fill: var(--color-primary);
}

.layout__widget .field__title {
  grid-area: title;
  line-height: 150%;
}

.layout__widget .field__values {
  grid-area: values;
  line-height: 150%;
}

.layout__widget .field__values * {
  font-family: var(--font-1_Bold);
}

.layout__widget .field__title {
  font-size: 16px;
}

.layout .menu.menu-mobile .menu-node {
  cursor: pointer;
  height: fit-content;
  border-bottom: 1px solid var(--color-primary);
  margin-bottom: 0;
}

.layout .menu.menu-mobile .menu-link {
  padding: 10px 20px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--color-light);
  font-family: var(--font-1_Medium);
  font-size: 22px;
  line-height: 100%;
}

.layout .menu.menu-mobile .menu-node--childs>.menu-link:after {
  content: "";
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" ><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>');
  width: 20px;
  height: 20px;
  background-size: 100%;
  background-repeat: no-repeat;
  transform: rotate(-90deg);
}

.layout .menu.menu-mobile .menu-node--childs .menu-node--back>.menu-link:before {
  margin-right: 15px;
  content: "";
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" ><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/></svg>');
  width: 20px;
  height: 20px;
  background-size: 100%;
  background-repeat: no-repeat;
  transform: rotate(90deg);
}

.layout .menu.menu-mobile .menu-node--back {
  display: flex;
}

.layout .menu.menu-mobile .menu--dropdown {
  position: absolute;
  left: 100%;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-color: cl(background-dark);
  z-index: 1;
  transition: 0.3s;
  top: 0;
}

.layout .menu.menu-mobile .menu--dropdown.active {
  left: 0;
}

.layout .field .field__title {
  color: cl(background-dark);
}

.layout .field .field__title:hover {
  color: cl(background-dark);
}

.layout.anime {
  transform: translateX(100vw);
}

.layout.anime.close {
  animation: close 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both alternate;
}

.layout.anime.open {
  animation: open 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both alternate;
}

@keyframes open {
  0% {
    transform: translateX(100vw);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes close {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(100vw);
  }
}

.modal {
  position: fixed;
  display: flex;
  align-items: center;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  overflow: auto;
  transition: all ease 100ms;
  opacity: 0;
  z-index: -1;
  padding: 15px;
}

.modal.active {
  opacity: 1;
  z-index: 15;
}

.modal.active .modal__wrapper {
  opacity: 1;
  transform: scale(1);
}

.modal__wrapper {
  display: flex;
  justify-content: center;
  width: fit-content;
  margin: auto;
  opacity: 0;
  transform: scale(0);
  transition: opacity ease-in-out 400ms, transform ease-in-out 400ms;
}

.modal__wrapper>* {
  display: none;
}

.modal__wrapper>*.active {
  display: block;
}

.modal--alignHead {
  padding-top: 130px;
}

@media (max-width: 1199px) {
  .modal--alignHead {
    padding-top: calc((0.0113636364 * 100vw + 76.3636363636px) + 20px);
  }
}

.modal .form-modal {
  position: relative;
  padding: 15px;
  padding-top: 40px;
  border-radius: 20px;
  margin: 0 auto;
  background-color: #fff;
}


.modal .form-modal .form-modal__title {
  margin-bottom: 20px;
  font-size: 25px;
  text-align: center;
}

.modal .form-modal .form-modal__text {
  margin-bottom: 20px;
  color: var(--color-shade_1);
  line-height: 120%;
  font-size: 22px;
}

.form-modal--timed__promo {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.form-modal--timed__promo .form-modal__text {
  text-align: center;
}

.modal .form-modal--timed .form-modal__btn {
  display: inline-block;
  margin-top: 0;
  line-height: 1.4;
  cursor: pointer;
  border: none;
  background-color: var(--color-primary);
  color: var(--color-light);
  font-family: inherit;
}

.modal .form-modal--timed .form-modal__btn:hover {
  transform: scale(1.05);
  background-color: var(--color-hover);
}

.modal .form-modal--timed .form-modal--timed__form {
  margin-top: 0;
}

.modal .form-modal--timed .form-modal__text--zero {
  margin-top: 0;
}

.modal .form-modal--timed .form-modal__title,
.modal .form-modal--timed .form-modal__text {
  color: var(--color-dark);
}

.modal .form-modal--timed .form-modal__text {
  color: var(--color-shade_1);
}

.modal .form-modal .response {
  z-index: -1;
}

.modal .form-modal .response--load {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.modal .form-modal .response--load .response__text {
  animation: scaleText 180ms ease-in-out;
}

.modal .form-modal .response--load .response__inner--load {
  opacity: 1;
}

.modal .form-modal .response--load~* {
  opacity: 0;
}

.modal .form-modal .response--success {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.modal .form-modal .response--success .figure {
  display: inline-block;
  width: 8em;
  height: 8em;
  font-size: 20px;
  border-radius: 50%;
  border: 4px solid var(--color-primary);
  position: relative;
  overflow: hidden;
  transform-origin: center;
  animation: showSuccess 180ms ease-in-out;
  transform: scale(1);
}

.modal .form-modal .response--success .figure__tip,
.modal .form-modal .response--success .figure__long {
  display: block;
  position: absolute;
  height: 4px;
  background-color: var(--color-primary);
  border-radius: 10px;
}

.modal .form-modal .response--success .figure__tip {
  width: 2.4em;
  top: 4.3em;
  left: 1.4em;
  transform: rotate(45deg);
  background-color: var(--color-primary);
  animation: tipInPlace 300ms ease-in-out;
  animation-fill-mode: forwards;
  animation-delay: 180ms;
  visibility: hidden;
}

.modal .form-modal .response--success .figure__long {
  transform: rotate(-45deg);
  animation: longInPlace 140ms ease-in-out;
  animation-fill-mode: forwards;
  background-color: var(--color-primary);
  visibility: hidden;
  animation-delay: 440ms;
}

@keyframes showSuccess {
  from {
    transform: scale(0);
  }

  to {
    transform: scale(1);
  }
}

@keyframes tipInPlace {
  from {
    width: 0em;
    top: 0em;
    left: -1.6em;
  }

  to {
    width: 2.4em;
    top: 4.3em;
    left: 1.4em;
    visibility: visible;
  }
}

@keyframes longInPlace {
  from {
    width: 0em;
    top: 5.1em;
    left: 3.2em;
  }

  to {
    width: 4em;
    top: 3.7em;
    left: 2.75em;
    visibility: visible;
  }
}

.modal .form-modal .response--success .response__text {
  animation: scaleText 180ms ease-in-out;
}

.modal .form-modal .response--success .response__inner--success {
  opacity: 1;
}

.modal .form-modal .response--success~* {
  opacity: 0;
}

.modal .form-modal .response--error {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.modal .form-modal .response--error .response__text {
  animation: scaleText 180ms ease-in-out;
}

.modal .form-modal .response--error .response__inner--error {
  opacity: 1;
}

.modal .form-modal .response--error~* {
  opacity: 0;
}

.modal .form-modal .response .figure {
  width: 160px;
  height: 160px;
}

.modal .form-modal .response__inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  transition: opacity ease 400ms;
  opacity: 0;
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  margin-bottom: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: fit-content;
  height: fit-content;
}

.modal .form-modal .response__svg {
  width: 180px;
}

.modal .form-modal .response__svg path {
  fill: cl(primary);
}

.modal .form-modal .response__text {
  display: none;
  margin-top: 15px;
  font-family: var(--font-1_Regular);
  color: cl(primary);
  font-size: 24px;
  line-height: 32px;
}

@keyframes scaleText {
  from {
    transform: scale(0);
  }

  to {
    transform: scale(1);
  }
}

.modal .form-modal .response .loader {
  display: block;
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 2s linear infinite;
}

.modal .form-modal .response .loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 3s linear infinite;
}

.modal .form-modal .response .loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 1.5s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.modal .form-modal .wpcf7 {
  display: flex;
  position: relative;
}

.modal .form-modal .wpcf7-form-control-wrap {
  display: contents;
}

.modal .form-modal .wpcf7-not-valid-tip {
  display: block;
  font-size: 13px;
  color: #c00;
  margin-top: 4px;
}

.modal .form-modal .wpcf7-spinner {
  display: none;
}

.modal .form-modal .wpcf7-response-output {
  display: none;
}

.modal .form-modal .wpcf7-not-valid {
  border-color: red !important;
}

.modal .form-modal .codedropz-upload-inner {
  display: contents;
}

.modal .form-modal .codedropz-upload-inner h3,
.modal .form-modal .codedropz-upload-inner span {
  display: none;
}

.modal .form-modal .codedropz-upload-handler {
  display: contents;
  border: 1px solid transparent;
}

.modal .form-modal .codedropz-upload-container {
  display: contents;
}

.modal .form-modal .codedropz-upload-wrapper .dnd-upload-counter {
  display: none;
}

.modal .form-modal .codedropz-upload-btn-wrap {
  display: contents;
}

.modal .form-modal .dnd-upload-status {
  flex-wrap: wrap;
}

@media (max-width: 575px) {
  .modal .form-modal .dnd-upload-details .name {
    padding-right: 0px;
  }

  .modal .form-modal .dnd-upload-status {
    flex-direction: column;
  }
}

.modal .form-modal .form__close {
  z-index: 5;
  width: 30px;
  height: 30px;
  cursor: pointer;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-dark);
  transition: transform ease-out 400ms, background-color ease 200ms;
  top: -15px;
  right: -15px;
}

.component_banner .component__background.right_back {
  width: 69% !important;
}

.component_banner .component__background--banner-right {
  left: 29% !important;
}

@media (max-width: 1199px) {
  .component_banner .component__background--banner-right {
    left: unset !important;
    right: 0 !important;
  }
}

.modal .form-modal .form__close:hover {
  transform: scale(1.1);
}

.modal .form-modal .form__close:hover:before {
  filter: var(--color-primary--filter);
}

.modal .form-modal .form__close:before {
  content: "";
  filter: var(--color-primary--filter);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0.419325 0.419325C0.687899 0.150831 1.05212 0 1.43188 0C1.81164 0 2.17586 0.150831 2.44444 0.419325L7.50865 5.48354L12.5729 0.419325C12.843 0.15844 13.2047 0.0140841 13.5803 0.0173472C13.9558 0.0206103 14.315 0.171232 14.5805 0.436771C14.8461 0.70231 14.9967 1.06152 14.9999 1.43703C15.0032 1.81255 14.8589 2.17432 14.598 2.44444L9.53376 7.50865L14.598 12.5729C14.8589 12.843 15.0032 13.2047 14.9999 13.5803C14.9967 13.9558 14.8461 14.315 14.5805 14.5805C14.315 14.8461 13.9558 14.9967 13.5803 14.9999C13.2047 15.0032 12.843 14.8589 12.5729 14.598L7.50865 9.53376L2.44444 14.598C2.17432 14.8589 1.81255 15.0032 1.43703 14.9999C1.06152 14.9967 0.70231 14.8461 0.436771 14.5805C0.171232 14.315 0.0206103 13.9558 0.0173472 13.5803C0.0140841 13.2047 0.15844 12.843 0.419325 12.5729L5.48354 7.50865L0.419325 2.44444C0.150831 2.17586 0 1.81164 0 1.43188C0 1.05212 0.150831 0.687899 0.419325 0.419325Z" fill="black" /> </svg>');
  background-repeat: no-repeat;
  background-size: 40%;
  background-position: center;
  width: 100%;
  height: 100%;
}

.modal .form-modal form {
  display: grid;
  grid-row-gap: 20px;
  width: 100%;
}

.modal .form-modal form input:not([type=submit]):not([type=checkbox]),
.modal .form-modal form textarea {
  width: 100%;
  resize: none;
  padding: 15px 40px;
  border: 1px solid var(--color-primary);
  background-color: var(--color-shade_4);
  border-radius: 10px;
  color: var(--color-primary);
  font-family: var(--font-1_Medium);
  appearance: none;
  transition: border-color ease-in-out 300ms;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  color: var(--color-primary);
}

@media (max-width: 1199px) {

  .modal .form-modal form input:not([type=submit]):not([type=checkbox]),
  .modal .form-modal form textarea {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

.modal .form-modal form input:not([type=submit]):not([type=checkbox]):hover,
.modal .form-modal form textarea:hover {
  border-color: var(--color-shade_1);
}

.modal .form-modal form input:not([type=submit]):not([type=checkbox]):hover::placeholder,
.modal .form-modal form textarea:hover::placeholder {
  color: var(--color-shade_1);
}

.modal .form-modal form input:not([type=submit]):not([type=checkbox]):focus::placeholder,
.modal .form-modal form textarea:focus::placeholder {
  color: var(--color-primary);
}

.modal .form-modal form input:not([type=submit]):not([type=checkbox])::placeholder,
.modal .form-modal form textarea::placeholder {
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  color: var(--color-primary);
}

@media (max-width: 1199px) {

  .modal .form-modal form input:not([type=submit]):not([type=checkbox])::placeholder,
  .modal .form-modal form textarea::placeholder {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

.modal .form-modal form textarea {
  border-radius: 10px;
  padding: 20px;
}

.modal .form-modal form input[type=submit] {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  height: 80px;
  padding: 0 15px;
  border-radius: 10px;
  transition: transform ease 300ms, background-color ease 300ms, color ease 300ms;
  overflow: hidden;
  background-color: var(--color-primary);
  color: var(--color-light);
  max-width: 100%;
  width: 100%;
  height: 60px;
}

@media (max-width: 1199px) {
  .modal .form-modal form input[type=submit] {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

@media (max-width: 1199px) {
  .modal .form-modal form input[type=submit] {
    height: calc(0.0340909091 * 100vw + 39.0909090909px);
  }
}

.modal .form-modal form input[type=submit]:hover {
  transform: scale(1.1);
  background-color: var(--color-hover);
}

.modal .form-modal--timed form input[type=submit]:hover {
  transform: scale(1.05);
}

.modal .form-modal form .title {
  text-align: center;
  font-family: var(--font-1_Bold);
  font-size: 30px;
  line-height: 100%;
}

.modal .form-modal form .subtitle {
  color: var(--color-shade_1);
  letter-spacing: 0.02em;
  line-height: 150%;
  text-align: center;
}

.form-checkboxes.policy-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 15px 0;
}

.form-checkboxes.policy-checkboxes .wpcf7-form-control-wrap {
  display: block;
}

.form-checkboxes.policy-checkboxes label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-family: var(--font-1_Regular);
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-primary);
}

.form-checkboxes.policy-checkboxes input[type="checkbox"] {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin: 0;
  margin-top: 2px;
  accent-color: var(--color-primary);
  cursor: pointer;
  border-radius: 6px;
}

.form-checkboxes.policy-checkboxes .wpcf7-list-item-label {
  flex: 1;
}

.form-checkboxes.policy-checkboxes a {
  color: var(--color-primary);
  text-decoration: underline;
}

.form-checkboxes.policy-checkboxes a:hover {
  color: var(--color-hover);
  text-decoration: none;
}

.form-checkboxes.policy-checkboxes .wpcf7-form-control-wrap.wpcf7-not-valid label {
  color: #c00;
}

.modal .form-modal .wpcf7-form-control-wrap {
  display: contents;
}

.modal .form-modal form .form-checkboxes.policy-checkboxes .wpcf7-form-control-wrap {
  display: block;
}

.modal .form-modal form .policy {
  text-align: center;
  color: var(--color-shade_1);
  font-family: var(--font-1_Regular);
  font-size: 14px;
  line-height: 100%;
}

.modal .form-modal form .policy a {
  color: var(--color-shade_1);
  text-decoration: underline;
}

.modal .form-modal form .policy a:hover {
  text-decoration: none;
}

.modal .form-modal form .group {
  display: grid;
  grid-row-gap: 20px;
}

.modal .form-modal form .group_2 {
  display: grid;
  grid-template-columns: repeat(2, 300px);
  grid-row-gap: 15px;
  grid-column-gap: 30px;
}

.modal .form-modal form .upload {
  border: 1px solid var(--color-shade_3);
}

.modal .form-modal form .codedropz-upload-wrapper {
  padding: 15px;
}

@media (max-width: 1199px) {
  .modal .form-modal form .group_2 {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) {
  .modal .form-modal {
    width: min-content;
    min-width: 370px;
  }
}

@media (max-width: 767px) {
  .modal .form-modal {
    width: 100%;
  }

  .modal .form-modal form .title {
    text-align: center;
  }
}

@media (max-width: 767px) {
  .modal .form-modal {
    padding: 25px;
  }

  .modal .form-modal .form__close {
    position: relative;
    top: 0;
    right: 0;
    margin-left: auto;
    margin-bottom: 15px;
  }
}

.modal .form-block {
  width: 1200px;
}

/*========= Misc ===========*/
.logo {
  display: grid;
  grid-row-gap: 5px;
}

.logo .title {
  color: var(--color-shade_1);
  font-family: var(--font-1_Regular);
  font-size: 14px;
  line-height: 100%;
}

@media (max-width: 1199px) {
  .logo .title {
    font-size: calc(0.0159090909 * 100vw + -5.0909090909px);
    font-size: calc(0 * 100vw + 14px);
  }
}

.logo .subtitle {
  transition: color ease-in-out 200ms;
  color: var(--color-dark);
  font-family: var(--font-1_Black);
  font-size: 32px;
  line-height: 100%;
}

.logo:hover .subtitle {
  color: var(--color-primary);
}

.widget_social {
  width: fit-content;
  display: grid;
  grid-auto-flow: column;
  grid-column-gap: 5px;
}

.widget_social a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-dark);
  border-radius: 10px;
  width: 40px;
  height: 40px;
  transition: transform ease-in-out 200ms;
}

.widget_social a path {
  fill: var(--color-light);
  transition: fill ease-in-out 200ms;
}

.widget_social a:hover {
  transform: scale(1.2);
}

.widget_social a:hover path {
  fill: var(--color-hover);
}

.widget_contact {
  grid-column-gap: 10px;
}

.widget_contact .field {
  display: flex;
  flex-direction: column;
}

.widget_contact .field .icon {
  display: flex;
  align-items: center;
}

.widget_contact .field .icon svg {
  width: 25px;
  height: 25px;
}

.widget_contact .field .title {
  color: var(--color-dark);
}

.widget_contact .field .title:nth-child(2) {
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  line-height: 150%;
}

.widget_contact .field .title:not(:nth-child(2)) {
  font-family: var(--font-1_Medium);
}

.widget_contact .field .title:hover {
  color: var(--color-hover);
}

@media (min-width: 1200px) {
  .widget_contact .field.email {
    display: none;
  }

  .widget_contact .field .icon {
    display: none;
  }
}

.btn.type_1 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  height: 80px;
  padding: 0 15px;
  border-radius: 10px;
  transition: transform ease 300ms, background-color ease 300ms, color ease 300ms;
  overflow: hidden;
  background-color: var(--color-primary);
  color: var(--color-light);
}

@media (max-width: 1199px) {
  .btn.type_1 {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

@media (max-width: 1199px) {
  .btn.type_1 {
    height: calc(0.0340909091 * 100vw + 39.0909090909px);
  }
}

.btn.type_1:hover {
  transform: scale(1.1);
  background-color: var(--color-hover);
}

.btn.type_2 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  height: 80px;
  padding: 0 15px;
  border-radius: 100px;
  transition: transform ease 300ms, background-color ease 300ms, color ease 300ms;
  overflow: hidden;
  background-color: var(--color-light);
  color: var(--color-primary);
}

@media (max-width: 1199px) {
  .btn.type_2 {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

@media (max-width: 1199px) {
  .btn.type_2 {
    height: calc(0.0340909091 * 100vw + 39.0909090909px);
  }
}

.btn.type_2:hover {
  color: var(--color-light);
  transform: scale(1.1);
  background-color: var(--color-hover);
}

.btn.type_3 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  height: 80px;
  padding: 0 15px;
  border-radius: 100px;
  transition: transform ease 300ms, background-color ease 300ms, color ease 300ms;
  overflow: hidden;
  background-color: var(--color-light);
  border: 1px solid var(--color-shade_1);
  color: var(--color-shade_1);
}

@media (max-width: 1199px) {
  .btn.type_3 {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

@media (max-width: 1199px) {
  .btn.type_3 {
    height: calc(0.0340909091 * 100vw + 39.0909090909px);
  }
}

.btn.type_3.active {
  color: var(--color-light);
  background-color: var(--color-primary);
  border-color: transparent;
}

.btn.type_3:hover {
  color: var(--color-light);
  border-color: transparent;
  transform: scale(1.05);
  background-color: var(--color-primary);
}

.btn.type_4 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  height: 80px;
  padding: 0 15px;
  border-radius: 10px;
  transition: transform ease 300ms, background-color ease 300ms, color ease 300ms;
  overflow: hidden;
  background-color: transparent;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
}

@media (max-width: 1199px) {
  .btn.type_4 {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

@media (max-width: 1199px) {
  .btn.type_4 {
    height: calc(0.0340909091 * 100vw + 39.0909090909px);
  }
}

.btn.type_4.active {
  color: var(--color-light);
  background-color: var(--color-primary);
  border-color: transparent;
}

.btn.type_4:hover {
  color: var(--color-light);
  border-color: transparent;
  transform: scale(1.05);
  background-color: var(--color-primary);
}

.form.type_1 .response {
  z-index: -1;
}

.form.type_1 .response--load {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.form.type_1 .response--load .response__text {
  animation: scaleText 180ms ease-in-out;
}

.form.type_1 .response--load .response__inner--load {
  opacity: 1;
}

.form.type_1 .response--load~* {
  opacity: 0;
}

.form.type_1 .response--success {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.form.type_1 .response--success .figure {
  display: inline-block;
  width: 8em;
  height: 8em;
  font-size: 20px;
  border-radius: 50%;
  border: 4px solid var(--color-primary);
  position: relative;
  overflow: hidden;
  transform-origin: center;
  animation: showSuccess 180ms ease-in-out;
  transform: scale(1);
}

.form.type_1 .response--success .figure__tip,
.form.type_1 .response--success .figure__long {
  display: block;
  position: absolute;
  height: 4px;
  background-color: var(--color-primary);
  border-radius: 10px;
}

.form.type_1 .response--success .figure__tip {
  width: 2.4em;
  top: 4.3em;
  left: 1.4em;
  transform: rotate(45deg);
  background-color: var(--color-primary);
  animation: tipInPlace 300ms ease-in-out;
  animation-fill-mode: forwards;
  animation-delay: 180ms;
  visibility: hidden;
}

.form.type_1 .response--success .figure__long {
  transform: rotate(-45deg);
  animation: longInPlace 140ms ease-in-out;
  animation-fill-mode: forwards;
  background-color: var(--color-primary);
  visibility: hidden;
  animation-delay: 440ms;
}

@keyframes showSuccess {
  from {
    transform: scale(0);
  }

  to {
    transform: scale(1);
  }
}

@keyframes tipInPlace {
  from {
    width: 0em;
    top: 0em;
    left: -1.6em;
  }

  to {
    width: 2.4em;
    top: 4.3em;
    left: 1.4em;
    visibility: visible;
  }
}

@keyframes longInPlace {
  from {
    width: 0em;
    top: 5.1em;
    left: 3.2em;
  }

  to {
    width: 4em;
    top: 3.7em;
    left: 2.75em;
    visibility: visible;
  }
}

.form.type_1 .response--success .response__text {
  animation: scaleText 180ms ease-in-out;
}

.form.type_1 .response--success .response__inner--success {
  opacity: 1;
}

.form.type_1 .response--success~* {
  opacity: 0;
}

.form.type_1 .response--error {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.form.type_1 .response--error .response__text {
  animation: scaleText 180ms ease-in-out;
}

.form.type_1 .response--error .response__inner--error {
  opacity: 1;
}

.form.type_1 .response--error~* {
  opacity: 0;
}

.form.type_1 .response .figure {
  width: 160px;
  height: 160px;
}

.form.type_1 .response__inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  transition: opacity ease 400ms;
  opacity: 0;
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  margin-bottom: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: fit-content;
  height: fit-content;
}

.form.type_1 .response__svg {
  width: 180px;
}

.form.type_1 .response__svg path {
  fill: cl(primary);
}

.form.type_1 .response__text {
  display: none;
  margin-top: 15px;
  font-family: var(--font-1_Regular);
  color: cl(primary);
  font-size: 24px;
  line-height: 32px;
}

@keyframes scaleText {
  from {
    transform: scale(0);
  }

  to {
    transform: scale(1);
  }
}

.form.type_1 .response .loader {
  display: block;
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 2s linear infinite;
}

.form.type_1 .response .loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 3s linear infinite;
}

.form.type_1 .response .loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 1.5s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.form.type_1 .wpcf7 {
  display: flex;
  position: relative;
}

.form.type_1 .wpcf7-form-control-wrap {
  display: contents;
}

.form.type_1 .wpcf7-not-valid-tip {
  display: none;
}

.form.type_1 .wpcf7-spinner {
  display: none;
}

.form.type_1 .wpcf7-response-output {
  display: none;
}

.form.type_1 .wpcf7-not-valid {
  border-color: red !important;
}

.form.type_1 .codedropz-upload-inner {
  display: contents;
}

.form.type_1 .codedropz-upload-inner h3,
.form.type_1 .codedropz-upload-inner span {
  display: none;
}

.form.type_1 .codedropz-upload-handler {
  display: contents;
  border: 1px solid transparent;
}

.form.type_1 .codedropz-upload-container {
  display: contents;
}

.form.type_1 .codedropz-upload-wrapper .dnd-upload-counter {
  display: none;
}

.form.type_1 .codedropz-upload-btn-wrap {
  display: contents;
}

.form.type_1 .dnd-upload-status {
  flex-wrap: wrap;
}

@media (max-width: 575px) {
  .form.type_1 .dnd-upload-details .name {
    padding-right: 0px;
  }

  .form.type_1 .dnd-upload-status {
    flex-direction: column;
  }
}

.form.type_1 form {
  display: grid;
  grid-template-columns: 100%;
  grid-row-gap: 15px;
  width: 100%;
}

.form.type_1 form input:not([type=submit]):not([type=checkbox]),
.form.type_1 form textarea,
.form.type_1 form select {
  width: 100%;
  resize: none;
  padding: 15px 40px;
  border: 1px solid var(--color-primary);
  background-color: var(--color-shade_4);
  border-radius: 100px;
  color: var(--color-primary);
  font-family: var(--font-1_Medium);
  appearance: none;
  transition: border-color ease-in-out 300ms;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  color: var(--color-primary);
}

@media (max-width: 1199px) {

  .form.type_1 form input:not([type=submit]):not([type=checkbox]),
  .form.type_1 form textarea,
  .form.type_1 form select {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

.form.type_1 form input:not([type=submit]):not([type=checkbox]):hover,
.form.type_1 form textarea:hover,
.form.type_1 form select:hover {
  border-color: var(--color-shade_1);
}

.form.type_1 form input:not([type=submit]):not([type=checkbox]):hover::placeholder,
.form.type_1 form textarea:hover::placeholder,
.form.type_1 form select:hover::placeholder {
  color: var(--color-shade_1);
}

.form.type_1 form input:not([type=submit]):not([type=checkbox]):focus::placeholder,
.form.type_1 form textarea:focus::placeholder,
.form.type_1 form select:focus::placeholder {
  color: var(--color-primary);
}

.form.type_1 form input:not([type=submit]):not([type=checkbox])::placeholder,
.form.type_1 form textarea::placeholder,
.form.type_1 form select::placeholder {
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  color: var(--color-primary);
}

@media (max-width: 1199px) {

  .form.type_1 form input:not([type=submit]):not([type=checkbox])::placeholder,
  .form.type_1 form textarea::placeholder,
  .form.type_1 form select::placeholder {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

.form.type_1 form label.select {
  position: relative;
}

.form.type_1 form label.select.active:before {
  transform: scale(-1);
}

.form.type_1 form label.select:before {
  position: absolute;
  content: "";
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15 1L8 8L1 1" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> </svg>');
  transition: transform ease-in-out 400ms;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  width: 15px;
  height: 15px;
  top: calc(50% - 7.5px);
  right: 15px;
}

.form.type_1 form input[type=submit] {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  height: 80px;
  padding: 0 15px;
  border-radius: 100px;
  transition: transform ease 300ms, background-color ease 300ms, color ease 300ms;
  overflow: hidden;
  background-color: var(--color-primary);
  color: var(--color-light);
  height: 60px;
}

@media (max-width: 1199px) {
  .form.type_1 form input[type=submit] {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }

  .layout .widget_social a {
    width: 55px;
    height: 55px;
    background-color: var(--color-primary);
  }

  .layout .widget_social a svg {
    width: 30px;
    height: 30px;
  }
}

@media (max-width: 1199px) {
  .form.type_1 form input[type=submit] {
    height: calc(0.0340909091 * 100vw + 39.0909090909px);
  }
}

.form.type_1 form input[type=submit]:hover {
  transform: scale(1.1);
  background-color: var(--color-hover);
}

.form.type_1 form .card {
  display: grid;
  grid-row-gap: 30px;
  grid-area: card;
  padding: 40px;
  border: 1px solid cl(background-dark-3);
}

.form.type_1 form .card .fields {
  display: grid;
  grid-row-gap: 20px;
}

.form.type_1 form .card .title {
  color: cl(text);
  font-family: var(--font-1_Medium);
  font-weight: 500;
}

.form.type_1 form .upload {
  min-height: 500px;
  position: relative;
  grid-area: upload;
  border: 1px solid cl(background-dark-3);
  background-color: cl(background-dark-2);
  padding: 40px;
  transition: transform ease-in-out 0.5s, box-shadow ease-in-out 0.5s;
}

.form.type_1 form .upload:hover {
  transform: scale(1.03);
  box-shadow: 0px 0px 20px 8px var(--color-primary);
}

.form.type_1 form .upload:before {
  position: absolute;
  display: flex;
  background-size: contain;
  width: 80%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="590" height="426" viewBox="0 0 590 426" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="1" y="1" width="588" height="424" fill="transparent" stroke="black" stroke-width="2" stroke-dasharray="10 10" /> <path d="M305.042 261.208C326.12 261.208 343.208 244.12 343.208 223.042C343.208 201.963 326.12 184.875 305.042 184.875C283.963 184.875 266.875 201.963 266.875 223.042C266.875 244.12 283.963 261.208 305.042 261.208Z" fill="black" /> <path d="M390.917 146.708H355.885C352.06 146.708 348.468 145.218 345.761 142.515L337.86 134.614C333.354 130.108 327.363 127.625 320.99 127.625H289.094C282.72 127.625 276.729 130.108 272.223 134.614L264.322 142.515C261.615 145.218 258.023 146.708 254.198 146.708H238.25V141.938C238.25 139.3 236.116 137.167 233.479 137.167H214.396C211.759 137.167 209.625 139.3 209.625 141.938V146.708H200.083C189.558 146.708 181 155.267 181 165.792V280.292C181 290.817 189.558 299.375 200.083 299.375H390.917C401.442 299.375 410 290.817 410 280.292V165.792C410 155.267 401.442 146.708 390.917 146.708ZM238.25 189.646C238.25 192.283 236.116 194.417 233.479 194.417H214.396C211.759 194.417 209.625 192.283 209.625 189.646V180.104C209.625 177.467 211.759 175.333 214.396 175.333H233.479C236.117 175.333 238.25 177.467 238.25 180.104V189.646H238.25ZM305.042 270.75C278.736 270.75 257.333 249.347 257.333 223.042C257.333 196.736 278.736 175.333 305.042 175.333C331.347 175.333 352.75 196.737 352.75 223.042C352.75 249.346 331.347 270.75 305.042 270.75Z" fill="black" /> </svg>');
}

.form.type_1 form .upload__content {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 40px;
  border: 2px dashed cl(background-dark-3);
  position: relative;
}

.form.type_1 form .upload__title {
  font-family: var(--font-1_Medium);
  font-weight: 500;
  color: cl(text);
  margin-bottom: 20px;
}

.form.type_1 form .upload__subtitle {
  font-family: var(--font-1_Medium);
  font-weight: 500;
  color: cl(background-dark-4);
}

.form.type_1 form .upload__mark {
  font-family: var(--font-1_Medium);
  font-weight: 500;
  color: cl(primary);
  font-family: var(--font-1_Medium);
  font-size: 44px;
  line-height: 100%;
  margin-top: auto;
}

@media (max-width: 1199px) {
  .form.type_1 form .upload__mark {
    font-size: calc(0.05 * 100vw + -16px);
    font-size: calc(0.0295454545 * 100vw + 8.5454545455px);
  }
}

.form.type_1 form .upload__image {
  display: none;
}

.form.type_1 form .upload.load .upload__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: cl(background-dark-2);
  display: block;
}

.form.type_1 form .upload.load .upload__image img {
  object-fit: contain;
}

.form.type_1 form .upload.load .upload__close {
  z-index: 5;
  width: 30px;
  height: 30px;
  cursor: pointer;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-dark);
  transition: transform ease-out 400ms, background-color ease 200ms;
  left: 0;
  right: 0;
  top: 20px;
  margin: auto;
}

.form.type_1 form .upload.load .upload__close:hover {
  transform: scale(1.1);
}

.form.type_1 form .upload.load .upload__close:hover:before {
  filter: var(--color-primary--filter);
}

.form.type_1 form .upload.load .upload__close:before {
  content: "";
  filter: var(--color-primary--filter);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0.419325 0.419325C0.687899 0.150831 1.05212 0 1.43188 0C1.81164 0 2.17586 0.150831 2.44444 0.419325L7.50865 5.48354L12.5729 0.419325C12.843 0.15844 13.2047 0.0140841 13.5803 0.0173472C13.9558 0.0206103 14.315 0.171232 14.5805 0.436771C14.8461 0.70231 14.9967 1.06152 14.9999 1.43703C15.0032 1.81255 14.8589 2.17432 14.598 2.44444L9.53376 7.50865L14.598 12.5729C14.8589 12.843 15.0032 13.2047 14.9999 13.5803C14.9967 13.9558 14.8461 14.315 14.5805 14.5805C14.315 14.8461 13.9558 14.9967 13.5803 14.9999C13.2047 15.0032 12.843 14.8589 12.5729 14.598L7.50865 9.53376L2.44444 14.598C2.17432 14.8589 1.81255 15.0032 1.43703 14.9999C1.06152 14.9967 0.70231 14.8461 0.436771 14.5805C0.171232 14.315 0.0206103 13.9558 0.0173472 13.5803C0.0140841 13.2047 0.15844 12.843 0.419325 12.5729L5.48354 7.50865L0.419325 2.44444C0.150831 2.17586 0 1.81164 0 1.43188C0 1.05212 0.150831 0.687899 0.419325 0.419325Z" fill="black" /> </svg>');
  background-repeat: no-repeat;
  background-size: 40%;
  background-position: center;
  width: 100%;
  height: 100%;
}

.form.type_1 form .upload .cd-upload-btn {
  opacity: 0;
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  display: flex;
  left: 0;
  top: 0;
}

.form.type_1 form .upload .wpcf7-file {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 1199px) {
  .form.type_1 form .upload {
    min-height: auto;
  }
}

@media (max-width: 575px) {
  .form.type_1 form .upload {
    min-height: auto;
    padding: 15px;
  }

  .form.type_1 form .upload__content {
    padding: 15px;
  }

  .form.type_1 form .upload__title {
    font-size: 18px;
  }

  .form.type_1 form .upload__subtitle {
    font-size: 14px;
  }

  .form.type_1 form .upload__mark {
    font-size: 14px;
    margin-top: 15px;
  }
}

.form.type_2 .response {
  z-index: -1;
}

.form.type_2 .response--load {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.form.type_2 .response--load .response__text {
  animation: scaleText 180ms ease-in-out;
}

.form.type_2 .response--load .response__inner--load {
  opacity: 1;
}

.form.type_2 .response--load~* {
  opacity: 0;
}

.form.type_2 .response--success {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.form.type_2 .response--success .figure {
  display: inline-block;
  width: 8em;
  height: 8em;
  font-size: 20px;
  border-radius: 50%;
  border: 4px solid var(--color-primary);
  position: relative;
  overflow: hidden;
  transform-origin: center;
  animation: showSuccess 180ms ease-in-out;
  transform: scale(1);
}

.form.type_2 .response--success .figure__tip,
.form.type_2 .response--success .figure__long {
  display: block;
  position: absolute;
  height: 4px;
  background-color: var(--color-primary);
  border-radius: 10px;
}

.form.type_2 .response--success .figure__tip {
  width: 2.4em;
  top: 4.3em;
  left: 1.4em;
  transform: rotate(45deg);
  background-color: var(--color-primary);
  animation: tipInPlace 300ms ease-in-out;
  animation-fill-mode: forwards;
  animation-delay: 180ms;
  visibility: hidden;
}

.form.type_2 .response--success .figure__long {
  transform: rotate(-45deg);
  animation: longInPlace 140ms ease-in-out;
  animation-fill-mode: forwards;
  background-color: var(--color-primary);
  visibility: hidden;
  animation-delay: 440ms;
}

@keyframes showSuccess {
  from {
    transform: scale(0);
  }

  to {
    transform: scale(1);
  }
}

@keyframes tipInPlace {
  from {
    width: 0em;
    top: 0em;
    left: -1.6em;
  }

  to {
    width: 2.4em;
    top: 4.3em;
    left: 1.4em;
    visibility: visible;
  }
}

@keyframes longInPlace {
  from {
    width: 0em;
    top: 5.1em;
    left: 3.2em;
  }

  to {
    width: 4em;
    top: 3.7em;
    left: 2.75em;
    visibility: visible;
  }
}

.form.type_2 .response--success .response__text {
  animation: scaleText 180ms ease-in-out;
}

.form.type_2 .response--success .response__inner--success {
  opacity: 1;
}

.form.type_2 .response--success~* {
  opacity: 0;
}

.form.type_2 .response--error {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
  width: 100%;
  height: 100%;
}

.form.type_2 .response--error .response__text {
  animation: scaleText 180ms ease-in-out;
}

.form.type_2 .response--error .response__inner--error {
  opacity: 1;
}

.form.type_2 .response--error~* {
  opacity: 0;
}

.form.type_2 .response .figure {
  width: 160px;
  height: 160px;
}

.form.type_2 .response__inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  transition: opacity ease 400ms;
  opacity: 0;
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  margin-bottom: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: fit-content;
  height: fit-content;
}

.form.type_2 .response__svg {
  width: 180px;
}

.form.type_2 .response__svg path {
  fill: cl(primary);
}

.form.type_2 .response__text {
  display: none;
  margin-top: 15px;
  font-family: var(--font-1_Regular);
  color: cl(primary);
  font-size: 24px;
  line-height: 32px;
}

@keyframes scaleText {
  from {
    transform: scale(0);
  }

  to {
    transform: scale(1);
  }
}

.form.type_2 .response .loader {
  display: block;
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 2s linear infinite;
}

.form.type_2 .response .loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 3s linear infinite;
}

.form.type_2 .response .loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 1.5s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.form.type_2 .wpcf7 {
  display: flex;
  position: relative;
}

.form.type_2 .wpcf7-form-control-wrap {
  display: contents;
}

.form.type_2 .wpcf7-not-valid-tip {
  display: none;
}

.form.type_2 .wpcf7-spinner {
  display: none;
}

.form.type_2 .wpcf7-response-output {
  display: none;
}

.form.type_2 .wpcf7-not-valid {
  border-color: red !important;
}

.form.type_2 .codedropz-upload-inner {
  display: contents;
}

.form.type_2 .codedropz-upload-inner h3,
.form.type_2 .codedropz-upload-inner span {
  display: none;
}

.form.type_2 .codedropz-upload-handler {
  display: contents;
  border: 1px solid transparent;
}

.form.type_2 .codedropz-upload-container {
  display: contents;
}

.form.type_2 .codedropz-upload-wrapper .dnd-upload-counter {
  display: none;
}

.form.type_2 .codedropz-upload-btn-wrap {
  display: contents;
}

.form.type_2 .dnd-upload-status {
  flex-wrap: wrap;
}

@media (max-width: 575px) {
  .form.type_2 .dnd-upload-details .name {
    padding-right: 0px;
  }

  .form.type_2 .dnd-upload-status {
    flex-direction: column;
  }
}

.form.type_2 .response .loader {
  border-top-color: var(--color-light);
}

.form.type_2 .response .loader:before {
  border-top-color: var(--color-light);
}

.form.type_2 .response .loader:after {
  border-top-color: var(--color-light);
}

.form.type_2 .response .figure--success {
  border-color: var(--color-light);
}

.form.type_2 .response .figure--success .figure__tip {
  background-color: var(--color-light);
}

.form.type_2 .response .figure--success .figure__long {
  background-color: var(--color-light);
}

.form.type_2 form {
  display: grid;
  grid-template-columns: 100%;
  grid-row-gap: 15px;
  width: 100%;
}

.form.type_2 form input:not([type=submit]):not([type=checkbox]),
.form.type_2 form textarea,
.form.type_2 form select {
  width: 100%;
  resize: none;
  padding: 15px 40px;
  border: 1px solid var(--color-light);
  background-color: var(--color-primary);
  border-radius: 100px;
  color: var(--color-primary);
  font-family: var(--font-1_Medium);
  appearance: none;
  transition: border-color ease-in-out 300ms, background-color ease-in-out 300ms;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  color: var(--color-light);
}

.form.type_2 form input:not([type=submit]):not([type=checkbox]):hover,
.form.type_2 form textarea:hover,
.form.type_2 form select:hover {
  border-color: none;
  background-color: #ff842a;
}

.form.type_2 form input:not([type=submit]):not([type=checkbox])::placeholder,
.form.type_2 form textarea::placeholder,
.form.type_2 form select::placeholder {
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  color: var(--color-light);
}

.form.type_2 form label.select {
  position: relative;
}

.form.type_2 form label.select.active:before {
  transform: scale(-1);
}

.form.type_2 form label.select:before {
  position: absolute;
  content: "";
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15 1L8 8L1 1" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> </svg>');
  transition: transform ease-in-out 400ms;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  width: 15px;
  height: 15px;
  top: calc(50% - 7.5px);
  right: 15px;
}

.form.type_2 form input[type=submit] {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  font-family: var(--font-1_Medium);
  font-size: 20px;
  line-height: 100%;
  height: 80px;
  padding: 0 15px;
  border-radius: 100px;
  transition: transform ease 300ms, background-color ease 300ms, color ease 300ms;
  overflow: hidden;
  background-color: var(--color-light);
  color: var(--color-primary);
  height: 60px;
}

@media (max-width: 1199px) {
  .form.type_2 form input[type=submit] {
    font-size: calc(0.0045454545 * 100vw + 14.5454545455px);
  }
}

@media (max-width: 1199px) {
  .form.type_2 form input[type=submit] {
    height: calc(0.0340909091 * 100vw + 39.0909090909px);
  }
}

.form.type_2 form input[type=submit]:hover {
  color: var(--color-light);
  transform: scale(1.1);
  background-color: var(--color-hover);
}

.form.type_2 form .card {
  display: grid;
  grid-row-gap: 30px;
  grid-area: card;
  padding: 40px;
  border: 1px solid cl(background-dark-3);
}

.form.type_2 form .card .fields {
  display: grid;
  grid-row-gap: 20px;
}

.form.type_2 form .card .title {
  color: cl(text);
  font-family: var(--font-1_Medium);
  font-weight: 500;
}

.form.type_2 form .upload {
  min-height: 500px;
  position: relative;
  grid-area: upload;
  border: 1px solid cl(background-dark-3);
  background-color: cl(background-dark-2);
  padding: 40px;
  transition: transform ease-in-out 0.5s, box-shadow ease-in-out 0.5s;
}

.form.type_2 form .upload:hover {
  transform: scale(1.03);
  box-shadow: 0px 0px 20px 8px var(--color-primary);
}

.form.type_2 form .upload:before {
  position: absolute;
  display: flex;
  background-size: contain;
  width: 80%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="590" height="426" viewBox="0 0 590 426" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="1" y="1" width="588" height="424" fill="transparent" stroke="black" stroke-width="2" stroke-dasharray="10 10" /> <path d="M305.042 261.208C326.12 261.208 343.208 244.12 343.208 223.042C343.208 201.963 326.12 184.875 305.042 184.875C283.963 184.875 266.875 201.963 266.875 223.042C266.875 244.12 283.963 261.208 305.042 261.208Z" fill="black" /> <path d="M390.917 146.708H355.885C352.06 146.708 348.468 145.218 345.761 142.515L337.86 134.614C333.354 130.108 327.363 127.625 320.99 127.625H289.094C282.72 127.625 276.729 130.108 272.223 134.614L264.322 142.515C261.615 145.218 258.023 146.708 254.198 146.708H238.25V141.938C238.25 139.3 236.116 137.167 233.479 137.167H214.396C211.759 137.167 209.625 139.3 209.625 141.938V146.708H200.083C189.558 146.708 181 155.267 181 165.792V280.292C181 290.817 189.558 299.375 200.083 299.375H390.917C401.442 299.375 410 290.817 410 280.292V165.792C410 155.267 401.442 146.708 390.917 146.708ZM238.25 189.646C238.25 192.283 236.116 194.417 233.479 194.417H214.396C211.759 194.417 209.625 192.283 209.625 189.646V180.104C209.625 177.467 211.759 175.333 214.396 175.333H233.479C236.117 175.333 238.25 177.467 238.25 180.104V189.646H238.25ZM305.042 270.75C278.736 270.75 257.333 249.347 257.333 223.042C257.333 196.736 278.736 175.333 305.042 175.333C331.347 175.333 352.75 196.737 352.75 223.042C352.75 249.346 331.347 270.75 305.042 270.75Z" fill="black" /> </svg>');
}

.form.type_2 form .upload__content {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 40px;
  border: 2px dashed cl(background-dark-3);
  position: relative;
}

.form.type_2 form .upload__title {
  font-family: var(--font-1_Medium);
  font-weight: 500;
  color: cl(text);
  margin-bottom: 20px;
}

.form.type_2 form .upload__subtitle {
  font-family: var(--font-1_Medium);
  font-weight: 500;
  color: cl(background-dark-4);
}

.form.type_2 form .upload__mark {
  font-family: var(--font-1_Medium);
  font-weight: 500;
  color: cl(primary);
  font-family: var(--font-1_Medium);
  font-size: 44px;
  line-height: 100%;
  margin-top: auto;
}

@media (max-width: 1199px) {
  .form.type_2 form .upload__mark {
    font-size: calc(0.05 * 100vw + -16px);
    font-size: calc(0.0295454545 * 100vw + 8.5454545455px);
  }
}

.form.type_2 form .upload__image {
  display: none;
}

.form.type_2 form .upload.load .upload__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: cl(background-dark-2);
  display: block;
}

.form.type_2 form .upload.load .upload__image img {
  object-fit: contain;
}

.form.type_2 form .upload.load .upload__close {
  z-index: 5;
  width: 30px;
  height: 30px;
  cursor: pointer;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-dark);
  transition: transform ease-out 400ms, background-color ease 200ms;
  left: 0;
  right: 0;
  top: 20px;
  margin: auto;
}

.form.type_2 form .upload.load .upload__close:hover {
  transform: scale(1.1);
}

.form.type_2 form .upload.load .upload__close:hover:before {
  filter: var(--color-primary--filter);
}

.form.type_2 form .upload.load .upload__close:before {
  content: "";
  filter: var(--color-primary--filter);
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0.419325 0.419325C0.687899 0.150831 1.05212 0 1.43188 0C1.81164 0 2.17586 0.150831 2.44444 0.419325L7.50865 5.48354L12.5729 0.419325C12.843 0.15844 13.2047 0.0140841 13.5803 0.0173472C13.9558 0.0206103 14.315 0.171232 14.5805 0.436771C14.8461 0.70231 14.9967 1.06152 14.9999 1.43703C15.0032 1.81255 14.8589 2.17432 14.598 2.44444L9.53376 7.50865L14.598 12.5729C14.8589 12.843 15.0032 13.2047 14.9999 13.5803C14.9967 13.9558 14.8461 14.315 14.5805 14.5805C14.315 14.8461 13.9558 14.9967 13.5803 14.9999C13.2047 15.0032 12.843 14.8589 12.5729 14.598L7.50865 9.53376L2.44444 14.598C2.17432 14.8589 1.81255 15.0032 1.43703 14.9999C1.06152 14.9967 0.70231 14.8461 0.436771 14.5805C0.171232 14.315 0.0206103 13.9558 0.0173472 13.5803C0.0140841 13.2047 0.15844 12.843 0.419325 12.5729L5.48354 7.50865L0.419325 2.44444C0.150831 2.17586 0 1.81164 0 1.43188C0 1.05212 0.150831 0.687899 0.419325 0.419325Z" fill="black" /> </svg>');
  background-repeat: no-repeat;
  background-size: 40%;
  background-position: center;
  width: 100%;
  height: 100%;
}

.form.type_2 form .upload .cd-upload-btn {
  opacity: 0;
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  display: flex;
  left: 0;
  top: 0;
}

.form.type_2 form .upload .wpcf7-file {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 1199px) {
  .form.type_2 form .upload {
    min-height: auto;
  }
}

@media (max-width: 575px) {
  .form.type_2 form .upload {
    min-height: auto;
    padding: 15px;
  }

  .form.type_2 form .upload__content {
    padding: 15px;
  }

  .form.type_2 form .upload__title {
    font-size: 18px;
  }

  .form.type_2 form .upload__subtitle {
    font-size: 14px;
  }

  .form.type_2 form .upload__mark {
    font-size: 14px;
    margin-top: 15px;
  }
}

/*#region ------ Default --- */
.logo {
  width: fit-content;
  height: fit-content;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: calc(100% + 5px);
  margin-left: -5px;
  margin-top: -5px;
  color: var(--color-shade_1);
}

.breadcrumbs>* {
  padding: 5px;
}

.breadcrumbs * {
  color: var(--color-shade_1);
  transition: color ease 200ms;
}

.breadcrumbs *:hover * {
  color: var(--color-hover);
}

.breadcrumbs *.current-item {
  color: var(--color-primary);
}

.breadcrumbs *.home:hover * {
  color: var(--color-primary);
}

.image {
  width: fit-content;
  height: fit-content;
}

.user--first-view .preloader {
  opacity: 1;
  transition: all ease 600ms !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 100;
  background-color: cl(dark);
}

.user--first-view .preloader .loader {
  display: block;
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 2s linear infinite;
  border-top-color: cl(primary);
  transition: opacity ease-in-out 300ms !important;
  position: absolute;
}

.user--first-view .preloader .loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 3s linear infinite;
}

.user--first-view .preloader .loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 1.5s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.user--first-view .preloader .loader:before {
  border-top-color: cl(primary);
}

.user--first-view .preloader .loader:after {
  border-top-color: cl(primary);
}

.user--first-view .preloader--finish {
  opacity: 0;
}

.user--first-view .preloader--finish+.page__wrapper {
  opacity: 1 !important;
}

.user--first-view .preloader+.page__wrapper {
  transition: opacity ease-in-out 500ms !important;
  opacity: 0;
}

.user--first-view .page__wrapper {
  opacity: 1;
  transition: opacity ease 300ms;
}

.trap {
  display: none;
}

.grampus {
  border-top: 1px solid var(--color-shade_1);
}

.grampus__inner {
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.grampus__link {
  display: flex;
  align-items: center;
  color: var(--color-light);
}

.grampus__link:hover {
  color: cl(text);
}

.grampus__link-developt {
  font-family: var(--font-1_Regular);
}

.grampus__link-developt span {
  flex-shrink: 0;
}

.grampus__link-developt svg {
  margin-left: 15px;
}

.grampus__link-developt svg path {
  fill: cl(dark);
  transition: all ease-in-out 400ms;
}

.grampus__link-developt svg:hover path {
  fill: cl(text);
}

@media (max-width: 575px) {
  .grampus .container {
    padding: 0;
  }

  .grampus .grampus__inner {
    flex-direction: column;
  }

  .grampus .grampus__inner>*:first-child {
    margin-bottom: 20px;
  }
}

.content_1 {
  display: grid;
  grid-auto-rows: min-content;
  grid-row-gap: 15px;
}

.content_1 * {
  line-height: 150%;
  color: var(--color-dark);
}

.content_1 strong {
  font-family: var(--font-1_Black);
}

.content_1 ul {
  display: grid;
  grid-row-gap: 10px;
}

.content_1 ul li {
  display: flex;
}

.content_1 ul li {
  display: flex;
  align-items: baseline;
}

.content_1 ul li:hover:before {
  background-color: var(--color-primary);
}

.content_1 ul li:before {
  flex-shrink: 0;
  content: "";
  transition: background-color ease 400ms;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-primary);
  margin-right: 12px;
}

.content_1 ol {
  display: grid;
  grid-row-gap: 10px;
  counter-reset: num;
}

.content_1 ol li {
  display: flex;
}

.content_1 ol li:before {
  content: counter(num) ".";
  counter-increment: num;
  margin-right: 10px;
}

.content_1 hr {
  height: 2px;
  background-color: var(--color-light);
}

.content_1 em {
  display: contents;
}

.content_1 h1 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.content_1 h2 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.content_1 h3 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.content_1 h4 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.content_1 h5 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.content_1 h6 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

@media (max-width: 1199px) {
  .content_1 h1 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .content_1 h2 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .content_1 h3 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .content_1 h4 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .content_1 h5 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .content_1 h6 {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.loader.type_1 {
  display: block;
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 2s linear infinite;
}

.loader.type_1:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 3s linear infinite;
}

.loader.type_1:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary);
  animation: spin 1.5s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*#endregion*/
/*#region ------ Library --- */
.separate--text .hide {
  display: none;
}

.separate--items .hide {
  display: none;
}

.separate__link {
  display: block;
  width: fit-content;
  text-decoration-line: underline;
  color: var(--color-dark) !important;
}

.separate__link:hover {
  color: var(--color-primary) !important;
}

.fstextbox-container svg {
  width: fit-content;
  height: fit-content;
}

/*#endregion*/
/*#region ------ Wordpress Gutenberg --- */
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
  position: relative;
  padding: 56.25% 0px 0px 0px;
}

.wp-block-embed.wp-embed-aspect-16-9 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wp-block-cover,
.wp-block-group {
  padding: 60px 15px;
  display: grid;
  grid-auto-rows: min-content;
  grid-row-gap: 15px;
}

.wp-block-cover *,
.wp-block-group * {
  line-height: 150%;
  color: var(--color-dark);
}

.wp-block-cover strong,
.wp-block-group strong {
  font-family: var(--font-1_Black);
}

.wp-block-cover ul,
.wp-block-group ul {
  display: grid;
  grid-row-gap: 10px;
}

.wp-block-cover ul li,
.wp-block-group ul li {
  display: flex;
}

.wp-block-cover ul li,
.wp-block-group ul li {
  display: flex;
  align-items: baseline;
}

.wp-block-cover ul li:hover:before,
.wp-block-group ul li:hover:before {
  background-color: var(--color-primary);
}

.wp-block-cover ul li:before,
.wp-block-group ul li:before {
  flex-shrink: 0;
  content: "";
  transition: background-color ease 400ms;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-primary);
  margin-right: 12px;
}

.wp-block-cover ol,
.wp-block-group ol {
  display: grid;
  grid-row-gap: 10px;
  counter-reset: num;
}

.wp-block-cover ol li,
.wp-block-group ol li {
  display: flex;
}

.wp-block-cover ol li:before,
.wp-block-group ol li:before {
  content: counter(num) ".";
  counter-increment: num;
  margin-right: 10px;
}

.wp-block-cover hr,
.wp-block-group hr {
  height: 2px;
  background-color: var(--color-light);
}

.wp-block-cover em,
.wp-block-group em {
  display: contents;
}

.wp-block-cover h1,
.wp-block-group h1 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover h2,
.wp-block-group h2 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover h3,
.wp-block-group h3 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover h4,
.wp-block-group h4 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover h5,
.wp-block-group h5 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover h6,
.wp-block-group h6 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

@media (max-width: 1199px) {

  .wp-block-cover h1,
  .wp-block-group h1 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover h2,
  .wp-block-group h2 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover h3,
  .wp-block-group h3 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover h4,
  .wp-block-group h4 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover h5,
  .wp-block-group h5 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover h6,
  .wp-block-group h6 {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.wp-block-cover .wp-block-cover__inner-container,
.wp-block-cover .wp-block-group__inner-container,
.wp-block-group .wp-block-cover__inner-container,
.wp-block-group .wp-block-group__inner-container {
  width: 100%;
  max-width: 1170px;
  display: grid;
  grid-auto-rows: min-content;
  grid-row-gap: 15px;
}

.wp-block-cover .wp-block-cover__inner-container *,
.wp-block-cover .wp-block-group__inner-container *,
.wp-block-group .wp-block-cover__inner-container *,
.wp-block-group .wp-block-group__inner-container * {
  line-height: 150%;
  color: var(--color-dark);
}

.wp-block-cover .wp-block-cover__inner-container strong,
.wp-block-cover .wp-block-group__inner-container strong,
.wp-block-group .wp-block-cover__inner-container strong,
.wp-block-group .wp-block-group__inner-container strong {
  font-family: var(--font-1_Black);
}

.wp-block-cover .wp-block-cover__inner-container ul,
.wp-block-cover .wp-block-group__inner-container ul,
.wp-block-group .wp-block-cover__inner-container ul,
.wp-block-group .wp-block-group__inner-container ul {
  display: grid;
  grid-row-gap: 10px;
}

.wp-block-cover .wp-block-cover__inner-container ul li,
.wp-block-cover .wp-block-group__inner-container ul li,
.wp-block-group .wp-block-cover__inner-container ul li,
.wp-block-group .wp-block-group__inner-container ul li {
  display: flex;
}

.wp-block-cover .wp-block-cover__inner-container ul li,
.wp-block-cover .wp-block-group__inner-container ul li,
.wp-block-group .wp-block-cover__inner-container ul li,
.wp-block-group .wp-block-group__inner-container ul li {
  display: flex;
  align-items: baseline;
}

.wp-block-cover .wp-block-cover__inner-container ul li:hover:before,
.wp-block-cover .wp-block-group__inner-container ul li:hover:before,
.wp-block-group .wp-block-cover__inner-container ul li:hover:before,
.wp-block-group .wp-block-group__inner-container ul li:hover:before {
  background-color: var(--color-primary);
}

.wp-block-cover .wp-block-cover__inner-container ul li:before,
.wp-block-cover .wp-block-group__inner-container ul li:before,
.wp-block-group .wp-block-cover__inner-container ul li:before,
.wp-block-group .wp-block-group__inner-container ul li:before {
  flex-shrink: 0;
  content: "";
  transition: background-color ease 400ms;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-primary);
  margin-right: 12px;
}

.wp-block-cover .wp-block-cover__inner-container ol,
.wp-block-cover .wp-block-group__inner-container ol,
.wp-block-group .wp-block-cover__inner-container ol,
.wp-block-group .wp-block-group__inner-container ol {
  display: grid;
  grid-row-gap: 10px;
  counter-reset: num;
}

.wp-block-cover .wp-block-cover__inner-container ol li,
.wp-block-cover .wp-block-group__inner-container ol li,
.wp-block-group .wp-block-cover__inner-container ol li,
.wp-block-group .wp-block-group__inner-container ol li {
  display: flex;
}

.wp-block-cover .wp-block-cover__inner-container ol li:before,
.wp-block-cover .wp-block-group__inner-container ol li:before,
.wp-block-group .wp-block-cover__inner-container ol li:before,
.wp-block-group .wp-block-group__inner-container ol li:before {
  content: counter(num) ".";
  counter-increment: num;
  margin-right: 10px;
}

.wp-block-cover .wp-block-cover__inner-container hr,
.wp-block-cover .wp-block-group__inner-container hr,
.wp-block-group .wp-block-cover__inner-container hr,
.wp-block-group .wp-block-group__inner-container hr {
  height: 2px;
  background-color: var(--color-light);
}

.wp-block-cover .wp-block-cover__inner-container em,
.wp-block-cover .wp-block-group__inner-container em,
.wp-block-group .wp-block-cover__inner-container em,
.wp-block-group .wp-block-group__inner-container em {
  display: contents;
}

.wp-block-cover .wp-block-cover__inner-container h1,
.wp-block-cover .wp-block-group__inner-container h1,
.wp-block-group .wp-block-cover__inner-container h1,
.wp-block-group .wp-block-group__inner-container h1 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover .wp-block-cover__inner-container h2,
.wp-block-cover .wp-block-group__inner-container h2,
.wp-block-group .wp-block-cover__inner-container h2,
.wp-block-group .wp-block-group__inner-container h2 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover .wp-block-cover__inner-container h3,
.wp-block-cover .wp-block-group__inner-container h3,
.wp-block-group .wp-block-cover__inner-container h3,
.wp-block-group .wp-block-group__inner-container h3 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover .wp-block-cover__inner-container h4,
.wp-block-cover .wp-block-group__inner-container h4,
.wp-block-group .wp-block-cover__inner-container h4,
.wp-block-group .wp-block-group__inner-container h4 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover .wp-block-cover__inner-container h5,
.wp-block-cover .wp-block-group__inner-container h5,
.wp-block-group .wp-block-cover__inner-container h5,
.wp-block-group .wp-block-group__inner-container h5 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

.wp-block-cover .wp-block-cover__inner-container h6,
.wp-block-cover .wp-block-group__inner-container h6,
.wp-block-group .wp-block-cover__inner-container h6,
.wp-block-group .wp-block-group__inner-container h6 {
  line-height: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
  color: var(--color-dark);
}

@media (max-width: 1199px) {

  .wp-block-cover .wp-block-cover__inner-container h1,
  .wp-block-cover .wp-block-group__inner-container h1,
  .wp-block-group .wp-block-cover__inner-container h1,
  .wp-block-group .wp-block-group__inner-container h1 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover .wp-block-cover__inner-container h2,
  .wp-block-cover .wp-block-group__inner-container h2,
  .wp-block-group .wp-block-cover__inner-container h2,
  .wp-block-group .wp-block-group__inner-container h2 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover .wp-block-cover__inner-container h3,
  .wp-block-cover .wp-block-group__inner-container h3,
  .wp-block-group .wp-block-cover__inner-container h3,
  .wp-block-group .wp-block-group__inner-container h3 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover .wp-block-cover__inner-container h4,
  .wp-block-cover .wp-block-group__inner-container h4,
  .wp-block-group .wp-block-cover__inner-container h4,
  .wp-block-group .wp-block-group__inner-container h4 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover .wp-block-cover__inner-container h5,
  .wp-block-cover .wp-block-group__inner-container h5,
  .wp-block-group .wp-block-cover__inner-container h5,
  .wp-block-group .wp-block-group__inner-container h5 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-cover .wp-block-cover__inner-container h6,
  .wp-block-cover .wp-block-group__inner-container h6,
  .wp-block-group .wp-block-cover__inner-container h6,
  .wp-block-group .wp-block-group__inner-container h6 {
    margin-top: 0;
    margin-bottom: 0;
  }
}

@media (max-width: 575px) {

  .wp-block-cover .wp-block-spacer,
  .wp-block-group .wp-block-spacer {
    display: none;
  }
}

@media (max-width: 1199px) {

  .wp-block-cover,
  .wp-block-group {
    padding: calc(0.0340909091 * 100vw + 19.0909090909px) 15px;
  }
}

.alignfull * {
  width: 100%;
}

.padding-none {
  padding: 0;
}

.padding-none_top {
  padding-top: 0;
}

.padding-none_bottom {
  padding-bottom: 0;
}

.wp-block-columns {
  margin-bottom: 0px;
}

.wp-block-image {
  margin: 0px;
}

/* .component_form_1 {
  display: none !important;
} */

.component_content_5 .component__links .btn.type_1 {
  /* display: none !important; */
  text-align: center;
}

.component_list_4 .sidebar {
  display: none !important;
}

.component_list_4 .component__inner {
  grid-template-columns: 1fr !important;
}

.component_form_1 .group {
  /* display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px; */

  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (max-width: 767px) {
  .page--front .component_banner .component__title {
    padding-top: 85px;
  }
}

.cf7-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 15px 0;
}

.cf7-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}

.cf7-checkbox input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  margin: 0;
  margin-top: 3px;
  cursor: pointer;
  border-radius: 4px;
  border: 2px solid var(--color-primary);
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  transition: background 0.2s, border-color 0.2s;
}

.cf7-checkbox input[type="checkbox"]:checked {
  background: var(--color-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l3 3 7-7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 10px;
}

.cf7-checkbox span {
  flex: 1;
  line-height: 1.4;
  font-family: var(--font-1_Regular);
  font-size: 14px;
  color: var(--color-dark);
}

.cf7-checkbox span a {
  color: var(--color-primary);
  text-decoration: underline;
}

.cf7-checkbox span a:hover {
  color: var(--color-hover);
}

/* acceptance внутри cf7-checkbox */
.cf7-checkbox .wpcf7-form-control-wrap {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.cf7-checkbox .wpcf7-list-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.cf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-family: var(--font-1_Regular);
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-dark);
}

.cf7-checkbox .wpcf7-list-item-label {
  flex: 1;
}

.component_form_1 {
  position: relative;
  z-index: 2;
}

.wp-block-group .wp-block-group__inner-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

.component_form_1 .component__inner.style_1 {
  grid-template-columns: repeat(2, 1fr);
  padding: 60px 100px;
}

.component_form_1.component_03142b9e4ee45ba6f1c9c885878e65fb .component__inner[style*="background-image"] {
  background-size: 50% !important;
  background-position: left top !important;
  background-repeat: no-repeat;
}

@media (max-width:1199px) {
  .component_form_1.component_03142b9e4ee45ba6f1c9c885878e65fb .component__inner[style*="background-image"] {
    background-image: none !important;
  }
}

.component.component_form_1.component_03142b9e4ee45ba6f1c9c885878e65fb .component__info {
  display: flex;
  align-items: center;
}


.component.component_form_1.component_47e88bd3e26c5482790d723795cd685b .component__inner.style_1 {
  background-size: contain;

}

.component_form_1 .component__inner.style_2>.container {
  grid-template-columns: repeat(2, 1fr) !important;
}

.component_form_1 .component__inner.style_2>.container .cf7-checkbox input[type="checkbox"] {
  border-color: #fff;
}

.component_slider_1 .card__mark {
  right: 0 !important;
  border-radius: 10px 0px 0px 10px !important;
}
.component_slider_1 .card__mark .card {
  border-radius: 10px!important;
}

/*#endregion*/