@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
:root {
  --dark: #333;
  --gray: #888;
  --graybg: #F0F0F0;
  --red: #ED1C25;
  --camel: #ddaa87;
  --camelbg: #fff0d9;
  --asfalt: #353744;
  --border: #ddd;
  --green: #1bd33f;
  --marron: #c72f56;
  --marron: #e3466e;
  --pink: #e66370;
  --pink: #ff7b96;
  --border-opacity: hsla(0, 0%, 0%, .2);
  --pdbs: 24rem;
  --pd40: 40rem;
}

.pagefront > *:not(.screen-method,
.course-big-promo,
.about-screen,
.projects-screen,
.sdsf) {
  display: none;
}

.pdbs {
  padding-left: var(--pdbs);
  padding-right: var(--pdbs);
}

.gray {
  color: var(--gray);
}

.dark-ful {
  color: #000;
}

.graybg {
  background-color: var(--graybg);
}

.red {
  color: var(--red);
}

.marron {
  color: var(--marron);
}

.header-padding {
  padding-top: var(--header-padding);
}

html {
  font-family: "Montserrat", sans-serif;
  background-color: #fff;
  font-variant-numeric: lining-nums;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  font-weight: 400;
  font-size: 1px;
}

html {
  scrollbar-width: none !important;
  /* Firefox */
  -ms-overflow-style: none !important;
  /* IE/Edge */
}

html::-webkit-scrollbar {
  display: none !important;
  /* Chrome/Safari */
}

