@charset "UTF-8";

:root {
  --color-blue: #3d5a80;
  --color-blue-light: #98c1d9;
  --color-light: #fbfaf6;
  --color-accent-light: #ffddd2;
  --color-accent: #e29578;
  --color-accent-contrast: #ee6c4d;
  --color-dark: #293241;
  --color-nutri: #41b619;
  --p: 40px;
  --max-width: 1622px;
  --max-width-small: 1300px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  line-height: 1.1;
  color: #293241;
}

h1 {
  font-family: "Jura", sans-serif;
  font-weight: 700;
  font-size: 27px;
  line-height: 1.70667;
  color: #3d5a80;
}

h2 {
  font-family: "Jura", sans-serif;
  font-weight: 700;
  font-size: 42px;
  line-height: 1.11;
  color: #293241;
}

h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 23px;
  line-height: 1.25;
  color: #3d5a80;
}

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

a:-webkit-any-link:active {
  color: #fff;
}

html {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  scroll-behavior: smooth;
  overflow-x: hidden;
  overflow-x: clip;
  height: 100%;
  background: #fff;
  color: #000;
  line-height: initial;
}

html.lock {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  padding-right: var(--scrollbar-width);
}

body {
  overflow-x: clip;
  position: relative;
  margin: 0 auto;
  -webkit-text-size-adjust: 100%;
}

.page_wrapper {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background-color: #fff;
}

.page_wrapper.page_wrapper_main {
  background: #F8E9E6;
  background: linear-gradient(38deg, rgb(248, 233, 230) 0%, rgb(238, 235, 236) 50%, rgb(239, 241, 244) 100%);
}

main {
  flex: 1 0 auto;
  height: 100%;
  width: 100%;
  margin: 0 auto;
  padding-top: 204px;
  z-index: 1;
}

.container {
  position: relative;
  max-width: calc(var(--max-width) + var(--p) * 2);
  margin: 0 auto;
  padding-left: var(--p);
  padding-right: var(--p);
  width: 100%;
}

.container.container_small {
  max-width: calc(var(--max-width-small) + var(--p) * 2);
}

img {
  display: block;
  max-width: 100%;
}

.block_tag {
  font-weight: 400;
  font-size: 16px;
  line-height: 2.1024;
  border: 1px solid var(--color-accent-contrast);
  border-radius: 50px;
  padding: 5px 30px;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-accent-contrast);
  background-color: #fff;
}

.block_tag.dark {
  color: #fff;
  background: var(--color-blue);
  border-color: #fff;
}

.block_header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 63px;
}

.catalog_title {
  display: flex;
  gap: 10px;
  flex-direction: column;
}

.catalog_title p {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  color: #000;
}

.courses_wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 49px 42px;
}

.course_card {
  display: flex;
  flex-direction: column;
  background: #fff;
  background-color: #fff;
  border: 2px solid #eeeae1;
  border-radius: 10px;
  text-decoration: none;
  color: #000;
  transition: color 250ms ease-in-out;
}

.course_card:hover {
  color: var(--color-accent-contrast);
}

.course_card:hover .link {
  color: var(--color-accent-contrast);
}

.course_card:hover .link::after {
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.66663 8C4.66663 7.72386 4.89048 7.5 5.16663 7.5H10.9595L8.81307 5.35355C8.61781 5.15829 8.61781 4.84171 8.81307 4.64645C9.00833 4.45118 9.32492 4.45118 9.52018 4.64645L12.5202 7.64645C12.7154 7.84171 12.7154 8.15829 12.5202 8.35355L9.52018 11.3536C9.32492 11.5488 9.00833 11.5488 8.81307 11.3536C8.61781 11.1583 8.61781 10.8417 8.81307 10.6464L10.9595 8.5H5.16663C4.89048 8.5 4.66663 8.27614 4.66663 8Z' fill='%23ee6c4d'/%3E%3C/svg%3E%0A");
}

.course_card img {
  width: 100%;
  aspect-ratio: 293/181;
  border-radius: 10px;
}

.course_card .course_info {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
  flex: 1;
}

.course_card h3 {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.27778;
  color: inherit;
}

.course_card p {
  margin: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.38;
  color: #000;
  margin-bottom: auto;
}

.course_card .link {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  color: #719ab2;
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 7px;
}

.course_card .link::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.66663 8C4.66663 7.72386 4.89048 7.5 5.16663 7.5H10.9595L8.81307 5.35355C8.61781 5.15829 8.61781 4.84171 8.81307 4.64645C9.00833 4.45118 9.32492 4.45118 9.52018 4.64645L12.5202 7.64645C12.7154 7.84171 12.7154 8.15829 12.5202 8.35355L9.52018 11.3536C9.32492 11.5488 9.00833 11.5488 8.81307 11.3536C8.61781 11.1583 8.61781 10.8417 8.81307 10.6464L10.9595 8.5H5.16663C4.89048 8.5 4.66663 8.27614 4.66663 8Z' fill='%23719AB2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.bg_muted {
  background-color: #F7F7F2;
}

