/**
 * General variables
 */
$bdrds: 3px

$white: #fff
$black: #000
$gray: #ccc
$salmon: #e8716d
$smoky-black: rgba(#222222, .85)

$ff: 'Montserrat', sans-serif
$ff-body: 12px
$ff-light: 300
$ff-regular: 400
$ff-medium: 500


/**
 * General configs
 */
*
  box-sizing: border-box

body
  font-family: $ff
  font-size: $ff-body
  line-height: 1em
  
button
  background-color: transparent
  padding: 0
  border: 0
  outline: 0
  cursor: pointer
  
input
  background-color: transparent
  padding: 0
  border: 0
  outline: 0
  
  &[type="submit"]
    cursor: pointer
    
  &::placeholder
    font-size: .85rem
    font-family: $ff
    font-weight: $ff-light
    letter-spacing: .1rem
    color: $gray

    
/**
 * Bounce to the left side
 */
@keyframes bounceLeft
  0%
      transform: translate3d(100%, -50%, 0)

  50%
      transform: translate3d(-30px, -50%, 0)

  100%
      transform: translate3d(0, -50%, 0)

/**
 * Bounce to the left side
 */
@keyframes bounceRight
  0%
    transform: translate3d(0, -50%, 0)

  50%
    transform: translate3d(calc(100% + 30px), -50%, 0)

  100%
    transform: translate3d(100%, -50%, 0)

/**
 * Show Sign Up form
 */
@keyframes showSignUp
  100%
    opacity: 1
    visibility: visible
    transform: translate3d(0, 0, 0)
  

/**
 * Page background
 */
.user
  display: flex
  justify-content: center
  align-items: center

  width: 100%
  height: 100vh
  background: #ccc
  background-size: cover

  &_options-container
    position: relative
    width: 80%

  &_options-text
    display: flex
    justify-content: space-between
    width: 100%
    background-color: $smoky-black
    border-radius: $bdrds


/**
 * Registered and Unregistered user box and text
 */
.user_options-registered,
.user_options-unregistered
  width: 50%
  padding: 75px 45px

  color: $white
  font-weight: $ff-light

.user_registered-title,
.user_unregistered-title
  margin-bottom: 15px
  font-size: 1.66rem
  line-height: 1em

.user_unregistered-text,
.user_registered-text
  font-size: .83rem
  line-height: 1.4em

.user_registered-login,
.user_unregistered-signup
  margin-top: 30px
  border: 1px solid $gray
  border-radius: $bdrds
  padding: 10px 30px

  color: $white
  text-transform: uppercase
  line-height: 1em
  letter-spacing: .2rem

  transition: background-color .2s ease-in-out, color .2s ease-in-out

  &:hover
    color: $smoky-black
    background-color: $gray


/**
 * Login and signup forms
 */
.user_options-forms
  position: absolute
  top: 50%
  left: 30px

  width: calc(50% - 30px)
  min-height: 420px
  background-color: $white
  border-radius: $bdrds
  box-shadow: 2px 0 15px rgba($black, .25)
  overflow: hidden

  transform: translate3d(100%, -50%, 0)
  transition: transform .4s ease-in-out

  .user_forms-login
    transition: opacity .4s ease-in-out, visibility .4s ease-in-out

  .forms
    &_title
      margin-bottom: 45px

      font-size: 1.5rem
      font-weight: $ff-medium
      line-height: 1em
      text-transform: uppercase
      color: $salmon
      letter-spacing: .1rem

    &_field
      &:not(:last-of-type)
        margin-bottom: 20px

    &_field-input
      width: 100%
      border-bottom: 1px solid $gray
      padding: 6px 20px 6px 6px

      font-family: $ff
      font-size: 1rem
      font-weight: $ff-light
      color: darken($gray, 30%)
      letter-spacing: .1rem

      transition: border-color .2s ease-in-out

      &:focus
        border-color: darken($gray, 30%)

    &_buttons
      display: flex
      justify-content: space-between
      align-items: center

      margin-top: 35px

      &-forgot
        font-family: $ff
        letter-spacing: .1rem
        color: $gray
        text-decoration: underline

        transition: color .2s ease-in-out

        &:hover
          color: darken($gray, 10%)

      &-action
        background-color: $salmon
        border-radius: $bdrds
        padding: 10px 35px

        font-size: 1rem
        font-family: $ff
        font-weight: $ff-light
        color: $white
        text-transform: uppercase
        letter-spacing: .1rem

        transition: background-color .2s ease-in-out

        &:hover
          background-color: darken($salmon, 10%)

  .user_forms-signup,
  .user_forms-login
    position: absolute
    top: 70px
    left: 40px

    width: calc(100% - 80px)

    opacity: 0
    visibility: hidden
    transition: opacity .4s ease-in-out, visibility .4s ease-in-out, transform .5s ease-in-out

  .user_forms-signup
    transform: translate3d(120px, 0, 0)

    .forms_buttons
      justify-content: flex-end

  .user_forms-login
    transform: translate3d(0, 0, 0)
    opacity: 1
    visibility: visible


/**
 * Triggers
 */
.user_options-forms
  &.bounceLeft
    animation: bounceLeft 1s forwards

    .user_forms-signup
      animation: showSignUp 1s forwards

    .user_forms-login
      opacity: 0
      visibility: hidden
      transform: translate3d(-120px, 0, 0)

  &.bounceRight
    animation: bounceRight 1s forwards
    

/**
 * Responsive 990px
 */
@media screen and (max-width: 990px)
  .user_options-forms
    min-height: 350px
    
    .forms_buttons
      flex-direction: column
  
    .user_forms-login
      .forms_buttons-action
        margin-top: 30px
        
    .user_forms-signup,
    .user_forms-login
      top: 40px
      
  .user_options-registered,
  .user_options-unregistered
    padding: 50px 45px
