@font-face {
  font-family: "Bounded-Regular";
  src: url("../fonts/Bounded-Regular.ttf");
}
body {
  width:100%;
  margin:0 auto;
  padding:0;
  font-family: Helvetica, Sans-Serif;
  /*font-family: "Montserrat", sans-serif;*/
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
h1 {
  font-size:3.45em;
  color:#fff;
  font-weight:600;
  margin:50px 0 0 35px;
}
h2 {
  font-size: 2.5em;
  color:#fff;
  font-weight:300;
  text-align: center;
}
.welc ul, header, nav, .banner1,
.lb-content, .price, .stage,
.faq-content, .requir-content,
.requir, .reestr, .footer {
  margin: 0 auto;
  width:80%;
  position: relative;
}
a {
  text-decoration:none;
}
.welc ul li,
nav ul li {
  list-style: none;
}
/****** FLEX START******/
.flex {
  display: flex;
}
.jcsb {
  justify-content:space-between;
}
.column {
  flex-direction: column;
}
.fwrap {
  flex-wrap: wrap;
}
.f1 {
  flex:1;
}
.f2 {
  flex:2;
}
.f3 {
  flex:3;
}
/****** FLEX END******/

/****** WELC START******/
.welc {
  background-color:#000e8c;
  color: #fff;
  height:30px;
}
.welc ul li {
  margin-left:100px;
  line-height: 30px;
}
.welc ul {
  padding: 0;
  justify-content: flex-end;
}
/****** WELC END******/

/****** HEADER STRAT******/
header {
  justify-content: space-between;
  align-items: center;
}
a.logo {
  display: block;
  width:360px;
  height: 62px;
  background-image: url('../img/logo.svg');
  background-position: top;
  margin: 60px 0;
}
a.logo:hover,
header .tg:hover,
header .vk:hover {
  background-position:bottom;
}
.header-contacts {
  flex-direction: column;
}
.header-contacts span {
  text-align: center;
  color: #000e8c;
  padding:3px 0;
  background-position: top;
  font-size: 1.1em;
  font-weight: 400;
}
.socnet {
  gap:20px;
}
header .tg,
header .vk {
  display: block;
  width:38px;
  height:38px;
}
header .tg {
  background-image: url('../img/tg_header.svg');
}
header .vk {
  background-image: url('../img/vk_header.svg');
}
header .callback {
  display: block;
  background-color: #000e8c;
  color: #fff;
  padding: 10px 20px;
  border: 1px solid #000e8c;
  border-radius: 10px;
  font-weight: 400;
  text-align: center;
  width: 170px;
  font-size: 1.1em;
}
header .callback:hover,
.stage .consult:hover,
.full-button:hover {
  background-color:#fff;
  color:#000e8c;
  transition:all .2s ease-in-out;
}
/****** HEADER END******/

/****** MAIN MENU START******/
#touch-menu {
  display:none;
}
nav {
  padding: clamp(15px, 5vw, 40px) 0;
  border: none;
    background-image:
    repeating-linear-gradient(90deg,
      #006add 0,
      #006add clamp(5px, 2.5vw, 10px), /* адаптивная длина черты */
      transparent clamp(5px, 2.5vw, 10px),
      transparent clamp(14px, 3vw, 25px)
    ),
    repeating-linear-gradient(90deg,
      #006add 0,
      #006add clamp(5px, 2.5vw, 10px),
      transparent clamp(5px, 2.5vw, 10px),
      transparent clamp(14px, 3vw, 25px)
    );

  background-size: 100% 1px;
  background-position: 0 0, 0 100%;
  background-repeat: no-repeat;
}
nav ul {
  padding:0;
  margin:0;
  justify-content:space-evenly;
}
nav ul li a {
  color:#000e8c;
  font-size: 1.4em;
  font-weight: 400;
  border-bottom: #fff 2px solid;
}
nav ul li a:hover {
  border-bottom-color:#000e8c;
  transition:all .2s ease-in-out;
}
/****** MAIN MENU END******/

