/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

/* Set Montserrat as the default font family for the entire site */
body, p, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, div, span, a, button, input, select, textarea, .btn, .menu-link, .primary-menu ul li > a {
  font-family: 'Montserrat', sans-serif !important;
}

/* Standardize text size across all sections to match the reference paragraph */
p, h5.fw-normal, h5.mt-4.fw-normal.lh-base, .text-white.op-06, .section-content p,
div:not(.header-row, .primary-menu, .menu-item) > div, 
address, .widget p, footer p, #content p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: normal !important;
}

/* Special override for h5 and h4 elements being used as normal text */
h5.fw-normal, h4.fw-normal, h4.mt-4.fw-normal.lh-base {
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* Set all section titles to 30px */
h3.h1, h3.h2, h3.fw-bold, .section-title, 
#section-about, #section-criteria h3, #section-approach + div h3, 
.h1.fw-bold, .h2.font-secondary.fw-bold, div[id^='section-'] h3 {
  font-size: 30px !important;
  line-height: 1.3 !important;
}

/* Enable smooth scrolling for the entire page */
html {
  scroll-behavior: smooth;
}

/* Increase the thickness of the red border under the sticky header */
#header.sticky-header {
    --cnvs-header-border: 3px solid var(--bs-warning) !important;
    border-bottom: 3px solid var(--bs-warning) !important;
}

/* Make default header navigation match the sticky header style with reduced height */
@media (min-width: 992px) {
    /* Apply sticky header navigation style to default header */
    .large-device-menu-wrap {
        align-items: center !important;
    }

    .large-device-menu a {
        display: inline-block !important;
        margin: 0 18px !important;
        margin-bottom: 0 !important;
        transform: none;
    }

    .header-row {
        align-items: center !important;
        /* Reduce top/bottom padding to make header about 30% shorter */
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }

    .large-device-menu {
        padding: 0;
        margin: 0;
    }
    
    
    /* Center the navigation items vertically */
    .col-auto.d-none.d-lg-flex.py-2 {
        display: flex !important;
        align-items: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    
    /* Adjust logo size and padding */
    #logo {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
    
    /* Adjust logo image size if needed - 20% bigger than default */
    #logo img {
        max-height: 60px !important;
    }
}

