/*============= ALIGNES ===============*/
@import url('https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&family=Onest:wght@100..900&family=Raleway:ital,wght@0,100..900;1,100..900&family=Unbounded:wght@200..900&display=swap');

:root {
  --transition: all .3s ease-in-out;
  --font-family: "Onest", sans-serif;
  --second-family: "Geologica", sans-serif;
  --third-family: "Unbounded", sans-serif;
  --font3: "Raleway", sans-serif;
}

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff; /* Белый фон (измените под ваш дизайн) */
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.preloader-content {
  text-align: center;
}

.preloader-logo {
  max-width: 200px; /* Размер логотипа */
  height: auto;
  margin-bottom: 20px; /* Отступ от спиннера */
  animation: pulse 1.5s infinite ease-in-out; /* Анимация пульсации */
}

::selection {
  background-color: var(--primary);
  color: var(--card);
}

.alignwide {
  width: 100%;
}

.alignfull {
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  max-width: 1920px;
}

@media only screen and (min-width: 1920px) {
  .alignfull {
    width: 100vw !important;
    max-width: unset;
  }
}

/* =========== BASE CONFIG =========== */
html {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font-family: var(--font-family);
  font-weight: 400;
  box-sizing: inherit;
}

body {
  background-color: var(--card);
  overflow-x: hidden;
  margin: 0 auto;
  width: auto;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

a {
  font-weight: 600;
  font-size: 16px;
  line-height: 130%;
  color: var(--main-text);
  transition: var(--transition);
}

ul li {
  list-style-position: inside;
}

ul li::marker {
  color: var(--primary);
}

ol li {
  list-style-position: inside;
}

p,
.p2 {
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
}

.p1 {
  font-weight: 400;
  font-size: clamp(1.125rem, 1.023rem + 0.51vw, 1.5rem);
  line-height: 130%;
}

.p1-1 {
  font-weight: 400;
  font-size: 20px;
  line-height: 130%;
}

.p1-2 {
  font-weight: 600;
  font-size: 20px;
  line-height: 130%;
}

.p2-1 {
  font-weight: 600;
  font-size: 16px;
  line-height: 130%;
}

.p3 {
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
}

h1,
.page-title {
  font-family: var(--second-family);
  font-weight: 700;
  /* font-size: 50px; */
  font-size: clamp(1.875rem, 1.536rem + 1.69vw, 3.125rem);
  line-height: 120%;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

h1 span,
.page-title span {
  color: var(--primary);
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

h2,
.h2 {
  font-family: var(--second-family);
  font-weight: 700;
  /* font-size: 44px; */
  font-size: clamp(1.5rem, 1.161rem + 1.69vw, 2.75rem);
  line-height: 120%;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

h2 span,
.h2 span {
  color: var(--primary);
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

h3,
.h3 {
  font-family: var(--second-family);
  font-weight: 600;
  /* font-size: 30px; */
  font-size: clamp(1.375rem, 1.239rem + 0.68vw, 1.875rem);
  line-height: 120%;
  letter-spacing: -0.02em;
}

h4,
.h4 {
  font-family: var(--second-family);
  font-weight: 600;
  /* font-size: 24px; */
  font-size: clamp(1.125rem, 1.023rem + 0.51vw, 1.5rem);
  line-height: 120%;
  letter-spacing: -0.02em;
}

h5,
.h5 {
  font-family: var(--second-family);
  font-weight: 600;
  /* font-size: 20px; */
  font-size: clamp(1rem, 0.932rem + 0.34vw, 1.25rem);
  line-height: 120%;
  letter-spacing: -0.02em;
}

h6,
.h6 {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 16px;
  line-height: 120%;
  letter-spacing: -0.01em;
}

.title {
  margin-bottom: clamp(1.25rem, 0.911rem + 1.69vw, 2.5rem);
}

main.foned {
  position: relative;
  overflow: hidden;
  z-index: 999;
}

main.foned:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

.breadcrumbs {
  padding: 20px 0;
  font-size: 16px;
  line-height: 18px;
  color: var(--head);
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
}

.breadcrumbs span {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  transition: var(--transition);
  text-decoration: none;
}

.breadcrumbs span a {
  text-decoration: none;
}

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

.error-page .current-item span {
  color: var(--primary);
}

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

.block {
  padding: clamp(1.25rem, 0.911rem + 1.69vw, 2.5rem) 0;
}

.btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  outline: none;
  border: none;
  cursor: pointer;
  transition: var(--transition);
  background: var(--primary);
  border-radius: 5px;
  padding: 13px 35px;
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  color: var(--card);
  text-decoration: none;
  text-align: center;
}

.page-privacy h2 {
  margin: 20px 0;
  margin-top: 30px;
  font-size: clamp(1.125rem, 0.684rem + 2.2vw, 2.75rem);
}

.page-privacy p,
.page-privacy table {
  margin-bottom: 20px;
}

.btn.invert {
  background: var(--card);
  color: var(--primary);
}

.btn.bordered {
  border: 1px solid var(--primary);
  color: var(--primary);
  background: transparent;
}

.btn.transparent {
  background: transparent;
  color: var(--card);
}

#main,
#primary {
  min-height: 83vh;
}

.icon__holder img,
.icon__holder svg {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

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

svg,
svg path,
svg g path {
  transition: var(--transition);
}

.soc__holder {
  display: flex;
  gap: 10px;
  align-items: center;
}

.soc__item {
  border-radius: 5px;
  /* padding: 20px; */
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  flex-shrink: 0;
}

.soc__item svg {
  height: 20px;
  width: 20px;
  object-fit: contain;
}

.soc__item svg path {
  fill: var(--card);
  height: 20px;
  width: 20px;
}

.soc__item.whatsapp {
  background: #60D669;
}

.soc__item.telegram {
  background: #2d9cdb;
}

.soc__item.vk {
  background: #2f80ed;
}

input {
  transition: var(--transition);
  outline: none;
  border: 1px solid var(--stroke);
  border-radius: 5px;
  padding: 16px 25px;
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  color: var(--main-text);
  background-color: var(--card);
  width: 100%;
  height: 50px;
}

input::placeholder {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  color: var(--main-text);
  transition: var(--transition);
}

input:hover::placeholder,
input:focus::placeholder {
  color: var(--primary);
}

input:hover,
input:focus {
  border: 1px solid #000000;
  color: var(--primary);
}

input.error {
  border: 1px solid red;
  color: red;
}

input.error::placeholder {
  color: red;
}

.form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.form .btn {
  margin-top: 10px;
}

.form__privacy {
  color: var(--stroke);
}

.form__privacy a {
  color: var(--stroke);
}

.swiper__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: clamp(1.875rem, 1.706rem + 0.85vw, 2.5rem);
}

.swiper__buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}

.swiper-btn {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 10px;
  border: 1px solid var(--primary);
  transition: var(--transition);
  cursor: pointer;
}

.swiper-btn svg path {
  stroke: var(--primary);
}

.swiper-btn svg {
  height: 24px;
  width: 24px;
  object-fit: contain;
}

.swiper-button-disabled,
.swiper-button-disabled:hover {
  background: var(--stroke);
  border: 1px solid var(--stroke);
  cursor: default;
}

.swiper-button-disabled svg path,
.swiper-button-disabled:hover svg path {
  stroke: var(--main-text);
}

.swiper-pagination {
  position: relative !important;
  width: fit-content !important;
}

.swiper-pagination-bullet {
  transition: var(--transition) !important;
  border-radius: 30px !important;
  width: 15px !important;
  height: 6px !important;
  background: var(--stroke) !important;
  opacity: 1 !important;
}

.swiper-pagination-bullet-active {
  background: var(--primary) !important;
  width: 35px !important;
}

/*============ HEADER =================*/
#header {
  position: sticky;
  top: 0;
  z-index: 999;
  background-color: var(--card);
  border-bottom: 1px solid var(--stroke);
}

#header .container {
  display: flex;
  justify-content: space-between;
  gap: clamp(0.938rem, 0.683rem + 1.27vw, 1.875rem);
  padding-top: 15px;
  padding-bottom: 20px;
}

