.mobile {
  display: none;
}

@media (max-width: 775px) {
  html {
    font-size: 14px;
  }

  .carousel {
    height: auto;
    padding: 0;
  }

  .slide {
    position: static;
    display: none;
    opacity: 0;
  }

  .slide[data-active] {
    display: block;
    opacity: 1;
    transition: opacity 2s ease-in-out;
  }

  .slide img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 16/9;
  }
  #intro-text {
    display: block;
    width: 100%;
    position: unset;
    padding: 2rem;
    background-color: none;
  }

  .slide p.caption {
    max-width: 100%;
    padding: 0 2rem;
    height: 2rem;
    text-align: center;
  }

  .content-text {
    padding: 2rem;
  }

  .text-container {
    max-width: 100%;
  }

  .desktop {
    display: none !important;
  }

  .mobile {
    display: block;
  }

  .fade-in {
    animation: none;
  }

  h2 {
    font-size: 1.3rem;
  }

  footer {
    margin-top: 2rem;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  .grid-2 {
    grid-template-columns: 1fr;
    padding: 0;
  }

  .grid-2 > * {
    grid-row: unset;
  }

  .col-2 {
    grid-column: 1;
  }

  .content-container {
    padding: 0 2rem;
  }

  .programs-container {
    padding-bottom: 2rem;
  }

  h3 {
    margin-top: 1rem;
  }

  .programs-image {
    max-width: 65%;
    margin: 0 auto;
    padding: 2rem 0;
  }
}

@media (max-width: 450px) {
  .programs-image {
    max-width: 100%;
  }
}
