@font-face {
	font-family: 'HelveticaRoman';
	src:url('../webfont/HelveticaNeueLTProRoman.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'HelveticaBold';
	src: url('../webfont/HelveticaNeueLTProBd.otf') format('opentype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'HelveticaBlack';
	src: url('../webfont/HelveticaNeueLTProBlk.otf') format('opentype');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'HelveticaNeueLight';
	src: url('../webfont/HelveticaNeueLTProLt.otf') format('opentype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'HelveticaMdIt';
	src: url('../webfont/HelveticaNeueLTProMdIt.otf') format('opentype');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}

#main {
    padding-left: 0px;
    padding-right: 0px;
    height: auto;
}

/**********************************
HOME PAGE
**********************************/
body.page-template-page-homepage {
  background-color: #0a3254;
}




/**********************************
HEADER
**********************************/

header {
    background-color: #0a3254; 
    padding: 0px 40px 30px;
}
.nav {
    flex-wrap: nowrap;
}

.lhc-header-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    min-height: 78px; 
}

.lhc-logo img {
    height: auto;
    width: auto;
    display: block;
    margin-bottom: 0px;
}

ul#menu-main-menu  {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 40px; 
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.08em;
    line-height: 1.2;
    font-family: 'HelveticaBold';
}

ul#menu-main-menu li {
    position: relative;
    padding-left: 8px;
}

a.nav-link {
    color: #68737a;
   display: flex;
    align-items: flex-end;   
    justify-content: center;
    height: 87px;            
    margin-top: 0px;        
    text-align: center;
    text-decoration: none;
    border: 2px solid #0a3254;
}

a.nav-link.active,
a.nav-link:hover  {
    border-top: none;
    border-left:  2px solid #e53232;
    border-bottom: 2px solid #e53232;
    border-right:  2px solid #e53232;  
      color: #fff;
 }

.lhc-header-title {
    margin-top: 30px;
}

/* Title */
.lhc-header-title h1, h1.page-title {
    font-size: 40px;
    font-family: 'HelveticaBlack';
    color: #ffffff;
}

.lhc-header-title img {
    margin-bottom: 0px;
}

.navbar-toggler .ham .line {
    stroke: #ffffff;
}

.mobile-nav:before,
.mobile-nav:after {

    display: none;
}
.mobile-nav .bg {
    background-color: #0a3254;
    padding: 10px 15px;
}
.mobile-nav {
    top: 100px;
}
.mobile-nav .nav li.current-page-ancestor > a, .mobile-nav .nav li.current-menu-item > a {
    color: #fff !important;
    background-color: #db282d !important;
}

/* ========== RESPONSIVE TWEAKS (NO FULL MOBILE NAV YET) ========== */

@media (max-width: 991px) {
    /* .lhc-header {
        padding: 16px 20px 24px;
    } */

    /* .lhc-header-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    } */

    /* .lhc-main-nav .lhc-menu {
        flex-wrap: wrap;
        row-gap: 8px;
        column-gap: 24px;
    } */

    .lhc-header-title {
        margin-top: 24px;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .lhc-header-title h1, h1.page-title {
        font-size: 28px;
    }

}

@media (max-width: 575.98px) {
    /* .lhc-header {
        padding: 14px 16px 20px;
    } */

    .lhc-header-title h1, h1.page-title {
        font-size: 24px;
    }
}
.lhc-main-nav .lhc-menu li::before {
    display: none !important;
}


/**********************************
OTHER PAGES
**********************************/

/* Wrapper takes full viewport height */
/* Slide Section (ensuring full height and positioning) */
.slide-section {
    position: relative;
    min-height: 75vh;
    overflow: hidden;            
    padding: 8rem 0;
}

/* Background image (fills entire section) */
.slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 1;                   
}

/* Pattern Image (positioned to the top-right corner of the screen) */
.slide-pattern {
    position: absolute;
    top: 50%;                      
    right: 0;                      
    transform: translateY(-50%);   
    z-index: 2;                    
}

/* Pattern Image settings */
.slide-pattern img {
    width: auto;
    height: auto;
    max-width: 100%;               
}

/* Content Wrapper (aligns content to the left, matching the header) */
.slide-inner {
    position: relative;
    z-index: 2;                    
    display: flex;
    align-items: center;
    /* min-height: 90vh; */
    padding-left: 40px;            
    padding-right: 40px;           /
}

