.elementor-66 .elementor-element.elementor-element-47a8d5c{--display:flex;--min-height:0px;border-style:none;--border-style:none;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-66 .elementor-element.elementor-element-9e7eb3b{--divider-border-style:solid;--divider-color:#4CB848;--divider-border-width:10px;}.elementor-66 .elementor-element.elementor-element-9e7eb3b .elementor-divider-separator{width:100%;}.elementor-66 .elementor-element.elementor-element-9e7eb3b .elementor-divider{padding-block-start:33px;padding-block-end:33px;}.elementor-66 .elementor-element.elementor-element-732fcd8{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--flex-wrap:wrap;--align-content:center;}.elementor-66 .elementor-element.elementor-element-f958af7{width:100%;max-width:100%;}.elementor-66 .elementor-element.elementor-element-f958af7 > .elementor-widget-container{margin:10px 10px 10px 10px;padding:02px 02px 02px 02px;}.elementor-66 .elementor-element.elementor-element-f958af7.elementor-element{--flex-grow:0;--flex-shrink:0;}/* Start custom CSS for html, class: .elementor-element-f958af7 */:root {
    /* Color Palette */
    --color-blue: #0165B5;
    --color-green: #4CB848;
    --color-text-dark: #333333;
    --color-text-subtle: #666666;
    --color-bg-light: #F5F7FA;
    --color-bg-dark: #0A1A2B;

}


.mega-footer-refined {
    font-family: Arial, sans-serif;
    background-color: var(--color-bg-light);
    color: var(--color-text-subtle);
   
}

.footer-container {
    max-width: var(--max-content-width);
    margin: 0 auto; /* Center the container */
    padding: var(--footer-padding-y) var(--footer-padding-x);
}

.footer-content-refined {
    display: flex;
    justify-content: space-between;

}

.footer-col {
   
    flex-basis: 20%; 
    padding: 0 10px;
}

/* --- Branding/Contact Column --- */
.footer-col-brand {
    flex-basis: 35%; 
    padding-left: 0; /* Remove padding from the first column */
}

.footer-logo {
    /* Define the logo's container size for predictable scaling */
    max-width: 180px; 
    margin-bottom: 20px;
}

.footer-logo img {
    width: 100%;
    height: auto;
    object-fit: contain; 
    display: block;
}

.address-line, .contact-line {
    font-size: 0.9em;
    line-height: 1.5;
    margin-bottom: 20px;
}

.footer-col a {
    color: var(--color-blue);
    text-decoration: none;
}
.footer-col a:hover {
    text-decoration: underline;
}


.gradient-button-refined {
    background: linear-gradient(90deg, var(--color-blue) 0%, var(--color-green) 100%);
    color: white;
    border: none;
    padding: 10px 15px;
    font-weight: bold;
    cursor: pointer;
    transition: opacity 0.3s;
    display: inline-block; 
    text-align: center; 
}
.gradient-button-refined:hover {
    opacity: 0.9;
}


.footer-col-title {
    font-size: 1.1em;
    font-weight: bold;
    color: var(--color-text-dark);
    margin-bottom: 15px;
}

.footer-links-refined {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links-refined li {
    margin-bottom: 10px;
}

.footer-links-refined a {
    color: var(--color-text-subtle);
    font-size: 0.9em;
    transition: color 0.2s;
}
.footer-links-refined a:hover {
    color: var(--color-blue);
    text-decoration: none; 
}


.footer-col-notice {
   
    padding-left: 20px; 
    flex-basis: 25%;
}

.notice-title {
    color: var(--color-blue);
}

.notice-text {
    font-size: 0.85em;
    line-height: 1.4;
    border-left: 3px solid var(--color-blue);
    padding-left: 10px;
    margin-bottom: 30px;
}

.social-links-refined a {
    display: inline-flex; 
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
   
    text-align: center;
    border-radius: 50%;
    border: 1px solid var(--color-blue);
    color: var(--color-blue); 
    margin-right: 10px;
    font-size: 0.8em; 
    transition: background-color 0.3s, color 0.3s;
}
.social-links-refined a:hover {
    background-color: var(--color-blue);
    color: white;
}


.footer-legal-bar-refined {
    background-color: white;
    border-top: 1px solid #EEEEEE;
    color: var(--color-text-subtle);
    font-size: 0.8em;
    text-align: center;
}

.footer-legal-bar-refined .legal-content-wrapper {
    max-width: var(--max-content-width);
    margin: 0 auto;
    padding: 15px var(--footer-padding-x);
}

.footer-legal-bar-refined .legal-links a {
    color: var(--color-text-subtle);
    margin: 0 5px;
    text-decoration: none;
    transition: color 0.2s;
}
.footer-legal-bar-refined .legal-links a:hover {
    color: var(--color-blue);
    text-decoration: underline;
}


@media (max-width: 1024px) {
    .footer-content-refined {
        flex-wrap: wrap;
        justify-content: space-between; 
    }

    .footer-col-brand {
        flex-basis: 100%;
        margin-bottom: 40px;
    }

    .footer-col {
        /* Distribute the remaining link columns into two per row */
        flex-basis: 45%; 
        max-width: 45%;
        padding: 0 10px; /* Reduced side padding for tighter fit */
        margin-bottom: 30px;
    }

    /* Target the notice column, which should span full width and drop below */
    .footer-col-notice {
        flex-basis: 100%;
        max-width: 100%;
        padding-left: 0;
        order: 99; /* Push it to the bottom */
    }
}

@media (max-width: 768px) {
    /* Set horizontal padding consistently for the container */
    .footer-container {
        padding: 30px 20px; /* Increased horizontal padding slightly for better edge spacing */
    }

    .footer-content-refined {
        flex-direction: column;
    }

    /* All columns should be full width with consistent vertical margin */
    .footer-col,
    .footer-col-brand,
    .footer-col-notice {
        flex-basis: 100%;
        max-width: 100%;
        padding: 0; /* Ensures no lateral padding on the column itself */
        margin-bottom: 30px; /* Increased vertical gap between stacked sections */
    }
    
    .footer-col-brand {
        margin-bottom: 30px; /* Consistent margin for the top element */
    }

    /* Reduce logo size slightly for tighter mobile look */
    .footer-logo {
        max-width: 130px; 
        margin-bottom: 15px;
    }

    .gradient-button-refined {
        display: block; 
        width: 100%;
    }
    
    /* Ensure there's enough space between the link list items */
    .footer-links-refined li {
        margin-bottom: 12px; 
    }

    /* The notice column often looks too heavy at the bottom, reset its margin */
    .footer-col-notice {
        margin-bottom: 15px; 
    }
}

@media (max-width: 480px) {
    /* Tighter padding for very small screens */
    .footer-container {
        padding: 25px 15px; /* Reduced to 15px horizontal padding */
    }
    
    .footer-logo {
        max-width: 120px; /* Smallest logo size */
    }
    
    /* Ensure the social icons are slightly larger for easier tapping */
    .social-links-refined a {
        width: 32px; /* Increased width/height */
        height: 32px;
        font-size: 0.9em; /* Increased icon size */
        margin-right: 8px;
    }

    .footer-links-refined li {
        margin-bottom: 10px; /* Consistent link spacing */
    }

    /* Legal bar text is smaller for very small phones */
    .footer-legal-bar-refined .legal-content-wrapper {
        font-size: 0.7em;
        padding: 10px 15px;
    }
}


 .logo-update-modal {
            position: fixed;
    z-index: 1001; 
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: none; 
    overflow: auto;
    padding-top: 50px;
}

/* Modal Content Box */
.modal-content {
    background-color: #fefefe;
    margin: 5% auto; /* 5% from the top and centered */
    padding: 20px;
    border: 1px solid #888;
    width: 90%;
    max-width: 600px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    position: relative;
    font-family: Arial, sans-serif;
    animation: fadeInScale 0.3s ease-out;
}

/* Modal Header */
.modal-header {
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-blue);
    margin-bottom: 15px;
    color: var(--color-blue);
}

.modal-header h3 {
    margin: 0;
    font-size: 1.5em;
    font-weight: 700;
}

/* Close Button */
.close-button {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 20px;
    transition: color 0.2s ease;
}

.close-button:hover,
.close-button:focus {
    color: var(--color-blue);
    text-decoration: none;
}

/* Logo Comparison Layout */
.logo-comparison-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    text-align: center;
    margin: 20px 0;
    padding: 15px;
    background-color: var(--color-bg-light);
    border-radius: 6px;
    border: 1px solid #ddd;
}