#header .logo__holder {
  display: flex;
  align-items: center;
  gap: clamp(0.625rem, 0.456rem + 0.85vw, 1.25rem);
  text-decoration: none;
}

#header .logo__img {
  max-width: 100px;
  max-height: 100px;
  width: 100%;
  height: 100%;
  object-fit: contain;
  min-width: 70px;
}

#header .sitename {
  font-family: var(--second-family);
  font-weight: 600;
  /* font-size: 17px; */
  font-size: clamp(0.75rem, 0.665rem + 0.42vw, 1.063rem);
  line-height: 120%;
  text-transform: uppercase;
  color: var(--head);
  display: flex;
  flex-direction: column;
  gap: clamp(0rem, -0.068rem + 0.34vw, 0.25rem);
  white-space: nowrap;
  text-decoration: none;
}

#header .sitename span {
  /* font-size: 31px; */
  font-size: clamp(1rem, 0.746rem + 1.27vw, 1.938rem);
  font-weight: inherit;
  line-height: 120%;
  color: inherit;
  display: block;
}

#header .header__wrap {
  display: flex;
  flex-direction: column;
  max-width: 1095px;
  width: 100%;
}

#header .header__menu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  list-style: none;
  padding-top: 15px;
  border-top: 1px solid var(--stroke);
}

