@import url("./fonts/evolventa.css");

:root {
  font-family: Evolventa, system-ui, Helvetica, Arial, serif;
  line-height: 1.5;
  font-weight: 400;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  font-size: 10px;
  margin: 0;
  padding: 0;
  background: #fff;
}

body {
  font-family: "Evolventa", serif;
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
  overflow-x: hidden;

  background: #fff;
  color: #171717;
}

.mobile {
  display: none;
}

.container {
  max-width: 1200px;
  padding: 0 20px;
  margin: 0 auto;
  box-sizing: border-box;
}

.login {
  background: rgb(255, 255, 255);
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 1) 50%,
    rgba(161, 220, 0, 1) 50%
  );
}

.login_wrapper {
  min-height: 100vh;
  background: #fff;
  width: 60%;
  min-width: 500px;

  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;

  position: relative;
}

.login_top {
  padding: 20px 0;
}

.login_form {
  display: flex;
  flex-direction: column;

  justify-content: center;
}

.login .tag > div {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #8b8b8b;
  font-size: 20px;
  font-weight: 400;
  line-height: 20px;

  background: #f0f0f0;
  padding: 0 22px;
  border-radius: 15px;
  height: 30px;
}

.login .ttl {
  font-size: 60px;
  font-weight: 700;
  line-height: 68px;
  padding: 10px 0 20px;
  /* 
   */
}

.login .ttl-sm {
  font-size: 30px;
  font-weight: 700;
  line-height: 24px;
  padding: 0px 0 30px;
}

