@charset "UTF-8";
/*
  1. Use a more-intuitive box-sizing model.
*/
*,
*::before,
*::after {
  box-sizing: border-box; }

/*
  2. Remove default margin
*/
* {
  margin: 0; }

/*
  Typographic tweaks!
  3. Add accessible line-height
  4. Improve text rendering
*/
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased; }

/*
  5. Improve media defaults
*/
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%; }

/*
  6. Remove built-in form typography styles
*/
input,
button,
textarea,
select {
  font: inherit; }

/*
  7. Avoid text overflows
*/
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word; }

/*
  8. Create a root stacking context
*/
#root,
#__next {
  isolation: isolate; }

li {
  list-style: none; }

a {
  text-decoration: none;
  color: inherit; }

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type='checkbox'],
[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

.navbar {
  display: flex;
  width: 100%;
  font-size: 24px; }
  @media (min-width: 768px) {
    .navbar {
      flex-direction: row;
      justify-content: center;
      position: absolute; } }
  .navbar__logo {
    margin: 0 auto;
    min-width: 150px;
    max-width: 150px; }
  .navbar__btn {
    cursor: pointer;
    border: none;
    width: 32px;
    display: block;
    background-color: transparent; }
    @media (min-width: 768px) {
      .navbar__btn {
        display: none; } }
  .navbar__link {
    padding: 10px 20px;
    transition: color 0.3s ease-in-out;
    display: none; }
    @media (min-width: 768px) {
      .navbar__link {
        display: flex;
        justify-content: center;
        align-content: center; } }
  .navbar__link:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left; }
  .navbar__link:hover {
    cursor: pointer;
    color: #0073cb; }

@font-face {
  font-family: 'Tilda';
  src: url(./fonts/TildaSans-VF.woff); }

body {
  background: #f6f6f6;
  font-family: 'Tilda'; }

html {
  scroll-behavior: smooth; }

@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto; } }

main {
  display: flex;
  flex-direction: column;
  justify-content: center; }

.modal {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  z-index: 1;
  /* Sit on top */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: black;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */ }

/* Modal Content */
.modal-content {
  background-color: #fefefe;
  margin: 15% auto;
  /* 15% from the top and centered */
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
  /* Could be more or less, depending on screen size */
  text-align: center; }

/* Close Button */
.close-button {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold; }

.close-button:hover,
.close-button:focus {
  color: black;
  text-decoration: none;
  cursor: pointer; }

* {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important;
  -webkit-focus-ring-color: rgba(255, 255, 255, 0) !important;
  outline: none !important; }

.just-validate-error-label {
  font-size: 0.9rem; }
  @media (min-width: 768px) {
    .just-validate-error-label {
      font-size: 1.1rem; } }

header {
  background: white;
  width: 100%;
  position: fixed;
  z-index: 5;
  height: 80px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 6px;
  margin: 0 auto; }
  @media (min-width: 768px) {
    header {
      height: 100px; } }

section {
  padding: 40px 0; }
  @media (min-width: 768px) {
    section {
      padding: 40px; } }
  section h2 {
    font-size: 48px;
    padding: 20px;
    text-align: center;
    font-size: 1.8em; }
    @media (min-width: 768px) {
      section h2 {
        font-size: 2em; } }

section:first-child {
  padding-top: 140px !important; }

