@font-face {
  font-family: 'Monserrat';
  src: url('fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
  font-style: normal;
}

/* Для старых браузеров */
html {
  font-size: 16px;
}

.form-error-wrap {
  color: #EA5455;
  text-align: center;
  font-size: 14px;
  margin-top: 10px;
}

:root {
  font-size: calc(14px + 0.15vw);
  --vh: 1vh;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Monserrat', sans-serif;
  font-weight: 500;
}
body {
  background-color: #fff;
  margin: 0;
  padding: 0;
  color: #333;
}

body ::-webkit-input-placeholder {
  /* WebKit browsers */
  font-family: 'Monserrat', sans-serif;
  background-color: #fff;
}
body :-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  font-family: 'Monserrat', sans-serif;
  background-color: #fff;
}
body ::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  font-family: 'Monserrat', sans-serif;
  background-color: #fff;
}
body :-ms-input-placeholder {
  /* Internet Explorer 10+ */
  font-family: 'Monserrat', sans-serif;
  background-color: #fff;
}

.wrapper {
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  display: flex;
  flex-wrap: nowrap;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
}

.wrapper-auth {
  width: 60%;
  flex: 1;
  height: auto;
  min-height: 100vh;
  position: relative;
  transition: width 1s ease;
  display: flex;
  flex-direction: column;
}

.wrapper-about {
  width: 40%;
  height: 100vh;
  background-color: #fff;
  border-radius: 30px;
  background: #fff;
  z-index: 100;
  right: -1000px;
  position: relative;
}
.wrapper-about.full-loaded {
  animation: expandAnim 1s forwards;
}
.wrapper-auth.whole-screen {
  width: 100%;
}
.wrapper-about.hidden {
  padding: 0;
  animation: collapseAnim 1s forwards;
}
@keyframes expandAnim {
  0%   { opacity: 0; }
  /* 50%  { width: 20%; opacity: 0; } /* первые 0.5s меняем оба */
  100% { opacity: 1;right: 0; } /* вторые 0.5s только ширина */
}
@keyframes collapseAnim {
  0%   { width: 40%; opacity: 1; }
  /* 50%  { width: 20%; opacity: 0; } /* первые 0.5s только ширина */
  100% { width: 0; opacity: 0; } /* вторые 0.5s ширина + прозрачность */
}

