$slick-dot-width: 20px;
$slick-dot-height: 20px;
$slick-dot-color: white;
$slick-dot-color-active: $slick-dot-color;
$slick-opacity-default: 0.75;
$slick-opacity-on-hover: 1;
$slick-opacity-not-active: 0.25;

$playball: 'Playball', cursive;
$poppins: 'Poppins', sans-serif;
// Base
html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  font-family: $poppins;
}

// Design Slider
.slider, .slide {
  @media (min-width: 992px) {
    height: 80vh;
  }
}

.slide {
  position: relative;
	transition:1s;
  .slide__img {
    @media (min-width: 992px) {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
    }
    width: 100%;
    height: auto;
    overflow: hidden;
    img {
      max-width: 100%;
      height: auto;
      opacity: 1 !important;
      animation-duration: 3s;
      transition: all 1s ease;
    }
  }
  .slide__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
		&.slide__content__left{
			left: 15%;
			transform: translate(-15%, -50%);
		}
		&.slide__content__right{
			right: 15%;
			left: auto;
			transform: translate(5%, -50%);
		}
    &--headings {
      color: #FFF;
      h2 {
        font-size: 4.5rem;
        margin: 10px 0;
      }
      .animated {
        transition: all .5s ease;
      }
			.top-title{
				font-family: $playball;
				font-size: 2.5rem;
			}
			.title{
				font-size: 3.5rem;
			}
			.button-custom{
				text-decoration: none;
				color: #333;
				padding: 1.2rem 2.5rem;
				font-size: 1.5rem;
			}
			
    }
  }
}

// Change animation presets
.slider [data-animation-in] {
    opacity: 0;
    animation-duration: 1.5s;
    transition: opacity 0.5s ease 0.3s;
	transition:1s;
}

// Dots
.slick-dotted .slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: 25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
    li {
        position: relative;
        display: inline-block;
        margin: 0 5px;
        padding: 0;
        cursor: pointer;
        button {
            border: 0;
            display: block;
            outline: none;
            line-height: 0px;
            font-size: 0px;
            color: transparent;
            padding: 5px;
            cursor: pointer;
            transition: all .3s ease;
            &:hover, &:focus {
                outline: none;
            }
        }
    }
}

.simple-dots {
  .slick-dots {
    li {
      width: $slick-dot-width;
      height: $slick-dot-height;
      button {
        border-radius: 50%;
        background-color: $slick-dot-color;
        opacity: $slick-opacity-not-active;
        width: $slick-dot-width;
        height: $slick-dot-height;
        &:hover, &:focus {
          opacity: $slick-opacity-on-hover;
        }
      }
      &.slick-active button {
        color: $slick-dot-color-active;
        opacity: $slick-opacity-default;
      }
    }
  }
}

.stick-dots {
  .slick-dots {
    li {
      height: 3px;
      width: 50px;
      button {
        position: relative;
        background-color: $slick-dot-color;
        opacity: $slick-opacity-not-active;
        width: 50px;
        height: 3px;
        padding: 0;
        &:hover, &:focus {
          opacity: $slick-opacity-on-hover;
        }
      }
      &.slick-active button {
        color: $slick-dot-color-active;
        opacity: $slick-opacity-default;
        &:hover, &:focus {
          opacity: $slick-opacity-on-hover;
        }
      }
    }
  }
}

/* /////////// IMAGE ZOOM /////////// */
@keyframes zoomInImage {
  from {
    transform: scale3d(1, 1, 1);
		transition:1s;
  }
  to {
    transform: scale3d(1.1, 1.1, 1.1);
			transition:1s;
  }
}

.zoomInImage {
  animation-name: zoomInImage;
}

@keyframes zoomOutImage {
  from {
    transform: scale3d(1.1, 1.1, 1.1);
			transition:1s;
  }
  to {
    transform: scale3d(1, 1, 1);
			transition:1s;
  }
}

.zoomOutImage {
  animation-name: zoomOutImage;
		transition:1s;
}


.slick-nav {
    --active: #fff;
    --border: rgba(255, 255, 255, .12);
    width: 44px;
    height: 44px;
		position: absolute;
    cursor: pointer;
    top: calc(50% - 44px);
    &.prev-arrow {
			left: 3%;
			transform: scaleX(-1);
			z-index: 999;
    }
	&.next-arrow{
		left: auto;
		right: 3%;
	}
    i {
        display: block;
        position: absolute;
        margin: -10px 0 0 -10px;
        width: 20px;
        height: 20px;
        left: 50%;
        top: 50%;
        &:before,
        &:after {
            content: '';
            width: 10px;
            height: 2px;
            border-radius: 1px;
            position: absolute;
            left: 50%;
            top: 50%;
            background: var(--active);
            margin: -1px 0 0 -5px;
            display: block;
            transform-origin: 9px 50%;
        }
        &:before {
            transform: rotate(-40deg);
        }
        &:after {
            transform: rotate(40deg);
        }
    }
    &:before,
    &:after {
        content: '';
        display: block;
        position: absolute;
        left: 1px;
        right: 1px;
        top: 1px;
        bottom: 1px;
        border-radius: 50%;
        border: 2px solid var(--border);
    }
    svg {
        width: 44px;
        height: 44px;
        display: block;
        position: relative;
        z-index: 1;
        color: var(--active);
        stroke-width: 2px;
        stroke-dashoffset: 126;
        stroke-dasharray: 126 126 0;
        transform: rotate(0deg);
    }
    &.animate {
        svg {
            animation: stroke 1s ease forwards .3s;
        }
        i {
            animation: arrow 1.6s ease forwards;
            &:before {
                animation: arrowUp 1.6s ease forwards;
            }
            &:after {
                animation: arrowDown 1.6s ease forwards;
            }
        }
    }
}

@keyframes stroke {
    52% {
        transform: rotate(-180deg);
        stroke-dashoffset: 0;
    }
    52.1% {
        transform: rotate(-360deg);
        stroke-dashoffset: 0;
    }
    100% {
        transform: rotate(-180deg);
        stroke-dashoffset: 126;
    }
}

@keyframes arrow {
    0%,
    100% {
        transform: translateX(0);
        opacity: 1;
    }
    23% {
        transform: translateX(17px);
        opacity: 1;
    }
    24%,
    80% {
        transform: translateX(-22px);
        opacity: 0;
    }
    81% {
        opacity: 1;
        transform: translateX(-22px);
    }
}

@keyframes arrowUp {
    0%,
    100% {
        transform: rotate(-40deg) scaleX(1);
    }
    20%,
    80% {
        transform: rotate(0deg) scaleX(.1);
    }
}

@keyframes arrowDown {
    0%,
    100% {
        transform: rotate(40deg) scaleX(1);
    }
    20%,
    80% {
        transform: rotate(0deg) scaleX(.1);
    }
}
