/* Copyright (c) 2025 Laurentian Bank. All rights reserved. */
/* CSS for modern Flexbox/Grid layout. */
/* Basic Reset & Box Sizing */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    /* From legacy master.css */
    /*font-family: Arial, Helvetica, sans-serif;*/
    /* System Font Stack - Prioritizes modern OS fonts, falls back gracefully */
    /* This is a more modern approach to font stacks, ensuring better performance and consistency */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    background-color: #efefef;
    color: #333;
    /*font-size: 12px;*//* From legacy master.css */
    font-size: 13px; /* Changed from 12px to 13px for better readability */
    /* New */
    line-height: 1.0; /* Optional: Consider adding a base line-height too for better readability (1.5 is common) */
}

.container {
    max-width: 980px; /* From master.css */
    margin: 0 auto;
    background-color: #fff; /* From master.css .bg_page */
    border: 1px solid #ccc; /* From master.css .bg_page */
    padding: 10px; /* Combined padding from .bg_page and .page */
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Ensure footer stays down */
}

/* Header Layout */
.site-header {
    display: flex;
    /*justify-content: space-between;*/
    align-items: center;
    padding: 10px; /* Match original .header padding */
    padding-bottom: 0; /* Remove bottom padding */
    /*border-bottom: 1px solid #eee; !* Optional visual separation *!*/
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
}
.site-header .logo a { display: block; } /* Ensure image link is block */
.site-header .logo img { display: block; } /* Fix potential whitespace issues */
.site-header .top-nav ul {
    list-style: none;
    display: flex;
    gap: 0px;   /* Originally 5px - the gap looked too wide */
    padding: 0;
    margin: 0;  /* Override master.css */
}
.site-header .top-nav li { padding: 0; /* Override master.css */}
.site-header .top-nav a {
    padding: 10px; /* Original was 10px 15px 10px 15px; */
    font-size: 12px;    /* Smaller than 14px in the `body` */
    text-transform: uppercase;
    color: #0077bb;
}
.site-header .top-nav a:hover { color: #da9300; text-decoration: none; }

.header-right-group {
    margin-left: auto; /* THIS PUSHES THE GROUP TO THE RIGHT */
    display: flex;     /* Align nav and search inside */
    align-items: center;
    gap: 15px;         /* Adjust gap between nav and search as needed */
}

.search-box {
    display: flex;
    align-items: center;
    padding-top: 0px; /* From the legacy with changes */
    padding-left: 10px;
}
.search-box form { display: flex; }
.search-box input[type="text"] {
    width:136px; /* Match original */
    height: 26px; /* Match original height implicitly */
    padding: 4px 0 1px 4px; /* Match original */
    border: 1px solid #ccc; /* Match original */
    color: #004070; /* Original was #aaa */
    margin-right: 4px; /* Add spacing */
}
.search-box input[type="submit"] {
    width: 56px; /* Match original */
    height: 26px; /* Match original */
    border: 0;
    background: #003C69;
    color: white;
    font-weight: bold;
    font-size: 12px;
    cursor: pointer;
    text-transform: uppercase;
}
.search-box input[type="submit"]:hover {
    background-color:#ffb612;
    color:#003c69;
}

/* Main Content Area Layout */
.main-content-area {
    display: flex;
    gap: 20px; /* Controls space between sidebar and main */
    padding: 10px;
    flex: 1; /* Allow parent to grow vertically */
    flex-wrap: wrap; /* Allow stacking on small screens */
    /* Align items to the start vertically (optional, often default) */
    align-items: flex-start;
}

/* Main Article Area */
/* Styles for the main article area */
.main-article {
    flex: 1 1 auto; /* Allow growing and shrinking, automatic basis */
    min-width: 0;   /* Important for shrinking below basis */
    max-width: 700px; /* <<< Limit the maximum width */
    margin-left: auto; /* <<< Push this element to the right */

    /* You might need to add padding back if it was removed from master.css */
    /* padding: 10px; */ /* Example: Restore padding if needed */
}

/* Ensure master.css styles apply correctly */
.main-article h1 { padding:15px 0 25px 0; font-size:24px; color:#003c69; }
.main-article h3 { padding:15px 0 10px 0; font-size:14px; font-weight:bold; color:#003c69; }
.main-article p { padding-bottom:15px; line-height:150%; }
.main-article ul { padding: 10px 0 20px 20px; }
.main-article ul li { list-style: disc; padding: 0 0 10px 0; line-height:150%; }
.main-article ul li li { list-style: circle; background: no-repeat url('../img/bcy.gif') 10px 5px; padding-left: 15px;} /* Check path */
.main-article a { color:#0077bb; }
.main-article a:hover { text-decoration: underline; }

/* Footer Layout */
.site-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px; /* Match original padding inside table cells */
    background: #f2f2f2; /* Match original disclaimer background */
    border-top: 1px solid #bbb; /* Similar to original footer_box */
    font-size: 0.9em; /* Match original */
    flex-wrap: wrap; /* Allow wrapping */
    margin-top: auto; /* Push to bottom */
}
.site-footer .legal-links a { color: #888; margin: 0 5px; /* Replace | separator */ }
.site-footer .legal-links a:first-child { margin-left: 0; }
.site-footer .copyright { color: #888; text-align: right; }

/* Hide original table footer styling if master.css is not modified */
/* table[width="100%"] { display: none; } */ /* Be careful with this selector */

/* Accordion specific styles from head - kept */
.categoryitems{display: none}
a.hiddenajaxlink{display: none}
