@media only screen and (max-width: 700px) {
  /* ============ Mobile Menu ============ */

  #menu {
    width: 105vw;
    right: -10px;
    justify-content: flex-end;
  }

  #menu nav {
    margin-right: 30px;
    margin-top: 30% !important;
  }

  .legal {
    flex-direction: column;
    margin: 0;
    gap: 5px;
  }

  /* ============ Home ============ */

  main#home .wrapper {
    gap: 0px;
  }

  main#home section#two {
    padding-bottom: 100px;
  }

  main#home section#one .wrapper > h1 {
    margin-top: 50px;
    width: 70%;
    align-self: center;
    text-align: center;
  }

  main#home section#three {
    min-height: 400px !important;
  }

  main#home section#three .text {
    gap: 20px;
  }

  /* ============ Events ============ */

  main.events .gallery {
    gap: 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .events .featured-image {
    width: 100% !important;
  }

  /* ============ Link Cards ============ */

  .link-card h1 {
    font-size: 30px !important;
  }

  /* ============ Become a Member ============ */

  main#become-a-member section#two .wrapper {
    gap: 150px;
  }
}

@media only screen and (max-width: 650px) {
  /* ============ Header ============ */

  header .button {
    display: none;
  }

  /* ============ Intro ============ */

  section.intro .text {
    margin-top: 20px;
    padding-bottom: 50px;
  }

  /* ============ Footer ============ */

  .legal p {
    margin-left: 0px;
    text-align: center;
    width: 100%;
  }
}

@media only screen and (max-width: 650px) {
  /* ============ Banner ============ */

  .banner h1 {
    font-size: 50px;
    letter-spacing: 6px !important;
    line-height: 65px !important;
  }

  .banner .row > * {
    height: 100px;
    width: calc(100% - 20px);
  }

  .banner:has(.row) {
    min-height: 750px !important;
  }

  /* ============ Link Cards ============ */

  .link-card .text > h1:after {
    display: none;
  }

  .link-card .text > h1 {
    font-size: 6vw !important;
  }

  /* ============ Notices ============ */

  main#notices section#one > .wrapper {
    width: 90%;
  }
}

@media only screen and (max-width: 550px) {
  /* ============ Banner ============ */

  .banner {
    min-height: 600px;
  }

  .banner .wrapper {
    gap: 50px !important;
    margin-block: 30px;
  }

  .banner .wrapper:has(.row) {
    gap: 15px !important;
  }

  .banner h1 {
    font-size: 50px;
  }

  .banner p {
    font-size: 20px;
  }

  .banner .button-wrapper {
    gap: 10px !important;
  }

  .banner .row {
    gap: 15px;
    flex-direction: column;
  }

  .banner .row a {
    padding: 0px;
    height: 50px;
  }

  footer .logo {
    display: none;
  }

  footer nav a {
    font-size: 18px;
    margin-left: 20px;
    margin: 10px 0;
  }
  header .logo {
    margin-left: 20px;
  }
  .legal p {
    margin-top: 0;
    line-height: 22px;
  }

  .legal {
    padding: 20px;
  }
}

@media only screen and (max-width: 500px) {
  /* ============ Header ============ */

  header {
    height: 100px;
  }

  header .logo h1 {
    font-size: 20px;
  }

  header .logo em {
    letter-spacing: 2px;
    font-size: 20px;
  }

  header #burger {
    width: 40px;
    height: 60px;
  }

  #burger.rotated rect:nth-child(1) {
    transform: translate(0, 18px) rotate(45deg);
  }

  #burger.rotated rect:nth-child(3) {
    transform: translate(0, -18px) rotate(-45deg);
  }

  /* ============ Text ============ */

  .text h1 {
    font-size: 30px !important;
  }

  .text p {
    font-size: 15px !important;
  }

  .text h2 {
    font-size: 20px !important;
  }

  /* ============ Outros ============ */

  section.outro .text {
    width: 90%;
  }

  /* ============ Link Cards ============ */

  .link-card {
    height: 550px;
  }

  /* ============ Home ============ */

  main#home section#three .text {
    margin-block: 50px;
    height: unset;
  }

  main#home section img {
    width: 100% !important;
  }

  main#home section .text {
    width: 100% !important;
  }

  main#home section#one .wrapper > h1 {
    margin-block: 40px;
    font-size: 30px;
    width: 100%;
    text-align: center;
  }

  main#home section#three {
    height: unset;
  }

  /* ============ Info Sections ============ */

  main#info-page .container img {
    width: 100% !important;
  }

  main#info-page .container .text {
    width: 100% !important;
  }

  .info-section {
    margin-block: 50px;
  }

  /* ============ Events Pages ============ */

  main.events .featured-image {
    width: 100%;
  }

  main.events .event .title {
    margin-left: 0px;
    width: 100%;
  }

  /* ============ News Pages ============ */

  main#news .featured-image {
    width: 100%;
  }

  main#news .post > .wrapper {
    width: 100%;
  }

  /* ============ Become a Member ============ */

  main#become-a-member section#two .wrapper {
    margin-block: 50px;
    gap: 50px;
    width: 90%;
  }

  main#become-a-member #step {
    flex-direction: column;
    gap: 50px;
  }
  main#become-a-member #step .text {
    gap: 20px;
  }

  main#become-a-member .step-number {
    align-self: flex-start;
    margin-left: 30px;
  }

  main#become-a-member .outro {
    margin-top: 30px;
  }

  main#become-a-member .outro .text {
    width: 85% !important;
  }

  /* ============ Contact ============ */

  main#contact-us .gform_wrapper.gravity-theme input,
  main#contact-us .gform_wrapper.gravity-theme textarea {
    width: 100% !important;
  }

  main#contact-us .gform_wrapper {
    width: 100%;
  }

  /* ============ Footer ============ */

  footer .logo h1 {
    font-size: 30px;
    text-align: center;
  }

  footer .logo h1 strong {
    font-size: 30px;
  }

  footer .logo em {
    font-size: 20px;
  }

  footer .wrapper nav {
    margin-left: 0px;
  }

  footer nav a {
    font-size: 20px;
  }

  footer .logo {
    width: unset;
  }
}

@media only screen and (max-width: 450px) {
  /* ============ Footer ============ */

  footer .wrapper nav {
    margin-right: 10px;
  }

  footer .contacts {
    gap: 20px;
  }

  footer .contacts a {
    font-size: 18px;
    margin-block: 10px;
  }

  footer nav a {
    font-size: 15px;
    margin-left: 20px;
  }

  .banner h1 {
    font-size: 45px;
    line-height: 70px;
    text-align: center;
    letter-spacing: 5px;
  }

  .banner p {
    font-size: 17px;
    line-height: 30px;
  }

  .banner .button {
    padding: 10px 20px;

    height: auto;
    width: 100%;
  }

  .banner .button p {
    margin-top: 0px;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.58px;
    margin-top: 0;
  }
}

@media only screen and (max-width: 400px) {
  /* ============ Mobile Menu ============ */

  #menu .wrapper {
    margin-top: 45%;
  }

  #menu .wrapper a {
    margin-left: 40px;
  }

  #menu .wrapper span {
    margin-left: 40px;
  }

  #menu .wrapper span a {
    margin-left: 0;
  }
}