#header .header__menu .nav-menu-element a {
  text-decoration: none;
  position: relative;
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  text-align: center;
}

#header .header__menu .nav-menu-element a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: -1px;
  right: 0;
  width: calc(100% + 2px);
  opacity: 0;
  height: 1px;
  background: var(--primary);
  transition: var(--transition);
}

#header .header__upper {
  display: flex;
  justify-content: space-between;
  padding-bottom: 15px;
  gap: clamp(0.313rem, 0.058rem + 1.27vw, 1.25rem);
}

#header .rate__holder {
  display: flex;
  align-items: center;
  gap: 10px;
}

#header .rate .rate-icon {
  display: flex;
  width: 16px;
  height: 16px;
  align-items: center;
  justify-content: center;
}

#header .rate .rate-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

#header .rate {
  border: 1px solid var(--stroke);
  border-radius: 5px;
  padding: 10px 11px;
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  color: var(--primary);
}

#header .header__text {
  color: var(--main-text);
}

#header .rate__text {
  max-width: 140px;
  width: 100%;
}

#header .soc__text {
  max-width: 115px;
  width: 100%;
}

#header .phone {
  text-decoration: none;
  color: var(--head);
  font-size: clamp(0.875rem, 0.773rem + 0.51vw, 1.25rem);
}

#header .phones__holder {
  display: flex;
  flex-direction: column;
  gap: 5px;
  justify-content: center;
}

#header .header__right {
  display: flex;
  align-items: center;
  gap: 10px;
}

/*================ MOBILE MNU =============*/
#header .burger.open_menu {
  display: none;
  flex-direction: column;
  background-color: transparent;
  height: 28px;
  width: 28px;
  justify-content: space-evenly;
  align-items: center;
  border-radius: 2px;
  flex-shrink: 0;
}

#header .burger.open_menu span {
  background-color: var(--primary);
  width: 24px;
  height: 3px;
  transition: var(--transition);
}

#header .burger.open_menu.clicked {
  background-color: var(--primary);
}

#header .burger.open_menu.clicked span {
  background-color: var(--card);
}

#header #mobile-mnu {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  max-width: 600px;
  width: 100%;
  background-color: var(--card);
  padding: 30px;
  transition: var(--transition);
  transform: translateX(-600px);
  z-index: 9999;
}

#header #mobile-mnu #close-mnu {
  font-size: 45px;
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
  transform: rotate(45deg);
  display: block;
  color: var(--primary);
}

#header #mobile-mnu a {
  /* font-size: 16px;
  line-height: 1;
  color: #374957;
  font-weight: 450; */
  text-decoration: none;
  font-size: 16px;
}

#header #mobile-mnu .phone {
  font-size: 16px;
}

#header #mobile-mnu .logo__holder {
  /*  text-align: center; */
  margin-bottom: 30px;
  /* display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center; */
}

#header #mobile-mnu .logo__img {
  max-height: 50px;
  width: fit-content;
}

#header #mobile-mnu .menuTop {
  list-style-type: none;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* #header #mobile-mnu .menuTop li {
  margin-bottom: 10px;
}

#header #mobile-mnu .menuTop li a {
  font-size: 16px;
  line-height: 1;
  color: #374957;
  font-weight: 450;
} */

/* #header #mobile-mnu .menuTop li a:hover {
  color: #D12D26;
}

#header #mobile-mnu .menuTop li.active a {
  color: #D12D26;
} */

#header #mobile-mnu .adresses__holder {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-left: 30px;
  /* margin-bottom: 20px; */
  width: 100%;
}

#header #mobile-mnu .mobile__wrap {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

#header #mobile-mnu .emails__holder {
  /* margin-bottom: 20px; */
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: var(--main-text);
}

/* #header #mobile-mnu .adresses__holder:before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  background-image: url("../images/map.svg");
  background-position: center center;
  background-repeat: no-repeat;
} */

/* #header #mobile-mnu .adresses__holder p {
  font-size: 16px;
  line-height: 1;
  color: #374957;
  font-weight: 450;
} */

#header #mobile-mnu .email__holder {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 20px;
}

#header #mobile-mnu .email__holder .email__item {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  font-size: 16px;
  line-height: 1;
  color: #374957;
  font-weight: 450;
}

/* #header #mobile-mnu .email__holder .email__item:hover {
  color: #D12D26;
} */

