﻿html, body {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}




.container {
    width: 100%;
    padding: 0;
    /* text-align: center;
    flex-flow: column;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    align-content: stretch;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    position: relative;
    padding: 0;*/
}

.wrapper {
    display: flex;
    flex-direction: column;
}

.pages {
    margin-top: 50px;
}

@media (min-width: 1024px) {
    .wrapper {
        flex: 1;
    }

    .main {
        flex: 1;
    }

    .footer {
        position: sticky;
        bottom: 0;
    }

    .service-card {
        flex: 1 1 calc(33.333% - 20px); /* Equal width, with space between cards */
        max-width: calc(33.333% - 20px); /* Equal width with margin considered */
    }
}


/*HEADER STYLES BEGIN*/
header {
    background-color: #89949f;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1000; /* Ensure the header is on top */
}

.logo img {
    height: 50px;
}

nav {
    display: flex;
    align-items: center;
    position: relative;
}

.hamburger {
    display: none; /* Ensure it's displayed */
    cursor: pointer;
    font-size: 24px;
    color: #fff;
    z-index: 1002; /* Ensure the hamburger is on top of the menu */
}

    /* Default hamburger icon */
    .hamburger::before {
        content: "\f0c9"; /* Unicode for the hamburger icon */
        font-family: "Font Awesome 5 Free"; /* Assuming you're using Font Awesome */
        font-weight: 900;
    }

    /* "X" icon when menu is active */
    .hamburger.active::before {
        content: "\f00d"; /* Unicode for the "X" icon */
    }

/* Overlay to gray out background */
.overlay {
    display: none; /* Hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Slightly gray out the background */
    z-index: 1000; /* Below the hamburger but above the content */
    transition: opacity 0.3s ease;
}

    .overlay.active {
        display: block; /* Show overlay when active */
        opacity: 1;
    }

@media (min-width: 1024px) {
    .menu {
        flex: 2;
        display: flex;
        justify-content: flex-end;
        gap: 20px;
        flex-wrap: wrap;
    }
}

/* Responsive Styles */
@media (max-width: 768px) {
    nav {
        flex-direction: column;
    }

    .hamburger {
        display: block; /* Show hamburger icon on mobile */
    }

    /* Menu styles */
    .menu {
        display: flex;
        position: fixed;
        top: 0;
        right: -100%; /* Hide off-screen to the right */
        height: 100%;
        width: 75%; /* Adjust width as needed */
        flex-direction: column;
        background-color: #89949f;
        text-align: right;
        z-index: 1001; /* Below the hamburger but above the overlay */
        transition: right 0.3s ease; /* Smooth sliding effect */
        padding-top: 60px; /* Space for the header */
    }

        .menu.active {
            right: 0; /* Slide in from the right */
        }

        .menu a {
            padding: 15px 20px;
            text-decoration: none;
            color: #fff;
            display: block;
        }
}
/*HEADER STYLES END*/

/*MOBILE*/
@media (max-width: 768px) {
    .mobileContainer {
        margin-top: 100px;
    }

    .pages {
        margin-top: 250px;
    }

    /* header {
        flex-direction: column;
        text-align: center;
    }

   nav {
        justify-content: center;
        gap: 10px;
    }

        nav a {
            width: 100%;
            justify-content: center;
        }*/

    img {
        margin-bottom: 10px;
    }
}

@media (max-width: 768px) {
    .services-section {
        flex-direction: column;
        align-items: center;
    }

    .service-card {
        max-width: 90%;
        margin: 10px 0; /* Vertical spacing on small screens */
    }
}

@media (max-width: 576px) {
    .service-card {
        flex-basis: 100%;
        margin: 10px 0;
        max-width: 90%;
    }
}

@media (max-width: 768px) {
    .process-container, .benefits-container {
        flex-direction: column;
        align-items: center;
    }

    .process-step, .benefit-item {
        flex-basis: 90%;
    }
}


.footer {
    background-color: #f8f8f8;
    /*padding: 20px;*/
    text-align: center;
    width: 100%;
}


