* 
{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body 
{
    background-color: #FFFFFF;
    color: #333;
    display: flex;
    height: 100%;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    flex-direction: column;
    overflow-x: hidden;
}

.container 
{
    margin:  0 auto;
    padding: 0 20px;
}



/* HEADER */

header 
{
    background: #FFFFFF;
    border-bottom: 1px solid #EAEAEA;
    padding: 25px 0;

    .header-container
    {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;

        .header-brand 
        {
            color: #333;
            display: flex;
            font-weight: 800;
            font-size: 1.5rem;
            flex-shrink: 0;
            text-decoration: none;
        }

        .header-links 
        {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;

            a 
            {
                color: #333;
                font-size: 1rem;
                font-weight: 600;
                margin-inline: 10px;
                text-decoration: none;
                text-transform: lowercase;
            }
        }
    }
}

@media (max-width: 600px) 
{
    .header-container 
    {
        flex-direction: row;
        align-items: center;
    }

    .header-links 
    {
        justify-content: center;
    }
}

/* FOOTER */

footer 
{
    background: #FFFFFF;
    border-top: 1px solid #EAEAEA;
    flex-shrink: 0;
    padding: 40px 0;
    text-align: center;

    .footer-container
    {
        .footer-links
        {
            margin-bottom: 15px;

            a
            {
                color: #333;
                font-size: 0.95rem;
                font-weight: 500;
                margin: 0 15px;
                text-decoration: none;
                text-transform: lowercase;
            }
        }

        .footer-texts
        {
            color: #999;
            font-size: 0.85rem;
        }
    }
}

/* PAGE */

.page
{
    flex: 1 0 auto; 
}

.page-wrapper
{
    padding: 0 20px;
    max-width: 1100px;
    margin: 0 auto;
}

.page-title 
{
    background-color: #F8F8F8;
    padding: 25px 0;
    width: 100%;

    h1 
    {
        color: #333;
        font-size: 1.5rem;
        line-height: 1.1;
    }   
}

.page-content 
{
    padding: 60px 0;
    line-height: 1.8;

    p 
    { 
        color: #666;
        margin-bottom: 15px;   
    }
}

.home-banner
{
    align-items: center;
    display: flex;
	margin-top: 25px;
    margin-bottom: 25px;

    .home-banner-texts-side 
    {
        flex: 1;
        padding: 60px 40px 60px 5%; 
        z-index: 2;

        h1 
        {
            color: #333;
            font-size: clamp(2.5rem, 5vw, 4rem);
            margin-bottom: 5px;
        }

        p 
        {
            font-size: 1.25rem;
            margin-bottom: 40px;
            max-width: 450px;
        }
    }

    .home-banner-image-side 
    {
        align-items: center;
        display: flex;
        flex: 1;
        height: 100%;
        justify-content: flex-start;
        padding-right: 0;

        img 
        {
            height: 85vh;
            width: auto;
            max-width: none;
            object-fit: contain;
            filter: drop-shadow(-20px 20px 50px rgba(0,0,0,0.1));
        }
    }

    .home-banner-buttons 
    {
        display: flex;
        gap: 15px;

        img { height: 45px; width: auto; }
    }
}

@media (max-width: 991px) 
{
    .home-banner 
    {
        flex-direction: column;
        text-align: center;
        
        .home-banner-texts-side 
        {
            flex: none;
            padding: 20px 20px 40px 20px;

            p { margin-inline: auto; }
        }

        .home-banner-image-side 
        {
            flex: none;
            width: 100%;
            justify-content: center;
            padding-bottom: 40px;

            img 
            {
                height: auto;
                width: 100%;
            }
        }

        .home-banner-buttons 
        {
            justify-content: center;
        }
    }
}

a.link { color: #666 !important; text-decoration: none; }