/****** BANER1 START******/
.banner1 {
  aspect-ratio: 1280 / 626; /* = 2.04 / 1 */
  background-image: url('../img/banner1.jpg');
  background-size: cover;
  background-position: center;
  border-radius: 30px;
  margin-top:70px;
  gap: 20px;
}
/* Fallback для старых браузеров */
@supports not (aspect-ratio: 1280 / 626) {
  .banner1 {
    height: 0;
    padding-top: 48.91%;
  }
}
.banner-left {
  flex:2;
  min-width: 0;
}
.banner-left img {
  width: 50%;
  height: auto;
  margin: 35px 0 0 35px;
}
.banner-left p {
  color: #fff;
  font-size: 1.5em;
  margin:45px 0 0 35px;
}
.banner-left .p2 {
  font-size: 1em;
}
.banner-right {
  flex:1;
  min-width: 0;
  padding:30px 0;
}
/****** FORM ********/
.banner-right form {
  background-color: #fffffff0;
  width: 90%;
  border-radius: 20px;
  border: 2px solid #ccccccf0;
  text-align:center;
  padding:30px 0;
}
.banner-right h4 {
  font-size:1.5em;
  margin:10px 0;
}
.form-1 input {
  width: 80%;
  height: 3em;
  border-radius: 50px;
  border: 2px solid #eee;
  font-size: 1em;
  margin:10px 0;
  padding-left: 15px;
}
.form-but input {
  background-color:#f6364d;
  color:#fff;
  cursor: pointer;
  margin:40px 0 0 0;
}
.form-but input:hover {
  background-color:#fff;
  color:#f6364d;
  transition:all .2s ease-in-out;
}
/****** BANER1 END******/


/****** LB 1 START******/
.lb-1-content {display: none;}
.lb-1-content.active {
  display: block;
}
.lb-content, .faq {
  padding:20px 0;
}
.lb-1 {
  margin-top:70px;
  background-color: #006add55;
}
.lb-1-menu {
  justify-content: space-between;
  gap:50px;
}
.lb-1-menu > div {
  cursor: pointer;
  flex:1;
  align-items: center;
  gap:5px;
  padding:20px 30px;
  border:1px solid #006add;
  border-radius:15px;
  background-color:#ffffffc6;
  transition: transform 0.3s ease;
}
.lb-1-menu > div.active,
.lb-1-menu > div:hover {
  transform: scale(1.07);
  background-color:#ffffff77;
  border-color: #fff;
}
.lb-1-menu > div p {
  margin:0;
  font-size:1.2em;
  font-weight:600;
  color:#000e8c;
}
.lb-1-content {
  margin-top: 40px;
  padding:20px 30px;
  border:1px solid #006add;
  border-radius:15px;
  background-color:#ffffffc6;
  height: 400px;
}
/****** LB 1 END******/
/****** LB 2 START******/
h3 {
  text-align: center;
  font-size: 2.5em;
  color:#000e8c;
}
.lb-2 img {
  width:60px;
  height:60px;
}
.lb-2 p {
  font-size:1.9em;
  margin:0;
}
.lb-2-ico {
  gap:30px;
}
.lb-2-ico > div {
  gap:20px;
  align-items: center;
}
.lb-2 .lb-content>div {
  gap:30px;
}
.lb-2-left {
  justify-content: space-between;
}
/****** LB 2 END******/
/****** LB 3 START******/
.lb-3, .faq {
  background-color: #006addca;
}
.lb-3 h3, .faq h3 {
  color:#fff;
  text-transform: uppercase;
}
.lb-3 ul {
  list-style: none; /* Убираем стандартные маркеры списка */
  padding: 0; /* Убираем отступы */
}
.lb-3 ul li {
  font-size: 1.8em;
  position: relative;
  padding-left: 60px;
  margin-bottom: 30px;
  color: #fff;
  font-weight: 500;
}