/* White content box */
.slide-panel {
    max-width: 520px;
    background: #ffffffcc;
    padding: 2.5rem;
    border-radius: 3mm;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

.slide-panel p {
    margin-bottom: 1rem;
    font-size: 21px;
    line-height: 28px;
    font-family: 'HelveticaMdIt';
    color: #0a3253;
}

/* Buttons inside the slide panel */
.slide-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 20px;
}

/* Slide button images */
.slide-btn-img img {
    display: block;
    height: auto;
    margin-bottom: 0px;
}

.slide-btn-img {
    display: inline-flex;
    align-items: center;
}

.slide-btn-img:hover {
    transform: scale(1.01); /* optional hover effect */
}

/**********************************
FOOTER
**********************************/

/* Footer background styling */
#inner-footer {
    height: auto;
    background-image: url(https://gmfdev.co.za/lhc/images/footer-bg.jpg);
    background-size: cover;
    background-position: center right;  
    z-index: 1;
    min-height: 90px;  
    position: relative;  
}


.alert.alert-message {
    display: none;
}

.welcome-section {
    background-color: #0a3254;
    color: #fff;
    padding: 15px 0 0;
  /* background-image: url(https://gmfdev.co.za/lhc/images/welcome-bg.png); */
    /* background-size: cover; */
    /* background-position: bottom left; */
    /* height: 100vh; */
    /* background-repeat: no-repeat; */
}
@media (max-width: 768px) {
.hq-image img {
    padding-top: 30px;
}
}

.hq-image img {
    border-top-left-radius: 3mm;
        margin-bottom: 0;
}

p.welcome-text {
    font-family: 'HelveticaNeueLight';
    font-size: 16px;
}
a.welcome-link {
    font-family: 'HelveticaMdIt';
    color: #fff;
    text-decoration: underline;
}
.padded {
    padding: 0px 54px;
}
h1.page-title {
    margin-top: 0px;
    margin-bottom: 30px;
}
.background-lines img {
    /* position: absolute;
    bottom: -75px; */
    margin-bottom: 0;
}

a.btn.lhc-btn {
    border-width: 3px;
    border-color: #ffffff;
    border-style: double;
    border-radius: 30px;
    color: #fff;
    text-transform: uppercase;
    font-family: 'HelveticaNeueLight';
    font-size: 12px;
    padding: 8px 20px;
}

.mobile-nav {
    background-color: #ffffffcc !important;
}
.mobile-nav .nav li a {
    display: block;
    color: #0a3254 !important;
}

.next-lhc-btn img, .prev-lhc-btn img, .lhc-header-title img {
    margin-bottom: 0px;
    height: 30px;
}
.next-lhc-btn, .prev-lhc-btn {
    border-width: 3px;
    border-color: #ffffff;
    border-style: double;
    border-radius: 30px;
    color: #fff !important;
    text-transform: uppercase;
    font-family: 'HelveticaNeueLight';
    font-size: 12px;
    padding: 8px 20px;
    background-color: #0a3254;
}

.next-lhc-btn img, .lhc-header-title img {
    padding-left: 5px;
}
 .prev-lhc-btn img {
    padding-right: 5px;
}

/* .welcome-section {
    position: relative; 
    overflow: hidden;   
} */

.background-lines {
    /* position: relative; 
    bottom: 0;          
    left: 0;            
    width: 100%;        
    height: auto;       */
        margin-top: 5rem;
    z-index: 9; 
}

/* HOMEPAGE ONLY */
.page-template-page-homepage .Menu-holder {
    z-index: 1000;            
}

/* The panel that opens next to the Menu icon */
.page-template-page-homepage .home-homepage-nav {
    position: absolute;
    top: 0;                   
    left: 180px;              
    width: 260px;             
    /* max-height: 80vh; */
    overflow-y: auto;
    background: #ffffffcc;         
    box-shadow: 0 0 20px rgba(0,0,0,.25);
    border-radius: 3mm;
}
.page-template-page-homepage .home-homepage-nav ul {
    gap: 0px !important;
  text-transform: none !important;
    font-family: 'HelveticaNeueLight' !important;
}
.page-template-page-homepage .home-homepage-nav ul li {

    padding-left: 0px !important;
        margin-bottom: 0px !important;
}
/* Optional: tweak menu list inside if needed */
.page-template-page-homepage .home-homepage-nav ul li a {
display: block;
    color: #0a3254 ;
    border-radius: 0;
    border-bottom: 1px solid grey;
    padding: 15px;
}
ul li:before {display: none;}

.page-template-page-homepage .home-homepage-nav ul li a:hover {
    text-decoration: none;
    color: rgb(255, 255, 255) !important;
    background-color: rgb(219, 40, 45) !important;
}
