/* ==========================================================================
   THE HEMIX - UNIFORM CORPORATE DESIGN SYSTEM OVERRIDES
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* Global Font Overrides */
* {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Restore icon font families that were overridden by * */
.fa, [class^="fa-"], [class*=" fa-"] {
    font-family: 'FontAwesome' !important;
}
.flaticon, [class^="flaticon-"], [class*=" flaticon-"] {
    font-family: 'Flaticon' !important;
}
[class^="icon-"], [class*=" icon-"] {
    font-family: 'icomoon' !important;
}

body {
    background-color: #f8fafc !important; /* Light clean background */
    color: #334155 !important; /* Standard Slate Gray text */
}

/* Headings System - Highly Professional Solid Colors */
h1, h2, h3, h4, h5, h6, .sec-title h2, .sec-title h4, .section-wh-title h2, .sec-title1 h3, .cls-p-title {
    /*color: #0f172a !important;  Dark Slate Black */
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

h1 { font-size: 42px !important; line-height: 1.25 !important; }
h2 { font-size: 30px !important; line-height: 1.3 !important; }
h3 { font-size: 22px !important; line-height: 1.35 !important; }

/* Navigation and Accent Colors */
.theme_color, .main-menu .navigation > li.current > a, .main-menu .navigation > li:hover > a {
    color: #005494 !important; /* Corporate Blue */
}

.theme_bg_color, .scroll-to-top {
    background: #005494 !important;
}

/* Header & Top Bar */
.main-header {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
}

.header-top-one {
    background-color: #00223c !important; /* Navy Dark Blue */
    padding: 8px 0 !important;
}

.header-top-one .top-links ul li a {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.header-top-one .top-links ul li a:hover {
    color: #5ac543 !important; /* Accent Green */
}

/* Header Action Buttons */
.btn-hire {
    background-color: #5ac543 !important; /* Green Accent button */
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    border: none !important;
    padding: 8px 18px !important;
    height: auto !important;
    line-height: normal !important;
    transition: all 0.2s ease !important;
}

.btn-hire:hover {
    background-color: #49a635 !important;
    color: #ffffff !important;
}

/* Main Navigation Menu */
.main-menu .navigation > li > a {
    color: #334155 !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 30px 18px !important;
}

/* Navigation Dropdown List */
.main-menu .navigation > li > ul {
    border-top: 3px solid #005494 !important;
    border-radius: 4px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
    padding: 5px 0 !important;
    background: #ffffff !important;
}

.main-menu .navigation > li > ul > li > a {
    color: #475569 !important;
    font-weight: 500 !important;
    padding: 10px 20px !important;
    transition: all 0.2s ease !important;
}

.main-menu .navigation > li > ul > li:hover > a {
    background-color: #f1f5f9 !important;
    color: #005494 !important;
    padding-left: 24px !important;
}

/* Sticky Header styling */
.sticky-header {
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

/* Standard Rectangular Buttons */
.btn-style-one, .theme-btn.btn-style-one, .btn-submit-resume, button[name="submit_direct"], button[name="submit"] {
    background-color: #005494 !important; /* Flat Brand Blue */
    border: 1px solid #005494 !important;
    border-radius: 6px !important; /* Standard rectangular corner */
    color: #ffffff !important;
    padding: 10px 28px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: none !important;
    box-shadow: 0 2px 4px rgba(0, 84, 148, 0.08) !important;
    transition: all 0.2s ease !important;
}

.btn-style-one:hover, .theme-btn.btn-style-one:hover, .btn-submit-resume:hover, button[name="submit_direct"]:hover, button[name="submit"]:hover {
    background-color: #5ac543 !important; /* Flat Green Hover */
    border-color: #5ac543 !important;
    box-shadow: 0 4px 8px rgba(90, 197, 67, 0.15) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.btn-style-two, .theme-btn.btn-style-two {
    background: transparent !important;
    border: 2px solid #ffffff !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    padding: 9px 24px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
}

.btn-style-two:hover, .theme-btn.btn-style-two:hover {
    background: #ffffff !important;
    color: #005494 !important;
    transform: translateY(-1px) !important;
}

/* Grid Uniform Heights via Flexbox (Resolves "small big" issue) */
.what-we-do .row, 
.news-section .row,
.client-section-main,
.clientrowone {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

/* Disable pseudo-elements inside flex containers to prevent layout breaking */
.what-we-do .row::before,
.what-we-do .row::after,
.news-section .row::before,
.news-section .row::after,
.client-section-main::before,
.client-section-main::after,
.clientrowone::before,
.clientrowone::after {
    display: none !important;
    content: none !important;
}

/* Force grid columns to be flex columns to stretch children cards to full height */
.what-we-do .row > div,
.news-section .row > div,
.clientrowone > div {
    display: flex !important;
    flex-direction: column !important;
}

.service-block-one, 
.news-style-two, 
.aboutdetails, 
.clogoone {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* Uniform Card Components Overrides */
.service-block-one .inner-box, 
.aboutdetails, 
.empform,
.clogoone,
.news-style-two .inner-box {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: auto !important;
    margin-bottom: 30px !important;
    padding: 30px 24px !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s ease !important;
}

.service-block-one .inner-box:hover, 
.aboutdetails:hover, 
.empform:hover,
.clogoone:hover,
.news-style-two .inner-box:hover {
    border-color: #005494 !important;
    box-shadow: 0 8px 16px rgba(0, 84, 148, 0.06) !important;
    transform: translateY(-2px) !important;
}

/* Uniform Content Spacing */
.about-us, .news-section, .what-we-do, .client-section-main, .sidebar-page-container {
    padding: 80px 0 !important;
}

/* Clean Solid Titles (No flash gradients) */
.sec-title h2, .section-wh-title h2 {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    display: inline-block !important;
    margin-bottom: 20px !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
}

.sec-title h2:after, .section-wh-title h2:after {
    content: '' !important;
    display: block !important;
    width: 50px !important;
    height: 3px !important;
    background: #5ac543 !important; /* Clean Brand Green Line */
    margin: 12px auto 0 !important;
    border: none !important;
    border-radius: 2px !important;
}

.sec-title.centered, .section-wh-title.centered {
    text-align: center !important;
    width: 100% !important;
}

/* Clean Responsive Forms Fields styling */
.default-form input[type="text"],
.default-form input[type="email"],
.default-form input[type="password"],
.default-form input[type="tel"],
.default-form input[type="number"],
.default-form select,
.default-form textarea {
    border-radius: 6px !important;
    border: 1px solid #cbd5e1 !important;
    background-color: #f8fafc !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    color: #334155 !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}

.default-form input:focus,
.default-form select:focus,
.default-form textarea:focus {
    border-color: #005494 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(0, 84, 148, 0.15) !important;
    outline: none !important;
}

/* Professional Centered Modal Popup layout */
.model-inner {
    background-color: rgba(15, 23, 42, 0.5) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1050 !important;
}

.model-box {
    background: #ffffff !important;
    border-radius: 8px !important; /* Clean rectangular corners */
    padding: 35px 40px !important;
    box-shadow: 0 15px 35px rgba(15, 23, 42, 0.15) !important;
    border: 1px solid #e2e8f0 !important;
    width: 480px !important;
    max-width: 92% !important;
    margin: 8% auto !important;
    position: relative !important;
    animation: modalSlideIn 0.3s ease-out both !important;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Close Icon Alignment */
.btndivcross {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 10 !important;
}

.btndivcross i {
    font-size: 15px !important;
    color: #64748b !important;
    background: #f1f5f9 !important;
    width: 30px !important;
    height: 30px !important;
    line-height: 30px !important;
    text-align: center !important;
    border-radius: 4px !important; /* Rounded square close button */
    transition: all 0.2s ease !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.btndivcross i:hover {
    color: #ffffff !important;
    background: #ef4444 !important;
}

.btn-submit-resume {
    margin: 20px auto 0 !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    border-radius: 6px !important;
}

/* Stats Counter Section */
.fun-facts-section {
    background-color: #00223c !important; /* Dark Navy Corporate background */
    padding: 80px 0 !important;
    color: #ffffff !important;
}

.fun-facts-section h2 {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.fun-facts-section .count-outer {
    font-size: 48px !important;
    font-weight: 700 !important;
    color: #5ac543 !important; /* Brand Green count */
}

.fun-facts-section .counter-title {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    margin-top: 5px !important;
}

/* Image Element Borders */
.img-responsive {
    border-radius: 6px !important;
}

/* Corporate Dark Footer Section */
.main-footer {
    background-color: #00223c !important;
    color: rgba(255, 255, 255, 0.8) !important;
    padding: 70px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.main-footer .footer-upper .column {
    margin-bottom: 40px !important;
}

.main-footer h2, .main-footer h3, .main-footer h4 {
    color: #ffffff !important;
    margin-bottom: 20px !important;
}

.main-footer .footer-lower {
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    padding: 30px 0 !important;
    background-color: #001729 !important; /* Even darker Navy */
}

/* Captcha Block Card Styling */
.captcha-container {
    border-left: 3px solid #005494 !important; /* Corporate Blue Line */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

.captcha-question {
    background: #fdfdfd !important;
    border: 1px solid #e2e8f0 !important;
}

/* Left-aligned nav tabs on Employer page */
.nav-tabs.tabs-left {
    border-right: 1px solid #cbd5e1 !important;
}

.nav-tabs.tabs-left > li > a {
    border-radius: 6px 0 0 6px !important;
    margin-right: -1px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    transition: all 0.2s ease !important;
    padding: 12px 20px !important;
}

.nav-tabs.tabs-left > li.active > a,
.nav-tabs.tabs-left > li.active > a:hover,
.nav-tabs.tabs-left > li.active > a:focus {
    background-color: #f8fafc !important;
    border-color: #cbd5e1 transparent #cbd5e1 #005494 !important;
    border-left: 3px solid #005494 !important;
    color: #005494 !important;
}

/* Highlight news card headings on hover */
.news-style-two .inner-box:hover h3 a {
    color: #005494 !important;
}

/* Consistent Read More Button Overrides */
.btn-read-more {
    background-color: #005494 !important;
    border: 1px solid #005494 !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 10px 24px !important;
    width: auto !important;
    box-shadow: 0 2px 4px rgba(0, 84, 148, 0.08) !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
}

.btn-read-more:hover, .btn-read-more:focus {
    background-color: #5ac543 !important;
    border-color: #5ac543 !important;
    box-shadow: 0 4px 8px rgba(90, 197, 67, 0.15) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Revert "What We Do" section elements to starting styling and fonts */
.default-section .section-wh-title h2 {
    font-family: 'Roboto Slab', sans-serif !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    color: #222222 !important;
    display: block !important;
    margin-bottom: 30px !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
}

.default-section .section-wh-title h2:after {
    content: "" !important;
    display: inline-block !important;
    position: absolute !important;
    background: url(../../images/line-shape.png) no-repeat !important;
    top: 55px !important;
    right: 0px !important;
    left: 45% !important;
    width: 151px !important;
    height: 50px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}

.default-service-block h3 {
    font-family: 'Roboto Slab', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #222222 !important;
    letter-spacing: normal !important;
}

.default-service-block .text {
    font-family: 'Raleway', sans-serif !important;
    font-size: 14px !important;
    color: #777777 !important;
    line-height: 1.9em !important;
}

.default-service-block .read-more {
    font-family: 'Roboto Slab', sans-serif !important;
    color: #232323 !important;
    text-transform: capitalize !important;
    font-size: 14px !important;
}

.default-service-block .inner-box:hover {
    color: #ffffff !important;
}

.default-service-block .inner-box:hover h3 {
    color: #ffffff !important;
}

.default-service-block .inner-box:hover .icon-box {
    color: #ffffff !important;
}

.default-service-block .inner-box:hover .read-more {
    color: #ffffff !important;
}
