/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 4.27.1.1726425516
Updated: 2024-09-15 12:38:36
*/
/* ==================== GLOBAL LINE HEIGHT ==================== */
/* Force consistent 1.3em line height – overrides Divi’s loose defaults */
body,
.et_pb_module,
.et_pb_text,
.et_pb_text p,
.et_pb_blurb_content p,
.et_pb_testimonial_description_inner p,
.et_pb_column p,
.et_pb_row p,
p,
#main-content .et_builder_inner_content > p {
    line-height: 1.3em !important;
}
/* Tighten headings slightly */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.2em !important;
}
/* Gutenberg lists line height */
ul.wp-block-list,
ul.wp-block-list li,
ul.wp-block-list p,
ol.wp-block-list,
ol.wp-block-list li,
ol.wp-block-list p {
    line-height: 1.3em !important;
}
/* ==================== LINK STYLES ==================== */
a {
    text-decoration: underline;
    text-decoration-color: inherit;
}
a:hover {
    background-color: #009AD9;
    color: #333333;
    text-decoration: none;
    padding: 2px 2px;
    transition: background-color 0.3s ease;
}
/* ==================== MAIN MENU ==================== */
.et-menu {
    width: 10800px;
    padding: 0;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: top;
    box-sizing: border-box;
}
.et-menu > li {
    margin: 0 8px;
    list-style: none;
}
.et-menu a {
    display: inline-block;
    padding: 3px 0 0 0;
    background-color: transparent;
    height: 50px;
    line-height: 50px;
    text-align: top;
    box-sizing: border-box;
    color: #333 !important;
    text-decoration: none;
    border-bottom: 0;
    font-weight: normal;
    transition: border-bottom 0.3s ease, font-weight 0.3s ease, color 0.3s ease;
}
.et-menu a:hover {
    border-bottom: 5px solid #00578E !important;
    color: #333 !important;
    background-color: transparent;
    font-weight: normal;
    opacity: 1 !important;
}
.et_pb_menu--without-logo .et_pb_menu__menu > nav > ul > li {
    margin-top: 0;
}
/* ==================== MISC TYPOGRAPHY ==================== */
sup {
    font-size: 0.7em;
    line-height: 1;
    vertical-align: -0.2em;
}
/* ==================== GUTENBERG BLOCKS ==================== */
/* Footnotes */
.wp-block-footnotes,
.wp-block-footnotes p {
    font-size: 12pt;
    color: #333;
}
ol.wp-block-footnotes {
    list-style-type: decimal;
    list-style-position: outside;
    margin-left: 0;
    padding-left: 1em;
    line-height: 1.3em;
}
.wp-block-footnotes li {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 10px;
}
.wp-block-footnotes li p {
    margin-left: 1.5em;
}
.wp-block-footnotes .cite {
    font-style: italic;
    font-size: 12pt;
}
/* Separator */
.wp-block-separator {
    background-color: #f2f2f2;
    height: 5pt;
    border: none;
    margin: 20px 0;
}
/* Quote */
.wp-block-quote {
    border-left: 5px solid #00578e;
    margin: 0 0 1.75em;
    padding-left: 1em;
}
/* Image captions */
.wp-block-image figcaption,
.wp-caption-text
.figcaption {
    text-align: left !important;
    color: #00578E !important;
    font-style: italic;
    font-weight: 500;
    padding: 0 0.5em;
	font-size: 14px !important;
	line-height: 1.1;
}
/* Remove italics from specific parts (e.g., book titles) */
.wp-block-image figcaption .no-italic,
.wp-caption-text .no-italic {
    font-style: normal !important;
}
/* Client quote pullquote */
.wp-block-pullquote.client-quote {
    border-left: none !important;
    padding: 0.2em 0 !important;
    margin: 0.2em 0 !important;
}
.wp-block-pullquote.client-quote blockquote {
    border-left: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
    line-height: 1.3;
    font-style: italic;
}
.wp-block-pullquote.client-quote cite,
.wp-block-pullquote.client-quote footer {
    font-size: 14px !important;
    line-height: 1.3 !important;
    color: #666 !important;
    display: block;
    padding-left: 2em !important;    /* Increased indent for the whole citation block */
    margin-top: 0.5em !important;
    text-transform: none !important;
    font-style: normal !important;
    text-indent: -1em !important;    /* Hanging indent: pulls first line left for clean alignment */
}
/* Blue table box */
.blue-box {
    background-color: #e5f5fb;
    margin-left: 1.2em;
}
/* ==================== GUTENBERG LISTS (Comprehensive Fixes) ==================== */
/* Kill default Gutenberg list padding/margins */
.wp-block-list,
.wp-block-list ul,
.wp-block-list ol,
ul.wp-block-list,
ol.wp-block-list {
    padding-top: 0 !important;
    padding-bottom: 0.8em !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.wp-block-list > ul,
.wp-block-list > ol {
    padding-top: 0 !important;
    padding-bottom: 0.8em !important;
    margin-top: 0 !important;
    margin-bottom: 0.8em !important;
}
.wp-block-list li > ul,
.wp-block-list li > ol {
    margin: 0.3em 0 0.3em 1em !important;
    padding: 0 !important;
}
/* Numbered lists: Hanging indent, tight sub-points */
ol.wp-block-list,
ol.wp-block-list.has-dark-color,
ol.wp-block-list.has-light-color {
    list-style-position: outside !important;
    padding-left: 1.6em !important; /* Base indent adjusted to match total text start */
    margin-bottom: 0em !important;
}
ol.wp-block-list > li,
ol.wp-block-list > li > p {
    margin-bottom: 0 !important;
    padding-left: 0 !important; /* No extra padding – relies on list padding-left */
    text-indent: 0 !important;
}
ol.wp-block-list li ul,
ol.wp-block-list li ol {
    list-style-position: outside !important;
    padding-left: 2.5em !important;
    margin: 0.3em 0 0.3em 1em !important;
}
ol.wp-block-list li ul li,
ol.wp-block-list li ol li,
ol.wp-block-list li ul li p,
ol.wp-block-list li ol li p {
    margin-bottom: 0 !important;
    padding-left: 0.3em !important;
}
/* Divi module overrides */
.et_pb_text ol.wp-block-list,
.et_pb_column ol.wp-block-list {
    list-style-position: outside !important;
}
.et_pb_text ol.wp-block-list li,
.et_pb_column ol.wp-block-list li {
    padding-left: 0.5em !important;
}
/* Mobile adjustments */
@media (max-width: 768px) {
    ol.wp-block-list {
        padding-left: 1.5em !important;
    }
    ol.wp-block-list li ul {
        padding-left: 2em !important;
    }
}
/* Special class: Long paragraphs in numbered lists */
.numbered-long-paragraphs ol.wp-block-list {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.numbered-long-paragraphs ol.wp-block-list > li {
    margin-bottom: 1.25em !important; /* Restored extra spacing between items */
    padding-left: 0 !important; /* No extra – uses base list indent */
}
ol.wp-block-list li {
    margin-bottom: 0.25em !important;
}
/* ==================== BULLETED LISTS: Native bullets with matching indent ==================== */
ul.wp-block-list {
    padding-left: 2em !important; /* Exact match to total text start position */
    margin: 0 !important;
}
ul.wp-block-list li {
    margin-bottom: 0.25em !important;
}
/* Uses native bullets – normal size */
/* ==================== CUSTOM CHECKLIST ==================== */
/* Matches bulleted list exactly: same indent, spacing, line height */
/* Only difference: green checkmark instead of bullet, same size as text */
.custom-checklist {
    list-style: none !important;
    padding-left: 0em !important;  /* Exact match to bulleted list indent */
    margin: 1.5em 0 !important;      /* Matches bulleted list vertical spacing */
    line-height: 1.3em !important;
}

.custom-checklist li {
    position: relative;
    padding-left: 0em !important;       /* No extra padding on li */
    margin-bottom: 0.25em !important; /* Matches bulleted list spacing between items */
    min-height: auto !important;      /* Remove fixed height to avoid line height issues */
}

.custom-checklist li::before {
    content: "✓";
    position: absolute;
    left: -1.25em !important;
    top: 0 !important;                /* Align with text baseline */
    color: #2e8b57;
    font-weight: bold;
    font-size: 1em !important;        /* Same size as text – no line height interference */
    line-height: 1;
}

.custom-checklist li > p {
    margin-left: 0 !important;
    text-indent: 0 !important;
}
/* ==================== RELATED POSTS THUMBNAILS (3:2 Ratio) ==================== */
.et_pb_posts .et_pb_post_thumb,
.et_pb_blog .et_pb_post_thumb {
    position: relative !important;
    padding-top: 66.67% !important;
    overflow: hidden !important;
    background: #f9f9f9;
}
.et_pb_posts .et_pb_post_thumb img,
.et_pb_blog .et_pb_post_thumb img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
@media print {
    /* === HIDE GLOBAL NAV AND LOGO === */
    #main-header,
    #et-top-navigation,
    .mobile_menu_bar,
    #main-footer {
        display: none !important;
    }
    /* === COMPACT HEADER – KEEP INTERNAL SPACING, REMOVE BOTTOM EMPTY === */
    .ER-masthead.et_pb_section,
    .ER-date-row.et_pb_row {
        padding-top: 0px !important;
        padding-bottom: 0px !important;
        margin-bottom: 0 !important;
    }
    /* Do not zero internal padding – keeps title/subtitle/date spacing natural */
    .ER-masthead .et_pb_row,
    .ER-date-row .et_pb_row,
    .ER-masthead .et_pb_column,
    .ER-date-row .et_pb_column {
        padding: 0 !important;
    }
    .ER-masthead .et_post_meta_wrapper,
    .ER-date-row .et_post_meta_wrapper {
        margin: 0 !important;
    }
    /* === CONTENT SECTION – SMALL GAP, NO BREAK === */
    .ER-date-content.et_pb_section {
        padding-top: 0.2em !important;
        margin-top: 0 !important;
        page-break-before: avoid !important;
    }
    .ER-date-content .et_pb_row {
        padding: 0 !important;
        margin: 0 !important;
    }
    /* === GENERAL === */
    body {
        background: white !important;
        color: black !important;
        font-size: 12pt !important;
        line-height: 1.3 !important;
        margin: 0.75cm !important;
    }
    p, h1, h2, h3 {
        margin: 0.5em 0 !important;
        orphans: 3 !important;
        widows: 3 !important;
    }
}
/* ——— ASTERISK FOOTNOTE: Force asterisk + consistent indent ——— */
ul.wp-block-list.asterisk-footnote,
ul.wp-block-list.asterisk-footnote li,
ul.wp-block-list.asterisk-footnote p,
ol.wp-block-list.asterisk-footnote,
ol.wp-block-list.asterisk-footnote li,
ol.wp-block-list.asterisk-footnote p {
    list-style: none !important;
    padding-left: 0em !important;
    margin-left: 0 !important;
}

ul.wp-block-list.asterisk-footnote,
ol.wp-block-list.asterisk-footnote {
    margin-top: 1em !important;
    margin-bottom: 2em !important;
    line-height: 1.3em !important;
    font-size: 0.81em !important;
}

ul.wp-block-list.asterisk-footnote li,
ol.wp-block-list.asterisk-footnote li {
    position: relative;
    padding-left: 0.6em !important;
    margin-bottom: 0 !important;
    text-indent: 0em !important;
    min-height: 1.4em;
}

ul.wp-block-list.asterisk-footnote li::before,
ol.wp-block-list.asterisk-footnote li::before {
    content: "*" !important;
    display: inline-block !important;
    position: absolute !important;
    left: 0em !important;
    top: 0.1em !important;
    font-weight: normal !important;
    font-size: 1.0em !important;
    width: 1.2em !important;
    text-align: left !important;
    line-height: 1 !important;
    z-index: 1 !important;
}

/* Kill default marker completely */
ul.wp-block-list.asterisk-footnote li::marker,
ol.wp-block-list.asterisk-footnote li::marker {
    display: none !important;
}

/* Clean up any Gutenberg <p> inside li */
ul.wp-block-list.asterisk-footnote li p,
ol.wp-block-list.asterisk-footnote li p {
    margin: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
}
/* ——— BOOK REVIEW PDF LINK: Hover highlight ——— */
.category-book-reviews .book-review-link a,
.category-book-reviews .book-review-link a:visited {
    text-decoration: underline !important;
    transition: background-color 0.3s ease !important;
}

.category-book-reviews .book-review-link a:hover {
    background-color: #009AD9 !important;
    color: #333333 !important;
    text-decoration: none !important;
    padding: 2px 4px !important;
}
/* Thin dark blue separator line – full width, 1px height */
.thin-blue-line {
    background-color: #00578E !important;
    height: 1px !important;
    border: none !important;
    margin: 2.5em 0 !important;          /* vertical spacing above/below – adjust as needed */
    padding: 0 !important;
    width: 100% !important;
}

/* Make sure it ignores any default border or height */
.wp-block-separator.thin-blue-line {
    background-color: #00578E !important;
    height: 1px !important;
    border: none !important;
    opacity: 1 !important;                /* prevent any fade */
}