*, html {
  margin: 0;
  padding: 0;
  overflow:hidden;
}

body {
  background: #101c27;
  text-align: center;
  font-family: 'Comfortaa', cursive;
  height: 100%;
}


#header {
  position: relative;

  background-color: #e43725;
  padding: 20px 0;
  color: #fff;
  font-size: 34px;
  text-transform: uppercase;
  font-weight: 700;
}
h1{
  position: fixed;
  text-align: center;
  color: #fff;
  font-size: 34px;
  text-transform: uppercase;
  font-weight: 700;
  margin-left: 42.5%;
}

footer {
  text-align: center;
  font-size: 1em;
  font-family: cursive;
  font-style: italic;
  background-color: #e43725;
  margin: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  position: fixed;
  animation: powerFadeIn 2s linear forwards,
  powerFadeOut 2s 87s linear forwards;
  animation-play-state: paused;
}

#kwImage{
  position: absolute;
  height: 50%;
  width: 50%;
  z-index: 100;
  opacity: 0;
  animation: powerFadeOut 2s 87s linear forwards;
  animation-play-state: paused;
  visibility: hidden;
}



.bg{
  height: 100%;
  width: 100%;
  position: absolute;
  z-index: -100;

}


/* Popup windows*/

.popup{
  width:380px;
  height:180px;
  background:#67C58F;
  bottom: 50%;
  left: calc(50% - 190px);
  margin: 0 auto;
  position:fixed;
  border-radius:5px;
  box-shadow: 0px 25px 10px -15px rgba(0, 0, 0, 0.05);
  opacity: 0;
  transition: 1s linear;
  z-index: 101;
   
  visibility: hidden;
}

.popup > p{
  padding-top: 10px;
  font-size: 14px;
}

/* Info Button */
#infoImage:hover {
  cursor:pointer;
  opacity: 1;

}
#infoImage:hover ~ .popup{
  opacity: 1;
  visibility: visible;
}
#infoImage{
  position: relative;
  float: right;
}

/* Stop Button */

.stopButton, #infoI{
  position: relative;
  height: 50px;
  width: 50px;
  float: right;
  margin-right: 5px;
  z-index: 100;
}

.stopButton:hover {
  animation: 0.3s stopButtonRotate linear forwards;
  cursor:pointer;
}



@keyframes stopButtonRotate { /* */
  to {
    transform: rotate(180deg);
  }
}



/* First bg */
#bg1{
  background-color: #1B8798;
  animation: bgLeftAnimation 4s linear forwards;
  animation-play-state: paused;

  left: -50%;
}
#bg2{
  background-color: #D61C59;
  animation: bgRightAnimation 4s linear forwards;
  animation-play-state: paused;

  left: 50%;
}

/* Second bg */

#bg3{
  background-color: #101c27;
  animation: bgLeftAnimation 0.5s 36s linear forwards;
  animation-play-state: paused;

  left: -50%;
}
#bg4{
  background-color: #101c27;
  animation: bgRightAnimation 0.5s 36s linear forwards;
  animation-play-state: paused;

  left: 50%;
}

/* Third bg */


#bg5{
  background-color: #D61C59;
  animation: bgLeftAnimation 0.5s 37s linear forwards;
  animation-play-state: paused;

  left: -50%;
}
#bg6{
  background-color: #D61C59;
  animation: bgRightAnimation 0.5s 37s linear forwards;
  animation-play-state: paused;

  left: 50%;
}

/* Fourth bg */

#bg7{
  background-color: #1B8798;
  animation: bgLeftAnimation 0.5s 38s linear forwards;
  animation-play-state: paused;

  left: -50%;
}
#bg8{
  background-color: #1B8798;
  animation: bgRightAnimation 0.5s 38s linear forwards;
  animation-play-state: paused;

  left: 50%;
}

@keyframes bgRightAnimation { /* */
  to {
    transform: translateX(50%);
  }
}
@keyframes bgLeftAnimation { /* */
  to {
    transform: translateX(-50%);
  }
}


/* Audio Header */
#audioHeader {
  display: block;
  width: 100%;
  height: 100%;
  animation: GoUp 6s linear forwards;
  animation-play-state: paused;
  margin: 20px;
}

@keyframes GoUp { /* Audio Header Animation*/

  to {
    transform: translatey(-150px);
  }
}

