/* active class animations to be used with javascript */

.fadeslideintop {
  animation-duration: 1s;
  animation-name: fadeslideintop;
  animation-iteration-count: 1;
}

@keyframes fadeslideintop {
  0% {
    transform: translate(0,-1em);
    color: hsla(360, 100%, 100%, 0);
  }
  100% {
    transform: translate(0,0);
    color: hsla(360, 100%, 100%, 1);
  }
}

.fadeslideouttop {
  animation-duration: 1s;
  animation-name: fadeslideouttop;
  animation-iteration-count: 1;
}

@keyframes fadeslideouttop {
  0% {
    transform: translate(0,0);
    color: hsla(360, 100%, 100%, 1);
  }
  100% {
    transform: translate(0,-1em);
    color: hsla(360, 100%, 100%, 0);
  }
}

.hide {
  animation: hide 0s 1s forwards;
}

@keyframes hide {
  to {
    visibility: hidden;
    opacity: 0;
  }
}

.show {
  visibility: visible;
}

.fadeslideinleft {
  animation-duration: 1s;
  animation-name: fadeslideinleft;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
}

.textSlideInLeft {
  animation-duration: 1s;
  animation-name: fadeslideinleft;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  animation-delay: 2s;
}

@keyframes fadeslideinleft {
  0% {
    transform: translate(-200%,0);
    color: hsla(360, 100%, 100%, 0);
  }
  100% {
    transform: translate(0,0);
    color: hsla(360, 100%, 100%, 1);
  }
}

.fadeslideoutleft {
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
  animation-name: fadeslideoutleft;
  animation-iteration-count: 1;
}

@keyframes fadeslideoutleft {
  0% {
    transform: translate(0,0);
    color: hsla(360, 100%, 100%, 1);
  }
  75% {
    transform: translate(-10%,0) scale(1);
    color: hsla(360, 100%, 100%, 0.75);
  }
  100% {
    transform: translate(-200%,0) scale(0);
    color: hsla(360, 100%, 100%, 0);
  }
}

.clickpop {
  animation: enlargepop 0.2s;
}

.resizeCollapse {
  animation: resizeCollapse 0.2s forwards;
}

@keyframes resizeCollapse {
  from {
    opacity: 1;
    margin-top: 6em;
    margin-bottom: 4em;
  }
  to {
    opacity: 0;
    margin-top: 0em;
    margin-bottom: 0 em;
  }
}

.resizeExpand {
  animation: resizeExpand 0.2s forwards;
}

@keyframes resizeExpand {
  from {
    margin-top: 0em;
    margin-bottom: 0em;
  }
  to {
    margin-top: 6em;
    margin-bottom: 4em;
  }
}

.fadeIn06 {
  animation: fadein 0.5s forwards;
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fadeOut06 {
  animation: fadeout 0.5s forwards, moveout 0.5s forwards 0.5s;
}

@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes moveout {
  to {
    transform: translateX(-20rem);
  }
}

.fadeInNav {
  animation: fadeinnav 0.3s forwards;
}

@keyframes fadeinnav {
  from {
    background-color: hsla(360, 100%, 0%, 0);
  }
  to {
    background-color: hsla(360, 100%, 0%, 1);
  }
}

@media (max-width: 576.1px) {
  .fadeInNav {
    animation: none!important;
  }
  .fadeOutNav {
    animation: none!important;
  }
}

.fadeOutNav {
  animation: fadeoutnav 0.3s forwards;
}

@keyframes fadeoutnav {
  from {
    background-color: hsla(360, 100%, 0%, 1);
  }
  to {
    background-color: hsla(360, 100%, 0%, 0);
  }
}

.navtoblack {
  animation: navtoblack 0.3s forwards;
}

@keyframes navtoblack {
  from {
    background-color: white;
  }
  to {
    background-color: black;
  }
}

.navtowhite {
  animation: navtowhite 0.3s;
}

@keyframes navtowhite {
  from {
    background-color: black;
  }
  to {
    background-color: white;
  }
}

.navtonone {
  background-color: none;
}

/* passive animations */

.floatbottom {
  animation: floatBottom;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-play-state: running;
  animation-timing-function: ease-in-out;
}

@keyframes floatBottom {
  from {
    transform: translate(0,0);
  }
  50% {
    transform: translate(0,10%);
  }
  to {
    transform: translate(0,0);
  }
}

/* passive hover animations */

@keyframes enlargepop {
  from {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  to {
    transform: scale(1);
  }
}
