/* Basic style */
:root {
  --primary: #fff;
  --secondary: #050840;
  --highlight-primary: #7ce7c9;
  --highlight-secondary: #9d7beb;
  --radius: 0.5rem;
  --pill: 2rem;
  --line: 0.1rem;
}
* {
  box-sizing: border-box;
}
body {
  margin: 2rem;
  padding: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 2rem;
  background: var(--secondary);
}
section {
  max-width: 90vw;
}
a {
  display: inline-block;
  margin: 0.2em;
  padding: 0.4em 0.8em;
  background: var(--secondary);
  color: var(--highlight-primary);
  border: var(--line) solid var(--highlight-primary);
  border-radius: var(--pill);
  font-weight: normal;
  text-decoration: none;
  &:hover, &:focus {
    color: var(--primary);
    border-color: var(--primary);
  }
}


/* UI Event Classes */

/* Jump animation on the design link */
a[href="#design"] {
  position: relative;
  background: var(--highlight-secondary);
  color: var(--secondary);
  border-color: var(--secondary);
}

.jump {
  animation-name: jump;
  animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
  animation-duration: 1.2s;
  animation-iteration-count: 1;
}

@keyframes jump {
  0% {
    transform: scale(1, 1) translateY(0);
  }
  10% {
    transform: scale(1.1, 0.9) translateY(0);
  }
  30% {
    transform: scale(0.9, 1.1) translateY(-5rem) rotate(10deg);
  }
  50% {
    transform: scale(1.05, 0.95) translateY(0);
  }
  57% {
    transform: scale(1, 1) translateY(-0.5rem) rotate(-2deg);
  }
  64% {
    transform: scale(1, 1) translateY(0);
  }
  100% {
    transform: scale(1, 1) translateY(0);
  }
}


/* Hieronder komen jouw animaties */

/* 1. FRONTEND */
.scale {
  animation-name: scale;
  animation-duration: 1s;
  animation-iteration-count: 1;
}

@keyframes scale {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(2);
  }

  100% {
    transform: scale(1);
  }
}

/* 3. & */
.updown {
  animation-name: updown;
  animation-duration: 1s;
  animation-iteration-count: 1;
}

@keyframes updown {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-1em);
  }

  100% {
    transform: translateY(0);
  }
}

/* 4. DEVELOPMENT */
.shake {
  animation-name: shake;
  animation-duration: .2s;
  animation-iteration-count: 4;
}

@keyframes shake {
  0% {
    transform: translateX(0);
    rotate: 25deg;
  }

  50% {
    transform: translateX(-1em);
  }

  100% {
    transform: translateX(0);
    rotate: 0deg;
  }
}

/* 5. SPRINT 5 */
.animation-color {
  animation-name: animation-color;
  animation-duration: 1s;
  animation-iteration-count: 3;
}

@keyframes animation-color {
  0% {
    background-color: var(--highlight-primary);
  }

  50% {
    background-color: var(--highlight-secondary);
  }

  100% {
    background-color: var(--highlight-primary);
  }
}

/* 7. THE */
.rotate {
  animation-name: rotate;
  animation-duration: 1s;
  animation-iteration-count: 1;
}

@keyframes rotate {
  0% {
    rotate: 0deg;
  }

  50% {
    rotate: 360deg;
  }

  100% {
    rotate: 0deg;
  }
}

/* 8. FLOW */
.flip {
  transform: scaleX(-1);
}

/* 9. USER */
.active {
  color: var(--highlight-secondary);
  border: 0.5em solid var(--highlight-secondary);
}

/* 10. INTERFACE */
a[href="#interface"] {
  transition:
    scale 2.5s ease,
    filter 2.5s ease;
}

.ballon {
  scale: 5;
}

/* 11. EVENTS */
a[href="#events"] {
  transition:
    font-size 2.5s ease;
}

.wheel {
  font-size: 2.5em;
}

/* 12. INTERACTION */
a[href="#interaction"]:hover {
  --x: 50%;
  --y: 50%;

  background: radial-gradient(circle at var(--x) var(--y),
      var(--highlight-primary) .3em,
      var(--highlight-secondary) .7em);
}