.login form {
  width: 75%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.login form > div {
  position: relative;
}

.login form > div > input[type="text"],
.login form > div > input[type="password"] {
  height: 56px;
  border-radius: 8px;
  border: 2px solid #e2e2e3;
  padding: 0 16px;

  font-family: Evolventa;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;

  box-sizing: border-box;
  width: 100%;
}

.login form > div.password > input + div {
  position: absolute;
  right: 10px;
  top: 17px;
  cursor: pointer;
}

.login form > div.password > input + div > img:nth-child(2) {
  display: none;
}

.login form > div.password > input[type="text"] + div > img:nth-child(1) {
  display: none;
}
.login form > div.password > input[type="text"] + div > img:nth-child(2) {
  display: block;
}

.login form .checkbox > label {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #b2b2b2;

  display: flex;
  position: relative;
}
.login form .checkbox > label input {
  opacity: 0;
  margin-right: 10px;
}

.login form .checkbox > label input + div > img {
  position: absolute;
  left: 0;
}

.login form .checkbox > label input + div > img:nth-child(2) {
  display: none;
}

.login form .checkbox > label input:checked + div > img:nth-child(1) {
  display: none;
}

.login form .checkbox > label input:checked + div > img:nth-child(2) {
  display: block;
}

.login form button {
  background: #f7598d;
  width: 100%;

  font-size: 20px;
  font-weight: 700;
  line-height: 16px;
  color: #fff;
  border: none;

  height: 56px;
  border-radius: 8px;
}

.login form button:active {
  transform: translate(2px, 2px);
}

.login_error {
  font-size: 12px;
  color: red;
  height: 30px;
}

.login_pig {
  position: absolute;
  right: 70px;
  top: 50%;
  transform: translate(100%, -50%);
  width: 400px;
}

.player {
  position: relative;
}

.vid-description {
  /* position: absolute; */
  bottom: 0;
  text-align: center;
  font-size: 16px;
  width: 100%;
  padding-bottom: 20px;
}

.vid-description > a {
  color: #f7598d;
}

@media (max-width: 1024px) {
  .desktop {
    display: none;
  }
  .mobile {
    display: block;
  }

  .header_top > img {
    height: 30px;
  }
  .login {
    background: rgb(255, 255, 255);
    max-width: 100vw;
  }

  .login .tag > div {
    font-size: 16px;
    line-height: 16px;
    height: 26px;
  }

  .login .ttl {
    font-size: 50px;
    font-weight: 700;
    line-height: 55px;
    /* 
    padding: 10px 0 40px; */
  }

  .login .ttl-sm {
    font-size: 20px;
  }

  .login_wrapper {
    width: 100%;
    min-width: 100%;
    grid-template-rows: auto 1fr auto;
  }

  .login form {
    width: 100%;
    box-sizing: border-box;
  }

  .login form button {
    font-size: 18px;
    font-weight: 700;
    line-height: 16px;

    height: 48px;
  }

  .login-pig-cnt {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .login_pig {
    position: static;
    transform: none;
    max-width: 100%;
    width: 200px;

    margin: 40px 0;
  }
}

.video_wrapper {
  display: grid;
  grid-template-columns: minmax(auto,30%) 1fr;
}

.video_menu {
  background: #fafafb;
  height: 100vh;
  overflow: auto;
}

.video_menutop {
  padding: 20px 50px 0 112px;
  position: sticky;
  top: 0;
  background: #fafafb;
}

.video_menutop > div:first-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.video_menu .ttl {
  padding: 42px 0 15px 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 22px;
}

.video_menu menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.video_menu menu > li > a {
  color: #8b8b8b;
  text-decoration: none;

  min-height: 41px;
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 21.28px;
  padding: 5px 50px 5px 112px;
  cursor: pointer;
  box-sizing: border-box;
}

.video_menu menu > li > a.active {
  background: #fee3ec;
  color: #f7598d;
  font-weight: 700;
  cursor: default;
}

.video_menu menu > li > a:hover {
  background: #fee3ec;
}

.video_block {
  padding: 20px 112px 20px 72px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
}

.video_exit {
  display: flex;
  justify-content: space-between;
}

.video_exit > button {
  border: solid 2px #b2b2b2;
  border-radius: 8px;
  height: 32px;
  background: #fff;
  padding: 0 20px;
  cursor: pointer;
}

.video_exit > button:active {
  transform: translate(2px, 2px);
}

.video_container {
  display: flex;
  flex-direction: column;

  justify-content: center;
}

.video_container .ttl {
  font-size: 30px;
  font-weight: 700;
  line-height: 39.9px;
}

.video_buttons {
  display: flex;
  justify-content: space-between;
}

.video_buttons > a {
  border: solid 2px #fcc8d9;
  border-radius: 8px;
  height: 40px;
  min-width: 217px;
  color: #f7598d;
  font-family: Evolventa;
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
  background: #fff;
  cursor: pointer;
  text-decoration: none;

  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

.video_buttons > a:hover {
  background: #fcc8d9;
}

.video_buttons > a:active {
  transform: translate(2px, 2px);
}

.video_buttons > a.disabled {
  filter: grayscale(1);
}

.video_buttons > a.disabled:hover {
  background: #fff;
}

.video_buttons > a.disabled:active {
  transform: translate(0, 0);
}

.video_block .video-js {
  width: 100%;
  height: auto;
  margin: 30px 0 40px 0;
}

.video_content {
  margin: 40px 0;
}

.video_content > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0 18px;

  gap: 8px;
  background: #f0f0f0;
  border-radius: 8px;
  height: 48px;
  color: #8b8b8b;

  font-size: 16px;
  font-weight: 700;
  line-height: 17.6px;
}

@media (max-width: 1024px) {
  .video_wrapper {
    grid-template-columns: 1fr;
  }

  .video_block {
    padding: 20px;
  }

  .video_container .ttl {
    font-size: 24px;
    font-weight: 700;
    line-height: 31.92px;
  }

  .video_buttons > a:first-child {
    width: 66px;
    min-width: 66px;
  }
  .video_buttons > a:first-child > span {
    display: none;
  }

  .video_exit img {
    height: 30px;
  }

  .video_menu {
    display: none;
    position: fixed;
    z-index: 100;
  }

  .video_menutop {
    padding: 20px;
  }

  .video_menutop .logo {
    height: 30px;
  }

  .video_menu .ttl {
    padding: 22px 0 15px 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 29.26px;
  }
  .video_menu menu > li > a {
    padding: 5px 20px;
  }
}