#useAudio{
  font-style: normal;
  font-size: 5em;
  transform: translatey(50px);
}

#my-gradient{
  animation: moveGradient linear 2s infinite;
}


@keyframes moveGradient { /* Font Gradient Animation*/
  0% {
    transform: translatex(-2px) scale(1.1, 1.1);
    fill: red;
  }
  100%  {
    transform: translatex(3px) ;
  }
}




/* Button */

.svgButton {
  height: 60px;
  margin: 0 auto;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 320px;
  animation: RotateButton180 4s 6s linear forwards, TranslateButtonUp 6s 10s linear forwards; ;
  animation-play-state: paused;
}

@keyframes RotateButton180 { /* Button Rotate Animation*/

  to {
    transform: rotateZ(180deg);
  }
}
@keyframes TranslateButtonUp { /* Button Translate Up Animation*/
  from{
    transform: rotateZ(180deg);
  }
  to {
    transform: translatey(-350px) rotateZ(180deg);
  }
}

.buttonBox {
  fill: transparent;
  stroke-dasharray: 140px 540px;
  stroke-dashoffset: -474px;
  stroke-width: 8px;
  stroke: #19f6e8;
}

.buttonText {
  color: #fff;
  font-family: 'Roboto Condensed';
  font-size: 22px;
  letter-spacing: 8px;
  line-height: 32px;
  position: relative;
  top: -48px;
  cursor:pointer;
}



@keyframes drawButton {
  0% {
    stroke-dasharray: 140px 540px;
    stroke-dashoffset: -474px;
    stroke-width: 8px;
  }
  100% {
    stroke-dasharray: 760px;
    stroke-dashoffset: 1520px;
    stroke-width: 2px;
  }
}

.svgButton:hover .buttonBox {
  animation: 0.5s drawButton linear forwards;
  cursor:pointer;
}

/* Animated Text Stroke */

#animatedText{
  width: 100px;
  height: 100px;
  margin: 20px;
  display: inline-block;
}

.text--line {
    font-size: 2em;
}






@keyframes stroke-offset {
  50% {
    stroke-dashoffset: 35%;
    stroke-dasharray: 0 87.5%;
  }
}

/* Test */
.st0{
  fill-opacity: 0;
  stroke: #000;
  stroke-width: 3px;
  stroke-dasharray: 2230.9px;
  stroke-dashoffset: -2230.9px;
  animation: draw 2s infinite linear;
}


@keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
  from {
    stroke-dashoffset: 2230.9px;
  }
}

/* kayne west */

#kanyeWestName{
  animation: kwNameScale 1.3s 37.5s cubic-bezier(.25,.1,.25,1),
             kwNameFade 1.3s 84.9s cubic-bezier(.25,.1,.25,1),
             kwNameScale 1.3s 86.7s cubic-bezier(.25,.1,.25,1);
}

@keyframes kwNameScale {
  0% {
    transform: scale(1);
  }
  20% {
    transform: scale(1.03);
  }
  30% {
    transform: scale(1);
  }
  40% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.01);
  }
  60% {
    transform: scale(1);
  }
  70% {
    transform: scale(1);
  }
  80% {
    transform: scale(1.03);
  }
  90% {
    transform: scale(1);
  }
}
@keyframes kwNameFade {
  to {
    opacity: 0;
  }
  from {
    opacity: 1;
  }
}

/* kayne */

.kw1{
  position: relative;
  fill-opacity: 0;
  stroke: #c99e10;
  stroke-width: 4px;
  stroke-dasharray: 4402.13px;
  stroke-dashoffset: 4402.13px;
  animation: kw1Draw 15.5s 9s forwards linear, kw1Draw1 16s 37s forwards linear , kw1Draw2 15.5s 61s forwards linear;
  transform: translateY(-20%);
  animation-play-state: paused;

}

.kw12{
  position: relative;
  fill-opacity: 0;
  stroke-width: 4px;
  stroke: #003b46;
  stroke-dasharray: 4402.13px;
  stroke-dashoffset: 4402.13px;
  animation: kw1Draw 16s 10s forwards linear, kw1Draw1 15.5s 37s forwards linear , kw1Draw3 16s 61s forwards linear;
  transform: translateY(-20%) scale(1.005);
  animation-play-state: paused;

}

