/* Responsive Design */

@media (max-width: 1128px) {
    .programs-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "div1 div2" "div3 div3";
    }
    .programs-grid .card:first-child {
        grid-area: div1;
    }
    .programs-grid .card:nth-child(2) {
        grid-area: div2;
    }
    .programs-grid .card:last-child {
        grid-area: div3;
        width: 500px;
        text-align: center;
        justify-content: center;
        align-content: center;
        margin-left: auto;
        margin-right: auto;
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 1024px) {
    .initiatives-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "area1 area2" "area3 area3";
    }
    .initiatives-grid .card:first-child {
        grid-area: area1;
    }
    .initiatives-grid .card:nth-child(2) {
        grid-area: area2;
    }
    .initiatives-grid .card:last-child {
        grid-area: area3;
        width: 500px;
        text-align: center;
        justify-content: center;
        align-content: center;
        margin-left: auto;
        margin-right: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .hero h1 {
        font-size: 2rem;
    }
    .hero p {
        font-size: 0.9rem;
        max-width: 500px;
    }
    .mission-description h2 {
        font-size: 2rem;
    }
}

@media (max-width: 950px) {
    .mission-img img {
        height: 500px;
    }
    .register-form {
        width: 400px;
    }
}

@media (max-width: 768px) {
    .programs-grid {
        grid-template-columns: 1fr;
        grid-template-areas: "div1" "div2" "div3";
        justify-content: center;
    }
    .header-section {
        padding-right: 2rem;
    }
    nav ul {
        display: none;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        flex-direction: column;
        background-color: #262626;
        padding: 4rem 0 2rem;
        width: 100%;
        border-bottom-left-radius: 0.5rem;
        border-bottom-right-radius: 0.5rem;
        text-align: center;
    }
    nav ul li {
        margin-bottom: 1.5rem;
    }
    .show {
        display: flex !important;
    }
    header svg {
        display: block;
        cursor: pointer;
    }
    header svg:last-child {
        fill: #fff;
        position: absolute;
        right: 10px;
        transform: translate(X(-50%));
        top: 10px;
        display: none;
    }
    .hero-container {
        text-align: center;
    }
    .hero p {
        max-width: 100%;
        padding: 0 3rem;
        font-size: 1.2rem;
    }
    .social-btn {
        flex-direction: column;
        gap: 1rem;
        width: 100%;
    }
    .mission-container {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .mission-img img {
        height: auto;
    }
    .mission-img {
        padding-left: 1rem;
        max-width: 100%;
    }
    .forms-section h2 {
        font-size: 2rem;
    }
    .initiatives-grid {
        grid-template-columns: 1fr;
        grid-template-areas: "area1" "area2" "area3";
        justify-content: center;
    }
    .card {
        width: 500px;
        margin: 0 auto;
        /* text-align: left; */
    }
    .footer {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .social-icon {
        justify-content: center;
        align-content: center;
    }
    .mission-description {
        padding: 0 2rem;
    }
    .footer p {
        max-width: 100%;
        text-align: center;
    }
}

@media (max-width: 640px) {
    .hero p {
        padding: 0 1rem;
    }
    .hero-container {
        padding: 0;
        padding-bottom: 1rem;
    }
}

@media (max-width: 540px) {
    .mission-description {
        padding: 0 1rem;
    }
    header img {
        height: 50px;
    }
    .hero h1 {
        font-size: 1.5rem;
    }
    .hero p {
        font-size: 0.9rem;
    }
    .animation-text {
        font-size: 1rem;
    }
    .company-logos {
        grid-template-columns: 1fr 1fr;
    }
    .initiatives-grid,
    .programs-grid {
        padding: 0 5rem;
    }
    .card {
        /* margin: 0 2rem; */
        max-width: 300px;
    }
}

@media (max-width: 420px) {
    .register-form {
        width: 300px;
    }
    .hero {
        min-height: 70vh;
        padding: 4rem 0.5rem;
    }
    .hero h1 {
        font-size: 1.5rem;
    }
    .animation-text {
        font-size: 0.875rem;
    }
    .header-section {
        align-items: flex-start;
        gap: 0.5rem;
        padding: 0.5rem 0.5rem;
    }
    nav ul {
        flex-direction: column;
        gap: 0.5rem;
        align-items: center;
        text-align: center;
    }
    .featured-logos h2,
    #initiatives h2,
    #programs h2,
    .forms-section h2 {
        font-size: 1.2rem;
    }
    .mission-img img {
        height: 400px;
    }
    .register-form {
        padding: 1rem;
        min-width: 90vw;
        left: 5vw;
        transform: none;
    }
    .footer {
        grid-template-columns: 1fr;
        gap: 1rem;
        text-align: center;
    }
    footer img {
        height: 60px;
    }
    .company-logos img {
        max-height: 100px;
    }
    .card {
        padding: 1rem;
    }
    .mission-description h2 {
        font-size: 1.2rem;
    }
    .mission-description p {
        font-size: 1rem;
    }
    .hero p {
        font-size: 1rem;
    }
    .social-btn {
        flex-direction: column;
        gap: 0.5rem;
    }
    .social-icon svg {
        height: 28px;
        width: 28px;
    }
    .register-btn,
    .close-btn,
    button {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
    }
    .contact-info {
        margin-top: 1rem;
    }
    footer ul {
        gap: 0.5rem;
    }
    .hero .social-icon {
        flex-direction: column;
    }
    .icons {
        display: flex;
        gap: 1rem;
        align-self: center;
    }
}


/* General improvements for all small screens */

@media (max-width: 350px) {
    .hero h1 {
        font-size: 1.1rem;
    }
    .mission-img img {
        height: 300px;
    }
    .register-form {
        padding: 0.5rem;
    }
    .footer {
        gap: 0.5rem;
    }
    footer ul li {
        font-size: 1.1rem;
    }
}