@font-face {
    font-family: 'Evolventa';
    src: url('../assets/fonts/Evolventa-Regular.ttf') format('truetype'),
         url('../assets/fonts/Evolventa-Regular.woff') format('woff'),
         url('../assets/fonts/Evolventa-Regular.otf') format('otf');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Evolventa';
    src: url('../assets/fonts/Evolventa-Bold.ttf') format('truetype'),
         url('../assets/fonts/Evolventa-Bold.woff') format('woff'),
         url('../assets/fonts/Evolventa-Bold.otf') format('otf');
    font-weight: bold;
    font-style: normal;
}

html {
    scroll-behavior: smooth;
    background-color: rgb(245, 245, 245);
}
body p {
    font-family: 'Evolventa';
}
.container {
    background-color: transparent;
}

/* ========== NAVBAR SECTION ========== */
.navbar {
    padding: 0 !important;
    background-color: rgb(245, 245, 245);
}
.navbar-subcontainer {
    height: 70px;
}
.navbar-brand {
    width: 25%;
}
.navbar-nav {
    margin-left: auto;
    margin-right: auto;
}
.nav-link {
    width: 100px;
    text-align: center;
}
.scale-transform {
    display: inline-block; /* Required for the transform property to work properly */
    transition: transform 0.2s ease-in-out; /* Smooth transition */
}
.scale-transform:hover {
    transform: scale(1.1); /* Scale up the text by 10% */
}
.active {
    border-bottom: 1px solid black;
}
.nav-social-icons {
    display: flex;
    width: 25%;
    justify-content: flex-end;
    gap: 10px;
}
.nav-social-icons a {
    color: inherit; /* Use this to match the navbar text color */
    text-decoration: none;
}

/* ========== FOOTER SECTION ========== */
footer {
    display: flex;
    align-items: center;   /* Vertically center */
    justify-content: space-between; /* Space out sections */
    flex-wrap: wrap;       /* Allows stacking on smaller screens */
    padding: 3em 2em;
}
.footer-bg {
    background-color: rgb(243, 243, 243); 
}
.footer-horizontal-spacer {
    width: 25%;
}
.footer-text {
    text-align: center;
    flex-grow: 1;
}
.footer-social-icons {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 25%;
    gap: 10px;
    padding-top: 4px;
}
.footer-social-icons a {
    color: inherit;
    text-decoration: none;
}
.footer-social-icons a svg {
    width: 24px;
    height: 24px;
    fill: black;
    transition: transform 0.2s ease-in-out;
}

/* ========== PAGE HERO IMAGE ========== */
.page-hero-image {
    width: 100%;
    height: 70vh; /* 50% of the viewport height */
    min-height: 400px; /* Ensures it never goes below 400px */
    overflow: hidden;
    margin: auto;
}
.page-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ========== FAQ SECTION ========== */
.faq-ref {
    background-color: transparent;
}
.faq-section {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 5em 5em 6em 5em;
    background-color: black;
    color: rgb(245, 245, 245);
}
.faq-container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    align-items: start;
    padding-top: 2em;
}
.faq-question {
    display: flex;
    align-items: start;
    padding-bottom: 4px;
}
.faq-question-icon {
    height: 30px;
    width: 30px;
    margin-right: 10px;
    display: flex;
    flex-shrink: 0; /* prevents faq-answer from overlapping on smaller screens */
}
.faq-question-icon svg {
    align-items: center;
    justify-content: center;
}
.faq-question-title {
    margin: 0 !important;
    font-size: 26px !important;
}
.faq-answer {
    margin: 0;
    padding-left: 40px;
}

/* ========== Specific styles for small and medium screens ========== */
@media (max-width: 991.98px) {
    .offcanvas .navbar-nav .nav-link {
        text-align: start;
    }
    /* .offcanvas .navbar-nav .nav-link:last-child {
        border-bottom: none;
    } */

    .scale-transform:hover {
        transform: none;
    }

    .faq-section {
        padding: 2em;
    }
    .faq-container {
        padding-top: 1em;
    }
    .faq-question {
        padding-bottom: 8px;
    }
}

/* ========== Specific styles for small screens ========== */
@media (max-width: 767.98px) {
    footer {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 15px;
        padding: 1em 1em 1.5em 1em;
    }
    /* .footer-horizontal-spacer {
        width: 0%;
    } */

    .footer-social-icons {
        justify-content: center;
    }
}

/* Break points for Mobile-first approach */
/*  */
/* Medium devices and up */
/* @media (min-width: 768px) {} */

/* Large devices and up */
/* @media (min-width: 992px) {} */

/* Extra large devices and up */
/* @media (min-width: 1200px) {} */