@keyframes kw1Draw {
  to {
    stroke-dashoffset: 0;
  }
  from {
    stroke-dashoffset: 4402.13px;
  }
}

@keyframes kw1Draw1 {
  to {
    stroke-dashoffset: 4402.13px;
  }
  from {
    stroke-dashoffset: 0;
  }
}

@keyframes kw1Draw2 {
  to {
    stroke: #003b46;
    stroke-dashoffset: 0;
  }
  from {
    stroke: #003b46;
    stroke-dashoffset: 4402.13px;
  }
}
@keyframes kw1Draw3 {
  to {
    stroke: #c99e10;
    stroke-dashoffset: 0;
  }
  from {
    stroke: #c99e10;
    stroke-dashoffset: 4402.13px;
  }
}



/* W */
.kw3{
  fill-opacity: 0;
  stroke: #c99e10;
  stroke-width: 4px;
  stroke-dasharray: 1374.12px;
  stroke-dashoffset: 1374.12px;
  animation: kw3Draw 4.2s 25s forwards linear, kw3Draw1 4.5s 53s forwards linear , kw3Draw2 4.2s 77s forwards linear;
  transform: translateY(-20%);
  animation-play-state: paused;

}

.kw32{
  fill-opacity: 0;
  stroke: #003b46;
  stroke-width: 4px;
  stroke-dasharray: 1374.12px;
  stroke-dashoffset: 1374.12px;
  animation: kw3Draw 4.5s 26s forwards linear, kw3Draw1 4.2s 53s forwards linear , kw3Draw3 4.5s 77s forwards linear;
  transform: translateY(-20%) scale(1.005);
  animation-play-state: paused;

}

@keyframes kw3Draw {
  to {
    stroke-dashoffset: 0;
  }
  from {
    stroke-dashoffset: 1374.12px;
  }
}

@keyframes kw3Draw1 {
  to {
    stroke-dashoffset: 1374.12px;
  }
  from {
    stroke-dashoffset: 0;
  }
}

@keyframes kw3Draw2 {
  to {
    stroke: #003b46;
    stroke-dashoffset: 0;
  }
  from {
    stroke: #003b46;
    stroke-dashoffset: 1374.12px;
  }
}
@keyframes kw3Draw3 {
  to {
    stroke: #c99e10;
    stroke-dashoffset: 0;
  }
  from {
    stroke: #c99e10;
    stroke-dashoffset: 1374.12px;
  }
}

/* est */

.kw2{
  fill-opacity: 0;
  stroke: #c99e10;
  stroke-width: 4px;
  stroke-dasharray: 1973.74px;
  stroke-dashoffset: 1973.74px;
  animation: kw2Draw 4.2s 29.5s forwards linear, kw2Draw1 4.5s 57s forwards linear , kw2Draw2 4.2s 81s forwards linear;
  transform: translateY(-20%);
  animation-play-state: paused;
}

.kw22{
  fill-opacity: 0;
  stroke: #003b46;
  stroke-width: 4px;
  stroke-dasharray: 1973.74px;
  stroke-dashoffset: 1973.74px;
  animation: kw2Draw 4.5s 30.5s forwards linear, kw2Draw1 4.2s 57s forwards linear , kw2Draw3 4.5s 81s forwards linear;
  transform: translateY(-20%) scale(1.005);
  animation-play-state: paused;
}


@keyframes kw2Draw {
  to {
    stroke-dashoffset: 0;
  }
  from {
    stroke-dashoffset: 1973.74px;
  }
}

@keyframes kw2Draw1 {
  to {
    stroke-dashoffset: 1973.74px;
  }
  from {
    stroke-dashoffset: 0;
  }
}

@keyframes kw2Draw2 {
  to {
    stroke: #003b46;
    stroke-dashoffset: 0;
  }
  from {
    stroke: #003b46;
    stroke-dashoffset: 1973.74px;
  }
}
@keyframes kw2Draw3 {
  to {
    stroke: #c99e10;
    stroke-dashoffset: 0;
  }
  from {
    stroke: #c99e10;
    stroke-dashoffset: 1973.74px;
  }
}


/*  POWER  */