#header #mobile-mnu .email__holder .email__item svg {
  margin-right: 10px;
}

#header #mobile-mnu .phones__holder {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;

}

#header #mobile-mnu .phones__holder .phone__item {
  /* display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  font-size: 16px;
  line-height: 1;
  color: #374957;
  font-weight: 450; */
}

/* #header #mobile-mnu .phones__holder .phone__item:hover {
  color: #D12D26;
} */

/* #header #mobile-mnu .phones__holder .phone__item svg {
  margin-right: 10px;
} */

/* #header #mobile-mnu .soc__holder {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-wrap: wrap;
} */

/* #header #mobile-mnu .soc__holder .soc__item {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: #3A899A;
  transition: var(--transition);
} */

/* #header #mobile-mnu .soc__holder .soc__item:hover {
  background-color: #609FA8;
} */

#header #mobile-mnu.opened {
  transform: translateX(0);
}

/*============ FOOTER ===============*/
#footer {
  padding: 30px 0;
  background-color: var(--bg-light);
}

#footer .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

#footer .footer__privacy {
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-align: center;
}

#footer .copyright {
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  text-align: center;
  color: var(--main-text);
}

#footer .grampus__link {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  text-align: center;
  /* color: var(--main-text); */
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

#footer .grampus__link span {
  font-family: var(--font3);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: 0.02em;
  color: inherit;
}

/* ============== MODAL ============= */
.wpcf7 .wpcf7-response-output,
.wpcf7 .wpcf7-not-valid-tip {
  display: none;
}

.grampus-cookie-notice {
  display: none;
  position: sticky;
  bottom: 0;
  margin: 0 auto;
  width: 80%;
  height: fit-content;
  padding: 10px 0;
  z-index: 2000;
  background-color: var(--cookie-bg, #fff);
  padding: 30px;
  border-radius: 20px;
}

.cookie-notice-container {
  flex-direction: row;
}

.grampus-cookie-notice p {
  text-align: center;
}

.grampus-cookie-accept-button {
  background-color: var(--primary);
  border: 1px solid var(--primary);
  border-radius: 10px;
}

@media (max-width: 600px) {
  .grampus-cookie-accept-button {
    width: 100%;
  }

  .cookie-notice-container {
    flex-direction: column;
  }
}


.policy-checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;

  border: 1px solid #ccc;
  border-radius: 2px;
  outline: none;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  border: 1px solid #000000;
  padding: 0;
}

/* Стиль для отмеченного чекбокса */
.policy-checkbox input[type="checkbox"]:checked {
  background-color: #007bff;
  border-color: #007bff;
}

/* Галочка внутри чекбокса */
.policy-checkbox input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  color: white;
  font-size: 12px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Стиль для ошибки (только чекбокс) */
.policy-checkbox input[type="checkbox"].error {
  border-color: red;
  box-shadow: 0 0 0 2px rgba(255, 0, 0, 0.2);
}

.policy-checkbox {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 15px;
  padding-top: 20px;
  align-items: center;
}

#consent-checkbox {
  width: 20px !important;
  height: 20px !important;
  border: 1px solid #000000 !important;
}

.policy-checkbox label {
  width: 90% !important;
  color: var(--f-button-bg)
}

.policy-checkbox a{
  color: var(--f-button-bg);
}

.wpcf7 .ajax-loader {
  display: none;
}

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

.theme-modal {
  height: fit-content !important;
  max-width: 677px !important;
  max-height: 90vh;
  /* max-width: 90vw; */
  width: 100% !important;
  background-color: var(--head) !important;
  position: fixed;
  transition: var(--transition);
  z-index: 9999;
  display: none;
  border-radius: 20px !important;
  padding: clamp(1.25rem, 0.911rem + 1.69vw, 2.5rem) !important;
  padding-top: 40px !important;
}

.theme-modal .title {
  text-align: center;
  color: var(--card);
  margin-bottom: 15px;
}

.theme-modal .subtitle {
  color: var(--card);
  margin-bottom: 25px;
  text-align: center;
}

.theme-modal.modal-open {
  pointer-events: all;
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

.theme-modal .close-modal {
  position: absolute;
  right: 20px;
  top: 20px;
  font-size: 40px;
  font-weight: 750;
  color: #374957;
  transform: rotate(45deg);
  cursor: pointer;

}

.fancybox__content>.f-button.is-close-btn {
  --f-button-outline-color: none !important;
  --f-button-bg: none !important;
  top: 20px !important;
  right: 20px !important;
  --f-button-svg-width: 15px !important;
  --f-button-svg-height: 15px !important;
  --f-button-hover-color: var(--primary) !important;
  opacity: 1 !important;
}

.is-compact .fancybox__content>.f-button.is-close-btn {
  top: 5px !important;
  right: 5px !important;
}

/*============ ERROR PAGE ===============*/

.error-page .error__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.25rem, 0.403rem + 4.24vw, 4.375rem);
  padding: clamp(1.875rem, 1.197rem + 3.39vw, 4.375rem) 0;
}

