﻿body {
    margin-bottom: 0;
}

.content{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.mainContent{
    flex: 1;
}

.homepageFooter {
    padding: 48px 24px 20px 24px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.mainSection {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.logoModule {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
}

.logo {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    border-radius: 50%;
    gap: 5px;
}

    .logo > div {
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
    }

    .logo > div > h3 {
        padding: 0;
        margin: 0;
        font-size: 1.25rem; /* Tailwind text-xl */
        line-height: 1.75rem; /* Tailwind's text-xl line-height */
        font-weight: 700; /* font-bold */
        color: var(--foreground, #111827); /* fallback: gray-900 */
    }

    .logo > div > p {
        padding: 0;
        margin: 0;
        font-size: 0.875rem; /* Tailwind text-sm */
        line-height: 1.25rem; /* Tailwind's sm line-height */
        color: var(--muted-foreground, #6b7280); /* fallback gray-500 */
    }

.logo > img {
    height: 50px;
    aspect-ratio: 1/1;
}

.description > p{
    font-size: 0.875rem; /* text-sm */
    line-height: 1.25rem; /* text-sm line-height */
    color: var(--muted-foreground, #6b7280);
    text-align: start; /* text-center */

}

.linksModule {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 40px 0 40px;
    justify-items: center;
    align-content: center;
}


.footerLink {
    font-size: 0.875rem; /* Tailwind text-sm = 14px */
    color: var(--muted-foreground, #6b7280); /* fallback gray-500 if no CSS variable */
    text-decoration: none;
    transition: var(--color-primary) 0.2s ease-in-out; /* transition-colors duration-200 */
}

    .footerLink:hover {
        color: var(--color-primary, #3b82f6); /* fallback blue-500 */
    }

.socialsModule {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.socialIcons{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.socialIcon, .socialIcon > img {
    width: 20px;
    height: 20px;
    opacity: 0.6;
}

.socialEmail {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: var(--muted-foreground, #6b7280);
}

hr {
    border: solid 1px grey;
    width: 100%;
    margin: 40px 0;
}


.copyrightSection {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--muted-foreground, #6b7280);
}


@media (max-width: 768px){
    .mainSection{
        flex-direction: column;
    }

    .logoModule{
        justify-content: center;
        align-items: center;
    }

    .description{
        padding: 0 20px 0 20px;
    }

    .description > p {
        text-align:center;
    }

    .logo > div {
        height: 100%;
    }

    .linksModule{
        padding: 40px 0 40px 0;
    }

    .socialEmail{
        justify-content: center;
    }

    .socialsModule{
        width: auto;
        margin-left: 25%;
        margin-right: 25%;
        justify-content: space-between;
    }

}

@media (min-width: 1400px) {

    .mainSection {
        max-width: 1400px;
    }

    .copyrightSection {
        max-width: 1400px;
    }

    hr {
        max-width: 1400px;
    }
}