* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.vinhome-slider-wrapper {
  position: relative;

  .vinhome-slider-scale-transform {
    .outer {
      transform: scale(1.4) rotate(10deg);
      transition: transform .6s cubic-bezier(.55, .085, .68, .53), opacity .6s cubic-bezier(.55, .085, .68, .53);
      transition-delay: 0s, .9s;
      opacity: 0;
    }

    .inner .img {
      transform: scale(1.2) rotate(-5deg);
      transition: transform .6s cubic-bezier(.55, .085, .68, .53), opacity .6s cubic-bezier(.55, .085, .68, .53);
      transition-delay: 0s, .9s;
      opacity: 0;
    }
  }

  .vinhome-slider-scale-transform-current {
    .outer,
    .inner .img {
      transform: scale(1) rotate(0deg);
      opacity: 1;
      transition-duration: 1.2s;
      transition-delay: .45s;
      transition-timing-function: cubic-bezier(.23, 1, .32, 1)
    }
  }

  .vinhome-slider-scale-transform-prev {
    .outer, .inner .img {
      transform: scale(1.4) rotate(-10deg);
      transition-delay: 0s, .45s;
    }
  }

  .vinhome-slider-scale-transform-next {
    .outer {
      transform: scale(1.4) rotate(10deg);
    }

    .inner .img {
      transform: rotate(-10deg) scale(1.4);
    }
  }

  .vinhome-slider-slick {
    transform: translateX(950px);
    opacity: 0;
    transition: transform .6s ease-in-out, opacity .6s ease-in-out;
  }

  .vinhome-slider-slick-current {
    transform: translateX(0);
    opacity: 1;
    transition-delay: .2s
  }

  .vinhome-slider-slick-next {
    transform: translateX(550px);
    opacity: 0;
  }

  .vinhome-slider-slick-prev {
    transform: translateX(-550px);
    opacity: 0;
    transition-delay: .2s;
  }


  .item {
    img {
      width: 100%;
      height: auto;
      display: block;
    }
  }

  &[data-style="full-screen"] {
    display: none;
    .vinhome-slider {
      position: relative;
      width: 100%;
      height: 100vh;
      z-index: 1;
      backface-visibility: hidden;

      .item {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 9rem;
        overflow: hidden;
        backface-visibility: hidden;

        .outer {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-size: cover;
          background-position: center center;
          background-repeat: no-repeat;
          backface-visibility: hidden;

          &:after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #3a3c44;
            opacity: .5;
          }
        }

        .inner {
          position: relative;
          width: 100%;
          height: calc(100vh - 18rem);
          overflow: hidden;

          backface-visibility: hidden;

          .img {
            position: absolute;
            top: -9rem;
            left: -9rem;
            right: -9rem;
            bottom: -9rem;
            background-size: cover;
            background-position: center center;
            background-repeat: no-repeat;
            backface-visibility: hidden;

            &:after {
              content: '';
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              bottom: 0;
              background-color: #3a3c44;
              opacity: .5;
            }
          }
        }
      }
    }
  }

  &[data-style="slick"] {
    width: 100%;
    backface-visibility: hidden;
    overflow: hidden;
    display: none;

    .vinhome-slider {
      position: relative;
      z-index: 1;
      &:after {
        content: '';
        display: table;
        clear: both;
      }
    }

    .item {
      float: left;
      backface-visibility: hidden;
    }
  }

  .vinhome-slider-controls {
    position: absolute;
    top: 50%;
    left: 100px;
    transform: translateY(-50%);
    z-index: 1;

    .vinhome-slider-control {
      position: relative;
      width: 36px;
      height: 36px;
      display: inline-block;

      &:not(:last-child) {
        margin-right: 100px;
      }

      &:after {
        position: absolute;
        content: '';
        top: 50%;
        left: 50%;
        margin-top: -40px;
        margin-left: -40px;
        width: 80px;
        height: 80px;
        background: #FFF;
        border-radius: 50%;
        transform: scale(0);
        transition: transform .45s cubic-bezier(.4, 0, 0, 1);
        z-index: -1;
      }

      &:hover {
        svg {
          stroke: #000000;
        }

        &:after {
          transform: scale(1);
        }
      }
    }
  }
}

@media (max-width: 1199px) {
  .vinhome-slider-wrapper {
    &[data-style="full-screen"] {
      .vinhome-slider {
        height: 650px;

        .item {
          padding: 5rem;

          .inner {
            height: calc(650px - 10rem);

            .img {
              top: -5rem;
              left: -5rem;
              right: -5rem;
              bottom: -5rem;
            }
          }
        }
      }
    }
  }
}

@media (max-width: 991px) {
  .vinhome-slider-wrapper {
    &[data-style="full-screen"] {
      .vinhome-slider {
        height: 550px;

        .item {
          padding: 5rem;

          .inner {
            display: none;
          }
        }
      }
    }

    .vinhome-slider-controls {
      position: static;
      transform: none;

      .vinhome-slider-control {
        position: absolute;
        top: 50%;
        margin-top: -18px;
        z-index: 1;
        width: 28px;

        &.prev {
          left: 30px;
        }

        &.next {
          right: 30px;
        }

        &:after {
          width: 50px;
          height: 50px;
          margin-top: -29px;
          margin-left: -25px;
        }
      }
    }
  }
}

@media (max-width: 767px) {
  .vinhome-slider-wrapper {
    &[data-style="full-screen"] {
      .vinhome-slider {
        height: 450px;

        .item {
          padding: 2rem;

          .inner {
            display: none;
          }
        }
      }
    }
  }
}

@media (max-width: 480px) {
  .vinhome-slider-wrapper {
    &[data-style="full-screen"] {
      .vinhome-slider {
        height: 350px;

        .item {
          padding: 2rem;
        }
      }
    }
  }
}