@media (min-width: 2000px) {
  header {
    justify-content: space-evenly;
  }
}

@media (min-width: 3000px) {
  header {
    justify-content: center;
    gap: 600px;
  }
}

@media (max-width: 1700px) {
  a {
    font-size: 20px;
  }
  h1 {
    font-size: 56px;
  }
}

@media (max-width: 1600px) {
  h1,
  .catch-phrase {
    font-size: 48px;
  }
  h2 {
    font-size: 32px;
  }
  section.personae-perceived-value
    .container
    .content-container
    .persona
    .content
    h3 {
    font-size: 28px;
  }
  p {
    font-size: 24px;
  }
  p.textStep {
    font-size: 32px;
  }
  section.join-waitlist .container .form-container form input,
  section.join-waitlist .container .form-container form button {
    font-size: 28px;
  }
}

@media (max-width: 1400px) {
  h3 {
    margin-left: 10px;
    margin-right: 10px;
    font-size: 26px;
  }
  #arrow {
    left: 640px;
  }
}

@media (max-width: 1320px) {
  h3 {
    font-size: 24px;
  }
  #arrow {
    left: 600px;
    width: 170px;
  }
  section.hubbl-explained .container .left {
    left: 20px;
  }
  section.hubbl-explained .container .right {
    right: 20px;
  }
}

@media (max-width: 1300px) {
  section.hero-section .container h1 span {
    text-underline-offset: 16px;
  }
  h3 {
    font-size: 16px;
  }
  p.textStep {
    font-size: 24px;
  }
  section.hubbl-explained .container {
    width: 1000px;
    height: 800px;
  }
  section.hubbl-explained .container .left img {
    width: 500px;
  }
  section.hubbl-explained .container .right video {
    width: 800px;
  }
  section.hubbl-explained .container .right .step-button-container button {
    width: 220px;
    height: 50px;
    font-size: 18px;
  }
  #arrow {
    top: 10px;
    left: 430px;
    width: 160px;
  }

  header .navbar {
    gap: 60px;
  }

  section.hero-section .container .cta-container {
    justify-content: center;
    gap: 5vw;
  }

  h1,
  .catch-phrase {
    font-size: 40px;
  }
  h2 {
    font-size: 28px;
  }
  section.personae-perceived-value
    .container
    .content-container
    .persona
    .content
    h3 {
    font-size: 24px;
  }
  section.personae-perceived-value
    .container
    .content-container
    .persona
    .content
    p {
    font-size: 20px;
  }
  section.join-waitlist .container .form-container form input,
  section.join-waitlist .container .form-container form button {
    font-size: 24px;
  }
  a {
    font-size: 18px;
  }
  p {
    font-size: 20px;
  }

  section.hero-section .container {
    margin: 90px 0;
  }
  section.hubbl-explained .container {
    margin: 90px 0;
  }
}

@media (max-width: 1000px) {
  section.hubbl-explained .container {
    width: 800px;
    height: 700px;
  }
  section.hubbl-explained .container .left img {
    width: 400px;
  }
  section.hubbl-explained .container .right video {
    width: 600px;
  }
  section.hubbl-explained .container .right {
    top: 30px;
  }
  section.hubbl-explained .container h3 {
    margin-bottom: 60px;
  }
  section.hubbl-explained .container .right h3 span {
    text-underline-offset: 5px;
  }
  section.hubbl-explained .container .right .step-button-container button {
    width: 180px;
    height: 45px;
    font-size: 18px;
  }
  section.hubbl-explained {
    margin-bottom: 60px;
  }
  #arrow {
    display: none;
  }

  a.primary-button {
    display: flex;
    align-items: center;
  }

  .catch-phrase {
    font-size: 32px;
  }
  p {
    font-size: 18px;
  }
  h3 {
    font-size: 18px;
  }

  header .navbar {
    gap: 40px;
  }

  section.hero-section .container {
    margin: 50px 0 100px 0;
  }
  section.hero-section .container .cta-container {
    margin-top: 30px;
  }
  section.hubbl-explained .container {
    margin: 0;
  }
}

@media (max-width: 900px) {
  header {
    height: 80px;
  }
  header .navbar a.primary-button {
    display: none;
  }
  header .logo h1 {
    font-size: 40px;
  }
  header .logo img {
    width: 36px;
  }
}

@media (max-width: 750px) {
  h1 {
    font-size: 32px;
  }
  h2 {
    font-size: 28px;
  }
  a {
    font-size: 18px;
  }
  p {
    font-size: 20px;
  }

  section.hero-section .container h1 span {
    text-underline-offset: 10px;
  }
  section.hero-section .container .cta-container {
    flex-direction: column;
    align-items: center;
  }

  section.hubbl-explained .container {
    margin: 0 20px 120px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
  }
  section.hubbl-explained .container .left img {
    display: none;
  }
  section.hubbl-explained .container .right {
    position: relative;
    left: 0;
    top: 0;
  }
  section.hubbl-explained .container .left {
    position: relative;
    left: 0;
  }
  section.hubbl-explained .container .left h3,
  section.hubbl-explained .container .right h3 {
    margin: 0;
    text-align: left;
    align-self: center;
    margin-bottom: 10px;
  }
  section.hubbl-explained .container .right h3 {
    margin-bottom: 20px;
  }

  section.hubbl-explained .container .right video {
    width: 90vw;
    align-self: center;
  }
  p.catch-phrase {
    font-size: 28px;
  }
  p {
    font-size: 16px;
  }

  section.personae-perceived-value
    .container
    .content-container
    .persona
    .content
    h3 {
    font-size: 20px;
  }
  section.personae-perceived-value
    .container
    .content-container
    .persona
    .content
    p {
    font-size: 18px;
  }
  section.join-waitlist .container .form-container form input,
  section.join-waitlist .container .form-container form button {
    font-size: 20px;
  }
}

@media (max-width: 650px) {
  header {
    flex-direction: column;
    align-items: center;
  }

  h1 {
    font-size: 28px;
  }
  h2 {
    font-size: 20px;
  }
  section.hero-section .container h1 span {
    text-underline-offset: 10px;
  }

  section.personae-perceived-value .container h2 {
    margin-bottom: 60px;
  }

  section.hubbl-explained .container .right .step-button-container button {
    width: 140px;
    height: 40px;
    font-size: 16px;
    padding: 0;
  }
  p.textStep {
    font-size: 20px;
  }
  p.catch-phrase {
    font-size: 22px;
  }

  section.personae-perceived-value .container .content-container .persona img {
    align-self: flex-start;
    width: 80px;
  }
  section.join-waitlist .container .form-container form input,
  section.join-waitlist .container .form-container form button {
    font-size: 18px;
  }
}

@media (max-width: 550px) {
  section.hubbl-explained .container .right .step-button-container {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  section.hubbl-explained .container .right .step-button-container button {
    width: 80%;
  }
}