.wrapper-login {
  width: 100%;
  min-height: 100%;
  position: relative;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
}
.login-window {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 536px;
  width: 100%;
  min-height: 576px;
  background-color: #ffffffe5;
  border: 2px solid #ECEAF27D;
  border-radius: 30px;
  padding: 40px 0;
}
.blur-container {
  width: 100%;
  height: auto;
  min-height: 100vh;
  display: flex;
  flex-wrap: nowrap;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  background: -webkit-linear-gradient(top left, #FFFFFF0d 0%, #EBEBEB0d 100%);
  background: linear-gradient(to bottom right, #FFFFFF0d 0%, #EBEBEB0d 100%);
  position: relative;
  backdrop-filter: blur(90px);
  -webkit-backdrop-filter: blur(90px);
}
.blur-container::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("images/containerbg.png");
  background-repeat: repeat;
  opacity: 0.05;
  z-index: 1;
}
.wrapper-auth.whole-screen .blur-container {
  width: 100%;
}

.ellipse-1 {
 width: 250px;
 height: 250px;
 position: absolute;
 z-index: -2;
 top: 57%;
 left: 26%;
 background: radial-gradient(circle, #4A3AFF, #fff);
 border-radius: 50%;
}
.ellipse-2 {
 width: 150px;
 height: 150px;
 position: absolute;
 z-index: -2;
 top: 57%;
 left: 59%;
 background: radial-gradient(circle, #5E8778, #78FF86);
 border-radius: 50%;
}
.ellipse-3 {
 width: 280px;
 height: 280px;
 position: absolute;
 z-index: -2;
 top: 26%;
 left: 47%;
 background: radial-gradient(circle, #F58A25, #EC9640, #7061A3);
 border-radius: 50%;
}

.login-container {
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
}

.remarked-logo {
 max-width: 212px;
}

.login-container.loader-on {
  display: none;
}

.login-container h1 {
  font-size: 1.2rem;
  font-size: 22px;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease-in-put;
          transition-timing-function: ease-in-put;
  font-weight: 200;
  color: #333;
  margin-top: 40px;
  font-weight: 500;
  text-align: center;
}
form {
  display: block;
  width: 320px;
}
.form-fields-wrap {
  margin-top: 40px;
}
form label {
  color: #333;
  font-size: 13px;
  font-weight: 400;
}
form input {
  background-color: #fff;
  border: 1px solid #ECEAF2;
  outline: none;
  border-radius: 5px;
  width: 100%;
  height: 40px;
  font-size: 16px;
  font-weight: 500;
  color: #333;
  padding: 10px 14px;
  appearance: none;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
}

.input-block {
  margin-bottom: 20px;
}

.input-block .notice {
  display: none;
  color: #EA5455;
  font-size: 13px;
  font-weight: 400;
  margin-top: 3px;
}

.input-block.invalid input {
  border-color: #EA5455;
  background-color: #EA54550D;
}

.input-block.invalid .notice {
  display: block;
}

form input:hover {
  /*background-color: rgba(255, 255, 255, 0.4);*/
}
form input:focus {
  border: 1px solid #b7b7b7;
}
form input::placeholder {
  font-size: 16px;
  color: #B9B9C3;
  font-weight: 400;
}
form button {
  margin-top: 20px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #7367F0;
  border: none;
  padding: 15px 22px;
  color: #fff;
  border-radius: 5px;
  width: 100%;
  height: 50px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 400;
  -webkit-transition: box-shadow ease-out 0.2s;
          transition: box-shadow ease-out 0.2s;
}
form button:hover {
  box-shadow: 0px 0px 10px 0px #7367F0A6;
}
form button:active {
  box-shadow: none;
}
form button:disabled {
  background-color: #D8D6DE;
  color: #33333380;
}
.form-lang-wrap {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}
.form-lang-wrap span {
  padding-top: 10px;
}

.lang-select {
  position: relative;
  width: auto;
  user-select: none;
  color: #7367F0;
  padding: 10px;
}
.lang-selected {
  position: relative;
  padding-right: 14px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.lang-selected::after {
  content: "";
  position: absolute;
  right: 0;
  top: 8px;
  display: inline-block;
  width: 11px;
  height: 6px;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.96683 1.46659L5.96683 5.46659C5.8335 5.59992 5.70016 5.66659 5.50016 5.66659C5.30016 5.66659 5.16683 5.59992 5.0335 5.46659L1.0335 1.46659C0.766829 1.19992 0.766829 0.799919 1.0335 0.533252C1.30016 0.266585 1.70016 0.266585 1.96683 0.533252L5.50016 4.06659L9.0335 0.533252C9.30016 0.266585 9.70016 0.266585 9.96683 0.533252C10.2335 0.799919 10.2335 1.19992 9.96683 1.46659Z' fill='%237367F0' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.lang-select.open .lang-selected::after {
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.96671 5.46683C9.83337 5.60016 9.70004 5.66683 9.50004 5.66683C9.30004 5.66683 9.16671 5.60016 9.03337 5.46683L5.50004 1.9335L1.96671 5.46683C1.70004 5.7335 1.30004 5.7335 1.03337 5.46683C0.766707 5.20016 0.766707 4.80016 1.03337 4.5335L5.03337 0.533496C5.30004 0.266829 5.70004 0.266829 5.96671 0.533496L9.96671 4.5335C10.2334 4.80016 10.2334 5.20016 9.96671 5.46683Z' fill='%237367F0' /%3E%3C/svg%3E");
}
.lang-options {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  margin-top: 4px;
  display: none;
  z-index: 10;
  width: 140px;
}
.lang-option {
  padding: 10px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #333;
  font-size: 14px;
  font-weight: 400;
}
.lang-option:hover {
  background: #7367F0;
  color: #fff;
}
.lang-option.selected {
  background: #7367F0;
  color: #fff;
}
.lang-option.selected::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.525 5.775L7.275 14.025C7.125 14.175 6.975 14.25 6.75 14.25C6.525 14.25 6.375 14.175 6.225 14.025L2.475 10.275C2.175 9.975 2.175 9.525 2.475 9.225C2.775 8.925 3.225 8.925 3.525 9.225L6.75 12.45L14.475 4.725C14.775 4.425 15.225 4.425 15.525 4.725C15.825 5.025 15.825 5.475 15.525 5.775Z' fill='black'/%3E%3Cmask id='mask0_39_384' style='mask-type:luminance' maskUnits='userSpaceOnUse' x='2' y='4' width='14' height='11'%3E%3Cpath d='M15.525 5.775L7.275 14.025C7.125 14.175 6.975 14.25 6.75 14.25C6.525 14.25 6.375 14.175 6.225 14.025L2.475 10.275C2.175 9.975 2.175 9.525 2.475 9.225C2.775 8.925 3.225 8.925 3.525 9.225L6.75 12.45L14.475 4.725C14.775 4.425 15.225 4.425 15.525 4.725C15.825 5.025 15.825 5.475 15.525 5.775Z' fill='white'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_39_384)'%3E%3Crect width='18' height='18' fill='white'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.lang-option:first-child {
  border-radius: 5px 5px 0 0;
}
.lang-option:last-child {
  border-radius: 0 0 5px 5px;
}
.lang-select.open .lang-options {
  display: block;
}

.loader-wrap {
  width: 100%;
  height: 100%;
  position: relative;
  left: 0;
  border-radius: 30px;
  z-index: 10;
  display: none;
  justify-content: center;
  align-items: center;
}
.loader {
  width: 80px;
  aspect-ratio: 1.154;
  --_g1: no-repeat radial-gradient(farthest-side,#28C76F 90%,#0000);
  --_g2: no-repeat radial-gradient(farthest-side,#FF9F43 90%,#0000);
  --_g3: no-repeat radial-gradient(farthest-side,#7367F0 90%,#0000);
  background: 
    var(--_g1) 50%  0,
    var(--_g2) 0    100%,
    var(--_g3) 100% 100%;
  background-size: 35% calc(35%*1.154);
  animation: l16 1s infinite;
}
@keyframes l16{ 
    50%,100% {background-position: 100% 100%,50% 0,0 100%} 
}

.slider-about {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.slider-about::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
}
.slider-about-title {
  /*margin: 6.5% 60px 5% 60px;*/
  margin: 7vh 60px 6vh 60px;
  display: flex;
  justify-content: space-between;
  flex-shrink: 0;
}
.about-title {
  font-weight: 600;
  font-size: 18px;
  background-color: #F8F8F8;
  height: 60px;
  width: auto;
  padding-left: 25px;
  padding-right: 25px;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #333333;
}

.slide-about-nav {
  display: flex;
  gap: 10px;
}

.slider-about-btn {
  width: 60px;
  height: 60px;
  background-color: #F5F5F5;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.prev img, .next img {
  width: 20px;
  height: 20px;
}
.slider-about-track {
  display: flex;
  flex: 1;
  height: calc(100vh - 7vh - 6vh - 13vh - 4vh - 12vh);
  transition: transform 0.5s ease;
}
.slide {
  position: relative;
  min-width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.slide a {
  display: flex;
  margin: 0 60px;
  text-decoration: none;
  flex: 1;
}

.slide img {
  display: block;
  align-self: center;
  border-radius: 15px;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 66%;
  object-fit: contain;
}
.slide-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin: 0 60px;
}
.slide-text h2 {
  font-size: 30px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #333333;
  margin-bottom: 3%;
}
.slide-text p {
  font-size: 16px;
  font-weight: 500;
  color: #333333;
}

.slide-button {
  width: 180px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #7367F0;
  color: #fff;
  font-weight: 500;
  font-size: 14px;
  border-radius: 5px;
    margin-top: 6%;
    margin-top: 5%;
}

.slider-about-dots {
  display: flex;
  justify-content: center;
  text-align: center;
  /*margin-top: 14%;
  margin-bottom: 5%;*/
  margin: 13vh 20px 4vh 20px;
  flex-shrink: 0;
}
.slider-about-dots button {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border-radius: 50%;
  border: none;
  background: #F5F5F5;
  cursor: pointer;
}
.slider-about-dots .active {
  background: #000;
}

@media (max-width: 1180px) {
  .login-window {
    max-width: 480px;
  }

  .slide-about-nav {
    display: flex;
    gap: 8px;
  }

  .slider-about-title {
    margin: 10% 40px 7% 40px;
    margin: 6vh 20px 4vh 20px;
  }

  .slide img {
    max-height: 58%;
  }

  .slide-text {
    margin: 0 40px;
  }

  .slide a {
    margin: 0 40px;
  }

  .slider-about-track {
    height: calc(100vh - 6vh - 4vh - 8vh - 4vh - 12vh);
  }

  .slider-about-dots {
    margin-bottom: 7%;
    margin: 8vh 20px 4vh 20px;
  }
}

@media (max-width: 820px) {
  .wrapper {
    height: auto;
    min-height: 100vh;
  }
  .wrapper-auth {
    width: 100vw;
  }
  .wrapper-about {
    display: none;
  }

  .ellipse-1 {
    top: 50%;
    left: 30%;
    width: 25vw;
    height: 25vw;
  }
  .ellipse-2 {
    top: 80%;
    left: 55%;
    width: 30vw;
    height: 30vw;
  }
  .ellipse-3 {
    top: 10%;
    left: 60%;
    width: 30vw;
    height: 30vw;
  }

  .blur-container {
    width: 100%;
  }

  .wrapper-login {
    padding: 20px 20px;
  }

  .login-container h1 {
    font-size: 20px;
  }

}

@media (max-width: 480px) {
  .login-window {
    min-height: 488px;
  }

  .login-container {
    padding: 40px 20px;
  }

  .login-container img {
    max-width: 170px;
  }

  .login-container h1 {
    font-size: 18px;
  }

  form {
    width: 100%;
  }
}

@media (max-width: 414px) {
   .wrapper-auth {
    height: calc(100 * var(--vh));
    min-height: calc(100 * var(--vh));
    overflow-y: auto;
  }

  .remarked-logo {
    max-width: 170px;
  }
}

@media (max-height: 850px) {
  .about-title {
    font-size: 1.07rem;
    height: 2.99rem;
  }

  .slider-about-btn {
    width: 2.99rem;
    height: 2.99rem;
  }

  .slide-text h2 {
    font-size: 25px;
  }

  .slide-text p {
    font-size: 13px;
  }
}

@media (max-height: 700px) {
  .wrapper-login {
    padding: 20px 20px;
  }

  .login-container {
    padding: 45px 20px;
  }

  .login-container h1 {
    margin-top: 30px;
  }

  .form-fields-wrap {
    margin-top: 30px;
  }

  .slide-text h2 {
    font-size: 20px;
  }
  .slide-text p {
    font-size: 13px;
  }

  .slide-button {
    margin-top: 4%;
  }
}

@media (max-height: 600px) {
  .wrapper {
    height: auto;
  }

  .wrapper-about {
    height: auto;
  }

  .slider-about {
    height: 100%;
  }

  .slide-text h2 {
    font-size: 20px;
  }
  .slide-text p {
    font-size: 12px;
  }

  .slide-button {
    width: 150px;
    height: 34px;
    font-size: 12px;
    margin-top: 3%;
  }

}
