/* Colors */

:root {
  --pink: #ff5959;
  --link: #e9dddd;
  --gray: gray;
  --border-gray: #797979;
  --nav-color: #0399d8;
  --profiles-page: #781c68;
  --profile-color: #676fa3;
  --profile-text: #eef2ff;
  --profile-title: #fe8f8f;
  --step-button: #ff0220;
  --step-button-background: #ff829146;
  --form-color: #ffffff;
  --heart-active-color: #e44;
  --heart-inactive-color: #bdbdbd;
  --white-text: #ffffff;
}

/* CSS Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Elements */
html {
  font-size: 62.5%; /* font-size 1em = 10px on default browser settings */
}

.liveordate {
  background-image: url("../assets/homepage_background.jpg");
  height: 100vh;
  width: 100vw;
  color: var(--white-text);
  display: flex;
}

.header-intro {
  width: 60vw;
  color: var(--white-text);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-content: center;
  text-shadow: 0.2rem 0.2rem 0.4rem black;
}

.header-intro-title {
  font-size: 15rem;
}
.header-intro-slogan {
  font-size: 4rem;
  margin-bottom: 0rem;
}

.header {
  height: 90vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.header-intro {
  width: 60vw;
  color: var(--white-text);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-content: center;
  text-shadow: 0.2rem 0.2rem 0.4rem black;
}

.header-intro-title {
  font-size: 15rem;
}
.header-intro-slogan {
  font-size: 4rem;
}

.header-link-container {
  width: 100%;
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}

.header-link {
  text-decoration: none;
  color: var(--white-text);
  margin: 0 3rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

.header-link-image {
  width: 100%;
  height: 6rem;
  filter: brightness(0) invert(1);
}
.header-link-text {
  font-size: 2rem;
  text-transform: uppercase;
  font-weight: 900;
  margin-top: 1rem;
}

.header-registration-container {
  text-align: center;
  font-size: 5rem;
  margin-top: 10rem;
}

.header-registration-title {
  text-decoration: underline;
}

.header-registration-link {
  font-size: 6rem;
  border: 0.5rem white solid;
  padding: 1rem 4rem;
  margin: 2rem;
  display: inline-block;
  color: var(--white-text);
  text-decoration: none;
  box-shadow: 0.1rem 0.2rem 0.4rem black;
  text-shadow: 0.1rem 0.1rem black;
}

.header-registration-title {
  margin-top: 2rem;
}

.header-registration-text {
  font-size: 2rem;
}

.header-registration-link:hover {
  border: 0.5rem black solid;
  color: black;
}

.header-registration-link:active {
  box-shadow: none;
}

.flicker {
  animation: text-flicker 3s linear;
}

@keyframes text-flicker {
  0% {
    opacity: 0.1;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }

  2% {
    opacity: 1;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }
  8% {
    opacity: 0.1;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }
  9% {
    opacity: 1;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }
  12% {
    opacity: 0.1;
    text-shadow: 0px 0px rgba(73, 22, 242, 1);
  }
  20% {
    opacity: 1;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }
  25% {
    opacity: 0.3;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }
  30% {
    opacity: 1;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }

  70% {
    opacity: 0.7;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }

  72% {
    opacity: 0.2;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }

  77% {
    opacity: 0.9;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }
  100% {
    opacity: 0.9;
    text-shadow: 0px 0px 29px rgba(73, 22, 242, 1);
  }
}

/* On screens that are 992px or less, set the background color to blue */
@media screen and (max-width: 1350px) {
  .liveordate {
    justify-content: center;
  }

  .header-intro {
    width: 100vw;
  }
}

/* On screens that are 600px or less, set the background color to olive */
@media screen and (max-width: 800px) {
  .liveordate {
    height: 100vh;
    width: 100%;
    padding: 1rem 0;
    background-image: url("../assets/homepage_background_mobile.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
  }

  .header {
    display: flex;
    height: 100%;
    justify-content: space-between;
    padding: 3rem 0;
  }

  .header-intro {
    flex-direction: column;
    width: 100%;
    align-items: center;
    justify-content: center;
    align-content: center;
    text-shadow: 0.2rem 0.2rem 0.4rem black;
  }

  .header-intro-title {
    font-size: 5rem;
  }

  .header-intro-slogan {
    font-size: 2rem;
    margin-bottom: 0rem;
  }

  .header-registration-container {
    text-align: center;
    font-size: 3rem;
    margin-top: 3rem;
  }

  .header-registration-link {
    font-size: 3rem;
  }

  .header-registration-text {
    font-size: 1.5rem;
  }
}