.lb-3 ul li::before {
  content: ''; /* Создаем пустой контент для псевдоэлемента */
  position: absolute; /* Абсолютное позиционирование */
  left: 0; /* Сдвигаем влево */
  top: 50%; /* Центрируем по вертикали */
  transform: translateY(-50%); /* Корректируем центрирование */
  width: 40px; /* Ширина квадрата */
  height: 40px; /* Высота квадрата */
  background-color: #000e8c; /* Цвет фона */
  border-radius: 8px; /* Скругление углов */
}

.lb-3 ul li::after {
  content: '✔'; /* Символ галочки */
  position: absolute; /* Абсолютное позиционирование */
  left: 10px; /* Сдвигаем немного вправо для центрирования */
  top: 50%; /* Центрируем по вертикали */
  transform: translateY(-50%); /* Корректируем центрирование */
  color: white; /* Цвет галочки */
  font-size: 25px; /* Размер галочки */
}

/****** LB 3 END******/
/****** PRICE START******/

/****** PRICE END******/
/****** STAGE START******/
.stages {
  gap:25px;
  justify-content: space-between;
}
.stage .consult {
  display: block;
  background-color: #000e8c;
  color: #fff;
  padding: 15px 20px;
  border: 1px solid #000e8c;
  border-radius: 10px;
  font-weight: 400;
  text-align: center;
  width: 320px;
  font-size: 1.5em;
  margin: 30px auto;
}
.stages > div {
  align-items: flex-start;
}
.stages > div > span {
  width: 42px;
  height: 42px;
  color: #fff;
  text-align: center;
  background-color:#000e8c;
  line-height: 42px;
  font-size: 1.5em;
  font-weight: 600;
}
.stages > div > img {
  margin-top: auto;
  width: 50%;
}
.stage h4 {
  font-size:1.2em;
  color: #000e8c;
}
/****** STAGE END******/
/****** FAQ END******/
.faq {
  background-color: #006addca;
}
.faq-items {
  justify-content: space-between;
  align-items: center;
}
.faq-item {
  cursor: pointer;
  padding:20px 30px;
  border:1px solid #006add;
  border-radius:15px;
  background-color:#ffffffc6;
  transition: transform 0.3s ease;
  flex-basis: 40%;
}
.faq-item span {
  min-width:40px;
  width:40px;
  height:40px;
  border-radius:20px;
  background-color:#006add;
  background-image: url('../img/open.svg');
}
.faq .wstype {
  justify-content: space-between;
}
/****** FAQ END******/
/****** REQUIR START******/
.requir {

}
.requir h3,
.reestr h3 {
  margin-bottom:0;
}
.requir h2,
.reestr h2 {
  color:#006add;
  margin-top:0;
  font-size:2em;
}
.full-button {
  display: block;
  background-color: #000e8c;
  color: #fff;
  padding: 10px 10px;
  border: 1px solid #000e8c;
  border-radius: 10px;
  font-weight: 400;
  text-align: center;
  width: 250px;
  font-size: 1em;
}
/****** REQUIR END******/

/****** REESTR START******/
.inn {
  gap:20px;
  margin:0 auto;
  width:70%;
}
.inn-input {
  border: 1px solid #000e8c;
  font-size:2em;
  line-height:2em;
}
.inn-button {
  display: block;
  background-color: #000e8c;
  color: #fff;
  padding: 10px 10px;
  border: 1px solid #000e8c;
  border-radius: 10px;
  font-weight: 400;
  text-align: center;
  font-size: 1.5em;
  align-items: center;
}
/****** REESTR END******/
footer {
  background-color:#f5f7f9;
  padding: 20px 0;
  margin-top: 30px;
  color:#343e5f;
  font-size:1em;
  font-weight:500;
}
footer h6 {
  color:#a1a8c2;
  font-size:1.2em;
  text-transform: uppercase;
}
footer ul {
  margin:0;
  padding:0;
}
footer ul li {
  margin:0;
  padding:0;
  list-style:none;
}
footer ul li a {
  color:#343e5f;
}