.logo-item {
    flex-basis: 35%;
}

.logo-label {
    font-weight: bold;
    color: var(--color-text-dark);
    margin-bottom: 10px;
    font-size: 1.1em;
}

.logo-image {
    max-width: 100px;
    height: auto;
    border: 1px solid #ccc;
    padding: 5px;
    background: white;
    border-radius: 4px;
}

.logo-arrow {
    flex-basis: 20%;
    color: var(--color-blue);
    font-size: 2.5em;
}

.modal-footer-text {
    text-align: center;
    font-style: italic;
    color: var(--color-green);
    margin-top: 15px;
}

/* Simple Animation */
@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}


/* --- Responsive Styles (Mobile) --- */
@media (max-width: 980px) {
    .header-container { flex-direction: column; text-align: center; gap: 8px; }
    .contact-info { flex-direction: column; gap: 4px; margin-top: 10px; }
    .logo img { max-height: 40px; }
}

@media (max-width: 768px) {
    nav { height: 60px; justify-content: space-between; padding: 0 16px; }
    .menu-toggle { display:block; }
    .contact-info { display: none; }
    .top-header { padding: 10px 16px; }

    nav > ul {
        position: absolute; top:60px; left:0; width:100%;
        background:var(--color-blue); flex-direction:column; gap:0; display:none;
        z-index: 900; max-width: none;
    }
    nav ul.open { display:flex; }

    nav li { margin: 0; width:100%; border-bottom:1px solid rgba(255,255,255,0.1); }
    nav a { padding:14px 28px; }

    .mega-panel {
        position: static;
        width:100%; border-radius:0; box-shadow:none;
        background:#fafafa; backdrop-filter:none;
        padding:16px;
        /* Simpler display handling for mobile */
        display: none;
    }

    nav li.open .mega-panel { display:block; }

    .mega-grid { grid-template-columns: 1fr; }
    .mega-col h4 { color:var(--color-blue); font-size:16px; margin-top:10px; }
    .mega-col a { padding: 8px 4px; font-size:15px; }

    /* Modal Mobile Adjustments */
    .logo-comparison-container {
        flex-direction: column;
        gap: 15px;
    }
    .logo-arrow {
        transform: rotate(90deg); /* Rotate arrow on small screens */
    }
}/* End custom CSS */