/* Thornwood Hill Insurance - brand overrides matching the firm's presentation deck */

:root {
    --thi-navy: #123852;
    --thi-navy-dark: #0c2338;
    --thi-heading: #2d536c;
    --thi-body-blue: #1d66b1;
    --thi-gold: #cec1aa;
    --thi-rule-grey: #d7d5d7;
    --thi-bullet-blue: #6facde;
}

body {
    font-family: 'Libre Caslon Text', Georgia, 'Times New Roman', serif;
    color: var(--thi-body-blue);
}

h1, h2, h3, h4,
.page-header h1,
.com-content-category-blog__title,
.page-header__title {
    font-family: 'Libre Caslon Display', 'Libre Caslon Text', Georgia, serif;
    font-weight: 400;
    color: var(--thi-heading);
}

/* Header / masthead */
.header.container-header {
    background: #ffffff;
    border-bottom: 1px solid #e2e2e2;
}

.navbar-brand {
    background: var(--thi-navy);
    background-image: linear-gradient(115deg, var(--thi-navy-dark) 0%, var(--thi-navy) 55%, #1a4666 100%);
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
    padding: 1.35rem 2.75rem 1.35rem 3.75rem;
    margin-inline-start: -2rem;
}

.navbar-brand .brand-logo {
    text-decoration: none;
    display: inline-block;
    white-space: nowrap;
}

.navbar-brand .thi-word {
    font-family: 'Libre Caslon Display', Georgia, serif;
    font-size: 1.55rem;
    letter-spacing: 0.01em;
    color: #ffffff;
}

.navbar-brand .thi-word.thi-gold {
    color: var(--thi-gold);
    margin-inline-start: 0.35rem;
}

/* Page heading (per-page title, echoing each deck slide's title bar) */
.page-header {
    border-bottom: 1px solid var(--thi-rule-grey);
    padding-bottom: 0.75rem;
    margin-bottom: 1.75rem;
}

.page-header h1 {
    font-size: 2rem;
    margin: 0;
}

/* Joomla renders a second, redundant page-header for the article's own title;
   the article title attrib is suppressed but the global option can still win, so hide it in CSS */
.page-header ~ .page-header {
    display: none;
}

/* Lead statement, echoing the deck's bold sub-heading with grey accent bar */
.thi-lead {
    font-weight: 700;
    color: var(--thi-heading);
    border-inline-start: 4px solid var(--thi-rule-grey);
    padding-inline-start: 1rem;
    font-size: 1.15rem;
    margin-bottom: 1.5rem;
}

.thi-tagline {
    font-style: italic;
    color: var(--thi-heading);
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
}

/* Bulleted lists styled after the deck's circular arrow bullets */
ul.thi-bullets {
    list-style: none;
    padding-inline-start: 0;
    margin-bottom: 1.5rem;
}

ul.thi-bullets li {
    position: relative;
    padding-inline-start: 2.1rem;
    margin-bottom: 0.9rem;
    line-height: 1.5;
}

ul.thi-bullets li::before {
    content: '\203A';
    position: absolute;
    inset-inline-start: 0;
    top: 0.1em;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background: var(--thi-bullet-blue);
    color: #ffffff;
    font-weight: 700;
    font-family: Georgia, serif;
    text-align: center;
    line-height: 1.2rem;
    font-size: 0.85rem;
}

/* Management page */
.thi-person {
    margin-bottom: 2rem;
}

.thi-person h3 {
    margin-bottom: 0.15rem;
}

.thi-role {
    color: var(--thi-heading);
    margin-top: 0;
    margin-bottom: 0.6rem;
}

.thi-address {
    line-height: 1.7;
}

/* Sidebar main menu */
.container-sidebar-right .card {
    border-color: var(--thi-rule-grey);
}

.container-sidebar-right .card-header {
    font-family: 'Libre Caslon Display', Georgia, serif;
    color: var(--thi-heading);
    background: #f7f6f3;
}

.container-sidebar-right a {
    color: var(--thi-body-blue);
    font-family: 'Libre Caslon Text', Georgia, serif;
}

.container-sidebar-right a:hover {
    color: var(--thi-heading);
    text-decoration-color: var(--thi-gold);
}

/* Footer legal notice, echoing the deck's small-caps confidentiality line */
footer.container-footer {
    background: var(--thi-navy);
}

footer.container-footer p {
    font-family: Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    font-size: 0.72rem;
    color: #b9c4cd !important;
}
