$desktop-l-width: 1440px;
$tablet-l-width: 1024px;
$tablet-s-width: 768px;
$mob-l-width: 640px;

.login {
  width: 100%;
  background-size: cover;
  height: calc(100% - 50px);
  background: #eaeff1;
  margin-top: 50px;
  overflow: hidden;
  /*background: -webkit-linear-gradient(to top, #93a3af, #eaeff1);
  background: linear-gradient(to top, #93a3af, #eaeff1);*/

  .login-wrapper {
    flex: 1 0 auto;
    //background: url(/assets/images/bg_login.png) no-repeat 50% bottom;
    background-size: 100% auto;
    position: relative;
  }
}

$main: #777;
$back: #aaa;
$accent: hsl(220, 50%, 40%);

$sans: 'Open Sans', sans-serif;
$heebo: 'Heebo', sans-serif;
$hangul: '나눔고딕', Malgun Gothic, '맑은고딕', Arial, Dotum, '돋움';

$base: 3vh;

$time: 1800ms;

$ease-out: cubic-bezier(0.26, 0.005, 0.135, 1);
$ease-in-out: cubic-bezier(0.785, 0.135, 0.15, 0.86);

@mixin word-break-keep {
  word-break: keep-all;
}

.slider {
  position: relative;
  height: 100%;
  width: 100%;
  background: $main;
  overflow: hidden;

  &_wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    transform: translateX(100%);
    top: 0%;
    left: 0;
    right: auto;
    overflow: hidden;
    transition: transform $time/4 $ease-in-out;
    transform-origin: 0% 50%;
    transition-delay: $time/4;
    opacity: 0;
    &-hacked {
      opacity: 1;
    }
  }

  &_back {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: auto 100%;
    background-position: center;
    background-repeat: none;
    transition: filter $time/4 $ease-in-out;
  }

  &_inner {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0%;
    background-size: auto 133.3333%;
    background-position: center;
    background-repeat: none;
    transform: scale(0.75);
    transition: transform $time/4 $ease-in-out, box-shadow $time/4 $ease-in-out,
      opacity $time/4 step-end;
    opacity: 0;
    box-shadow: 0 $base $base rgba(darken($accent, 50%), 0);
    padding: $base * 3;
    box-sizing: border-box;
    border: 1px solid #ffffff;
  }
  &_header {
    display: flex;
    flex-flow: row;
    width: 40%;
    height: 20px;
    justify-content: center;
    font-size: $base * 0.6;
    color: #ffffff;
    .company-name {
      flex: 0 0 auto;
      padding-right: 20px;
    }
    .h-line {
      flex: 1 1 auto;
      align-self: center;
      height: 2px;
      border-bottom: 1px solid #ffffff;
    }
  }
  &_content {
    position: relative;
    top: 64%;
    width: 40%;
    transform: translateY(-50%);
    color: white;
    font-family: $hangul;
    opacity: 0;
    transition: opacity $time/4;
    h1 {
      font-weight: 900;
      font-size: $base * 1.24;
      line-height: 1.2;
      margin-bottom: $base/2;
      pointer-events: none;
      text-shadow: 0 $base/8 $base/4 rgba(darken($accent, 50%), 0.1);
      @include word-break-keep();
    }
    p {
      font-size: $base * 0.64;
      line-height: $base * 0.9;
      margin-bottom: $base/2;
      @include word-break-keep();
    }
  }
  &_link {
    cursor: pointer;
    position: absolute;
    display: flex;
    justify-content: center;
    justify-items: center;
    font-family: $heebo;
    font-size: 1.2rem;
    letter-spacing: $base * 0.1;
    font-weight: 100;
    display: block;
    bottom: 10%;
    color: #ffffff;
    padding: 10px 60px 10px 30px;
    border-radius: 100px;
    color: #00dbed;
    width: $base * 5;
    // next버튼 숨김
    display: none;
    &:before {
      content: '';
      border-top: 1px solid white;
      border-right: 1px solid white;
      display: block;
      width: $base/3;
      height: $base/3;
      transform: translateX(0) translateY(-50%) rotate(45deg);
      position: absolute;
      font-family: $heebo;
      font-weight: 100;
      top: 50%;
      left: $base * 4;
    }
    &:hover {
      background-color: #134a67;
      color: #ffffff;
    }
  }

  &_slide {
    position: absolute;
    left: 0;
    height: 100%;
    width: 100%;
    transition: transform $time/3 $ease-in-out;
    transition-delay: $time/3;
    pointer-events: none;
    z-index: 0;

    &-active {
      transform: translatex(0%);
      z-index: 2;
      .slider_wrap {
        transform: translateX(0);
        transform-origin: 100% 50%;
        opacity: 1;
        animation: none;
      }
      .slider_back {
        filter: blur(#{$base * 0.2});
        transition: filter $time/2 $ease-in-out;
        transition-delay: $time/2 !important;
      }
      .slider_inner {
        transform: scale(0.7);
        box-shadow: 0 $base/3 $base * 1 rgba(darken($accent, 50%), 0.2);
        pointer-events: auto;
        opacity: 1;
        transition: transform $time/2 $ease-in-out,
          box-shadow $time/2 $ease-in-out, opacity 1ms step-end;
        transition-delay: $time/2;
      }
      .slider_content {
        opacity: 1;
        transition-delay: $time * 3/4;
      }
    }

    &:not(.slider_slide-active) .slider_wrap {
      @keyframes hack {
        0% {
          transform: translateX(0);
          opacity: 1;
        }
        50% {
          transform: translateX(-100vw);
          opacity: 1;
        }
        51% {
          transform: translateX(-100vw);
          opacity: 0;
        }
        52% {
          transform: translateX(100vw);
          opacity: 0;
        }
        100% {
          transform: translateX(100vw);
          opacity: 1;
        }
      }
      animation-name: hack;
      animation-duration: $time/2;
      animation-delay: $time/4;
      animation-timing-function: $ease-in-out;
    }

    &:nth-child(1) .slider_back,
    &:nth-child(1) .slider_inner {
      // background-image: url(/assets/images/login/bg_login01.png);
      //background: #eee;
    }
    &:nth-child(2) .slider_back,
    &:nth-child(2) .slider_inner {
      // background-image: url(/assets/images/login/bg_login02.png);
      //background: #aaa;
    }
    &:nth-child(3) .slider_back,
    &:nth-child(3) .slider_inner {
      // background-image: url(/assets/images/login/bg_login03.png);
      //background: #888;
    }
  }
}

