/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
:focus {
  outline:none;
}
::-moz-focus-inner {
  border:0;
}

* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;

          cursor: pointer !important;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
  padding: 0;
  color:#fff;
}

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

#banner-wrap {
  position: relative;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#banner-wrap img {
  /*max-width:100%;*/
    -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}



/* custom */


#bg-color{
  transition:background-color 1s ease-in-out;
  content:'';
  position:absolute;
  z-index:1;
  top: 0;
  bottom: 0;
  left:0;
  height: 100%;
  width:100%;
}
#bg-color.transparent{
  background-color:transparent;
}




#stage{
  display:flex;
  justify-content: center;
  align-items: center;
}
.iSlide{
  width:100%;
  text-align:center;
  position:absolute;
  opacity:0;
  visibility:0;
  z-index:2;
  top: 0;
  bottom: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}



@keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.bg{
  animation: rotating 15s linear infinite;
  background:no-repeat center center;
  background-image:url("bg.svg");
  background-size: cover;
  z-index: 0;
  position: absolute;
  /*position: fixed; (debug)*/
}


/* effects */

div.text {
  z-index:2;
  position:relative;
  animation-duration: 1s;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animate {visibility: hidden; opacity:0;}
.animate[data-display=visible]{visibility: visible; opacity:1;}
.animate[data-display=hidden] {visibility: hidden; opacity:0; transition-delay:1s;}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

[data-display=visible] > div.text {
  animation-name: fadeInDown;
  animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to{
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

}
[data-display=hidden] > div.text {
  animation-name: fadeOutDown;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}



.flex-row,
.flex-column{
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  width: 100%;
  height: 100%;
}

.flex-row{
  flex-direction:row;
  padding-right: 20px;
  padding-left: 20px;
  gap: 20px;
}
.flex-column{
  flex-direction:column;
}

.logo, .btn{
  position: relative;
}


[data-display=hidden] .btn, .btn,
[data-display=hidden] .logo, .logo
{
  opacity:0;
  transition:opacity 1s ease-in-out;
}


@keyframes btn {
  0% {
    opacity:0;
  }
  45% {
    opacity:0;
  }
  50% {
    opacity:1;
  }
  90% {
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}

@keyframes logoColumn {
  0% {
    transform: translate3d(0, calc(50% + 12px), 0);
    opacity: 0;
    margin-bottom:0;
  }
  15% {
    transform:translate3d(0, calc(50% + 12px), 0);
    opacity: 1;
  }
  30% {
    transform:translate3d(0, calc(50% + 12px), 0);
    margin-bottom:0;
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    margin-bottom:40px;
  }
  90% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    margin-bottom:40px;
  }
  100%{
    opacity: 0;
  }
}

@keyframes logoRow {
  0% {
    transform: translate3d(calc(50% + 20px), 0, 0);
    opacity: 0;
  }
  15% {
    transform:translate3d(calc(50% + 20px), 0, 0);
    opacity: 1;
  }
  30% {
    transform:translate3d(calc(50% + 20px), 0, 0);
  }
  40% {
    transform: translate3d(0, 0, 0);
  }
  90% {

    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  100%{
    opacity: 0;
  }
}


.flex-column .logo{
  margin-bottom:40px;
}
/*
.flex-row .logo{
  transform: translate3d(-20px, 0, 0);
}*/

.flex-row .logo,
.flex-row .btn{
  flex:1;
}


/* https://easings.net/ */
[data-display=visible] .flex-column .logo{
  animation: logoColumn 6s cubic-bezier(0.16, 1, 0.3, 1) 1;
}
[data-display=visible] .btn{
  animation: btn 6s cubic-bezier(0.16, 1, 0.3, 1) 1;
}

[data-display=visible] .flex-row .logo{
  animation: logoRow 6s cubic-bezier(0.16, 1, 0.3, 1) 1;
}



@keyframes imagesRow {

  from{
    transform: translate3d(65%, 0, 0);
  }
  to{
    transform: translate3d(-100%, 0, 0);
  }

}

@keyframes imagesDouble {
  0{
    transform: translate3d(170%, 0, 0);
  }
  40%{
    transform: translate3d(0, 0, 0);
  }
  80%{
    transform: translate3d(0, 0, 0);
  }
  100%{
    transform: translate3d(-170%,0, 0);
  }
}


.images{
  opacity:0;
  display: flex;
  align-items: center;
  transform: translate3d(-200%, 0, 0);
}

.images.double{
  transform: translate3d(170%, 0, 0);
}

.images.double img{
  height:auto;
  width:100%;
}



[data-display=visible] .images{
  opacity:1;
}


[data-display=visible] .images{
  animation: imagesRow 4.5s ease-in;
}

[data-display=visible] .images.double{
  animation: imagesDouble 4.0s ease-in;
}