.bg_muted .accordion {
  --accordion-color: #fff;
}

.form_white fieldset.text,
.form_white fieldset.textarea {
  border-color: #6b6b6b;
}

.form_white fieldset.text input,
.form_white fieldset.text textarea,
.form_white fieldset.textarea input,
.form_white fieldset.textarea textarea {
  color: #000;
}

.form_white fieldset.text input::-moz-placeholder, .form_white fieldset.text textarea::-moz-placeholder, .form_white fieldset.textarea input::-moz-placeholder, .form_white fieldset.textarea textarea::-moz-placeholder {
  color: #6b6b6b;
}

.form_white fieldset.text input::placeholder,
.form_white fieldset.text textarea::placeholder,
.form_white fieldset.textarea input::placeholder,
.form_white fieldset.textarea textarea::placeholder {
  color: #6b6b6b;
}

.header {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
}

.header .header_wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
  background: #fff;
  border-radius: 100px;
  padding: 20px 48px;
  margin-top: 56px;
  position: relative;
}

.header .header_wrapper.mobile_menu_show {
  border-radius: 100px 100px 0 100px;
}

.header .header_wrapper.mobile_menu_show .header_nav {
  display: block;
}

.header .header_wrapper.mobile_menu_show .burger svg #top-line {
  transform: translateY(10px) rotate(-45deg) scale(0.9);
}

.header .header_wrapper.mobile_menu_show .burger svg #bottom-line {
  transform: translateY(-10px) rotate(45deg) scale(0.9);
}

.header .header_wrapper.mobile_menu_show .burger svg #middle-line {
  opacity: 0;
}

.header .logo {
  display: flex;
  gap: 1px;
  white-space: nowrap;
  align-items: flex-end;
  font-weight: 700;
  font-size: 42px;
  line-height: 1;
  text-transform: capitalize;
  color: #293241;
  font-family: "Jura", sans-serif;
  text-decoration: none;
  transition: color 250ms ease-in-out;
}

.header .logo:hover {
  color: #EE6C4D;
}

.header .logo svg {
  transition: all 250ms ease-in-out;
  animation: heart 1.5s infinite;
}

.header .header_nav {
  color: var(--color-blue);
}

.header .header_nav ul {
  display: flex;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: center;
  gap: 47px;
}

.header .header_nav li {
  display: grid;
  align-items: center;
  justify-content: center;
}

.header .header_nav a {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8;
  color: inherit;
  text-decoration: none;
  transition: color 250ms ease-in-out;
}

.header .header_nav a:hover {
  color: var(--color-accent-contrast);
}

.header .burger {
  align-items: center;
  justify-content: center;
  display: none;
}

.header .burger svg {
  width: 40px;
  height: 25px;
}

.header .burger #top-line,
.header .burger #bottom-line,
.header .burger #middle-line {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 0.25s ease-out, opacity 0.2s ease-in;
}