#power{
  position: absolute;
  margin:0 auto;
  animation: powerFadeIn 4.5s forwards linear,
              powerUp 4.5s forwards linear,
              powerFadeOut 4.5s 10s forwards linear,
  powerFadeIn 4.5s 14.5s forwards cubic-bezier(.25,.1,.25,1),
  powerFadeOut 1s 27.5s forwards cubic-bezier(.25,.1,.25,1),
  powerFadeIn 1s 28.5s forwards cubic-bezier(.25,.1,.25,1),
  powerFadeOut 1s 33.8s forwards cubic-bezier(.25,.1,.25,1);

  animation-play-state: paused;
  stroke: #c99e10;
  stroke-width: 3px;
}

@keyframes powerFadeIn {
  to {
   opacity: 0;

  }
}



@keyframes powerFadeOut {
  from{
    opacity: 0;
  }
  to {
    opacity: 1;

  }
}



@keyframes powerUp {
  to {
    transform: translateY(-30%);
  }
}




/*  Characters of POWER */
@keyframes subPowerFillOpacity {
  to {
    fill-opacity: 1;
  }
  from {
    fill-opacity: 0;
  }
}
/*  P  */

#subPower1{
  stroke-dasharray: 0;
  stroke-dashoffset: 679.945px;
  fill-opacity: 1;
  animation: subPower1DashOffset1 5s 42s forwards  linear,
             subPower1DashOffset2 5s 47s forwards  linear,
             subPowerFillOpacity 5s 52s forwards  linear;
  animation-play-state: paused;

}

@keyframes subPower1DashOffset1 {
  to {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }
  from {
    stroke-dashoffset: 679.945px;
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}

@keyframes subPower1DashOffset2 {
  to {
    stroke-dasharray: 679.945px;
    fill-opacity: 0;
  }
  from {
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}




/*  O  */
#subPower2{
  stroke-dasharray: 0;
  stroke-dashoffset: 576.23px;
  fill-opacity: 1;
  animation: subPower2DashOffset1 5s 62s forwards  linear,
  subPower2DashOffset2 5s 67s forwards  linear,
  subPowerFillOpacity 5s 72s forwards  linear;
  animation-play-state: paused;

}
@keyframes subPower2DashOffset1 {
  to {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }
  from {
    stroke-dashoffset: 576.23px;
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}
@keyframes subPower2DashOffset2 {
  to {
    stroke-dasharray: 576.23px;
    fill-opacity: 0;
  }
  from {
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}

/*  W  */
#subPower3{
  stroke-dasharray: 0;
  stroke-dashoffset: 830.93px;
  fill-opacity: 1;
  animation: subPower3DashOffset1 5s 82s forwards  linear,
  subPower3DashOffset2 5s 87s forwards  linear,
  subPowerFillOpacity 5s 92s forwards  linear;
  animation-play-state: paused;

}
@keyframes subPower3DashOffset1 {
  to {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }
  from {
    stroke-dashoffset: 830.93px;
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}
@keyframes subPower3DashOffset2 {
  to {
    stroke-dasharray: 830.93px;
    fill-opacity: 0;
  }
  from {
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}
/*  E  */
#subPower4{
  stroke-dasharray: 0;
  stroke-dashoffset: 865.84px;
  fill-opacity: 1;
  animation: subPower4DashOffset1 5s 72s forwards  linear,
  subPower4DashOffset2 5s 77s forwards  linear,
  subPowerFillOpacity 5s 82s forwards  linear;
  animation-play-state: paused;

}
@keyframes subPower4DashOffset1 {
  to {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }
  from {
    stroke-dashoffset: 865.84px;
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}
@keyframes subPower4DashOffset2 {
  to {
    stroke-dasharray: 865.84px;
    fill-opacity: 0;
  }
  from {
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}
/*  R  */
#subPower5{
  stroke-dasharray: 0;
  stroke-dashoffset: 834.431px;
  fill-opacity: 1;
  animation: subPower5DashOffset1 5s 52s forwards  linear,
  subPower5DashOffset2 5s 57s forwards  linear,
  subPowerFillOpacity 5s 62s forwards  linear;
  animation-play-state: paused;

}
@keyframes subPower5DashOffset1 {
  to {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }
  from {
    stroke-dashoffset: 834.431px;
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}

@keyframes subPower5DashOffset2 {
  to {
    stroke-dasharray: 834.431px;
    fill-opacity: 0;
  }
  from {
    stroke-dasharray: 50px 50px;
    fill-opacity: 0;
  }
}