.mainText {
    clear: none;
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 4em auto;
    display: block;
    position: relative;
    overflow: visible;
}

.mainPageFirstLine {
    color: darkblue;
    text-align: left;
    letter-spacing: 8px;
    text-transform: uppercase;
    margin-top: 0;
    font-family: Sfprodisplay, Arial, sans-serif;
    font-size: .93em;
    font-weight: 800;
    line-height: 1.2;
    display: inline-block;
    overflow: hidden;
}

h1 {
    color: var(--black);
    margin-top: 0;
    margin-bottom: 1.67rem;
    font-family: Media sans extended, sans-serif;
    font-size: 2em;
    font-weight: 700;
    line-height: 1.11;
}

.custom-button {
    border: 2px solid #000;
    color: #000;
    padding: 10px 20px;
    background-color: transparent;
    cursor: pointer;
    transition: padding 0.3s ease;
}

    .custom-button:hover {
        padding-left: 30px;
        padding-right: 30px;
    }


.custom-button-footer {
    border: 2px solid #FFF;
    color: #FFF;
    padding: 10px 20px;
    background-color: transparent;
    cursor: pointer;
    transition: padding 0.3s ease;
}


.waves {
    position: relative;
    width: 100%;
    height: 10vh;
    margin-bottom: -7px;
    /*Fix for safari gap*/
    min-height: 100px;
    max-height: 400px;
    background-color: #FFF;
}
/* Animation */
.parallax > use {
    animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite;
}

    .parallax > use:nth-child(1) {
        animation-delay: -2s;
        animation-duration: 7s;
    }

    .parallax > use:nth-child(2) {
        animation-delay: -3s;
        animation-duration: 10s;
    }

    .parallax > use:nth-child(3) {
        animation-delay: -4s;
        animation-duration: 13s;
    }

    .parallax > use:nth-child(4) {
        animation-delay: -5s;
        animation-duration: 20s;
    }

@keyframes move-forever {
    0% {
        transform: translate3d(-90px, 0, 0);
    }

    100% {
        transform: translate3d(85px, 0, 0);
    }
}



.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    /*height: var(--bs-card-height);*/
    height: 220px;
    color: black;
    word-wrap: break-word;
    background-color: #FFF;
    background-clip: border-box;
    border: 1px solid gray;
    border-radius: 0.5rem;
}

.card-body {
    flex: 1 1 auto;
    padding: 1rem 1rem;
    color: black;
}

.card-title {
    margin-bottom: 1rem;
    color: #032354;
    font-weight: 600;
    font-size: 16px;
}

.card-subtitle {
    margin-top: calc(-0.5 * 1rem);
    margin-bottom: 0;
    color: var(--bs-card-subtitle-color);
}

@media (min-width: 576px) {
    .card-group {
        display: flex;
        flex-flow: row wrap;
    }

        .card-group > .card {
            flex: 1 0 0%;
            margin-bottom: 0;
        }

            .card-group > .card + .card {
                margin-left: 0;
                border-left: 0;
            }

            .card-group > .card:not(:last-child) {
                border-top-right-radius: 0;
                border-bottom-right-radius: 0;
            }

                .card-group > .card:not(:last-child) .card-img-top,
                .card-group > .card:not(:last-child) .card-header {
                    border-top-right-radius: 0;
                }

                .card-group > .card:not(:last-child) .card-img-bottom,
                .card-group > .card:not(:last-child) .card-footer {
                    border-bottom-right-radius: 0;
                }

            .card-group > .card:not(:first-child) {
                border-top-left-radius: 0;
                border-bottom-left-radius: 0;
            }

                .card-group > .card:not(:first-child) .card-img-top,
                .card-group > .card:not(:first-child) .card-header {
                    border-top-left-radius: 0;
                }

                .card-group > .card:not(:first-child) .card-img-bottom,
                .card-group > .card:not(:first-child) .card-footer {
                    border-bottom-left-radius: 0;
                }
}