body {
  font-size: 20rem;
  color: var(--dark);
}
.pagebody {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.pagefront {
  flex-grow: 1;
}

* {
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.container {
  width: 1632rem;
  padding: 0 48rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
@media (width < 1024px) {
  .container {
    padding-left: 32rem;
    padding-right: 32rem;
  }
}

.none {
  display: none;
}

.ptb0 {
  padding-top: 0;
  padding-bottom: 0;
}

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

b,
strong,
.bold {
  font-weight: 500;
}

hr {
  border: 0;
  height: 1px;
  background: #d9d7d9;
}

img,
svg {
  display: block;
  padding: 0;
  margin: 0;
  max-width: 100%;
  box-sizing: border-box;
}

input,
textarea {
  font-family: "Montserrat", sans-serif;
  outline: none;
  height: 64rem;
  width: 100%;
  font-size: 16rem;
  font-weight: 400;
  padding: 0 20rem;
  display: block;
  border: none;
  box-shadow: 0 0 0 1rem var(--border) inset;
  transition: 0s;
}
@media (width < 1024px) {
  input,
  textarea {
    height: 42rem;
    padding: 0 14rem;
  }
}

textarea {
  resize: none;
  padding: 22rem 20rem;
  height: auto;
  height: 128rem;
}
@media (width < 1024px) {
  textarea {
    padding: 10rem 16rem;
    height: 128rem;
  }
}

button {
  font-family: "Montserrat", sans-serif;
}

input.error {
  background-color: hsl(0, 100%, 81%) !important;
  border-color: var(--maroon);
}

textarea::-moz-placeholder, input::-moz-placeholder {
  color: #999;
}

textarea::placeholder,
input::placeholder {
  color: #999;
}

input:-internal-autofill-selected {
  background-color: inherit !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  background-color: transparent !important;
}

.mob {
  display: none;
}

input[type=checkbox],
input[type=radio] {
  position: absolute;
  left: -9999rem;
}

.checkbox,
.radiobox {
  display: table;
}
.checkbox label,
.radiobox label {
  display: block;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.checkbox label i,
.radiobox label i {
  display: block;
  border-radius: 6rem;
  border: 1px solid hsl(0, 0%, 0%);
  width: 24rem;
  height: 24rem;
  background-color: hsl(0, 0%, 0%);
  background-color: transparent;
  margin-right: 12rem;
  position: relative;
  transition: all 0.3s;
  background-position: center;
  background-size: 16rem auto;
  background-repeat: no-repeat;
  flex-shrink: 0;
}
.checkbox label span,
.radiobox label span {
  padding-top: 2rem;
  line-height: 1;
}

.checkbox input[type=checkbox]:checked + label i {
  border: 1px solid hsl(210, 11%, 60%);
  background-color: hsl(210, 11%, 60%);
  background-image: url(../images/check-wt.svg);
}

.radiobox span {
  padding-top: 0;
}

.radiobox label i {
  margin-top: 2rem;
  border-radius: 50%;
  width: 20rem;
  height: 20rem;
  border: none;
  background-color: rgba(252, 227, 161, 0.1);
  box-shadow: 0 0 0 2rem var(--border) inset;
  transition: background-color 0.3s;
}
.fz32 .radiobox label i {
  margin-top: 10rem;
  margin-right: 16rem;
}

.radiobox input[type=radio]:checked + label i {
  background-color: var(--yellow);
  box-shadow: 0 0 0 2rem #222 inset;
}

.checkboxes-list .checkbox + .checkbox,
.radioboxes-list .radiobox + .radiobox {
  margin-top: 6rem;
}

button:disabled {
  opacity: 0.3;
  pointer-events: none;
}

button {
  border: none;
  cursor: pointer;
  outline: none;
  background: none;
}

.ovh {
  overflow: hidden;
}

.btn {
  min-height: 56rem;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 40rem;
  border-radius: 28rem;
  cursor: pointer;
  transition: background-color 0.3s;
  font-weight: 400;
  line-height: 1;
  transition: all 0.3s;
  background-color: var(--marron);
  box-shadow: 0 0 0 1rem hsla(342, 100%, 91%, 0.3) inset;
  color: #fff;
  border: none;
  position: relative;
  overflow: hidden;
}
.btn > * {
  position: relative;
}
.btn::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 -40rem;
  background-image: linear-gradient(-65deg, transparent 20%, #ffd3e0, transparent 80%);
  opacity: 0.5;
  transition: transform 0.3s, opacity 0.3s;
  display: none;
}
.btn:hover {
  background-color: var(--marron);
}
.btn:hover::before {
  opacity: 0.5;
}
.btn.btn-border {
  background-color: transparent;
  border: 1rem solid var(--marron);
  color: var(--marron);
}
.btn.btn-border:hover {
  background-color: var(--marron);
}
.btn.btn-big {
  min-height: 80rem;
  border-radius: 40rem;
  padding: 0 64rem;
  font-size: 24rem;
}

.dark-box {
  color: #fff;
}

ul {
  padding: 0;
  margin: 0;
  display: block;
  list-style: none;
}

li {
  display: block;
  padding: 0;
  margin: 0;
}

sup {
  font-size: 0.6em;
}

table {
  border-collapse: separate;
  border-collapse: collapse;
  width: 100%;
}

h1 {
  font-size: 64rem;
  font-weight: 600;
  line-height: 1.2;
  text-wrap: balance;
  text-wrap: pretty;
}

h2 {
  font-size: 64rem;
  font-weight: 600;
  line-height: 1.2;
  text-wrap: balance;
  text-wrap: pretty;
}

h3 {
  font-size: 36rem;
  font-weight: 600;
  line-height: 1.25;
  text-wrap: balance;
}

h4 {
  font-size: 28rem;
  font-weight: 600;
  line-height: 1.3;
  text-wrap: balance;
}

h5 {
  font-size: inherit;
  font-weight: 600;
  text-wrap: balance;
}

@media (width <= 1024px) {
  h1,
  h2 {
    font-size: 40rem;
  }
  h4 {
    font-size: 22rem;
  }
}
.dark-bg {
  color: #fff;
}
.dark-bg a:not(.btn) {
  color: #fff;
}

.blocks-list-2colum {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32rem;
}

.blocks-list-3colum {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32rem;
}

.blocks-list-4colum {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32rem;
}

.fll {
  float: left;
}

.flr {
  float: right;
}

.floatfix:after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
  height: 0;
}

.column-count2 {
  -moz-column-count: 2;
       column-count: 2;
}

.column-count3 {
  -moz-column-count: 3;
       column-count: 3;
}

.column-count4 {
  -moz-column-count: 4;
       column-count: 4;
}

.column-count2 > *,
.column-count3 > *,
.column-count4 > * {
  page-break-inside: avoid;
}
.column-count2 > *:last-child,
.column-count3 > *:last-child,
.column-count4 > *:last-child {
  padding-bottom: 1.5em;
}

.popup {
  display: none;
}

.ttr {
  text-transform: uppercase;
}

.w100 {
  width: 100%;
}

.mw1200 {
  max-width: 1200rem;
}

.mw1000 {
  max-width: 1000rem;
}

.mw800 {
  max-width: 800rem;
}

.mw640 {
  max-width: 640rem;
}
.mw640.screen-title {
  max-width: 640rem;
}

.mw560 {
  max-width: 560rem;
}
.mw560.screen-title {
  max-width: 560rem;
}

.tbl {
  display: table;
}

.mt0 {
  margin-top: 0;
}

.mt48 {
  margin-top: 48rem;
}

.mt56 {
  margin-top: 56rem;
}

.mt64 {
  margin-top: 64rem;
}

.mb48 {
  margin-bottom: 48rem;
}

.mb24 {
  margin-bottom: 24rem;
}

.center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.thiscenter {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.thisright {
  display: table;
  margin-left: auto;
}

.flex {
  display: flex;
}

.aitc {
  align-items: center;
}

.aself {
  align-self: center;
}

.sbtw {
  justify-content: space-between;
}

.tb0 > *:first-child,
.page-word > *:first-child,
.word > *:first-child {
  margin-top: 0 !important;
}

.tb0 > *:last-child,
.page-word > *:last-child,
.word > *:last-child {
  margin-bottom: 0 !important;
}

img.cover {
  max-width: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

style,
script {
  display: none !important;
}

.hide {
  display: none !important;
}

/* Убирает стрелки в Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Убирает стрелки в Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.checkbox-row input[type=checkbox] {
  position: absolute;
  left: -99999px;
}

.checkbox-row input[type=checkbox] + label {
  /*border: 1px solid #9E9E9E;*/
  box-shadow: 0 0 0 1px #ccc;
  height: 38px;
  display: flex;
  align-items: center;
  max-width: 100%;
  text-align: center;
  justify-content: center;
  position: relative;
  z-index: 0;
  margin-right: 1px;
  font-size: 15px;
  cursor: pointer;
  transition: box-shadow 0.3s;
}

.checkbox-row input[type=checkbox] + label:hover {
  box-shadow: 0 0 0 1px #9E9E9E;
  z-index: 1;
}

.checkbox-row input[type=checkbox]:checked + label {
  box-shadow: 0 0 0 1px #9E9E9E;
  z-index: 1;
  background-color: #f5f5f5;
}

.checkbox-row .checkbox:last-child label {
  border-radius: 0 4px 4px 0;
}

.icotext {
  display: flex;
  align-items: center;
}
.icotext .ico {
  flex-shrink: 0;
}
.icotext .ico img {
  max-width: none;
}

.icotext > *:first-child {
  margin-right: 12rem;
}

.link {
  text-decoration: underline;
  text-decoration-thickness: 1rem;
  text-decoration-color: hsla(0, 0%, 0%, 0.4);
}

.word a:not(.btn) {
  text-decoration: underline;
  text-decoration-thickness: 1rem;
  text-decoration-color: hsla(0, 0%, 0%, 0.4);
}

.link-wt {
  text-decoration: underline;
  text-decoration-thickness: 1rem;
  text-decoration-color: hsla(0, 0%, 100%, 0.4);
}

.redlink {
  color: var(--maroon);
}

.redlink {
  text-decoration: underline;
  text-decoration-thickness: 1rem;
  text-decoration-color: hsla(339, 83%, 39%, 0.6);
}

.dark-box .link {
  text-decoration: underline;
  text-decoration-thickness: 1rem;
  text-decoration-color: hsla(184, 6%, 100%, 0.6);
}

.maxrows-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fz12 {
  font-size: 12rem;
}

.fz14 {
  font-size: 14rem;
}

.fz16 {
  font-size: 16rem;
}

.fz17 {
  font-size: 17rem;
}

.fz18 {
  font-size: 18rem;
}

.fz20 {
  font-size: 20rem;
}

.fz22 {
  font-size: 22rem;
}

.fz24 {
  font-size: 24rem;
}

.fz28 {
  font-size: 28rem;
}

.fz32 {
  font-size: 32rem;
}

.fz36 {
  font-size: 36rem;
}

.fz40 {
  font-size: 40rem;
}

.fz48 {
  font-size: 48rem;
}

.fz52 {
  font-size: 52rem;
}

@media (width < 1024px) {
  .fz24 {
    font-size: 20rem;
  }
  .fz16 {
    font-size: 14rem;
  }
}
.fw900 {
  font-weight: 900;
}

.fw700 {
  font-weight: 700;
}

.fw600 {
  font-weight: 600;
}

.fw500 {
  font-weight: 500;
}

.fw400 {
  font-weight: 400;
}

.fw300 {
  font-weight: 300;
}

.fw200 {
  font-weight: 200;
}

.fw100 {
  font-weight: 100;
}

sup {
  position: relative;
  bottom: -0.12em;
}

ol {
  counter-reset: section;
  list-style-type: none;
}
ol li {
  counter-increment: section;
}
ol li::before {
  content: counters(section, ".") ". ";
  color: var(--gray);
}

.emergebox {
  opacity: 0;
  transform: translateY(200rem);
  transition: opacity 0.1s, transform 0.1s;
}
.emergebox.emerge {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s 0.2s, transform 0.7s 0.1s;
}
.nonesmooth .emergebox {
  opacity: 1;
  transform: translateY(0);
}

.showbox {
  opacity: 0;
  transition: opacity 0.5s;
}
.showbox.show {
  opacity: 1;
  transition: opacity 2s 0.2s;
}
.nonesmooth .showbox {
  opacity: 1;
  transition: opacity 2s 0.1s;
}

/* Базовые стили */
.showbox3 {
  opacity: 0;
  transform: translateY(0);
  /* Начальная позиция 0 */
}

/* Классы для разных направлений анимации */
.showbox3.animate-from-bottom {
  animation: appearFromBottom 1s ease-out forwards;
}

.showbox3.animate-from-top {
  animation: appearFromTop 1s cubic-bezier(0.1, 0.9, 0.1, 1) forwards;
}

/* Анимация при появлении снизу (скролл вниз) */
@keyframes appearFromBottom {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  0.1% {
    opacity: 0;
    transform: translateY(200rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Анимация при появлении сверху (скролл вверх) */
@keyframes appearFromTop {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  0.1% {
    opacity: 0;
    transform: translateY(-200rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.preloader-box {
  position: fixed;
  inset: 0;
}

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.5s 0.3s;
}
.preloader .loader {
  animation: loader 0.3s linear;
}
.preloader .round {
  width: 50px;
  height: 50px;
  border: 5px solid var(--dark);
  border-top: 5px solid var(--graybg);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  opacity: 1;
  transition: opacity 0.1s;
}
.pageloaded .preloader .round {
  opacity: 0;
}
.pageloaded .preloader {
  opacity: 0;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes loader {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.map {
  height: 400rem;
  width: 100%;
}

html.nav-page {
  font-size: 1px !important;
}

.static-nav {
  display: flex;
  flex-wrap: wrap;
  font-size: 14rem;
  gap: 16rem;
  padding: 40rem 0;
}
.static-nav .col {
  background-color: #fff;
  border-radius: 8rem;
  padding: 8rem 20rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 240rem;
}
.static-nav .col strong {
  font-weight: 400;
}
.static-nav .col > * {
  display: block;
  margin: 4rem 0;
}
.static-nav .col span {
  font-size: 12rem;
}

@media (width > 1920px) {
  html {
    font-size: 0.0520833333vw;
  }
}
@media (width < 1520px) {
  html {
    font-size: 0.0657894737vw;
  }
}
@media (width < 1024px) {
  html {
    font-size: 1px;
  }
  body {
    font-size: 18rem;
  }
  .pdbs {
    padding-left: 0;
    padding-right: 0;
  }
}/*# sourceMappingURL=base.css.map */