@keyframes cta-wobble {
  0% {
    transform: rotate(0); }
  10% {
    transform: rotate(-8deg); }
  20% {
    transform: rotate(16deg); }
  30% {
    transform: rotate(-14deg); }
  40% {
    transform: rotate(12deg); }
  50% {
    transform: rotate(-10deg); }
  60% {
    transform: rotate(8deg); }
  70% {
    transform: rotate(-6deg); }
  80% {
    transform: rotate(4deg); }
  90% {
    transform: rotate(-2deg); }
  100% {
    transform: rotate(0); } }
@keyframes fade-in {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
a:-webkit-any-link {
  text-decoration: none; }

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

body {
  color: #f5f0f6;
  display: flex;
  flex-direction: column;
  font-family: "Exo 2", sans-serif;
  height: 100vh; }

.fader {
  animation: fade-in 3s 0s linear;
  background: white;
  height: 100vh;
  left: 0;
  opacity: 1;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 3; }

.sidebar__background {
  background: rgba(0, 0, 0, 0.5);
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  transform: translateX(-101%);
  width: 100%;
  z-index: 1; }

.sidebar__foreground {
  background: #f5f0f6;
  border-radius: 0 32px 32px 0;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  transform: translateX(-101%);
  transition: transform 0.5s ease-out;
  width: 75%;
  z-index: 2; }

.sidebar__nav {
  height: 100%;
  text-align: center; }

.sidebar__nav__items {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-evenly;
  list-style: none; }

.sidebar__nav__item a {
  border-bottom: 2px solid #f5f0f6;
  color: #2b4162;
  padding: 0.5rem;
  text-decoration: none;
  transition: all 0.3s; }
  .sidebar__nav__item a:hover,
  .sidebar__nav__item a .active {
    color: #9c0040;
    border-bottom: 2px solid #9c0040; }

.sidebar__nav__cta a {
  background: #9c0040;
  border: 1px solid #9c0040;
  border-radius: 8px;
  box-shadow: 3px 3px 3px #222;
  color: #f5f0f6;
  padding: 0.5rem 3rem;
  transition: all 0.3s; }
  .sidebar__nav__cta a:hover,
  .sidebar__nav__cta a .active {
    background: #f5f0f6;
    color: #9c0040; }

.open {
  transform: translateX(0); }

.header {
  align-items: center;
  background: #2b4162;
  box-shadow: 0px 3px 3px black;
  display: flex;
  height: 6rem;
  justify-content: space-between;
  left: 0;
  padding: 1rem;
  position: fixed;
  top: 0;
  width: 100%; }

.header__logo-brand {
  background: white;
  border-radius: 8px;
  box-shadow: 0 0 0 black;
  padding: 0.25rem;
  transform: scale(1);
  transition: all 0.3s ease-out; }
  .header__logo-brand:hover {
    box-shadow: 2px 2px 3px black;
    transform: scale(1.1); }

.header__logo-brand--logo {
  display: inline-block;
  height: 3.5rem; }

.header__logo-brand--brand {
  color: #2b4162;
  display: inline-block;
  font-variant: small-caps;
  font-weight: bold;
  margin-left: 2px;
  text-decoration: none;
  vertical-align: top; }

.header__nav {
  display: none; }

.main {
  background: linear-gradient(to right bottom, #5b9279, #388697);
  flex-grow: 1;
  margin-top: 6rem;
  padding: 1rem;
  text-align: center; }
  .main h1 {
    margin: 2rem 0; }
  .main p {
    margin-bottom: 1rem; }

.footer {
  background: #2b4162;
  font-size: 0.8rem;
  padding: 0.5rem;
  text-align: center;
  width: 100%; }

.footer__texts {
  list-style: none; }

.footer__text-item {
  margin: 0.5rem 0; }

@media(min-width: 800px) {
  .sidebar {
    display: none; }

  .header__sidebar-button {
    display: none; }

  .header__nav {
    display: block; }

  .header__nav__items {
    list-style: none; }

  .header__nav__item,
  .header__nav__cta {
    display: inline-block;
    margin-left: 1.5rem; }
    .header__nav__item a,
    .header__nav__cta a {
      color: #f5f0f6;
      text-decoration: none;
      transition: all 0.3s; }

  .header__nav__item a {
    border-bottom: 2px solid #2b4162;
    padding: 0.5rem; }
    .header__nav__item a:hover,
    .header__nav__item a .active {
      border-bottom: 2px solid #f5ee9e;
      color: #f5ee9e; }

  .header__nav__cta {
    animation: cta-wobble 2.5s 2.5s 1 ease-in-out; }

  .header__nav__cta a {
    background: #9c0040;
    border: 1px solid #9c0040;
    border-radius: 8px;
    box-shadow: 3px 3px 3px black;
    padding: 0.5rem 3rem;
    transition: all 0.3s; }
    .header__nav__cta a:hover,
    .header__nav__cta a .active {
      background: #f5f0f6;
      color: #9c0040; } }

/*# sourceMappingURL=styles.css.map */
