/* Adapted from Blackex by ex-nihilo. Original files and license retained in blackex/. */
/* 8. the dots */
.dots,
.dots-reverse {
position: absolute;
display: block;
width: 25vw;
height: 45vh;
-webkit-pointer-events: none;
   -moz-pointer-events: none;
        pointer-events: none;
z-index: -10;
}

@media all and (min-width: 1920px) {
  .dots,
  .dots-reverse {
    height: 35vh;
  }
}

.dots {
top: 90px;
left: -75px;
}

@media all and (min-width: 1920px) {
  .dots {
    top: 100px;
    left: -75px;
  }
}

@media only screen and (max-width: 640px) {
  .dots {
    left: -35px;
  }
}

.dots-reverse {
top: 90px;
right: -75px;
}

@media all and (min-width: 1920px) {
  .dots-reverse {
    top: 100px;
    right: -75px;
  }
}

@media only screen and (max-width: 640px) {
  .dots-reverse {
    right: -35px;
  }
}

.the-dots {
position: relative;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0);
background-image: radial-gradient(rgba(119, 119, 119, .75) 5%, transparent 0);
background-size: 30px 30px;
}



/* 25. scroll indicator */
.scroll-indicator-wrapper {
position: absolute;
width: 1px!important;
height: 100%;
left: 0;
right: 0;
margin-left: auto;
margin-right: auto;
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
visibility: visible;
-webkit-transition: all .7s;
   -moz-transition: all .7s;
    -ms-transition: all .7s;
     -o-transition: all .7s;
        transition: all .7s;
}

.scroll-indicator-wrapper.scroll-indicator-wrapper-position-secondary {
        opacity: 0;
   -moz-opacity: 0;
-webkit-opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
visibility: hidden;
-webkit-transform: translateY(200px);
   -moz-transform: translateY(200px);
    -ms-transform: translateY(200px);
     -o-transform: translateY(200px);
        transform: translateY(200px);
-webkit-transition: all .7s;
   -moz-transition: all .7s;
    -ms-transition: all .7s;
     -o-transition: all .7s;
        transition: all .7s;
}

.scroll-indicator {
position: absolute;
bottom: 50px;
left: 50%;
-webkit-transform: translate(-50%, 50%);
   -moz-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
        transform: translate(-50%, 50%);
z-index: 1005;
}

@media all and (min-width: 1920px) {
  .scroll-indicator {
    bottom: 60px;
  }
}

.scroll-line {
display: block;
width: 1px;
height: 50px;
background: none;
}

@media all and (min-width: 1920px) {
  .scroll-line {
    height: 60px;
  }
}

.scroll-line::before {
content: "";
display: block;
width: 1px;
height: 50%;
top: 0;
background-color: #fff;
-webkit-animation: scroll-down 2s ease-in-out infinite;
    -ms-animation: scroll-down 2s ease-in-out infinite;
	    animation: scroll-down 2s ease-in-out infinite;
}

@-webkit-keyframes scroll-down {
  0% {
    height: 0;
  }
  50% {
    height: 100%;
  }
  70% {
    height: 100%;
    transform: scaleY(0.5);
    transform-origin: bottom;
  }
  100% {
    height: 100%;
    transform: scaleY(0);
    transform-origin: bottom;
  }
}
@-ms-keyframes scroll-down {
  0% {
    height: 0;
  }
  50% {
    height: 100%;
  }
  70% {
    height: 100%;
    transform: scaleY(0.5);
    transform-origin: bottom;
  }
  100% {
    height: 100%;
    transform: scaleY(0);
    transform-origin: bottom;
  }
}
@keyframes scroll-down {
  0% {
    height: 0;
  }
  50% {
    height: 100%;
  }
  70% {
    height: 100%;
    transform: scaleY(0.5);
    transform-origin: bottom;
  }
  100% {
    height: 100%;
    transform: scaleY(0);
    transform-origin: bottom;
  }
}