@keyframes hideBurger {
  29% {
    opacity: 1;
  }

  30% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@keyframes heart {
  0% {
    scale: 1;
  }

  50% {
    scale: 1.2;
  }

  100% {
    scale: 1;
  }
}

.footer {
  font-family: "Montserrat", sans-serif;
  padding-bottom: 43px;
}

.footer.footer_main::before {
  content: "";
  display: block;
  width: 1999px;
  max-width: 100vw;
  height: calc(var(--bgheight) + 300px);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background: radial-gradient(71.73% 71.04% at 100% 0%, rgba(255, 255, 255, 0.8) 0.13%, rgba(255, 255, 255, 0.4) 20%, rgba(255, 255, 255, 0) 100%), radial-gradient(71.73% 71.04% at 100% 0%, rgba(255, 255, 255, 0.8) 0.13%, rgba(255, 255, 255, 0.4) 20%, rgba(255, 255, 255, 0) 100%), linear-gradient(135deg, #ec8972 0.13%, #808ba1 50.07%, #ae9595 100%);
}

.footer.footer_main .footer_wrapper {
  background-color: #fff;
}

.footer .footer_wrapper {
  background-color: #f7f7f2;
  border-radius: 20px;
  padding: 84px var(--p) 20px;
  max-width: 1854px;
  width: calc(100% - var(--p) * 2);
  margin: 0 auto 0;
  color: var(--color-dark);
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 120px;
}

.footer .footer_top {
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: space-between;
  align-items: flex;
  gap: 32px 16px;
}

.footer .logo_wrapper {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.footer .logo_wrapper p {
  font-weight: 300;
  font-size: 23px;
  line-height: 1;
  margin: 0;
}

.footer .logo {
  display: flex;
  gap: 1px;
  white-space: nowrap;
  align-items: flex-end;
  font-weight: 700;
  font-size: 66px;
  line-height: 1;
  text-transform: capitalize;
  color: #293241;
  font-family: "Jura", sans-serif;
  text-decoration: none;
  transition: color 250ms ease-in-out;
}

.footer .logo:hover {
  color: #EE6C4D;
}

.footer .logo:hover svg {
  animation: heart 1s infinite;
}

.footer .logo svg {
  transition: all 250ms ease-in-out;
}

.footer .footer_slogan {
  font-weight: 400;
  font-size: 26px;
  line-height: 1.22952;
  margin: 0;
}

.footer .footer_nav ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: flex-end;
}

.footer .footer_nav a {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.8688;
  color: inherit;
  text-decoration: none;
  transition: color 250ms ease-in-out;
}

.footer .footer_nav a:hover {
  color: var(--color-accent-contrast);
}

.footer .footer_thesis {
  font-weight: 400;
  font-size: 30px;
  line-height: 1;
  margin: 0 0 36px auto;
}

.footer .footer_contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}

.footer .footer_tel {
  font-weight: 400;
  font-size: 28px;
  line-height: 1;
  color: inherit;
  text-decoration: none;
  transition: color 250ms ease-in-out;
}

.footer .footer_tel:hover {
  color: var(--color-accent-contrast);
}

.footer .footer_email {
  font-weight: 600;
  font-size: 45px;
  line-height: 1;
  color: inherit;
  text-decoration: none;
  transition: color 250ms ease-in-out;
}

.footer .footer_email:hover {
  color: var(--color-accent-contrast);
}

.footer .copyright {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.79339;
  display: flex;
  flex-direction: column;
  gap: 5px;
  text-align: right;
}

.footer .copyright p {
  margin: 0;
}

.footer .copyright a {
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  text-decoration: none;
  transition: color 250ms ease-in-out;
}

.footer .copyright a:hover {
  color: var(--color-accent-contrast);
}

.btn_supper {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8688;
  color: #fff;
  border: 1px solid #a12c2e;
  border-radius: 50px;
  padding: 16px 40px;
  box-shadow: 0 12px 8px 0 rgba(155, 38, 40, 0.2);
  background: linear-gradient(124deg, #ee6c4d 0%, #ca4829 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 250ms ease-in-out;
}

.btn_supper:hover {
  background: linear-gradient(124deg, #ca4829 0%, #ee6c4d 100%);
  box-shadow: 0 12px 8px 0 rgba(155, 38, 40, 0.4);
}

.btn_supper:active {
  background: linear-gradient(124deg, #ca4829 0%, #ee6c4d 100%);
  box-shadow: 0 8px 8px 0 rgba(155, 38, 40, 0.4);
  transform: translateY(4px);
}

.btn {
  border: none;
  background: none;
  outline: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8688;
  color: #fff;
  border-radius: 50px;
  padding: 16px 40px;
  cursor: pointer;
  box-shadow: 0 12px 8px 0 rgba(61, 90, 128, 0.2);
  background: linear-gradient(124deg, #3d5a80 0%, #2c496f 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: -moz-fit-content;
  width: fit-content;
  transition: all 250ms ease-in-out;
}

.btn:hover {
  opacity: 0.85;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition-delay: 99999s;
}

fieldset {
  padding: 0;
  border: none;
  font-size: 14px;
}

fieldset.fieldset_error {
  border-color: #ff0000 !important;
}

fieldset .error {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #ff0000 !important;
}

fieldset.text,
fieldset.textarea {
  position: relative;
  display: grid;
  margin: 0;
  border-bottom: 1px solid #fff;
}

fieldset.text legend,
fieldset.textarea legend {
  margin-bottom: 4px;
  font-weight: 400;
  font-size: 18px;
}

fieldset.text input,
fieldset.text textarea,
fieldset.textarea input,
fieldset.textarea textarea {
  font-family: "Montserrat", sans-serif;
  width: 100%;
  background-color: transparent;
  font-weight: 400;
  outline: none;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.4;
  border: none;
  border-radius: 0px;
  padding: 11px 0px;
  color: #fff;
}

fieldset.text input::-moz-placeholder, fieldset.text textarea::-moz-placeholder, fieldset.textarea input::-moz-placeholder, fieldset.textarea textarea::-moz-placeholder {
  font-size: 20px;
  color: #fff;
  opacity: 0.8;
}

fieldset.text input::placeholder,
fieldset.text textarea::placeholder,
fieldset.textarea input::placeholder,
fieldset.textarea textarea::placeholder {
  font-size: 20px;
  color: #fff;
  opacity: 0.8;
}

fieldset.text input:disabled,
fieldset.text textarea:disabled,
fieldset.textarea input:disabled,
fieldset.textarea textarea:disabled {
  border-color: #b0ccdb;
}

fieldset.text textarea,
fieldset.textarea textarea {
  resize: none;
}

fieldset.text textarea::-moz-placeholder, fieldset.textarea textarea::-moz-placeholder {
  font-size: 22px;
  opacity: 0.8;
}

fieldset.text textarea::placeholder,
fieldset.textarea textarea::placeholder {
  font-size: 22px;
  opacity: 0.8;
}

.tabs-container {
  display: grid;
  grid-template-columns: 1fr;
}

.tabs {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 15px 10px;
  margin-bottom: 34px;
}

.tab-header {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  line-height: 2.40274;
  color: #6d8ab0;
  text-decoration: none;
  border: 1px solid #6d8ab0;
  border-radius: 50px;
  padding: 0px 16px;
  background: #fafdff;
  transition: color 250ms ease-in-out;
}

.tab-header:hover {
  border-color: var(--color-accent-contrast);
  color: var(--color-accent-contrast);
}

.tab-header.active {
  border-color: #aa2809;
  color: #fff;
  background: var(--color-accent-contrast);
}

.tab-content-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.tab-content {
  display: none;
}

.tab-content.active {
  display: block;
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.accordion {
  counter-reset: accordion;
  display: flex;
  flex-direction: column;
  gap: 20px;
  --px: 30px;
  --icon-width: 24px;
  --accordion-color: #f7f7f2;
}

.accordion .accordion-item {
  counter-increment: accordion;
  background: var(--accordion-color);
  border-radius: 10px;
}

.accordion .accordion-content {
  display: none;
  padding: 24px 0;
  margin: 0 var(--px);
  border-top: 1px solid #c7c7c2;
  line-height: 1.6;
}

.accordion .accordion-content > *:first-child {
  margin-top: 0;
}

.accordion .accordion-content > *:last-child {
  margin-bottom: 0;
}

.accordion .accordion-header {
  position: relative;
  cursor: pointer;
  color: red;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.6;
  color: #000;
  padding: 24px calc(var(--px) + var(--icon-width) + 16px) 24px var(--px);
  text-wrap: balance;
}

.accordion .accordion-header:before {
  content: counter(accordion) ".  ";
  display: inline;
}

.accordion .accordion-header.active .plus {
  display: none;
}

.accordion .accordion-header.active .minus {
  display: block;
}

.accordion .accordion-header h5 {
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0;
  flex: 1;
  display: inline;
}

.accordion .accordion-header .minus {
  display: none;
}

.accordion .accordion-header .plus,
.accordion .accordion-header .minus {
  color: var(--course-color, #41b619);
  position: absolute;
  top: 28px;
  right: var(--px);
  width: var(--icon-width);
  height: var(--icon-width);
}

.hero_main {
  position: relative;
  z-index: 1;
}

.hero_main .hero_wrapper {
  padding-bottom: 180px;
  display: grid;
  grid-template-columns: 1fr 542px;
  gap: 26px;
  position: relative;
}

.hero_main .hero_wrapper .bg_img {
  position: absolute;
  bottom: 0;
  z-index: -1;
  right: 0;
  bottom: 0;
  transform: translateX(50%);
}

.hero_main .hero_content {
  display: flex;
  flex-direction: column;
  gap: 73px;
  justify-content: center;
}

.hero_main .hero_title {
  color: var(--color-blue);
}

.hero_main .hero_title h1 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 27px;
  -webkit-text-stroke: 0.5px var(--color-blue);
  display: grid;
  grid-template-columns: auto auto;
  gap: 0 10px;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
}

.hero_main .hero_title h1 .row1 {
  background-color: #fff;
  border-radius: 18px 18px 0 0;
  padding: 13px 27px 0px 19px;
  line-height: 46px;
  box-shadow: 2px 2px 1px 0 rgba(0, 0, 0, 0.25);
  position: relative;
}

.hero_main .hero_title h1 .row1::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  border-radius: 50%;
  bottom: 0;
  right: -20px;
  box-shadow: -10px 10px 0 0 #fff;
}

.hero_main .hero_title h1 .row2 {
  background-color: #fff;
  border-radius: 0 18px 18px 18px;
  padding: 13px 27px 13px 19px;
  line-height: 46px;
  grid-column: span 2;
  box-shadow: 2px 2px 1px 0 rgba(0, 0, 0, 0.25);
  position: relative;
  z-index: 1;
}

.hero_main .hero_title h1 .subtitle {
  font-weight: 400;
  font-size: 15px;
  line-height: 1;
  -webkit-text-stroke: 0;
  display: block;
  margin-top: 7px;
}

.hero_main .hero_links {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 15px 10px;
  max-width: 550px;
}

.hero_main .hero_links .links_title {
  width: 100%;
  font-weight: 600;
  font-size: 19px;
  color: var(--color-blue);
}

.hero_main .hero_links a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  line-height: 2.40274;
  color: #6d8ab0;
  text-decoration: none;
  border: 1px solid #6d8ab0;
  border-radius: 50px;
  padding: 0px 16px;
  background: #fafdff;
  transition: color 250ms ease-in-out;
}

.hero_main .hero_links a:hover {
  border-color: var(--color-accent-contrast);
  color: var(--color-accent-contrast);
}

.hero_main .hero_links a.active {
  border-color: #aa2809;
  color: #fff;
  background: var(--color-accent-contrast);
}

.hero_main .hero_cards {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}

.hero_main .hero_cards .column {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.hero_main .hero_cards .card {
  text-decoration: none;
  box-shadow: 2px 2px 0 0 rgba(41, 50, 65, 0.2);
  background: #fff;
  border-radius: 9px;
  width: 262px;
  color: var(--color-dark);
  transition: all 250ms ease-in-out;
}

.hero_main .hero_cards .card:hover {
  color: var(--color-accent-contrast);
  scale: 1.05;
}

.hero_main .hero_cards .card img {
  border-radius: 9px;
  width: 100%;
  aspect-ratio: 262/164;
}

.hero_main .hero_cards .card h3 {
  font-weight: 500;
  font-size: 13px;
  line-height: 1.38462;
  margin: 12px 16px;
  color: inherit;
}

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

.block_wave .container {
  background-color: #fff;
  padding-top: 30px;
  padding-bottom: 30px;
}

.block_wave .wave_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: none;
  --bgsize: 310px;
}

.block_wave .wave_bg img {
  width: 100%;
  height: 100%;
}

.block_wave .wave_bg .right,
.block_wave .wave_bg .left {
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.block_wave .wave_bg .right::before,
.block_wave .wave_bg .right::after,
.block_wave .wave_bg .left::before,
.block_wave .wave_bg .left::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  display: block;
  width: 100%;
  height: var(--bgsize);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.block_wave .wave_bg .right {
  left: 100%;
  bottom: 0;
  height: calc(100% - var(--bgsize));
  background-repeat: no-repeat;
  background-position: bottom left;
  margin-bottom: var(--bgsize);
  width: var(--bgsize);
  background-color: #fff;
}

.block_wave .wave_bg .right::before {
  top: calc(-1 * var(--bgsize));
  background-image: url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M300 300H0C165.685 300 300 165.685 300 0V300Z' fill='white' /%3E%3C/svg%3E");
}

.block_wave .wave_bg .right::after {
  background-image: url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M300 0C300 165.685 165.685 300 0 300V0H300Z' fill='white' /%3E%3C/svg%3E");
}

.block_wave .wave_bg .left {
  top: 0;
  right: 100%;
  height: calc(100% - var(--bgsize));
  margin-top: var(--bgsize);
  width: var(--bgsize);
  background-color: #fff;
}

.block_wave .wave_bg .left::after {
  background-image: url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M300 0C134.315 0 0 134.315 0 300V0H300Z' fill='white' /%3E%3C/svg%3E");
}

.block_wave .wave_bg .left::before {
  top: calc(-1 * var(--bgsize));
  background-image: url("data:image/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M300 300H0C0 134.315 134.315 0 300 0V300Z' fill='white' /%3E%3C/svg%3E");
}

.courses_catalog .btn_supper {
  margin: 63px auto 20px;
}

.block_why {
  padding-top: 90px;
  padding-bottom: 90px;
}

.block_why .list_row {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  gap: 18px;
  counter-reset: listrow;
  list-style: none;
}

.block_why .list_row li {
  background: #fff;
  border-bottom: 1px solid #eaeaea;
  border-radius: 10px;
  padding: 12px 35px;
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  color: #000;
  position: relative;
  min-height: 82px;
  display: flex;
  align-items: center;
}

.block_why .list_row li::before {
  counter-increment: listrow;
  content: counter(listrow);
  display: block;
  position: absolute;
  top: 12px;
  left: 10px;
  font-weight: 900;
  font-size: 90px;
  line-height: 68px;
  opacity: 0.2;
}

.block_why .list_row li:nth-child(3n)::before {
  color: var(--color-accent-contrast);
}

.block_why .list_row li:nth-child(3n+1)::before {
  color: var(--color-blue);
}

.block_why .list_row li:nth-child(3n+2)::before {
  color: #6a994e;
}

.block_why .list_row li p {
  margin: 0;
}

.block_why .list_grid {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px 100px;
  border-radius: 20px;
  padding: 35px 73px;
  margin-top: 40px;
  background-image: url("./../img/bg_listgrid.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.block_why .list_grid li {
  display: flex;
  flex-direction: column;
  gap: 7px;
  position: relative;
}

.block_why .list_grid li::after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -51px;
  background-image: url("data:image/svg+xml,%3Csvg width='2' height='181' viewBox='0 0 2 181' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L0.999992 180' stroke='url(%23paint0_linear_1_224)' stroke-linecap='round' /%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_1_224' x1='0' y1='1' x2='-7.82434e-06' y2='180' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='white' stop-opacity='0.1' /%3E%3Cstop offset='0.514423' stop-color='white' /%3E%3Cstop offset='1' stop-color='white' stop-opacity='0.1' /%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.block_why .list_grid li:nth-child(3n)::after {
  display: none;
}

.block_why .list_grid li:nth-child(1) svg {
  color: var(--color-accent-contrast);
}

.block_why .list_grid li:nth-child(2) svg {
  color: #6a994e;
}

.block_why .list_grid li:nth-child(3) svg {
  color: var(--color-blue);
}

.block_why .list_grid li:nth-child(4) svg {
  color: #c08497;
}

.block_why .list_grid li:nth-child(5) svg {
  color: #ffda3e;
}

.block_why .list_grid li:nth-child(6) svg {
  color: #E29578;
}

.block_why .list_grid h4 {
  font-family: var(--second-family);
  font-weight: 700;
  font-size: 23px;
  color: var(--color-blue);
  padding: 10px 0;
}

.block_why .list_grid p {
  margin: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  color: var(--color-blue);
}

.block_about {
  position: relative;
  z-index: 1;
}

.block_about .about_wrapper {
  display: grid;
  grid-template-columns: 1fr 455px;
}

.block_about .about_content {
  z-index: 2;
}

.block_about .about_content p {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 160%;
  color: var(--color-dark);
}

.block_about .about_content h4 {
  font-weight: 700;
  font-size: 18px;
  line-height: 200%;
  color: var(--color-dark);
  margin-bottom: 16px;
  margin-top: 37px;
}

.block_about .about_content ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-right: -120px;
}

.block_about .about_content ul li {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  background: #fff;
  border-radius: 10px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 6px 2px 4px;
}

.block_about .about_content ul li svg {
  margin-top: 4px;
  min-width: 20px;
  color: var(--color-accent-contrast);
}

.block_about .about_imgs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  position: relative;
}

.block_about .about_imgs::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 413px;
  height: 439px;
  transform: translateX(50%);
  background-image: url("data:image/svg+xml,%3Csvg width='413' height='439' viewBox='0 0 413 439' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.2' fill-rule='evenodd' clip-rule='evenodd' d='M206.54 439L42.1319 273.711C-10.8381 220.563 -14.3271 137.546 34.308 88.6504L122.485 0L207.058 84.1311L290.594 0L378.771 88.6504C427.3 137.546 423.811 220.563 370.947 273.711L206.54 439Z' fill='%2398C1D9' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: none;
}

.block_about .about_imgs .col_imgs {
  display: flex;
  flex-direction: column;
  gap: 15px;
  z-index: 1;
}

.block_about .about_imgs .col_imgs:first-child {
  margin-top: 60px;
}

.block_about .about_imgs .col_imgs img {
  border-radius: 10px;
  width: 100%;
  aspect-ratio: 222/147;
}

.feedback_block {
  color: #fff;
  padding: 60px 0 120px;
}

.feedback_block h2 {
  color: #fff;
}

.feedback_block .feedback_wrapper {
  display: grid;
  grid-template-columns: 6.7fr 8.1fr;
  gap: 100px;
}

.feedback_block .feedback_content {
  font-weight: 500;
  font-size: 24px;
  line-height: 140%;
  display: flex;
  flex-direction: column;
  gap: 76px;
}

.feedback_block .feedback_content p {
  margin: 0;
}

.feedback_block .feedback_msg {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.feedback_block .feedback_msg img {
  width: 64px;
  height: 64px;
  min-width: 64px;
  border-radius: 50%;
  -o-object-fit: cover;
  object-fit: cover;
}

.feedback_block .feedback_msg p {
  font-weight: 400;
}

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

.feedback_block form .btn_supper {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 40px;
  text-align: center;
}

.fancybox__backdrop {
  --fancybox-bg: rgba(61, 90, 128, 0.9);
}

.modal {
  display: none;
  margin: 0;
  padding: 2rem;
  max-width: 1150px;
  color: var(--fancybox-content-color, #000);
  background: var(--fancybox-content-bg, #fff);
  cursor: default;
  border-radius: 20px;
  z-index: 20;
  background-image: url("data:image/svg+xml,%3Csvg width='474' height='1006' viewBox='0 0 474 1006' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.1' fill-rule='evenodd' clip-rule='evenodd' d='M471.993 837.99L179.054 543.679C103.814 467.924 95.8562 352.709 161.209 286.698L279.374 167.098L471.09 361.234L662.807 167.585L780.972 287.185C846.083 352.953 838.125 468.167 763.126 543.922L471.993 837.99ZM471.09 1006L96.0974 627.228C-24.7203 505.436 -32.6783 315.197 78.252 203.149L279.374 0L472.273 192.792L662.807 0L863.928 203.149C974.618 315.197 966.659 505.436 846.083 627.228L471.09 1006Z' fill='%2398C1D9'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
}

.modal.modal_document {
  max-width: 800px;
}

.fancybox__container.video .fancybox__content {
  padding: 0;
}

@media (max-width: 1900px) {
  .footer .footer_wrapper {
    margin: 0 var(--p) 0;
  }
}

@media (max-width: 1439px) {
  .courses_wrapper {
    gap: 24px;
  }

  .footer {
    padding-bottom: 0;
  }

  .footer .footer_wrapper {
    padding: 40px var(--p);
    margin: 0;
    width: 100%;
    border-radius: 20px 20px 0 0;
    gap: 32px;
  }

  .footer .footer_top {
    grid-template-columns: repeat(2, auto);
  }

  .footer .logo_wrapper p {
    font-size: 18px;
  }

  .footer .logo {
    font-size: 42px;
  }

  .footer .footer_slogan {
    font-size: 18px;
  }

  .footer .footer_slogan br {
    display: none;
  }

  .footer .footer_nav {
    grid-column: span 2;
  }

  .footer .footer_nav ul {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 28px;
  }

  .footer .footer_nav a {
    font-size: 20px;
  }

  .footer .footer_thesis {
    font-size: 18px;
    margin: 0 auto 36px;
    text-align: center;
  }

  .footer .footer_tel {
    font-size: 20px;
  }

  .footer .footer_email {
    font-size: 30px;
  }

  .block_about .about_wrapper {
    gap: 20px;
  }

  .block_about .about_content ul {
    margin-right: 0;
  }

  .block_about .about_content ul li {
    border-radius: 0;
    background-color: unset;
  }
}

@media (max-width: 1279px) {
  .courses_wrapper {
    grid-template-columns: repeat(3, 1fr);
  }

  .header .logo {
    font-size: 36px;
  }

  .header .header_nav ul {
    gap: 30px;
  }

  .header .header_nav a {
    font-size: 16px;
  }

  .footer .logo {
    font-size: 36px;
  }

  .hero_main .hero_wrapper {
    grid-template-columns: 100%;
    padding-bottom: 60px;
  }

  .hero_main .hero_content {
    display: contents;
  }

  .hero_main .hero_links {
    order: 3;
    max-width: 100%;
  }

  .hero_main .hero_cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding-top: 60px;
    position: relative;
    align-items: stretch;
  }

  .hero_main .hero_cards .column {
    display: contents;
  }

  .hero_main .hero_cards .block_tag {
    position: absolute;
    top: 0;
    right: 0;
  }

  .hero_main .hero_cards .card {
    width: 100%;
  }

  .feedback_block .feedback_wrapper {
    grid-template-columns: 100%;
    gap: 32px;
  }

  .feedback_block .feedback_content {
    gap: 20px;
  }

  .feedback_block .feedback_msg {
    margin-left: auto;
    align-items: center;
  }
}

@media (max-width: 1023px) {
  .block_why .list_grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .block_why .list_grid li:nth-child(2n)::after {
    display: none;
  }

  .block_why .list_grid li:nth-child(3n)::after {
    display: block;
  }

  .block_about .about_wrapper {
    grid-template-columns: 100%;
  }

  .block_about .about_imgs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .block_about .about_imgs::after {
    display: none;
  }

  .block_about .about_imgs .col_imgs {
    display: contents;
  }

  .block_about .about_imgs .col_imgs:first-child {
    margin-top: 0;
  }
}

@media screen and (max-width: 992px) {
  :root {
    --p: 16px;
  }
}

@media (max-width: 992px) {
  main {
    padding-top: 160px;
  }

  .courses_wrapper {
    grid-template-columns: repeat(2, 1fr);
  }

  .header .header_wrapper {
    margin-top: 10px;
  }

  .header .header_nav {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    background-color: #fff;
    padding: 30px 20px;
    white-space: nowrap;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
    border-radius: 0 0 20px 20px;
    min-width: 250px;
    max-width: calc(100vw - var(--p) * 2);
  }

  .header .header_nav ul {
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
  }

  .header .burger {
    display: flex;
  }

  .footer .footer_top {
    grid-template-columns: 100%;
  }

  .footer .logo_wrapper {
    gap: 16px;
  }

  .footer .footer_nav {
    grid-column: span 1;
  }

  .footer .footer_nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .footer .footer_contacts {
    gap: 12px;
    margin-bottom: 36px;
    align-items: center;
  }

  .footer .copyright {
    text-align: left;
    gap: 12px;
  }

  fieldset.text input,
  fieldset.text textarea,
  fieldset.textarea input,
  fieldset.textarea textarea {
    font-size: 16px;
  }

  fieldset.text input::-moz-placeholder, fieldset.text textarea::-moz-placeholder, fieldset.textarea input::-moz-placeholder, fieldset.textarea textarea::-moz-placeholder {
    font-size: 16px;
  }

  fieldset.text input::placeholder,
  fieldset.text textarea::placeholder,
  fieldset.textarea input::placeholder,
  fieldset.textarea textarea::placeholder {
    font-size: 16px;
  }

  fieldset.text textarea::-moz-placeholder, fieldset.textarea textarea::-moz-placeholder {
    font-size: 16px;
  }

  fieldset.text textarea::placeholder,
  fieldset.textarea textarea::placeholder {
    font-size: 16px;
  }

  .accordion {
    --px: 20px;
    --icon-width: 20px;
    gap: 16px;
  }

  .accordion .accordion-header {
    font-size: 16px;
  }

  .accordion .accordion-header .plus,
  .accordion .accordion-header .minus {
    top: 26px;
    width: var(--icon-width);
    height: var(--icon-width);
  }

  .hero_main .hero_cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .block_why .list_grid {
    gap: 40px 40px;
    padding: 32px;
  }

  .block_why .list_grid li::after {
    right: -21px;
  }

  .feedback_block {
    padding-bottom: 60px;
  }

  .feedback_block .feedback_content {
    font-size: 20px;
  }

  .feedback_block form .btn_supper {
    width: 100%;
    margin-top: 24px;
  }
}

@media (max-width: 767px) {
  h2 {
    font-size: 32px;
  }

  .block_tag {
    font-size: 14px;
    padding: 5px 20px;
  }

  .block_header {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 32px;
  }

  .block_header .block_tag {
    margin-left: auto;
  }

  .header .header_wrapper {
    padding: 20px 24px;
  }

  .header .logo {
    font-size: 32px;
  }

  .footer .logo {
    font-size: 32px;
  }

  .btn_supper {
    font-size: 16px;
  }

  .btn {
    font-size: 16px;
  }

  .tab-header {
    padding: 0 13px;
  }

  .hero_main .hero_title h1 {
    font-size: 23px;
  }

  .hero_main .hero_title h1 .subtitle {
    font-size: 12px;
  }

  .hero_main .hero_links a {
    padding: 0 13px;
  }

  .hero_main .hero_cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero_main .hero_cards .card h3 {
    font-size: 14px;
  }

  .courses_catalog .btn_supper {
    margin: 30px auto;
  }

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

  .block_why .list_row li {
    padding-right: 12px;
  }

  .block_why .list_grid {
    grid-template-columns: 100%;
  }

  .block_why .list_grid li::after {
    border-radius: 100%;
    bottom: -21px;
    top: unset;
    left: 0;
    right: 0;
    height: 2px;
    background-color: #fff;
    width: 100%;
  }

  .block_why .list_grid li:last-child::after {
    display: none !important;
  }

  .block_why .list_grid li:nth-child(2n)::after {
    display: block;
  }

  .block_why .list_grid h4 {
    font-size: 20px;
  }

  .block_about .about_imgs {
    display: none;
  }
}

@media (max-width: 576px) {
  h2 {
    font-size: 26px;
  }

  h3 {
    font-size: 20px;
  }

  main {
    padding-top: 100px;
  }

  .courses_wrapper {
    grid-template-columns: 100%;
    gap: 18px;
  }

  .header .logo {
    font-size: 28px;
  }

  .footer .logo {
    font-size: 28px;
  }

  .hero_main .hero_title h1 {
    text-align: center;
    grid-template-columns: 100%;
    width: 100%;
  }

  .hero_main .hero_title h1 .row1 {
    box-shadow: none;
    background-color: transparent;
    padding: 0;
  }

  .hero_main .hero_title h1 .row1::after {
    display: none;
  }

  .hero_main .hero_title h1 .row2 {
    box-shadow: none;
    background-color: transparent;
    padding: 0;
  }

  .hero_main .hero_title h1 .subtitle {
    grid-column: span 2;
    order: 3;
    font-size: 15px;
    margin-top: 12px;
    padding-top: 15px;
    position: relative;
  }

  .hero_main .hero_title h1 .subtitle::before {
    content: "";
    width: 50px;
    height: 3px;
    display: block;
    background: var(--color-accent-contrast);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50px;
  }

  .hero_main .hero_cards {
    grid-template-columns: repeat(1, 1fr);
  }

  .block_about .about_content p {
    font-size: 16px;
  }

  .feedback_block .feedback_content {
    font-size: 16px;
  }
}