.error-page .error__text {
  max-width: 570px;
  width: 100%;
}

.error-page .error__title {
  margin-bottom: 20px;
}

.error-page .error__subtitle {
  color: var(--main-text);
  margin-bottom: clamp(1.25rem, 0.911rem + 1.69vw, 2.5rem);
}

.error-page .error__btn {
  max-width: 162px;
  width: 100%;
}

.error-page .error__num {
  max-width: 744px;
  width: 100%;
  object-fit: contain;
}

.example-holder a {
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  text-align: center;
  color: var(--main-text);
}

.example-holder a:hover {
  color: var(--primary);
}

.glogo {
  width: 111px;
  height: 17px;
  mask-image: url(../images/gmask.png);
  mask-origin: border-box;
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: var(--bg-dark);
  position: relative;
  cursor: pointer;
  display: inline-flex;
  vertical-align: sub;
  overflow: hidden;
}

.glogo:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: red;
  transform: translateX(100%);
  transition: transform .7s ease-in;
  background: linear-gradient(90deg, #fe6604 10%, #ee0a76 30%, #ee0a76 60%, #fe6604 101%) repeat-x 0 0;
  background-size: 100px;
  animation-duration: 5s;
  animation-name: slideUp;
  animation-iteration-count: infinite;
  animation-delay: 1s;
}

.glogo:hover:before {
  animation-name: unset;
  transform: translateX(0);
}

@keyframes slideUp {
  0% {
    transform: translateX(-100%);
  }

  50% {
    transform: translateX(0);
  }

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


/* ============= MEDIA QUERIES =========== */
@media(any-hover: hover) {
  .btn:hover {
    color: var(--card);
    background: var(--hover);
  }

  .btn.invert:hover {
    background: var(--hover);
    color: var(--card);
  }

  .btn.bordered:hover {
    background: var(--primary);
    border: 1px solid var(--primary);
  }

  .soc__item:hover {
    background: var(--primary);
  }

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

  #header #mobile-mnu .email:hover {
    color: var(--primary);
  }

  #header .header__menu .nav-menu-element a:hover::after {
    opacity: 1;
  }

  #header .phone:hover {
    color: var(--primary);
  }

  .swiper-btn:hover {
    background: var(--head);
    border: 1px solid var(--head);
  }

  .swiper-btn:hover svg path {
    stroke: var(--card);
  }

  .swiper-button-disabled,
  .swiper-button-disabled:hover {
    background: var(--stroke) !important;
    border: 1px solid var(--stroke);
    cursor: default;
  }

  .swiper-button-disabled svg path,
  .swiper-button-disabled:hover svg path {
    stroke: var(--main-text);
  }

  .fancybox__content>.f-button.is-close-btn:hover {
    --f-button-color: var(--primary) !important;
  }
}

@media(max-width: 1460px) {
  #header .rate__text {
    display: none;
  }

  #header .soc__text {
    display: none;
  }
}

@media(max-width: 1050px) {
  #header .header__menu {
    display: none;
  }

  #header .rate__holder {
    display: none;
  }

  #header .container {
    align-items: center;
  }

  #header .header__upper {
    padding-bottom: 0;
  }

  #header .burger.open_menu {
    display: flex;
  }

  #header .header__upper {
    justify-content: end;
  }

  .error-page .error__wrap {
    flex-direction: column;
  }

  .error-page .error__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

@media(max-width: 940px) {
  #header .header__soc-holder {
    display: none;
  }

  .block {
    padding: clamp(1.25rem, 0.911rem + 1.69vw, 2.5rem) 0;
  }
}

@media(max-width:800px) {
  #footer .container {
    flex-direction: column;
  }
}

@media(max-width: 760px) {
  #header .header__callback {
    display: none;
  }

  #header .phones__holder {
    align-items: end;
    justify-content: center;
  }
}

@media(max-width: 600px) {
  #header .logo__img {
    min-width: 40px;
    width: 40px;
    height: 40px;
  }
}

@media(max-width: 520px) {
  #header .schedule {
    display: none;
  }

  #header .phone {
    font-size: 16px !important;
  }

  #header .container {
    padding-bottom: 15px;
  }
}

@media(max-width:420px) {
  #header .sitename {
    display: none;
  }
}

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