@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");

:root {
  --purple500: #281154;
  --purple300: #270082;
  --purple600: #1b0058;
  --red600: #dc0000;
  --max-width: 1200px;
}

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

html,
body {
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  line-height: 1.4;
  scroll-behavior: smooth;
}

section {
  scroll-margin: 50px;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: white;
}

button {
  padding: 10px 15px;
  border: none;
  transition: 0.2s ease-in-out;
  cursor: pointer;

  &:hover {
    opacity: 0.8;
  }
}

header {
  background-color: var(--purple300);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);

  nav {
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: white;
    padding: 20px 0;

    h1 {
      font-size: 32px;
      font-weight: 600;
    }

    ul {
      display: flex;
      gap: 20px;

      li {
        border-bottom: 2px solid transparent;
        transition: 0.2s ease-in;

        &:hover {
          border-bottom: 2px solid white;
        }
      }
    }
  }
}

#hero {
  background-image: url(images/hero_image.png);
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
  color: white;
  text-align: center;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0 20px;

  h2 {
    font-size: 96px;
  }

  h3 {
    font-size: 32px;
  }

  p {
    max-width: var(--max-width);
  }
}

#music {
  padding: 50px 20px;
  background: var(--purple500);
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
  color: white;
  text-align: center;

  h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 36px;
  }

  button {
    background-color: var(--red600);
    color: white;
  }

  figure {
    margin-top: -400px;
    position: relative;
    top: 400px;

    img {
      max-width: 100%;
      height: auto;
    }
  }
}

#about-music {
  padding-top: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
  text-align: center;
  margin-bottom: 50px;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;

  button {
    background-color: var(--purple300);
    color: white;
  }

  figure img {
    max-width: 100%;
    height: auto;
  }
}

#video {
  background-image: url(images/video.png);
  min-height: 800px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
  color: white;
  text-align: center;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0 20px;

  p {
    max-width: var(--max-width);
    margin-top: -200px;
  }
}

#gift {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 50px;
  margin: 100px auto;
  max-width: var(--max-width);
  padding: 0 20px;
  scroll-margin: 120px;

  figure img {
    max-width: 468px;
    height: auto;
  }

  div {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  button {
    background-color: var(--purple300);
    color: white;
    width: fit-content;
  }
}

footer {
  > div:first-child {
    background-color: var(--purple600);
    padding: 20px;

    > div {
      max-width: var(--max-width);
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      color: white;
      gap: 20px;

      nav {
        display: flex;
        flex-direction: column;
        gap: 8px;

        h4 {
          padding-bottom: 10px;
          border-bottom: 2px solid white;
          margin-bottom: 10px;
        }
      }
    }
  }

  > p {
    background-color: var(--purple300);
    padding: 20px;
    text-align: center;
    color: white;
  }
}
