@font-face {
  font-family: "Montserrat";
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/Montserrat-Regular.woff2);
  src:
    url(../assets/fonts/Montserrat-Regular.woff2) format("woff2"),
    url(../assets/fonts/Montserrat-Regular.woff) format("woff");
}

@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/Montserrat-Bold.woff2);
  src:
    url(../assets/fonts/Montserrat-Bold.woff2) format("woff2"),
    url(../assets/fonts/Montserrat-Bold.woff) format("woff");
}

html {
  overflow-x: hidden;
}

html.locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.5;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

:-moz-placeholder {
  color: inherit;
  opacity: 0.5;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

::-moz-placeholder {
  color: inherit;
  opacity: 0.5;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

:-ms-input-placeholder {
  color: inherit;
  opacity: 0.5;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

:focus::-webkit-input-placeholder {
  opacity: 0;
}

:focus:-moz-placeholder {
  opacity: 0;
}

:focus::-moz-placeholder {
  opacity: 0;
}

:focus:-ms-input-placeholder {
  opacity: 0;
}

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
p,
pre,
td,
textarea,
th,
ul {
  margin: 0;
  padding: 0;
}

textarea {
  resize: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

abbr,
fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: 400;
}

ul li {
  list-style: none;
  color: inherit;
}

caption,
th {
  text-align: left;
}

input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

footer,
header,
section {
  min-width: 320px;
}

.scrollTop,
.scrollto,
a,
button,
svg {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a,
a:active,
a:focus,
a:hover,
button,
button:active,
button:focus,
button:hover,
input,
input:active,
input:focus,
textarea,
textarea:active,
textarea:focus,
select,
select:active,
select:focus {
  text-decoration: none;
  outline: 0;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
}

section {
  position: relative;
}

a {
  color: inherit;
}

:after,
:before,
a,
button,
div,
footer,
form,
header,
input,
select,
li,
nav,
p,
section,
ul,
textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

input:invalid {
  -webkit-box-shadow: none;
  box-shadow: none;
}

button {
  border: none;
  background: transparent;
}

html {
  overflow-x: hidden;
}

@-webkit-keyframes autofill {
  to {
    color: inherit;
    background: #fff;
  }
}

input:-webkit-autofill {
  -webkit-animation-name: autofill;
  -webkit-animation-fill-mode: both;
}

textarea.form-control {
  min-height: 140px;
  line-height: 1.2em;
  padding-top: 20px;
  padding-bottom: 20px;
}

.floating {
  -webkit-animation-name: floating;
  animation-name: floating;
  -webkit-animation-duration: 6s;
  animation-duration: 6s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

.sphere-scale {
  -webkit-animation: sphere-scale 10s infinite linear alternate;
  animation: sphere-scale 10s infinite linear alternate;
}

.sphere-scale2 {
  -webkit-animation: sphere-scale2 8s infinite linear alternate;
  animation: sphere-scale2 8s infinite linear alternate;
}

.sphere-plus {
  -webkit-animation: sphere-plus 3s infinite linear alternate;
  animation: sphere-plus 3s infinite linear alternate;
}

@-webkit-keyframes floating {
  0% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }

  50% {
    -webkit-transform: translateY(3%);
    transform: translateY(3%);
  }

  100% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
}

@keyframes floating {
  0% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }

  50% {
    -webkit-transform: translateY(3%);
    transform: translateY(3%);
  }

  100% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
}

@-webkit-keyframes sphere-plus {
  100% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

@keyframes sphere-plus {
  100% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

@-webkit-keyframes sphere-rotate {
  100% {
    -webkit-transform: rotate3d(1, -1, 1, 60deg);
    transform: rotate3d(1, -1, 1, 60deg);
  }
}

@keyframes sphere-rotate {
  100% {
    -webkit-transform: rotate3d(1, -1, 1, 60deg);
    transform: rotate3d(1, -1, 1, 60deg);
  }
}

@-webkit-keyframes sphere-scale {
  100% {
    -webkit-transform: translate3d(50px, 50px, 50px);
    transform: translate3d(50px, 50px, 50px);
  }
}

@keyframes sphere-scale {
  100% {
    -webkit-transform: translate3d(50px, 50px, 50px);
    transform: translate3d(50px, 50px, 50px);
  }
}

@-webkit-keyframes sphere-scale2 {
  100% {
    -webkit-transform: translate3d(-50px, 100px, -70px);
    transform: translate3d(-50px, 100px, -70px);
  }
}

@keyframes sphere-scale2 {
  100% {
    -webkit-transform: translate3d(-50px, 100px, -70px);
    transform: translate3d(-50px, 100px, -70px);
  }
}

:root {
  --font-family: "Montserrat", sans-serif;
  --h-1: 700
    clamp(2.25rem, 1.7163rem + 2.3718vw, 4.5625rem)/clamp(
      2.6875rem,
      2.2548rem + 1.9231vw,
      4.5625rem
    )
    var(--font-family);
  --h-2: 700 64px/120% var(--font-family);
  --h-3: 600
    clamp(1.25rem, 1.1346rem + 0.5128vw, 1.75rem)/clamp(
      1.5rem,
      1.3702rem + 0.5769vw,
      2.0625rem
    )
    var(--font-family);
  --h-4: 600
    clamp(1.125rem, 0.9279rem + 0.3205vw, 1.3125rem)/clamp(
      1.46rem,
      1.226rem + 0.3846vw,
      1.7063rem
    )
    var(--font-family);
  --h-5: 500
    clamp(1rem, 0.7143rem + 0.4464vw, 1.25rem)/clamp(
      1.5rem,
      1.2143rem + 0.4464vw,
      1.75rem
    )
    var(--font-family);
  --h-6: 600
    clamp(1rem, 0.5893rem + 0.4464vw, 1rem)/clamp(
      1.3125rem,
      1.2143rem + 0.4464vw,
      1.3125rem
    )
    var(--font-family);
  --body: 400 20px/120% var(--font-family);
  --button: 700 12px/100% var(--font-family);
  --desc: 400 16px/20px var(--font-family);
  --gap-xl: clamp(1.5rem, -0.4286rem + 5.3571vw, 6rem);
  --gap-lg: clamp(1.5rem, -0.2143rem + 2.6786vw, 3rem);
  --gap-md: clamp(1.5rem, 0.9286rem + 0.8929vw, 1.75rem);
  --gap-sm: clamp(1rem, 0.4286rem + 0.8929vw, 1.5rem);
  --gap-title: clamp(2.5rem, 2.2115rem + 1.2821vw, 3.75rem);
  /*40px-60px*/
  --gap-section: clamp(5.25rem, 3.8654rem + 6.1538vw, 11.25rem);
  /*84px-180px*/
  --text-primary: #fff;
  --text-accent: #109ae2;
  --bg-primary: #052f45;
  --shadow-large: 0px 12px 24px 0px #0000001f;
  --shadow-medium: 0px 8px 20px 0px #00000014;
  --shadow-small: 0px 0px 0px 0.5px #00000024 inset;
}

body {
  min-width: 320px;
  position: relative;
  margin: 0;
  padding: 0;
  color: var(--text-primary);
  font: var(--body);
  background: var(--bg-primary);
  opacity: 1;
  overflow-x: hidden;
  border: 0;
}

a,
a:hover {
  text-decoration: none;
}

.d-none {
  display: none;
}

[hidden] {
  display: none !important;
}

h1 {
  font: var(--h-1);
}

h2 {
  font: var(--h-2);
}

h3 {
  font: var(--h-3);
}

h4 {
  font: var(--h-4);
}

h5 {
  font: var(--h-5);
}

h6 {
  font: var(--h-6);
}

/*
p {
	font-size: 18px;
	margin-bottom: 1em;
	line-height: 1.4em;
}
*/

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: var(--bg-secondary);
  -webkit-transition:
    height 0.3s ease,
    width 0.3s ease;
  transition:
    height 0.3s ease,
    width 0.3s ease;
}

::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: var(--text-accent);
  -webkit-box-shadow: 0 0 1px var(--text-accent);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.fp-scroll-mac .fp-overflow::-webkit-scrollbar {
  width: 4px;
}

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

.button {
  border: none;
  outline: none;
  cursor: pointer;
  position: relative;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  height: 37px;
  font: var(--button);
  gap: 12px;
  border-radius: 10px;
  padding: 6px 14px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: var(--text-accent);
  color: var(--text-primary);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.button_large {
  font-size: 32px;
  border-radius: 14px;
  min-width: 225px;
  height: 61px;
}

.button_secondary {
  background: var(--text-primary);
  color: var(--text-accent);
}

.button_secondary:hover,
.button_secondary:focus,
.button_secondary:active {
  box-shadow: 0 0 10px 3px var(--text-primary);
}

.button:disabled,
.button[disabled] {
  opacity: 0.48;
  -ms-touch-action: none;
  touch-action: none;
  pointer-events: none;
  cursor: not-allowed;
}

.button:hover,
.button:focus,
.button:active {
  box-shadow: 0 0 10px 3px var(--text-accent);
}

.button_large:hover,
.button_large:focus,
.button_large:active {
  box-shadow: 0 0 15px 5px var(--text-accent);
}

.button:active,
.button:focus,
input:active,
input:focus,
select:active,
select:focus,
textarea:active,
textarea:focus {
  outline: none;
}

.pic-wrap {
  overflow: hidden;
  display: block;
}

.pic {
  -o-object-fit: cover;
  object-fit: cover;
  height: auto;
  min-height: 100%;
}

.flex-wrap {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

section {
  padding: var(--gap-section) 0 0;
  /*	scroll-margin-top: 96px;*/
}

sup {
  font-size: 60%;
}

/* .icon-button {
  width: 48px;
  height: 48px;
  gap: 8px;
  border-radius: 12px;
  border-width: 1px;
  padding: 14px;
  border: 1px solid var(--Gray-8);
  -webkit-transition: all 0.3s cubic-bezier(0.6, 0, 0.05, 1);
  transition: all 0.3s cubic-bezier(0.6, 0, 0.05, 1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.icon-button_sm {
  width: 38px;
  height: 38px;
  border-radius: 19px;
  padding: 9px;
  background: var(--Gray-4);
  border-color: var(--Gray-4);
  backdrop-filter: blur(50px);
}

.icon-button:hover,
.icon-button:active,
.icon-button:focus {
  background: var(--Gray-4);
  border-color: var(--Gray-4);
} */

.menu-icon {
  position: relative;
  width: 25px;
  height: 25px;
  z-index: 15;
  cursor: pointer;
  display: none;
}

.nav-bar .container {
  display: flex;
  gap: var(--gap-sm);
  align-items: center;
  justify-content: center;
}

.nav-bar .contacts-icon {
  display: none;
}

.nav-bar .icon-button {
  border: none;
}

.hamburger {
  height: 1px;
  width: 25px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--text-primary);
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
  transform: translate(-50%, -50%) rotate(0deg);
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;
}

.hamburger::before,
.hamburger::after {
  content: "";
  position: absolute;
  height: inherit;
  border-radius: inherit;
  background-color: inherit;
  width: 100%;
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;
}

.hamburger::before {
  top: -8px;
  left: 0;
  -webkit-transform-origin: left;
  transform-origin: left;
}

.hamburger::after {
  bottom: -8px;
  right: 0;
  -webkit-transform-origin: right;
  transform-origin: right;
}

.hamburger.open {
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  transform: translate(-50%, -50%) rotate(135deg);
}

.hamburger.open::before {
  top: 0;
  -webkit-transform: translateX(100%) rotate(-90deg);
  transform: translateX(100%) rotate(-90deg);
  width: 50%;
}

.hamburger.open::after {
  bottom: 0;
  -webkit-transform: translateX(-100%) rotate(-90deg);
  transform: translateX(-100%) rotate(-90deg);
  width: 50%;
}

.mobile-menu {
  background: var(--bg-primary);
  position: fixed;
  padding: 88px 20px 20px 20px;
  z-index: 14;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  overflow-y: auto;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 30px;
}

.mobile-menu.active {
  visibility: visible;
  opacity: 1;
  width: 100%;
  max-width: 100%;
  /*
	-webkit-transition: opacity 1s cubic-bezier(.73, -0.44, .16, 1.56);
	transition: opacity 1s cubic-bezier(.73, -0.44, .16, 1.56);
*/
  -webkit-transition: opacity 0.4s cubic-bezier(0.6, 0, 0.05, 1);
  transition: opacity 0.4s cubic-bezier(0.6, 0, 0.05, 1);
  -webkit-filter: drop-shadow(15px 15px 20px rgba(131, 92, 72, 0.1));
  filter: drop-shadow(15px 15px 20px rgba(131, 92, 72, 0.1));
}

.mobile-menu .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 8px;
}

.mobile-menu .menu-item {
  font: var(--h-4);
  height: 50px;
  text-transform: uppercase;
}

/* .arrows-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

.arrow {
  display: inline-block;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  z-index: 12;
  position: relative;
  background: var(--Gray-4) url(../assets/images/icon_arrow.svg) no-repeat center/18px
    18px;
}

.arrow:hover {
  background-color: var(--Gray-8);
}

.arrow-prev {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}


.arrow-prev:hover {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
} */

.cookies {
  max-width: 100%;
  padding: 27px 0px;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  background: inherit;
  -webkit-box-shadow: var(--shadow-large);
  box-shadow: var(--shadow-large);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 25;
  font-size: 16px;
  display: none;
}

.cookies .container {
  max-width: 1100px;
}

.cookies.is-show {
  display: block;
}

.cookies .link {
  color: var(--text-accent);
  font-weight: 700;
}

.cookies b {
  display: block;
  margin-bottom: 10px;
}

.cookies-wrap {
  justify-content: space-between;
  gap: var(--gap-sm);
  margin-top: 25px;
}

.cookies-wrap {
  justify-content: space-between;
  gap: var(--gap-sm);
}

.cookies-wrap .buttons-wrap {
  gap: 12px;
}


.cookie-category {
    position: relative;
    display: flex;
    align-items: center;
    margin: 15px 0;
    cursor: pointer;
    gap: 15px;
}

.cookie-category input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.cookie-category .toggle-switch {
    position: relative;
    width: 50px;
    height: 24px;
    flex-shrink: 0;
    background: var(--bg-primary);
    color: transparent;
    border-radius: 12px;
    transition: background 0.3s;
}

.cookie-category .toggle-switch::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background: var(--text-primary);
    border-radius: 50%;
    transition: transform 0.3s;
}

.cookie-category input:checked + .toggle-switch {
    background: var(--bg-primary);
}

.cookie-category input:checked + .toggle-switch::after {
    transform: translateX(26px);
}

.cookie-category input:disabled + .toggle-switch {
    opacity: 0.6;
    cursor: not-allowed;
}

html.modal-is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

.popup {
  width: 100%;
  height: 100%;
  position: fixed;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  left: 0;
  z-index: 20;
  display: none;
}

.popup.active {
  overflow-y: scroll;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.overlay {
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 15;
  background: var(--Gray-4);
  -webkit-backdrop-filter: blur(50px);
  backdrop-filter: blur(50px);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: flex-end;
  display: none;
  /*
	-webkit-animation: .3s linear forwards show;
	animation: .3s linear forwards show;
*/
}

.popup .overlay {
  display: block;
}

.popup-modal {
  width: 100%;
  position: relative;
  padding: var(--gap-md);
  margin: 0 15px;
  background: #fff;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  /*
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
*/
  -webkit-transition: all 0.2s cubic-bezier(0.6, 0, 0.05, 1);
  transition: all 0.2s cubic-bezier(0.6, 0, 0.05, 1);
  z-index: 222;
  /*         	width: calc(100% - 2em);*/
  -webkit-box-shadow: var(--shadow-large);
  box-shadow: var(--shadow-large);
  border-radius: var(--gap-md);
  overflow: hidden;
  -webkit-transform: scale(0.7);
  transform: scale(0.7);
}

@-webkit-keyframes modal {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes modal {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes show {
  0% {
    opacity: 0;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
  }

  100% {
    opacity: 1;
    -webkit-backdrop-filter: blur(25px);
    backdrop-filter: blur(25px);
  }
}

@keyframes show {
  0% {
    opacity: 0;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
  }

  100% {
    opacity: 1;
    -webkit-backdrop-filter: blur(25px);
    backdrop-filter: blur(25px);
  }
}

.popup.active .popup-modal {
  -webkit-animation: modal 0.2s cubic-bezier(0.6, 0, 0.05, 1) forwards;
  animation: modal 0.2s cubic-bezier(0.6, 0, 0.05, 1) forwards;
  /*
	-webkit-animation: modal 0.5s linear forwards;
	animation: modal 0.5s linear forwards;
*/
}

.popup-modal .popup-close {
  cursor: pointer;
  position: absolute;
  top: var(--gap-md);
  right: var(--gap-md);
}

.row {
  gap: var(--gap-sm);
}

.col-2 {
  width: calc(50% - var(--gap-sm) / 2);
}

.col-3 {
  width: calc(25% - var(--gap-sm) / 3);
}

header {
  position: absolute;
  width: 100%;
  z-index: 15;
  min-height: 55px;
}

.nav-bar {
  position: absolute;
  z-index: 15;
  padding: 15px 0px;
  width: 100%;
  left: 50%;
  background: var(--bg-primary);
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  top: 0px;
  max-width: 100%;
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.nav-bar.scroll {
  position: fixed;
  -webkit-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
  -webkit-box-shadow: var(--shadow-medium);
  box-shadow: var(--shadow-medium);
  width: 100%;
  opacity: 0;
  top: 0;
  -webkit-animation: navAppear 0.4s forwards;
  animation: navAppear 0.4s forwards;
}

.nav-bar .menu {
  gap: var(--gap-sm);
  justify-content: space-between;
  width: 100%;
}

/*
.nav-bar.scroll .logo_desktop {
	 height: 0;
  opacity: 0;
  visibility: hidden; 
	display: none;
}

.nav-bar.scroll .logo_mob {
	 height: auto;
  opacity: 1;
  visibility: visible; 
	display: block;
}
*/

@-webkit-keyframes navAppear {
  from {
    opacity: 0;
    /*     -webkit-transform: translate(-50%, -150%);
transform: translate(-50%, -150%); */
  }

  to {
    opacity: 1;
    /* -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0); */
  }
}

@keyframes navAppear {
  from {
    opacity: 0;
    /*     -webkit-transform: translate(-50%, -100%);
transform: translate(-50%, 0%); */
  }

  to {
    opacity: 1;
    /* -webkit-transform: translate(-50%, -100%);
    transform: translate(-50%, 0%); */
  }
}

.nav-bar.scroll .menu {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.menu-item {
  border: none;
  outline: none;
  cursor: pointer;
  position: relative;
  font: var(--body);
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: all 0.3s cubic-bezier(0.6, 0, 0.05, 1);
  transition: all 0.3s cubic-bezier(0.6, 0, 0.05, 1);
  position: relative;
  z-index: 2;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.menu-item:disabled,
.disabled,
a[disabled] {
  opacity: 0.48;
  -ms-touch-action: none;
  touch-action: none;
  pointer-events: none;
  cursor: not-allowed;
}

.menu-item:hover,
.menu-item:focus,
.menu-item:active,
.main-nav .menu-item:hover,
.main-nav .menu-item:focus,
.main-nav .menu-item:active,
.menu-item.active,
.main-nav .menu-item.active,
footer a:hover,
footer a:focus,
footer a:active {
  color: var(--text-accent);
}

.menu-item.active,
.main-nav .menu-item.active {
  font-weight: bold;
  color: var(--text-accent);
}

.main-nav {
  position: fixed;
  bottom: var(--gap-md);
  background: var(--White-80, #ffffffcc);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 12px;
  border-radius: 20px;
  padding: 12px;
  border: 1px solid var(--Gray-8);
  -webkit-box-shadow: var(--shadow-medium);
  box-shadow: var(--shadow-medium);
  -webkit-backdrop-filter: blur(50px);
  backdrop-filter: blur(50px);
  left: 50%;
  z-index: 13;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /*
		transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1),
		opacity 0.6s ease,
		-webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1),
		opacity 0.6s ease,
		-webkit-transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
*/
  -webkit-transform: translate(-50%, 100%);
  transform: translate(-50%, 100%);
  opacity: 0;
  visibility: hidden;
}

.main-nav.scroll {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
}

.main-nav .menu {
  gap: 8px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.main-nav .menu-item {
  border: 1px solid var(--Gray-8);
  background: transparent;
}

.nav-bar.mobile {
  color: var(--text-secondary);
  background: transparent;
}

.hero {
  background: url(../assets/images/bg-main.jpg) no-repeat center top/cover;
  min-height: calc(100vh - 61px);
  /* padding-bottom: 110px; */
  padding-top: 55px;
  position: relative;
}

.hero_map {
  background:
    url(../assets/images/map-bg.jpg) no-repeat center top,
    url(../assets/images/bg-long.jpg) no-repeat center top/cover;
    padding-bottom: 0;
}

.hero_result {
    background: url(../assets/images/bg-secondary.jpg) no-repeat center top / cover;
}

.hero-illustration {
  max-width: 588px;
  width: 100%;
  flex-shrink: 0;
  margin-left: 21px;
}

.hero_result {
  padding-bottom: 0;
}

.hero .container {
  max-width: 1177px;
}

.hero_map .container,
.hero_result .container {
  max-width: 1330px;
  min-height: calc(100vh - 115px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hero-wrap {
  justify-content: space-between;
}

.hero-block {
  text-align: justify;
}

.hero-heading {
  opacity: 0;
  visibility: hidden;
  height: 0;
}

.hero-desc {
  padding: 90px 0 96px;
  max-width: 610px;
}

.mascot {
  width: 100%;
  height: auto;
}

.mascot_main {
  max-width: 432px;
}

.section-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: var(--gap-sm);
}

sup {
  vertical-align: top;
  position: relative;
  top: -0.5em;
}

.innerpage {
  background: url(../assets/images/bg-long.jpg) no-repeat center top/cover;
  min-height: calc(100vh - 61px);
  /* padding-bottom: 110px;
  padding-top: 55px; */
}

.innerpage {
  padding-top: 75px;
  padding-bottom: 0;
}

.innerpage .section-heading {
  padding: 0 50px;
  margin-bottom: 10px;
}

.innerpage .section-desc {
  padding: 0 50px;
  margin-bottom: 50px;
}

.test .section-desc {
    text-align: justify;
}

.innerpage .section-desc h2 {
  font-size: 36px;
  line-height: 120%;
  margin-bottom: 40px;
  padding-top: 20px;
}

.innerpage .section-desc p {
  margin-top: 1em;
  font-size: 18px;
  line-height: 120%;
}

.faq-slider,
.innerpage-block {
  position: relative;
  border-radius: 47px;
  border: 10px solid var(--text-accent);
  background-color: rgba(16, 154, 226, 0.5);
  padding: 37px 20px;
  border-bottom: none;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  height: 100%;
  flex: 1;
}

.test .container, .faq .container {
    flex-direction: column;
    display: flex;
    justify-content: space-between;
    min-height: calc(100vh - 136px);
}

.mascot_faq {
  position: absolute;
  max-width: 225px;
  right: 75px;
  top: -135px;
}

.faq-slide {
  position: relative;
  -webkit-transition:
    color 0.3s ease,
    height 7.8s ease-out;
  transition:
    color 0.3s ease,
    height 7.8s ease-out;
  cursor: pointer;
  overflow: hidden;
  font: var(--desc);
}

.faq-title {
  font-weight: 700;
  padding: 10px 70px 10px 20px;
  position: relative;
}

.faq-title:after {
  content: "";
  background: url(../assets/images/open-icon.svg) no-repeat center/32px 19px;
  width: 32px;
  height: 23px;
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.faq-slide.active .faq-title:after {
  background: url(../assets/images/close-icon.svg) no-repeat center/23px 23px;
}

.faq-text {
  -webkit-transition: height 0.7s ease-out;
  transition: height 0.7s ease-out;
  height: 0;
  overflow: hidden;
}

.faq-text-editor {
  flex-direction: column;
  gap: 12px;
  padding: 30px 20px;
  background: var(--bg-primary);
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 14px;
}

.about-text {
  padding-left: 20px;
  padding-right: 20px;
}

.innerpage-text {
  flex-direction: column;
/*   gap: 12px; */
  gap: 9px;
  font: var(--desc);
  font-size: 14px;
  text-align: justify;
}

.innerpage-text b {
  font-size: 16px;
}

.faq-text-editor ul, .about-text ul {
  padding-left: 20px;
}

.faq-text-editor li, .about-text li  {
  list-style: disc;
}

.faq-text-editor li::marker, .about-text li::marker {
  margin-right: 20px;
}

.mascot_about {
  max-width: 226px;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
  bottom: 46px;
  left: -33px;
  position: absolute;
  z-index: 2;
}

.about-share .button_share {
  position: absolute;
  height: 53px;
  z-index: 1;
  left: 43px;
  top: -34px;
  max-width: 314px;
  width: 100%;
  padding-left: 133px;
  text-align: left;
  line-height: 120%;
}

.about-share .button_share img {
  width: 32px;
}

.about-links {
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}

.about-link {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  height: 52px;
  max-width: 285px;
  width: 100%;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}

.about-share {
  background: var(--bg-primary);
  position: relative;
  margin-top: 87px;
  margin-bottom: 13px;
  padding: 45px 40px 25px 185px;
  font: var(--desc);
}

.wpcf7-spinner,
.ajax-loader {
  display: none !important;
}

.wpcf7-form {
  margin: 0;
  padding: 0;
}

.wpcf7-response-output {
  display: none !important; /* мы управляем успехом сами */
}

.wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 0.85em;
  margin-top: 5px;
}

form {
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.hero-form {
  background: rgba(5, 47, 69, 0.8);
  box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.25);
  border-radius: 47px;
  max-width: 625px;
  width: 100%;
  padding: 43px 50px;
  position: relative;
  margin-top: 158px;
}

.mascot_form {
  position: absolute;
  max-width: 278px;
  right: 9px;
  top: -80px;
}

.hero-form-title {
  max-width: 280px;
  margin-bottom: 27px;
}

.hero-form-title span {
  display: block;
  margin-top: 1em;
  color: var(--text-accent);
  font-weight: 700;
  max-width: 250px;
}

.hero-inputs {
  flex-direction: column;
  gap: 15px;
}

.form-input {
  max-width: 100%;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
  font: var(--desc);
}

.form-input label {
  width: 80px;
  flex-shrink: 0;
}

.form-control {
  max-width: 100%;
  background: var(--text-primary);
  height: 29px;
  width: 100%;
  padding: 6px 13px;
  font: var(--body);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #000;
  border: none;
  border-radius: 0px;
  font-size: 14px;
}

.form-button {
  max-width: 100%;
  width: 100%;
  height: 37px;
  margin-top: 25px;
  max-width: 201px;
  margin-left: auto;
  font-size: 14px;
  text-transform: uppercase;
}

.error-message {
  position: absolute;
  bottom: -17px;
  font-size: 12px;
  left: 88px;
  opacity: 0.8;
  color: var(--text-primary);
}

.form-control.valid {
  color: var(--bg-primary);
  border-color: var(--text-accent);
}

.form-control:focus,
.form-control:active {
  color: var(--bg-primary);
}

.form-control.valid {
  position: relative;
}

select.form-control {
  background-image: url(../assets/images/arrow-down.svg);
  background-repeat: no-repeat;
  background-size: 28px 15px;
  background-position: right 13px center;
}

/* .agree {
  position: relative;
  text-align: left;
}

.agree label {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2em;
  cursor: pointer;
  position: relative;
  padding-left: 30px;
  display: block;
  max-width: 470px;
}

.agree label a:hover {
  color: var(--text-accent);
}

.agree input[type="checkbox"] {
  position: absolute;
  width: 20px;
  height: 20px;
  z-index: 10;
  opacity: 0;
  cursor: pointer;
}

.agree input[type="checkbox"] ~ .agree-label:before {
  content: "";
  position: absolute;
  border: 1px solid #e2e2e2;
  width: 20px;
  height: 20px;
  left: 0px;
  top: 0px;
}

.agree input[type="checkbox"] ~ .agree-label:after {
  width: 100%;
  height: 100%;
  background: var(--text-accent);
  -webkit-clip-path: polygon(
    45% 64%,
    84% 14%,
    100% 28%,
    47% 100%,
    0 49%,
    15% 32%
  );
  clip-path: polygon(45% 64%, 84% 14%, 100% 28%, 47% 100%, 0 49%, 15% 32%);
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: transform 0.3s;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition:
    transform 0.3s,
    -webkit-transform 0.3s;
  position: absolute;
  width: 12px;
  height: 10px;
  display: block;
  content: "";
  left: 4px;
  top: 5px;
}

.agree input[type="checkbox"]:checked ~ .agree-label:after {
  -webkit-transform: scale(1);
  transform: scale(1);
}
 */

.result {
  background: rgba(5, 47, 69, 0.8);
  box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.25);
  border-radius: 47px;
  margin-top: 18px;
}

.result-pic {
  max-width: 278px;
  flex-shrink: 0;
}

.result-content {
  padding: 38px 49px 38px 20px;
  flex: 1;
}

.result-sum {
  border-radius: 12px;
/*   max-width: 376px; */
  max-width: 362px;
  width: 100%;
  min-height: 53px;
  text-align: center;
  font-weight: 700;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 33px;
}

.hero_map .result-sum {
max-width: 100%;   
padding: 0 29px;
justify-content: space-between;
}

.result-sum span {
  font-size: 30px;
}

.result-scale-wrap {
  font-weight: 700;
  font-size: 16px;
  flex: 1;
}

.result-scale-wrap > span {
  margin-bottom: 12px;
  text-transform: uppercase;
  margin-left: 29px;
  display: block;
}

.result-scale {
  position: relative;
  justify-content: space-between;
  text-align: center;
}

.result-scale-line {
  position: absolute;
  top: 27px;
  left: 8px;
  width: 100%;
  max-width: 724px;
  height: 6px;
  background: linear-gradient(
    to right,
    #adcc00 0%,
    #36b16d 34%,
    #ff8921 67%,
    #c51b1b 100%
  );
}

.result-content_lime .result-title {
  color: #adcc00;
}

.result-content_green .result-title {
  color: #36b16d;
}

.result-content_orange .result-title {
  color: #ff8921;
}

.result-content_red .result-title {
  color: #c51b1b;
}
.result-content_lime .result-sum,
.result-content_lime .diet-button,
.result-tip_lime {
  background: #adcc00;
}

.result-content_green .result-sum,
.result-content_green .diet-button,
.result-tip_green {
  background: #36b16d;
}

.result-content_orange .result-sum,
.result-content_orange .diet-button,
.result-tip_orange {
  background: #ff8921;
}

.result-content_red .result-sum,
.result-content_red .diet-button,
.result-tip_red {
  background: #c51b1b;
}

.result-content_lime .diet-button:hover,
.result-content_lime .diet-button:focus,
.result-content_lime .diet-button:active {
  box-shadow: 0 0 10px 3px #adcc00;
}

.result-content_green .diet-button:hover,
.result-content_green .diet-button:focus,
.result-content_green .diet-button:active {
  box-shadow: 0 0 10px 3px #36b16d;
}

.result-content_orange .diet-button:hover,
.result-content_orange .diet-button:focus,
.result-content_orange .diet-button:active {
  box-shadow: 0 0 10px 3px #ff8921;
}

.result-content_red .diet-button:hover,
.result-content_red .diet-button:focus,
.result-content_red .diet-button:active {
  box-shadow: 0 0 10px 3px #c51b1b;
}

.result-tip {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: block;
  margin: 15px auto 23px;
  z-index: 1;
  position: relative;
}

.result-tip.active {
  width: 60px;
  height: 60px;
  outline: 6px solid #052f45;
  margin: 0 auto 8px;
  font-size: 14px;
  line-height: 120%;
  font-weight: 700;
  padding: 13px 10px;
  box-sizing: border-box;
}

.result-button {
  flex-shrink: 0;
  width: 185px;
  height: 161px;
  flex-shrink: 0;
  margin-left: 15px;
  margin-top: -25px;
  transition: all 0.5s ease;
  filter: drop-shadow(0px 0px 16.8px #109ae2) drop-shadow(0px 0px 7.7px #51c3ff)
    drop-shadow(0px 0px 44.7px #109ae2);
}

.result-button:hover {
    filter: none;
}

.result-button-bg {
      transition: all 0.5s ease;
}

.result-button:hover .result-button-bg {
    fill: var(--text-accent);
}

.result-desc-wrap {
  align-items: flex-end;
  gap: 76px;
  margin-top: 18px;
  padding: 0 29px;
}

.result-desc {
  font-size: 14px;
  line-height: 120%;
  text-align: justify;
}

.result-desc span {
  font-weight: 700;
  color: var(--text-accent);
}

.result-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 15px;
  line-height: 120%;
}

.diet-button {
  min-width: 147px;
  font-size: 14px;
  border-radius: 9px;
}

.result-attention {
  margin-top: 33px;
  background: rgba(16, 154, 226, 0.3);
  border: 6px solid #109ae2;
  border-radius: 18px;
  padding: 17px 23px;
  gap: 76px;
  align-items: center;
  justify-content: space-between;
  font: var(--desc);
  display: none;
}

.hero-result .result-attention {
    gap: 20px
}

.result-content_orange .result-attention,
.result-content_red .result-attention {
  display: flex;
}

.result-attention .button {
  max-width: 146px;
  line-height: 120%;
  height: 52px;
}

.result-advice-wrap {
  border-radius: 47px;
  background: var(--text-accent);
  margin-top: 28px;
  padding: 30px 228px 30px 50px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  position: relative;
  font: var(--desc);
  text-align: justify;
}

.mascot_result {
  max-width: 240px;
  position: absolute;
  right: 0;
  bottom: -17px;
}

.footer {
  background: var(--bg-primary);
  padding: 14px 0;
  font-size: 14px;
  border-top: 2px solid var(--text-accent);
}

.footer .container {
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-sm);
}

.button_mobile {
  display: none;
}

.share-btn {
  background: #f0f2f5;
  border: none;
  border-radius: 30px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  cursor: pointer;
  transition:
    background 0.2s,
    transform 0.1s;
  flex: 1 0 auto;
  min-width: 80px;
}
.share-btn:hover {
  background: #e4e6eb;
}
.share-btn:active {
  transform: scale(0.95);
}

.policy ul {
  padding-left: 1em;
}

.policy li {
  list-style: disc;
}

/* Прогресс-бар */
.progress {
  display: flex;
  justify-content: space-between;
  margin-bottom: 47px;
  position: relative;
}

.progress::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 20px;
  right: 20px;
  height: 3px;
  border-top: 3px dashed #fff;
  transform: translateY(-50%);
  z-index: 0;
}
.step {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  color: var(--text-accent);
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
.step.active {
  background: var(--text-accent);
  color: var(--text-primary);
}
.step.done {
  background: var(--text-primary);
  color: var(--text-accent);
}
.step.done::after {
  content: "✓";
  font-size: 20px;
}

.step.done span {
  display: none;
}

/* Вопрос */
.question-wrapper {
  display: flex;
  gap: 33px;
  animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.question-image {
  flex: 0 0 468px;
  max-width: 468px;
  overflow: hidden;
}
.question-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 32px;
}
.question-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 17px 0;
  justify-content: space-between;
}
.q-title {
  font-weight: 700;
  font-size: 24px;
  line-height: 120%;
  margin-bottom: 24px;
}

.options {
  display: flex;
  flex-wrap: wrap;
  gap: 35px 50px;
  margin-bottom: 16px;
}
.options label {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  background: var(--bg-primary);
  cursor: pointer;
  padding: 15px 12px;
  border-radius: 12px;
  min-width: 189px;
  transition: background 0.3s ease-in-out;
  box-sizing: border-box;
}
.options label:hover,
.options label:has(input[type="radio"]:checked) {
  background: var(--text-primary);
  color: var(--text-accent);
}
.options input[type="radio"] {
  display: none;
}

.waist-columns {
  display: flex;
  gap: 48px;
  justify-content: center;
}

.waist-gender {
  font-weight: 700;
  font-size: 24px;
  text-align: center;
  margin-bottom: 15px;
  text-transform: uppercase;
}

.waist-column .options {
  gap: 15px;
  justify-content: center;
  align-items: center;
}

.inline-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-bottom: 12px;
}
.field {
  display: flex;
  align-items: center;
  gap: 6px;
}
.field label {
  font-weight: 500;
}
.field input {
  width: 100px;
  padding: 8px 10px;
  border: 1px solid #bccbd8;
  border-radius: 10px;
  font-size: 15px;
}
.field input:focus {
  border-color: #0066cc;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.15);
}
.bmi-result {
  font-size: 15px;
  background: #e6f0fa;
  padding: 6px 16px;
  border-radius: 30px;
  display: inline-block;
  margin-bottom: 12px;
}
.bmi-result span {
  font-weight: 700;
}

.navigation-arrows {
  display: flex;
  gap: 16px;
  margin-top: 8px;
}
.arrow-btn {
  background: transparent;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: var(--text-primary);
  transition: 0.2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.arrow-btn:hover {
}
.arrow-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.arrow-btn:disabled:hover {
  background: transparent;
}
.arrow-btn .icon {
  font-size: 24px;
}

.options-compact {
  gap: 15px 50px;
}

.error-msg {
  color: #c0392b;
  background: #fde8e5;
  padding: 8px 16px;
  border-radius: 12px;
  margin-top: 8px;
  display: none;
}
.error-msg.show {
  display: block;
}

/* Результат */
.quiz-result {
  display: none;
}
.quiz-result.show {
  display: block;
}
.quiz-result-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 0 40px;
}
.quiz-result-left {
  flex: 1;
}
.quiz-result-title {
  font-size: 36px;
  line-height: 120%;
  font-weight: 700;
  margin-bottom: 10px;
}
.quiz-result-subtitle {
  font-size: 16px;
}
.quiz-result-right {
  border-radius: 23px 23px 0 0;
  background: var(--bg-primary);
  flex-shrink: 0;
  font-weight: 700;
  text-align: center;
  padding: 18px 5px;
  line-height: 120%;

  min-width: 228px;
}

.quiz-result-label {
  font-size: 20px;
  margin-bottom: 10px;
}
.quiz-result .score {
  font-size: 36px;
  line-height: 120%;
}
.quiz-result-body {
  padding: 65px 40px;
  line-height: 120%;
}
.quiz-result-risk {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 1em;
  line-height: 120%;
}
.quiz-result-desc {
  font-size: 16px;
  line-height: 120%;
}

.quiz-result-desc p {
  margin-top: 1em;
}
.quiz-result .reset-btn {
  margin-top: 20px;
  background: transparent;
  padding: 10px 24px;
  font-size: 16px;
  cursor: pointer;
  transition: 0.2s;
}

.risk-green .score {
  color: #36b16d;
}
.risk-green .quiz-result-body {
  background: #36b16d;
  color: var(--text-primary);
}

.risk-lime .score {
  color: #adcc00;
}
.risk-lime .quiz-result-body {
  background: #adcc00;
  color: var(--bg-primary);
}

.risk-yellow .score {
  color: #ffe760;
}
.risk-yellow .quiz-result-body {
  background: #ffe760;
  color: var(--bg-primary);
}

.risk-orange .score {
  color: #ff8921;
}
.risk-orange .quiz-result-body {
  background: #ff8921;
  color: var(--text-primary);
}

.risk-red .score {
  color: #c51b1b;
}
.risk-red .quiz-result-body {
  background: #c51b1b;
  color: var(--text-primary);
}

.hidden {
  display: none;
}
.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.diet {
  padding-top: 54px;
}
.diet-header {
  background: var(--text-accent);
  border-radius: 0 0 47px 47px;
  align-items: center;
  font-size: 16px;
  line-height: 125%;
  padding-right: 20px;
  position: relative;
}

.diet-header-bg {
  position:absolute;
}

.diet_lime  .diet-header-bg{
right: -27px;
    bottom: -38px;
max-width: 240px
}

.diet_orange  .diet-header-bg{
right: -14px;
    bottom: -22px;
max-width: 202px
}

.diet_red  .diet-header-bg{
right: -14px;
bottom: -19px;
max-width: 240px
}

.diet-header p {
  max-width: 923px;
  text-align: justify;
}

.diet_orange .diet-header p {
  max-width: 880px;
}

.mascot_diet {
  max-width: 240px;
  flex-shrink: 0;
}

.diet-title {
  font-weight: 700;
  text-align: center;
  font-size: 16px;
  line-height: 125%;
  max-width: 1200px;
  margin: 75px auto;
}

.diet-tabs {
  position: relative;
  min-width: 240px;
}

.diet-tabs input[name="tab-control"] {
  display: none;
}

.diet-tabs-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 68px;
  justify-content: center;
  width: 100%;
  margin-bottom: -26px;
}

.diet-tabs-nav div {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.diet-tabs-nav label {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  cursor: pointer;
  background: var(--text-accent);
  border-radius: 10px;
  padding: 14px 22px;
  font-weight: 700;
  font-size: 16px;
  display: inline-block;
}

.diet-tabs-nav label:hover,
.diet-tabs-nav label:focus,
.diet-tabs-nav label:active {
  outline: 0;
  border-top-color: var(--text-secondary);
  opacity: 1;
  background: var(--bg-primary);
}

.diet-tabs-content {
  border-radius: 35px;
  padding: 20px 44px;
  min-height: 253px;
  background: rgba(5, 47, 69, 0.8);
  display: flex;
  align-items: center;
}

.diet-tabs-item {
  display: none;
  -webkit-animation-name: content;
  animation-name: content;
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  text-align: justify;
}

.diet-tabs-item p {
  margin: 1em 0;
  font-size: 16px;
  line-height: 125%;
}

.diet-tabs
  input[name="tab-control"]:nth-of-type(1):checked
  ~ .diet-tabs-nav
  div:nth-child(1)
  > label {
  background: linear-gradient(to bottom, rgba(5, 47, 69, 0.8) 50%, transparent 50%);
}

.diet-tabs
  input[name="tab-control"]:nth-of-type(1):checked
  ~ .diet-tabs-content
  > .diet-tabs-item:nth-child(1) {
  display: block;
}

.diet-tabs
  input[name="tab-control"]:nth-of-type(2):checked
  ~ .diet-tabs-nav
  div:nth-child(2)
  > label {
    background: linear-gradient(to bottom, rgba(5, 47, 69, 0.8) 50%, transparent 50%);
}

.diet-tabs
  input[name="tab-control"]:nth-of-type(2):checked
  ~ .diet-tabs-content
  > .diet-tabs-item:nth-child(2) {
  display: block;
}

.diet-tabs
  input[name="tab-control"]:nth-of-type(3):checked
  ~ .diet-tabs-nav
  div:nth-child(3)
  > label {
    background: linear-gradient(to bottom, rgba(5, 47, 69, 0.8) 50%, transparent 50%);
}

.diet-tabs
  input[name="tab-control"]:nth-of-type(3):checked
  ~ .diet-tabs-content
  > .diet-tabs-item:nth-child(3) {
  display: block;
}

@-webkit-keyframes content {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes opacity {
  from {
    opacity: 0;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.diet-tabs-text {
  display: none;
}



.diet-advices {
  padding: 75px 0 0;
}

.diet-advices h2 {
  font-size: 36px;
  line-height: 120%;
  margin-bottom: 25px;
  text-transform: uppercase;
  text-align: center;
}

.diet-list {
  flex-wrap: wrap;
  gap: 34px;
}

.diet-item {
  width: calc(50% - 17px);
}

.diet-test {
max-width: 930px;
text-align: center;
font-weight: 700;
font-size: 16px;
line-height: 125%;
padding-top: 75px;
margin: 0 auto;
}

.diet-test .button {
  margin: 20px auto 0;
  height: 52px;
  border-radius: 10px;
  font-size: 16px;
  max-width: 260px;
}

.diet-share {
  position: relative;
  padding: 85px 0;
}

.mascot_share {
  max-width: 350px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -70%);
}

.socials {
  gap: 21px;
  align-items: center;
  position: absolute;
  justify-content: center;
  bottom: 162px;
  left: 50%;
  transform: translateX(-50%);
}

.socials-item {
  width: 52px;
  height: 52px;
}

 .diet-share-desc {
    display: none;
    text-align: center;
    margin-bottom: 20px;
  }

   .diet-share-desc h3 {
    margin-bottom: 10px;
    text-transform: uppercase;
   }

   .quiz-result-footer {
position: relative;
   }
   .mascot_test {
    position: absolute;
    max-width: 174px;
    right: 65px;
    bottom: -38px;
    z-index: 9;
   }

   .quiz-result-footer .button {
    margin: 30px auto 0;
    padding: 6px 50px;
    border-radius: 12px;
height: 59px;
font-size: 24px;
   }
   
   .hero_mapsvg .hero-map {
       background: none;
   }
   
    .hero_map .hero-result {
       background: rgba(5, 47, 69, 0.8);
    box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.25);
    border-radius: 47px;
    max-width: 625px;
    width: 100%;
    padding: 43px 50px;
    position: relative;
    margin-top: 158px;
   }
   
    .hero_map .result-content {
        padding: 0;
    }
    
    .hero_map .hero-wrap {
        align-items: flex-start;
    }
    
     .hero_map .hero-illustration {
        position: relative;
    }
 
    .map-back-btn {
        position: absolute;
        right: 0;
        top: 25px;
        width: 122px;
        height: 105px;
        cursor: pointer;
        z-index: 2;
    }
    
    .region-result {
        position: absolute;
        display: flex;
        align-items: center;
        left: 0;
        bottom: 0;
    }
    
    .result-regioncontent {
        position: absolute;
        left: 240px;
    }
        
    .region-result_grodno, .region-result_brest, .region-result_minsk {
            left: unset;
            right: 0;
        }
        
        
    .region-result_grodno .result-regioncontent {
    left: -175px;
    bottom: 130px;
    max-width: 230px;
    }
    
       .region-result_brest .result-regioncontent {
        left: -165px;
    bottom: 185px;
    max-width: 230px;
    }
    
     .region-result_minsk .result-regioncontent {
        left: -152px;
    bottom: 133px;
    max-width: 175px;
    }
    
    .region-result_mogilev .result-regioncontent {
        left: 310px;
    }
     
    .region-result_mogilev .result-regionsum {
        margin-bottom: 5px;
    }
    
    .city-region.active .city-dot {
    transform: scale(2);
    transform-origin: center;
    transform-box: fill-box;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
    
    .hero-video {
        position: absolute;
    }

.hero-map-wrap {
    position: relative;
    width: 100%;
    max-width: 585px;
    aspect-ratio: 585 / 524;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-map {
    width: 347px;
    height: 302px;
    background: url(../assets/images/map.svg) no-repeat center / contain;
    position: relative;
    flex-shrink: 0;
}

/* При зуме разрешаем переполнение */
.hero-map-wrap.zoom-active {
    overflow: visible;
}

.hero-map.map-zoomed {
    width: 100% !important;
    height: 100% !important;
}

.hero_map.no-bg .hero-map {
    background-image: none !important;
}

.city-region {
    
     cursor: pointer;
}

.city-region.active {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.city-region.hidden {
    display: none;
}

/* Тень для точек на карте */
.city-dot {
    filter: drop-shadow(0px 0px 3px #21CAFF) drop-shadow(0px 0px 11.4px #AEECFF);
}
/* 
.hero-map {
  width: 347px;
  height: 302px;
  background: url(../assets/images/map.svg) no-repeat center/contain;
  margin: 115px auto 0;
} */

.hero_mapmain .hero-map {
    margin: 115px auto 0;
}
.city-region.hidden {
    display: none;
}

 .hero-map svg {
    overflow: visible;
}

 .hero_map.no-bg {
    background: url(../assets/images/bg-short.jpg) no-repeat center top /cover, url(../assets/images/bg-long.jpg) no-repeat center top / cover;
}

.city-dot {
    filter: drop-shadow(0px 0px 3px #21CAFF) drop-shadow(0px 0px 11.4px #AEECFF);
}

                  .city-region.active  .city-bg {
                    transition: all 0.3s ease;
                    stroke-width: 1;
                  }

        /*  .city-region:hover .city-bg {
          fill: rgba(16, 154, 226, 1);
        } */
          .city-region.active .city-name {
      display: none;
  }

.result-regionsum, .result-regiondesc {
    text-align: center;
    font-size: 16px;
    line-height: 120%;
}

.result-regionsum {
    font-weight: 700;
    margin-bottom: 20px;
}

.result-subtitle {
    font-size: 36px;
    font-weight: 700;
    line-height: 120%;
    margin-bottom: 5px;
}

.hero-result .diet-button {
    margin-top: 20px;
    margin-left: auto;
}

@media screen and (min-width: 1921px) {
.hero_map {
  background:
    url(../assets/images/map-bg@2x.jpg) no-repeat center top,
    url(../assets/images/bg-long.jpg) no-repeat center top/cover;
    padding-bottom: 0;
}
}

@media screen and (max-width: 1300px) {
    .hero-result .result-attention {
    flex-direction: column;
    align-items: flex-end;
    text-align: justify;
}

  .mascot_faq {
    right: 45px;
  }

  .about-links {
    flex-wrap: wrap;
  }

  .about-links b {
    width: 100%;
  }

  .hero_map {
    background-position: left -300px top;
    background-size: auto;
  }

  .hero-form {
    padding-left: 30px;
    padding-right: 30px;
  }

  .mascot_form {
    max-width: 260px;
    right: -40px;
    top: -40px;
  }

  .hero-illustration {
    margin-left: 0;
  }

  .hero-form-title {
    max-width: 250px;
  }

  .result-scale-line {
    max-width: 95%;
  }

  .result-content {
    padding: 38px 40px 30px 0px;
  }

  .result-desc-wrap {
    justify-content: space-between;
    gap: 40px;
  }

  .diet-title {
    margin: 55px auto;
  }

  .diet-tabs-content {
    padding: 40px 30px 20px;
  }

  .diet-share {
    max-width: 970px;
    margin: 0 auto;
  }

  .mascot_share {
    max-width: 290px;
    transform: translate(-50%, -65%);
  }

  .socials {
    bottom: 130px;
  }

  .diet_lime .diet-header-bg {
    right: -20px;
    bottom: -38px;
    max-width: 200px;
}

.diet_orange .diet-header-bg {
  max-width: 160px;
}

.diet_red .diet-header-bg {
   max-width: 200px;
   right: 0
}

.mascot_test {
  right: -15px;
}

.hero_map .hero-result {
    padding: 40px 30px;
}
}

@media screen and (max-width: 1000px) {
  .nav-bar .menu {
    gap: var(--gap-sm);
  }

  /* .cookies {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .cookies .link {
    display: block;
  }

  .cookies .button {
    max-width: 100%;
    width: 100%;
  } */

  .col-2 {
    width: 100%;
  }

  .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .nav-bar {
    /*		width: calc(100% - 30px);*/
  }

  .innerpage-text br {
    display: none;
  }

  .about-links {
    justify-content: flex-start;
  }

  .about-link {
    max-width: calc(50% - 10px);
  }

  .hero-illustration {
    max-width: 50%;
  }
  
      .hero_mapsvg .hero-illustration {
        max-width: 369px;
    }
    
    .map-back-btn {
        top: -55px;
        right: unset;
        left: 0;
    }
  
  .result-pic {
      max-width: 160px;
  }
  
  .result-subtitle {
    font-size: 28px;
  }
  
  .result-regionsum, .result-regiondesc {
      font-size: 12px;
  }
  
  .result-regionsum {
      margin-bottom: 5px;
  }
  
  .result-regioncontent {
      left: 135px;
  }
  
  .region-result_grodno .result-regioncontent {
          left: -143px;
        bottom: 74px;
        max-width: 170px;
    }
    
       .region-result_brest .result-regioncontent {
       left: -130px;
        bottom: 115px;
        max-width: 170px;
    }
    
     .region-result_minsk .result-regioncontent {
             left: -106px;
        bottom: 70px;
        max-width: 118px;
    }
    
    .region-result_mogilev .result-regioncontent {
        left: 140px;
        width: 215px;
        bottom: 130px;
    }
    
    .result-subtitle {
        margin-bottom: 0;
    }
     
  
  .mascot_main {
      max-width: 360px;
  }
  
  .hero-desc {
      padding: 60px 0;
  }

  .hero_map {
    background-position: left -436px top -70px;
  }

  .hero_mapmain .hero-map {
    margin-left: 0;
    margin-right: 0;
    margin-top: 100px;
  }
  
    .hero_mapsvg  .hero-map-wrap {
      margin-top: 70px;
  }

  .form-input {
    flex-direction: column;
    align-items: flex-start;
  }

  .hero-form {
    margin-top: 40px;
  }
  
     .hero_map .hero-result {
        margin-top: 120px;
    }

  .mascot_form {
    max-width: 205px;
    right: -32px;
    top: -6px;
  }

  .error-message {
    left: 0;
  }

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

  .result-button {
    margin: 0;
    transform: scale(0.8);
  }

  .result-desc-wrap {
    align-items: flex-start;
    gap: 20px;
    flex-direction: column;
    padding: 0 18px;
  }

  .result-attention {
    flex-direction: column;
    gap: 20px;
    margin-top: 23px;
    align-items: flex-start;
    border-width: 3px;
    padding: 17px 15px 17px 15px;
  }

  .result-attention .button {
    line-height: 120%;
    height: 37px;
    border-radius: 9px;
  }

  .result {
    align-items: flex-end;
  }

  .question-image {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .options {
    gap: 20px;
  }

  .q-title {
    font-size: 20px;
  }
  .waist-columns {
    gap: 20px;
  }

  .options label {
    min-width: 100%;
    font-size: 18px;
    text-align: center;
  }

  .question-image img {
    border-radius: 24px;
  }

  .innerpage .section-desc h2,
  .quiz-result-title,
  .diet-advices h2 {
    font-size: 30px;
  }

  .quiz-result-header {
    align-items: flex-end;
  }

  .quiz-result-header {
    padding: 0 20px;
  }

  .quiz-result-body {
    padding: 35px 20px;
  }

  .quiz-result-subtitle {
    font-size: 16px;
    margin-bottom: 20px;
  }

  .diet-tabs-nav {
    gap: 30px;
  }

  .diet-title {
    margin: 40px 0;
  }

  .diet-advices {
    padding: 55px 0 0;
  }

  .diet-list {
    gap: 20px;
  }

  .mascot_share {
    max-width: 210px;
  }

  .diet-item {
    width: calc(50% - 10px);
  }

  .diet-share {
    padding: 60px 0;
    max-width: 736px;
  }

  .socials {
    gap: 15px;
    bottom: 85px;
  }

  .socials-item {
    width: 40px;
    height: 40px;
  }

  .diet-test {
    padding-top: 55px;
  }

  .quiz-result-footer .button {
    padding: 6px 30px;
    height: 52px;
    font-size: 20px;
}

.mascot_test {
    max-width: 120px;
    right: -40px;
    bottom: -40px;
}

.result-scale-wrap > span {
    margin-left: 15px;
}
}

@media screen and (max-width: 769px) {
  :root {
    --h-2: 700 48px / 120% var(--font-family);
  }
  .nav-bar {
    top: 0;
    border-radius: 0;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .nav-bar.scroll {
    min-width: 100%;
    top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .nav-bar .menu {
    display: none;
  }

  .menu-icon,
  .nav-bar .contacts-icon {
    display: block;
  }

.hero_map {
    padding-bottom: 50px;
}

  .nav-bar .button_small {
    margin-left: auto;
  }

  .nav-bar .container {
    justify-content: flex-end;
  }

  .hero-desc {
    padding: 30px 0;
  }

  .hero-wrap {
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .mascot_faq {
    max-width: 160px;
    top: -110px;
  }

  .hero-illustration {
    max-width: 100%;
  }

  .hero-logo_sm {
    max-width: 386px;
    width: 100%;
  }

  .hero-form,
  .result-advice-wrap,
  .result, .hero_map .hero-result  {
    border-radius: 30px;
    max-width: 100%;
  }
  
  .hero_result {
      padding-bottom: 50px;
  }

  .innerpage .section-heading {
    margin-bottom: 20px;
    padding: 0 35px;
  }

  .innerpage .section-desc {
    padding: 0 35px;
    margin-bottom: 30px;
  }

  .innerpage .section-desc h2,
  .diet-advices h2 {
    font-size: 30px;
    margin-bottom: 20px;
  }

  .faq-slider,
  .innerpage-block {
    position: relative;
    border-radius: 30px;
    border-width: 5px;
    padding: 32px 15px;
    border-bottom: none;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .faq-title {
    padding: 10px 53px 10px 15px;
  }

  .faq-title:after {
    right: 15px;
  }

  .faq-text-editor {
    padding: 20px 15px;
  }

  .about-text {
    padding-left: 0;
    padding-right: 0;
  }

  .mascot_about {
    max-width: 160px;
    bottom: unset;
    top: -40px;
  }

  .about-share {
    padding: 45px 20px 20px 120px;
    margin-top: 67px;
  }

  .about-share .button_share {
    max-width: 250px;
    padding-left: 65px;
  }

  .result-sum {
    border-radius: 9px;
    max-width: 290px;
    font-size: 16px;
    gap: 12px;
    margin-bottom: 25px;
  }

  .result-sum span {
    font-size: 24px;
  }

  .result-title {
    font-size: 18px;
  }

  .mascot_result {
    max-width: 160px;
  }

  .result-advice-wrap {
    padding-right: 145px;
  }
  
  .quiz-result-subtitle {
      margin-bottom: 0;
  }
  
  .quiz-result-risk {
      margin-bottom: 0;
  }

  .diet-tabs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .diet-tabs-nav div {
    /* width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap; */
  }

  .diet-tabs
    input[name="tab-control"]:nth-of-type(1):checked
    ~ .diet-tabs-nav
    div:nth-child(1)
    > label
    h4,
  .diet-tabs
    input[name="tab-control"]:nth-of-type(1):checked
    ~ .diet-tabs-nav
    div:nth-child(1)
    > label
    h4,
  .diet-tabs
    input[name="tab-control"]:nth-of-type(2):checked
    ~ .diet-tabs-nav
    div:nth-child(2)
    > label
    h4,
  .diet-tabs
    input[name="tab-control"]:nth-of-type(2):checked
    ~ .diet-tabs-nav
    div:nth-child(2)
    > label
    h4,
  .diet-tabs
    input[name="tab-control"]:nth-of-type(3):checked
    ~ .diet-tabs-nav
    div:nth-child(3)
    > label
    h4,
  .diet-tabs
    input[name="tab-control"]:nth-of-type(3):checked
    ~ .diet-tabs-nav
    div:nth-child(3)
    > label
    h4,
  .diet-tabs
    input[name="tab-control"]:nth-of-type(4):checked
    ~ .diet-tabs-nav
    div:nth-child(4)
    > label
    h4,
  .diet-tabs
    input[name="tab-control"]:nth-of-type(4):checked
    ~ .diet-tabs-nav
    div:nth-child(4)
    > label
    h4 {
    color: var(--bg-primary);
    background: var(--text-secondary);
  }

  .diet-nav-item div {
    display: none;
  }

  .diet-tabs-text {
    display: block;
    margin-top: var(--gap-sm);
  }

  .diet-tabs-text h4 {
    margin-bottom: 8px;
  }

  .section-block {
    gap: var(--gap-md);
  }

  .waist-columns {
    flex-direction: column;
    gap: 16px;
  }

  .quiz-result-header {
    flex-direction: column;
    align-items: stretch;
    padding: 0;
  }

  .question-wrapper {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .question-image {
    flex: 0 0 auto;
    max-width: 100%;
    margin-bottom: 10px;
  }
  .question-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 20px;
    max-height: 250px;
  }
  .step {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  .progress {
    margin-bottom: 20px;
  }

  .progress::before {
    left: 10px;
    right: 10px;
  }

  .q-title {
    font-size: 18px;
    margin-bottom: 15px;
    text-align: center;
  }

  .options {
    gap: 10px;
  }

  .options label {
    min-width: 100%;
    font-size: 18px;
    text-align: center;
  }

  .quiz-result-title {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .quiz-result-right {
    border-radius: 20px 20px 0 0;
  }

  .quiz-result .reset-btn {
    margin: 20px auto 0;
  }

  .quiz-result-body {
    padding: 20px 15px;
    border-radius: 0 0 20px 20px;
  }

  .waist-gender {
    font-size: 18px;
  }

  .question-content {
    padding: 0;
  }

  .navigation-arrows {
    justify-content: center;
  }

  .mascot_diet {
    max-width: 160px;
  }

  .diet-item {
    width: 100%;
    text-align: center;
  }

  .diet-item img {
    display: inline-block;
  }

  .diet-tabs-nav {
    gap: 10px;
  }

  .diet-tabs-content {
    border-radius: 24px;
  }

  .diet-tabs-nav label {
    padding: 12px;
    font-size: 14px;
    border-radius: 8px;
    display: block;
    text-align: center;
  }

  .diet-tabs-content {
    padding: 30px 15px 10px;
  }

      .diet_lime .diet-header-bg {
        right: -14px;
        bottom: -21px;
        max-width: 120px;
    }

    .diet_orange .diet-header-bg {
      max-width: 120px;
      right: -9px;
    bottom: -19px;
    }

    .diet_red .diet-header-bg {
      max-width: 120px;
    bottom: -11px;
    }

    .mascot_test {
      display: none;
    }

    .quiz-result-footer .button {
      width: 100%;
      max-width: 100%;
    }
}

@media screen and (max-width: 610px) {
  :root {
    --body: 400 16px / 120% var(--font-family);
  }
  
  
  .hero {
   min-height: calc(100vh - 112px);
  }
  
  .mascot_main {
        max-width: 240px;
    }

  .mascot_faq {
    right: -10px;
  }

  .mascot_form {
    max-width: 160px;
    right: -23px;
    top: 6px;
  }

  .hero-form, .hero_map .hero-result  {
    border-radius: 24px;
    padding: 30px 20px;
  }
  
  .hero_map {
    background: url(../assets/images/bg-mob.jpg) no-repeat center top -15px, url(../assets/images/bg-long.jpg) no-repeat center top / cover;
  }
  
  .hero-map {
      transform: scale(0.75);
  }
  
  .hero-map.map-zoomed {
      transform: scale(1);
  }
  
  .hero_map .hero-wrap {
      align-items: center;
  }
  
  .hero-map-wrap {
      aspect-ratio: unset;
  }
  
      .hero-logo_sm {
        max-width: 326px;
        margin: 0 auto;
    }
    
    .hero_mapmain .hero-map {
        margin: 70px auto 0;
    }
    
        .result-subtitle {
        font-size: 22px;
    }
    
        .result-regionsum, .result-regiondesc {
        font-size: 10px;
    }
    
    .region-result_vitebsk .result-regioncontent {
        bottom: 100px;
    }
    
        .region-result_grodno .result-regioncontent {
        left: -130px;
        bottom: 85px;
        max-width: 145px;
    }
    
    .region-result_minsk .result-regioncontent {
        left: -103px;
        bottom: 78px;
        max-width: 73px;
    }
    
        .region-result_mogilev .result-regioncontent {
        left: 108px;
        width: 215px;
        bottom: 127px;
    }
    
    .region-result_brest .result-regioncontent {
        max-width: 142px;
    }

  .result-advice-wrap,
  .result {
    border-radius: 24px;
  }

  .hero-form-title {
    font-size: 18px;
    line-height: 120%;
    margin-bottom: 17px;
    max-width: 225px;
  }

  .innerpage .section-heading {
    margin-bottom: 20px;
    padding: 0 35px;
    font-size: 40px;
  }

  .innerpage .section-desc {
    padding: 0 15px;
    margin-bottom: 20px;
  }

  .innerpage .section-desc h2 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .innerpage .section-desc p {
    font-size: 16px;
  }

  .faq-slider {
    padding: 25px 15px;
  }

  .faq-title {
    padding: 10px 53px 10px 15px;
  }

  .faq-title:after {
    right: 0px;
    width: 23px;
    height: 23px;
    background-size: 23px 15px;
  }

  .faq-slide.active .faq-title:after {
    background-size: 18px 18px;
  }

  .innerpage {
    padding-bottom: 50px;
    min-height: calc(100vh - 112px);
  }

  .innerpage-block {
    border-bottom: 5px solid var(--text-accent);
    border-radius: 24px;
    height: auto;
    min-height: auto;
  }

  .button_large {
    font-size: 26px;
    max-width: 100%;
  }

  .about-link {
    max-width: 100%;
  }

  .about-share {
    margin-top: 30px;
    padding: 20px 15px;
  }

  .mascot_about {
    position: static;
    margin: 0 auto 10px;
  }

  .about-share .button_share {
    position: static;
    max-width: 100%;
    text-align: center;
    padding: 6px 14px;
  }

  .about-share .button_share img {
    width: auto;
  }

  .about-share .button_share br {
    display: none;
  }

  .result {
    flex-direction: column;
    align-items: center;
  }

  .result-pic {
    max-width: 130px;
  }

  .result-content {
    padding: 10px 20px 50px;
  }

  .result-advice-wrap {
    padding: 30px 20px 20px 20px;
    margin-top: 50px;
  }

  .result-sum {
    max-width: 100%;
  }

  .result-scale-wrap {
    font-size: 14px;
    width: 100%;
  }

  .result-wrap {
    align-items: center;
  }

  .diet-button,
  .result-attention .button {
    width: 100%;
    max-width: 100%;
  }

  .result-title {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .mascot_result {
    right: -25px;
    bottom: unset;
    top: -115px;
    z-index: 2;
  }

  .footer {
    padding: 20px 0;
  }

  .footer .container {
    flex-direction: column;
  }

  .footer-wrap {
    gap: 4px;
  }

  .footer .button {
    max-width: 310px;
    width: 100%;
  }
  /* .nav-bar.scroll {
	  opacity: 1;
	}
	
	@-webkit-keyframes navAppear {
	  from {
	    opacity: 1;
	  }
	  
	  to {
	    opacity: 1;
	  }
	}
	
	@keyframes navAppear {
	  from {
	    opacity: 1;
	  }
	  
	  to {
	    opacity: 1;
	  }
	} */

  .cookies-wrap .button,
  .buttons-wrap .button {
    max-width: 100%;
  }

  .buttons-wrap,
  .cookies-wrap {
    flex-direction: column-reverse;
    width: 100%;
    gap: 12px;
  }

  .button_large {
    height: 56px;
  }

  .icon-button {
    width: 38px;
    height: 38px;
    border-radius: 19px;
    padding: 9px;
  }

  .form-button {
    margin: 12px auto 0;
    width: 100%;
    max-width: 100%;
  }

  .form-input {
    width: 100%;
  }

  .form-control {
    padding: 0 10px;
  }

  select.form-control {
    background-size: 21px 12px;
    background-position: right 10px center;
  }

  .diet-nav-list {
    flex-direction: column;
    margin-bottom: -22px;
  }

  .diet-nav-list::-webkit-scrollbar {
    display: none;
  }

  .diet-nav-item {
    width: 100%;
  }

  .diet-header {
    margin-top: 30px;
    padding-right: 15px;
    border-radius: 30px;
    flex-direction: column;
    padding: 0 15px 60px;
    gap: 10px;
  }

  .diet_green .diet-header {
padding-bottom: 20px;
  }

  .diet-title {
    margin: 35px 0;
  }

  .diet-tabs-content {
    border-radius: 20px;
  }

  .diet-share-bg {
    display: none;
  }

  .mascot_share,
  .socials {
    position: static;
    transform: none;
  }

  .mascot_share {
    margin: 0 auto 20px;
  }

  .diet-share-desc {
    display: block;
    font-size: 14px;
  }

  .diet-share {
    padding: 40px 0 0;
  }

  .diet-advices h2 {
    font-size: 24px;
  }

  .diet-test {
    padding-top: 40px;
  }

  .diet-header, .diet-title, .diet-tabs-item p, .diet-test {
    font-size: 14px;
  }
  
  .hero_map .hero-result {
        margin-top: 20px;
    }

      .quiz-result-footer .button {
        padding: 6px 20px;
        height: 52px;
        margin-top: 20px;
        font-size: 16px;
    }
    
    .map-back-btn {
  /*   top: unset;
  right: -20px;
  bottom: -20px; */
    }
    
    .diet-tabs input[name="tab-control"]:nth-of-type(1):checked ~ .diet-tabs-nav div:nth-child(1) > label, .diet-tabs input[name="tab-control"]:nth-of-type(2):checked ~ .diet-tabs-nav div:nth-child(2) > label, .diet-tabs input[name="tab-control"]:nth-of-type(3):checked ~ .diet-tabs-nav div:nth-child(3) > label {
        background: rgba(5, 47, 69, 0.8)
    }
}