.form-wrapper {
  background-image: linear-gradient(to right bottom, #1d3557, #345c7a, #53859b, #7aafbc, #a8dadc);
  overflow: hidden;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  border-radius: 30px;
  display: flex;
  flex-direction: column;
  margin: 0 20px; }
  @media (min-width: 768px) and (max-width: 1185px) {
    .form-wrapper {
      font-size: 0.9em; } }
  @media (min-width: 768px) {
    .form-wrapper {
      flex-direction: row;
      padding: 0;
      max-width: 1400px;
      margin: 0 auto; } }
  .form-wrapper__description {
    align-items: center;
    display: flex;
    text-align: center;
    justify-content: center;
    flex-direction: column;
    padding: 20px 0 0 0; }
    @media (min-width: 768px) {
      .form-wrapper__description {
        text-align: left;
        font-size: 1.7em;
        padding: 64px 0px 0 64px; } }
    .form-wrapper__description h1 {
      word-break: keep-all;
      color: #f6f6f6;
      margin: 0;
      line-height: normal !important; }
    .form-wrapper__description p {
      color: #f6f6f6; }
    .form-wrapper__description .p-main-desc {
      padding: 20px;
      text-align: center;}
  .form-wrapper__img {
    max-width: 100%;
    object-fit: cover;
    display: flex; }
    @media (min-width: 768px) {
      .form-wrapper__img {
        width: 60%;
        height: auto; } }

.device-wrapper {
  display: grid;
  gap: 25px;
  align-items: center;
  justify-items: center;
  margin: 0 auto;
  max-width: 1152px;
  font-size: 0.9em;
  grid-template-rows: repeat(4, 1fr);
  grid-template-columns: repeat(2, 1fr); }
  @media (min-width: 768px) {
    .device-wrapper {
      grid-template-rows: repeat(3, 1fr);
      grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 1152px) {
    .device-wrapper {
      grid-template-rows: repeat(2, 1fr);
      grid-template-columns: repeat(4, 1fr); } }
  .device-wrapper li {
    transition: all 0.2s ease-in-out;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center; }
  .device-wrapper li:nth-child(1) {
    background-image: url(/src/img/iphone-mockup.png);
    background-size: 250px;
    /* Proportionally scales the image to fit inside the element */
    background-repeat: no-repeat;
    /* Prevents the background image from repeating */
    background-position: center bottom 20px;
    /* Centers the background image */ }
    @media (min-width: 768px) {
      .device-wrapper li:nth-child(1) {
        background-size: 300px;
        /* Proportionally scales the image to fit inside the element */ } }
  .device-wrapper li:nth-child(2) {
    background-image: url(/src/img/Avant-Tower-Gaming-PC.png);
    background-size: 140px;
    /* Proportionally scales the image to fit inside the element */
    background-repeat: no-repeat;
    /* Prevents the background image from repeating */
    background-position: center bottom 30px;
    /* Centers the background image */ }
    @media (min-width: 768px) {
      .device-wrapper li:nth-child(2) {
        background-size: 170px;
        /* Proportionally scales the image to fit inside the element */ } }
  .device-wrapper li:nth-child(3) {
    background-image: url(/src/img/MacBook-Pro-16inc.png);
    background-size: 270px;
    /* Proportionally scales the image to fit inside the element */
    background-repeat: no-repeat;
    /* Prevents the background image from repeating */
    background-position: calc(60% - 15px) calc(50% + 20px);
    /* Centers the background image */ }
    @media (min-width: 768px) {
      .device-wrapper li:nth-child(3) {
        background-size: 300px;
        /* Proportionally scales the image to fit inside the element */ } }
  .device-wrapper li:nth-child(4) {
    background-image: url(/src/img/xbox.png);
    background-size: 150px;
    /* Proportionally scales the image to fit inside the element */
    background-repeat: no-repeat;
    /* Prevents the background image from repeating */
    background-position: center bottom 20px;
    /* Centers the background image */ }
    @media (min-width: 768px) {
      .device-wrapper li:nth-child(4) {
        background-size: 170px;
        /* Proportionally scales the image to fit inside the element */ } }
  .device-wrapper li:nth-child(5) {
    background-image: url(/src/img/Apple_Watch_Mockup_2.png);
    background-size: 250px;
    /* Proportionally scales the image to fit inside the element */
    background-repeat: no-repeat;
    /* Prevents the background image from repeating */
    background-position: center bottom;
    /* Centers the background image */ }
    @media (min-width: 768px) {
      .device-wrapper li:nth-child(5) {
        background-size: 300px;
        /* Proportionally scales the image to fit inside the element */ } }
  .device-wrapper li:nth-child(6) {
    background-image: url(/src/img/ipad.png);
    background-size: 300px;
    /* Proportionally scales the image to fit inside the element */
    background-repeat: no-repeat;
    /* Prevents the background image from repeating */
    background-position: center bottom;
    /* Centers the background image */ }
    @media (min-width: 768px) {
      .device-wrapper li:nth-child(6) {
        background-size: 350px;
        /* Proportionally scales the image to fit inside the element */ } }
  .device-wrapper li:nth-child(7) {
    background-image: url(/src/img/imac.png);
    background-size: 200px;
    /* Proportionally scales the image to fit inside the element */
    background-repeat: no-repeat;
    /* Prevents the background image from repeating */
    background-position: center bottom 20px;
    /* Centers the background image */ }
    @media (min-width: 768px) {
      .device-wrapper li:nth-child(7) {
        background-size: 250px;
        /* Proportionally scales the image to fit inside the element */ } }
  .device-wrapper li:nth-child(8) {
    background-image: url(/src/img/gpu.png);
    background-size: 130px;
    /* Proportionally scales the image to fit inside the element */
    background-repeat: no-repeat;
    /* Prevents the background image from repeating */
    background-position: center bottom 50px;
    /* Centers the background image */ }
    @media (min-width: 768px) {
      .device-wrapper li:nth-child(8) {
        background-size: 150px;
        /* Proportionally scales the image to fit inside the element */ } }
  @media (min-width: 768px) {
    .device-wrapper li:hover {
      box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; } }

.device-card {
  padding: 20px;
  width: 300px;
  height: 250px;
  border-radius: 30px; }
  @media (min-width: 768px) {
    .device-card {
      height: 300px; } }
  .device-card h3 {
    font-size: clamp(18px, 4vw, 24px);
    /* Minimum 16px, 4vw for scaling, maximum 24px */ }
  .device-card p {
    font-size: clamp(14px, 2.5vw, 18px);
    /* Minimum 12px, 2.5vw for scaling, maximum 18px */
    color: #575757; }

.swiper {
  max-width: 1400px; }
  .swiper .swiper-pagination-bullet {
    background-color: #0073cb !important; }
  .swiper .swiper-pagination-bullet-active {
    background-color: #005fa3 !important;
    /* Slightly darker for active state */ }

.special-offer-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  border-radius: 30px;
  width: 100%;
  height: 400px;
  /* Set a fixed height */
  box-sizing: border-box; }
  .special-offer-card img {
    margin: 0 auto;
    height: 250px; }
  .special-offer-card h3 {
    flex: 0 0 auto; }
  .special-offer-card p {
    flex: 1 0 auto;
    /* Allow p to grow and fill remaining space */ }

@media (max-width: 1024px) {
  /* Tablet styles */
  .special-offer-card {
    padding: 20px;
    height: 350px;
    /* Adjust height for tablets */ }
    .special-offer-card img {
      max-height: 200px; }
    .special-offer-card h3,
    .special-offer-card p {
      font-size: 17px;
      /* Adjust font size for better readability */
      text-align: center; } }

@media (max-width: 768px) {
  /* Mobile styles */
  .special-offer-card {
    padding: 10px;
    height: 300px;
    /* Adjust height for mobile */ }
    .special-offer-card img {
      height: 150px;
      max-width: 300px; }
    .special-offer-card h3,
    .special-offer-card p {
      font-size: 16px;
      /* Further adjust font size for smaller screens */
      text-align: center; } }

.swiper-pagination {
  bottom: 10px !important; }
  @media (min-width: 768px) {
    .swiper-pagination {
      bottom: -5px !important; } }

.callback-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 400px !important;
  /* Медиа-запросы для планшетов */ }
  @media (min-width: 768px) {
    .callback-wrapper {
      margin: auto 0;
      height: auto; } }
  .callback-wrapper .callback {
    padding: 0 30px;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    .callback-wrapper .callback h3 {
      font-size: 1.5em;
      /* Размер шрифта для заголовка */ }
    .callback-wrapper .callback p {
      font-size: 1em;
      /* Размер шрифта для текста */
      margin: 10px 0; }
    .callback-wrapper .callback input::-moz-placeholder {
      color: #e3e3e3;
      text-align: center;
      font-size: 1.3em;
      position: relative;
      /* Медиа-запросы для десктопов */
      /* Медиа-запросы для больших экранов */ }
    .callback-wrapper .callback input::placeholder {
      color: #e3e3e3;
      text-align: center;
      font-size: 1.3em;
      position: relative;
      /* Медиа-запросы для десктопов */
      /* Медиа-запросы для больших экранов */ }
      @media (min-width: 768px) {
        .callback-wrapper .callback input::-moz-placeholder input::-moz-placeholder {
          font-size: 0.7em;
          /* Увеличение размера шрифта для планшетов */ }
        .callback-wrapper .callback input::placeholder input::placeholder {
          font-size: 0.7em;
          /* Увеличение размера шрифта для планшетов */ } }
      @media (min-width: 1024px) {
        .callback-wrapper .callback input::-moz-placeholder input::-moz-placeholder {
          font-size: 1.1em !important;
          /* Увеличение размера шрифта для десктопов */ }
        .callback-wrapper .callback input::placeholder input::placeholder {
          font-size: 1.1em !important;
          /* Увеличение размера шрифта для десктопов */ } }
    .callback-wrapper .callback__input {
      width: 100%;
      /* Полная ширина поля ввода */
      padding: 10px !important;
      font-size: 1em;
      box-sizing: border-box;
      /* Учет padding и border в ширину */
      border-radius: 30px !important;
      color: white; }
    .callback-wrapper .callback button:focus,
    .callback-wrapper .callback input:focus {
      outline-width: 0.5px;
      outline-color: #54aab9; }
    .callback-wrapper .callback__btn {
      width: 100%;
      padding: 10px !important;
      border-radius: 30px;
      border: none;
      font-size: 1em;
      background-color: #19c4e3;
      color: white;
      transition: all 0.2s ease-in-out;
      cursor: pointer; }
    .callback-wrapper .callback__btn:hover {
      background-color: #17b3cf; }
  @media (max-width: 768px) {
    .callback-wrapper .callback h3 {
      font-size: 1.2em;
      /* Уменьшение размера шрифта для заголовка */ }
    .callback-wrapper .callback p {
      font-size: 0.9em;
      /* Уменьшение размера шрифта для текста */ }
    .callback-wrapper .callback__btn {
      font-size: 0.9em;
      /* Уменьшение размера шрифта для кнопки */
      padding: 8px; } }
  @media (max-width: 1024px) {
    .callback-wrapper .callback h3 {
      font-size: 1.3em;
      /* Уменьшение размера шрифта для заголовка */ }
    .callback-wrapper .callback p {
      font-size: 1em;
      /* Уменьшение размера шрифта для текста */ }
    .callback-wrapper .callback__input {
       
      font-size: 0.7em;
      /* Уменьшение размера шрифта для поля ввода */ }
    .callback-wrapper .callback__btn {
      font-size: 1em;
      /* Уменьшение размера шрифта для кнопки */ } }
  @media (min-width: 1024px) {
    .callback-wrapper .callback h3 {
      font-size: 2.5em;
      /* Уменьшение размера шрифта для заголовка */ }
    .callback-wrapper .callback p {
      font-size: 1.5em;
      /* Уменьшение размера шрифта для текста */ }
    .callback-wrapper .callback__input {
         height: 49px !important;
      font-size: 1em;
      /* Уменьшение размера шрифта для поля ввода */ }
    .callback-wrapper .callback__btn {
      font-size: 1.5em;
      /* Уменьшение размера шрифта для кнопки */ } }

.callback-form {
  max-width: 1400px;
  border-radius: 30px;
  height: 400px;
  margin: 0 20px;
  color: white;
  display: flex;
  flex-direction: column;
  background-image: linear-gradient(to right bottom, #1d3557, #345c7a, #53859b, #7aafbc, #a8dadc);
  overflow: hidden; }
  @media (min-width: 768px) {
    .callback-form {
      flex-direction: row;
      margin: 0 auto; } }
  .callback-form h3,
  .callback-form p {
    text-align: center; }
    @media (min-width: 768px) {
      .callback-form h3,
      .callback-form p {
        text-align: left; } }

.callback-section .callback-img {
  display: none;
  align-items: center;
  align-self: center;
  border-radius: 30px;
  object-fit: cover;
  min-height: 500px; }
  @media (min-width: 768px) {
    .callback-section .callback-img {
      width: 50%;
      display: block;
      border-radius: 170px 21px 21px 0px; } }

.buttons-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-direction: column;
  padding: 20px 0 0 0; }
  @media (min-width: 768px) {
    .buttons-wrapper {
      flex-direction: row; } }

.faq {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  align-items: center; }
  .faq button {
    border: none;
    cursor: pointer;
    background: transparent;
    padding: 0; }

ul {
  padding: 0; }

.faq-wrapper {
  display: flex;
  align-items: center;
  padding: 0 !important;
  flex-direction: column;
  justify-content: center; }

.show-more {
  font-size: calc(1rem + 0.5vw);
  display: flex;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 10px; }
  .show-more__btn img {
    transition: 0.3s all ease-out;
    width: 40px;
    position: relative;
    top: 2px;
    fill: #17b3cf; }
  .show-more__text {
    max-height: 0;
    transition: 0.2s ease-in-out;
    overflow: hidden;
    font-size: clamp(0.8rem, 1.2rem, 1.2rem);
    margin: 20px 10px;
    width: 250px;
    border-top: 1px solid black; }
    @media (min-width: 768px) {
      .show-more__text {
        width: 400px; } }
  .show-more__text--active {
    height: 20px;
    opacity: 1; }
  .show-more__img--active {
    transform: rotate(-45deg); }
  .show-more .show-more--main-text {
    width: 200px; }
    @media (min-width: 768px) {
      .show-more .show-more--main-text {
        width: 350px; } }

footer {
  background-color: #1d3557;
  color: #e9e9e9;
  display: flex;
  font-size: 1.2rem; }
  footer .p-main-text {
    margin-bottom: 5px; }

.footer-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 20px 0;
  gap: 16px;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%; }
  @media (min-width: 768px) {
    .footer-wrapper {
      display: grid;
      width: -moz-fit-content;
      width: fit-content;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
      margin: 0 auto;
      padding: 20px 0; } }
  @media (min-width: 1152px) {
    .footer-wrapper {
      display: flex;
      flex-direction: row;
      justify-content: space-around;
      align-items: flex-start;
      width: 1152px; } }
  .footer-wrapper .footer-buttons {
    display: flex;
    justify-content: center;
    padding: 10px 0;
    gap: 10px; }
    .footer-wrapper .footer-buttons img {
      transition: all 0.3s ease-in-out;
      width: 32px; }
    .footer-wrapper .footer-buttons img:hover {
      filter: brightness(75%); }

.footer-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }

.footer-rating {
  height: 75px;
  margin-bottom: 10px;
  display: flex;
  flex-direction: column;
  align-items: center; }
  .footer-rating iframe {
    margin-left: 50px; }

.footer-nav__link:hover {
  filter: brightness(150%); }

.footer-contacts {
  display: flex;
  flex-direction: column;
  justify-content: center; }
  .footer-contacts a {
    display: flex;
    justify-content: center;
    gap: 8px; }
    .footer-contacts a .footer-contact__image {
      width: 24px;
      height: 24px;
      filter: brightness(0) saturate(100%) invert(70%) sepia(67%) saturate(5702%) hue-rotate(329deg) brightness(93%) contrast(117%); }
  .footer-contacts .footer-contact__number:hover {
    filter: brightness(120%); }

.form-modal {
  min-width: 250px;
  max-height: 700px;
  background: white;
  border-radius: 30px;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
  color: black;
  padding: 30px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 100;
  transition: 0.4s ease-in-out;
  justify-content: center;
  align-items: center; }
  .form-modal__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 0.7em; }
    @media (min-width: 768px) {
      .form-modal__heading {
        font-size: 0.9em; } }
  .form-modal__input,
  .form-modal textarea {
    font-size: 0.7em;
    width: 250px; }
    @media (min-width: 768px) {
      .form-modal__input,
      .form-modal textarea {
        width: 100%; } }
    @media (min-width: 768px) {
      .form-modal__input,
      .form-modal textarea {
        font-size: 0.9em; } }
  .form-modal button:nth-child(2) {
    border: none;
    background: transparent;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 20px;
    transition: 0.3s ease-in-out; }
  .form-modal button:nth-child(2):hover {
    filter: brightness(85%);
    cursor: pointer; }
  .form-modal--active {
    display: flex; }

.main-form {
  display: flex;
  flex-direction: column;
  width: 100%;
  font-size: 2rem;
  padding: 20px 20px 0 20px; }
  .main-form input {
    width: 100%;
    border: none;
    height: 30px;
    margin-bottom: 10px;
    padding: 20px;
    background: none;
    color: black;
    border-bottom: 1px solid #939393;
    transition: 0.1s ease-in-out; }
  .main-form input:focus {
    outline: none;
    border-bottom: 1px solid #19c4e3; }
  .main-form ::-moz-placeholder {
    color: black;
    opacity: 0.5; }
  .main-form ::placeholder {
    color: black;
    opacity: 0.5; }
  .main-form ::-ms-input-placeholder {
    color: white; }
  .main-form textarea {
    outline: none;
    margin: 16px 0;
    border-radius: 30px;
    transition: 0.6s ease-in-out;
    resize: none;
    padding: 16px; }
  .main-form textarea:focus {
    outline: none;
    margin: 16px 0;
    border-color: #19c4e3; }
  .main-form button {
    border-radius: 30px;
    border: none;
    background-color: #19c4e3;
    color: white;
    width: -moz-fit-content;
    width: fit-content;
    padding: 10px 24px;
    align-self: center;
    align-content: center;
    transition: 0.3s ease-in-out;
    cursor: pointer;
    font-size: 0.7em; }
    @media (min-width: 768px) {
      .main-form button {
        font-size: 0.9em; } }
  .main-form button:hover {
    filter: brightness(110%); }

.overlay {
  width: 10000%;
  height: 10000%;
  position: fixed;
  opacity: 0.9605;
  background: #ffffff;
  top: 0;
  left: 0;
  z-index: 10;
  display: none;
  transition: 0.3s ease-in-out; }

.overlay--active {
  display: flex; }

table {
  width: 100%;
  text-align: center;
  margin: 20px 0;
  font-size: 1em; }

thead tr {
  background-color: #19c4e3;
  color: #ffffff;
  text-align: left;
  border-radius: 30px; }

th,
td {
  padding: 12px 15px;
  text-align: center; }

tbody tr {
  border-bottom: 1px solid #dddddd; }

tbody tr:nth-of-type(even) {
  background-color: #f3f3f3; }

tbody tr:last-of-type {
  border-bottom: 2px solid #19c4e3; }

tbody tr:hover {
  background-color: #f1f1f1; }

th {
  border-radius: 30px; }

.contact-info {
  display: flex;
  width: 50%;
  justify-content: center;
  font-size: 1rem;
  gap: 32px;
  margin: 0 auto;
  text-wrap: nowrap;
  flex-direction: column; }
  @media (min-width: 768px) {
    .contact-info {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto auto;
      gap: 32px;
      width: 500px; } }
  @media (min-width: 1152px) {
    .contact-info {
      display: flex;
      flex-direction: row; } }
  .contact-info a:hover {
    color: #0073cb; }

.contacts {
  display: flex;
  flex-direction: column;
  align-items: center; }
  .contacts__numbers {
    display: flex;
    gap: 8px; }
    .contacts__numbers img {
      filter: invert(28%) sepia(100%) saturate(1636%) hue-rotate(188deg) brightness(88%) contrast(102%);
      width: 20px; }
  .contacts__email {
    display: flex;
    gap: 8px; }
    .contacts__email img {
      filter: invert(28%) sepia(100%) saturate(1636%) hue-rotate(188deg) brightness(88%) contrast(102%);
      width: 20px; }

.locations {
  align-items: center;
  display: flex;
  flex-direction: column; }
  .locations a {
    display: flex;
    gap: 8px; }
    .locations a img {
      width: 20px;
      filter: invert(28%) sepia(100%) saturate(1636%) hue-rotate(188deg) brightness(88%) contrast(102%); }

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

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

.ya-maps-container {
  padding: 20px;
  width: 100%;
  margin: 0 auto;
  /* Центрирование контейнера на странице */
  display: flex;
  justify-content: center;
  /* Центрирование iframe внутри контейнера */ }
  @media (min-width: 768px) {
    .ya-maps-container {
      width: 70%; } }

.hamburger-btn {
  background-color: transparent;
  border: none;
  width: 24px;
  height: 24px; }

.form-buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 !important;
  margin-top: 20px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  padding: 20px 0 0 0; }
  @media (min-width: 768px) {
    .form-buttons {
      padding: 20px 0 44px 0; } }
  .form-buttons__call {
    margin: 0 !important;
    height: -moz-fit-content;
    height: fit-content;
    width: 150px !important;
    border-radius: 30px;
    transition: 0.3s ease-in-out;
    border: none;
    padding: 10px 15px;
    height: auto;
    font-size: 1em;
    color: black; }
    @media (min-width: 768px) {
      .form-buttons__call {
        width: 200px !important;
        height: 60px;
        font-size: 0.8em; } }
  .form-buttons__call:hover {
    background-color: #4aba8f;
    color: white; }
  .form-buttons__fill-form {
    margin: 0 !important;
    height: -moz-fit-content;
    height: fit-content;
    justify-content: start;
    border-radius: 30px;
    border: none;
    background-color: #19c4e3;
    color: white;
    transition: 0.3s ease-in-out;
    padding: 10px 15px;
    font-size: 1em;
    cursor: pointer; }
    @media (min-width: 768px) {
      .form-buttons__fill-form {
        width: 200px;
        height: 60px;
        font-size: 0.8em; } }
  .form-buttons__fill-form:hover {
    background-color: #17b3cf; }
  @media (min-width: 768px) {
    .form-buttons {
      flex-direction: row; } }

.menu-modal {
  width: 320px;
  max-width: 360px;
  height: 100%;
  padding: 30px 10px;
  flex-shrink: 0;
  background: #fff;
  position: fixed;
  left: -350px;
  transition: all 0.3s ease;
  top: 0;
  z-index: 100;
  overflow-y: scroll;
  overflow-x: hidden;
  box-shadow: 16px 0px 52px 0px rgba(14, 24, 80, 0.2); }
  .menu-modal__header {
    display: flex;
    padding-bottom: 20px;
    align-items: center;
    margin-bottom: 20px; }
    .menu-modal__header .menu-close-btn {
      background: transparent;
      border: none;
      width: 48px !important;
      cursor: pointer;
      transition: all 0.3s ease-in-out; }
      .menu-modal__header .menu-close-btn:hover {
        filter: brightness(85%); }
    .menu-modal__header .menu-logo {
      width: 150px;
      align-self: center;
      align-items: center;
      margin: 0 auto; }

.menu-modal--active {
  left: 0; }

.nav-menu {
  display: flex;
  gap: 8px;
  flex-direction: column;
  padding: 0 20px;
  font-size: 24px;
  margin-bottom: 40px; }
  .nav-menu__link {
    transition: all 0.3s ease-in-out; }
  .nav-menu__link:hover:active {
    color: #0073cb; }

.menu-contacts-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 20px; }

.menu-contacts {
  display: flex;
  gap: 8px;
  flex-direction: row; }
  .menu-contacts a img {
    width: 40px; }

.modal-footer {
  display: flex;
  gap: 8px;
  flex-direction: column; }
  .modal-footer a {
    display: flex;
    gap: 8px; }
  .modal-footer p {
    text-align: center; }
  .modal-footer img {
    width: 19px;
    filter: invert(28%) sepia(100%) saturate(1636%) hue-rotate(188deg) brightness(88%) contrast(102%); }

.device-type {
  display: flex;
  justify-content: center;
  gap: 8px; }

.worktime {
  display: flex;
  text-align: center; }

.header-wrapper {
  display: flex;
  flex-direction: row-reverse;
  margin: 20px;
  gap: 16px;
  align-items: center; }
  @media (min-width: 768px) {
    .header-wrapper {
      flex-direction: row; } }


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