// Base
// -----------------------------------------------
// -----------------------------------------------
// Body, html
// -----------------------------------------------
html {
  box-sizing: border-box;
  font-size: $base-font-size;
}

*,
*::after,
*::before {
  box-sizing: inherit;
}

body,
html {
  height: 100%;
}

// Typography
// -----------------------------------------------
body {
  display: flex;
  flex-direction: column;
  color: $base-font-color;
  background: rgba($gray-primary, 0.015);
  font-family: $base-font-family;
  line-height: $base-line-height;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: $header-font-color;
  font-family: $header-font-family;
  font-weight: $font-semibold;
  position: relative;
}

a {
  color: $link-color;
  text-decoration: none;
  transition: color $base-duration $base-timing;

  &:visited {
    color: $link-color;
  }

  &:hover {
    color: $link-hover;
    text-decoration: underline;
  }

  &:active {
    color: $link-hover;
  }
}

hr {
  display: block;
  border: none;
}

@keyframes bg-gradient {
  0% {
    background-position: 50%;
  }

  36% {
    background-position: 60%;
  }

  40% {
    background-position: 80%;
  }

  50% {
    background-position: 40%;
  }

  66% {
    background-position: 15%;
  }

  100% {
    background-position: 50%;
  }
}