::ng-deep .login-form-box {
  position: absolute;
  width: 30vw;
  height: 70%;
  top: 15%;
  right: 15%;
  display: flex;
  justify-content: flex-end;
  z-index: 100;
  @media screen and (max-width: #{$tablet-l-width}), (max-height: 800px) {
    width: 34vw;
  }
  .mat-form-field {
    &:last-child,
    &:first-child {
      margin-top: 10px;
    }
    .mat-form-field-infix {
      padding-top: 0;
      border: 0;
      input {
        line-height: 1em;
        @media screen and (max-width: #{$tablet-l-width}), (max-height: 800px) {
          font-size: 0.9em;
        }
      }
      .mat-form-field-label-wrapper {
        @media screen and (max-width: #{$tablet-l-width}), (max-height: 800px) {
          font-size: 0.9em;
          top: -1em;
        }
      }
      .mat-form-field-subscript-wrapper {
        .mat-error {
          @media screen and (max-width: #{$tablet-l-width}), (max-height: 800px) {
            font-size: 0.8em;
          }
        }
      }
    }
    &.mat-focused,
    &:not(.mat-form-field-hide-placeholder) {
      .mat-form-field-label-wrapper {
        @media screen and (max-width: #{$tablet-l-width}), (max-height: 800px) {
          font-size: 0;
        }
      }
    }
  }
}

@media all and (max-width: 1400px) {
  .slider {
    &_content {
      transform: translateY(-50%);
      color: white;
      font-family: $heebo;
      opacity: 0;
      transition: opacity $time/4;
      h1 {
        font-weight: 900;
        font-size: $base * 1.2;
        margin-bottom: $base;
      }
      p {
        display: none;
      }
    }
    &-active {
      .slider_inner {
        transform: scale(0.9);
      }
    }
  }
}
