/**
 * Theme Name:     Aerospace External Theme 4.0
 * Author:         Aerospace Digital Media Dream Team and Astro the mighty
 * Template:       twentyseventeen
 * Text Domain:	   aerospace-external-theme-4-0
 * Description:    External theme based on TwentySeventeen theme
 */

/* ==========================================================================
   CSS VARIABLES - Define once, use everywhere
   ========================================================================== */

:root {
    /* Colors */
    --color-nav-bg: #3a3a3a;
    --color-nav-bg-dark: #2a2a2a;
    --color-nav-bg-light: #4a4a4a;
    --color-nav-dropdown: #525558;
    --color-nav-text: #ffffff;
    --color-nav-hover: #7EBDEB;
    --color-nav-hover-light: #a0d7ff;
    --color-footer-bg: #63666a;
    --color-text-dark: #222;
    --color-text-medium: #444;
    --color-text-light: #666;
    --color-text-gray: #767676;
    --color-border-light: #ddd;
    --color-border-medium: #ccc;
    --color-border-dark: #acacac;
    
    /* Spacing */
    --max-width: 1275px;
    
    /* Breakpoints (for reference) */
    --bp-tablet: 48em;
    --bp-mobile: 30em;
}

/* ==========================================================================
   FONT FACES
   ========================================================================== */

/* Open Sans - Regular & Italic */
@font-face {
    font-family: 'Open Sans';
    src: url('https://media.aero.org/theme-support/webfonts/fonts/OpenSans-VariableFont_wdth,wght.woff2') format('woff2');
    font-weight: 300 800;
    font-stretch: 75% 100%;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('https://media.aero.org/theme-support/webfonts/fonts/OpenSans-Italic-VariableFont_wdth,wght.woff2') format('woff2');
    font-weight: 300 800;
    font-stretch: 75% 100%;
    font-style: italic;
    font-display: swap;
}

/* Roboto - Regular & Italic */
@font-face {
    font-family: 'Roboto';
    src: url('https://media.aero.org/theme-support/webfonts/fonts/Roboto-VariableFont_wdth,wght.woff2') format('woff2');
    font-weight: 100 900;
    font-stretch: 75% 100%;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('https://media.aero.org/theme-support/webfonts/fonts/Roboto-Italic-VariableFont_wdth,wght.woff2') format('woff2');
    font-weight: 100 900;
    font-stretch: 75% 100%;
    font-style: italic;
    font-display: swap;
}

/* Roboto Condensed - Regular & Italic */
@font-face {
    font-family: 'Roboto Condensed';
    src: url('https://media.aero.org/theme-support/webfonts/fonts/RobotoCondensed-VariableFont_wght.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: url('https://media.aero.org/theme-support/webfonts/fonts/RobotoCondensed-Italic-VariableFont_wght.woff2') format('woff2');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

/* Roboto Slab */
@font-face {
    font-family: 'Roboto Slab';
    src: url('https://media.aero.org/theme-support/webfonts/fonts/RobotoSlab-VariableFont_wght.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

/* ==========================================================================
   BASE STYLES
   ========================================================================== */

body {
    font-family: "Open Sans", sans-serif;
    font-size: 17px;
    letter-spacing: -0.001rem;
    text-rendering: optimizeLegibility;
}

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Roboto", sans-serif;
    line-height: 1.35;
    font-weight: 700;
    margin-bottom: 0.4em;
    padding: 0.9em 0 0 0;
    letter-spacing: -0.02rem;
}

h1 {
    line-height: 1.25;
    font-size: 1.7rem;
    margin-bottom: 0.5em;
}

h1.site-title {
    text-transform: none;
    color: #fff;
    letter-spacing: 0.01em;
    font-weight: 600;
}

h1.site-title a {
    font-family: "Roboto", sans-serif;
    font-size: 2.1rem;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
}

h2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-text-medium);
}

h2.widget-title {
    color: var(--color-text-dark);
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.1818em;
    margin-bottom: 1em;
    padding-top: 0;
    text-transform: uppercase;
}

h3 {
    font-size: 1.52rem;
    font-weight: 300;
}

h4 {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 0.3em;
}

h5 {
    font-size: 1rem;
    font-weight: 800;
    text-transform: capitalize;
    color: #333;
}

/* Paragraphs & Text Elements */
p {
    padding-left: 5px;
    margin-bottom: 1.25em;
}

p.no-marg {
    margin-bottom: 0;
}

figure {
    margin: 15px;
}

/* Lists */
dl {
    margin-left: 30px;
    margin-bottom: 2em;
}

dd,
dt {
    line-height: 1.8em;
}

dd {
    margin-bottom: 1em;
}

dt {
    font-weight: bold;
    font-size: 17px;
}

.wp-block-list {
    margin-left: 55px;
    font-family: "Roboto", sans-serif;
    font-weight: 350;
    font-size: 16px;
    letter-spacing: -0.01rem;
    line-height: 1.4em;
}

.wp-block-list .wp-block-list {
    margin-left: 30px;
    margin-top: 4px;
}

ul.wp-block-list ::marker {
    color: #707070;
}

.wp-block-list li {
    padding-left: 0.05em;
    padding-bottom: .3em;
}

b, strong {
    font-weight: 600;
}

div.wp-block-group + p.wp-block-paragraph {
    margin-top: 25px;
}

/* ==========================================================================
   LAYOUT - MOBILE FIRST
   ========================================================================== */

/* Header Image Heights */
.has-header-image.twentyseventeen-front-page .custom-header {
    height: 25vh;
}

/* Site Branding */
@media screen and (min-width: 30em) {
    .site-branding {
        padding: 2.1em 0 2.55em 0;
    }
}

.site-description {
    color: #eee;
    font-size: 20px;
    padding-left: 2px;
    padding-top: 5px;
}

.site-branding a:hover,
.site-branding a:focus {
    opacity: 1;
}

/* Content Padding */
.twentyseventeen-front-page .site-content {
    padding: 2.5em 0 0;
}

.single-featured-image-header {
    margin-bottom: 35px;
}

/* Entry Header */
body:not(.twentyseventeen-front-page) .entry-header {
    padding: 0.1em 0;
}

.entry-title {
    display: inline-block;
}

.page .entry-header .entry-title {
    display: none;
}

.edit-link a {
    color: red;
    font-weight: bold;
}

/* Entry Meta & Footer */
.entry-meta {
    color: var(--color-text-gray);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1818em;
    padding-bottom: 1.6rem;
    padding-left: 0.45rem;
    text-transform: uppercase;
}

.entry-footer {
    border-top: 1px solid var(--color-border-light);
    border-bottom: 1px solid var(--color-border-light);
    margin-top: 2em;
    padding: 1.5em 0;
}

/* Feed page meta (categories/tags) - match single post styles */
.feed-meta {
    margin-top: 1em;
    padding-bottom: 2em;
    border-bottom: 1px solid var(--color-border-light);
    font-size: 11px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1818em;
    text-transform: uppercase;
}

.feed-meta .cat-links,
.feed-meta .tags-links {
    display: inline;
}

.feed-meta a {
    color: #333;
    text-decoration: none;
}

.feed-meta a:hover,
.feed-meta a:focus {
    color: #000;
}

.feed-meta svg {
    color: #767676;
    vertical-align: middle;
    margin-right: 0.5em;
}

/* Spacing between posts on feed pages */
.blog article,
.archive article,
.search article {
    margin-bottom: 2em;
}

/* ==========================================================================
   LAYOUT - TABLET & DESKTOP (48em+)
   ========================================================================== */

@media screen and (min-width: 48em) {
    /* Reduce padding between posts on feed pages */
    .blog .site-main > article,
    .archive .site-main > article,
    .search .site-main > article {
        padding-bottom: .1em;
    }

    /* Header Image */
    .twentyseventeen-front-page.has-header-image .custom-header-image {
        height: 25vh;
    }
    
    .admin-bar.twentyseventeen-front-page.has-header-image .custom-header-image {
        height: calc(25vh - 32px);
    }
    
    /* Logo */
    .custom-logo-link {
        float: right;
        padding-right: 2em;
    }

    .custom-logo-link img,
    body.home.title-tagline-hidden.has-header-image .custom-logo-link img,
    body.home.title-tagline-hidden.has-header-video .custom-logo-link img {
        max-width: 350px;
        padding-top: 4px;
    }

    /* Container Width */
    .wrap {
        max-width: var(--max-width);
        padding-left: 1em;
        padding-right: 1em;
    }
    
    /* Content Padding */
    .site-content {
        padding: 2.5em 0 0;
    }
    
    .page.page-one-column .entry-header,
    .twentyseventeen-front-page.page-one-column .entry-header,
    .archive.page-one-column:not(.has-sidebar) .page-header {
        margin-bottom: 0.1em;
    }
    
    /* Primary Content Width */
    .single-post:not(.has-sidebar) #primary,
    .page.page-one-column:not(.twentyseventeen-front-page) #primary,
    .archive.page-one-column:not(.has-sidebar) .page-header,
    .archive.page-one-column:not(.has-sidebar) #primary {
        margin-left: auto;
        margin-right: auto;
        max-width: none;
    }
    
    /* Sidebar Layouts */
    .has-sidebar:not(.error404) #primary,
    #primary.standard-width {
        float: left;
        width: 68%;
    }
    
    #secondary,
    .has-sidebar #secondary {
        float: right;
        padding-top: 5px;
        width: 25%;
        border: 0;
    }
    
    /* Two Column Layouts */
    body:not(.has-sidebar):not(.page-one-column) .page-header,
    body.has-sidebar.error404 #primary .page-header,
    body.page-two-column:not(.archive) #primary .entry-header,
    body.page-two-column.archive:not(.has-sidebar) #primary .page-header {
        float: none;
        width: 100%;
    }
    
    .page-two-column .panel-content .entry-header {
        float: none;
        width: 50%;
    }
    
    .blog:not(.has-sidebar) #primary article,
    .archive:not(.page-one-column):not(.has-sidebar) #primary article,
    .search:not(.has-sidebar) #primary article,
    .error404:not(.has-sidebar) #primary .page-content,
    .error404.has-sidebar #primary .page-content,
    body.page-two-column:not(.archive) #primary .entry-content,
    body.page-two-column #comments {
        float: none;
        width: 100%;
    }
    
    .page-two-column .panel-content .entry-content {
        float: none;
        width: 100%;
    }
    
    /* Comments */
    #comments {
        padding-top: 3em;
    }
}

/* ==========================================================================
   NAVIGATION - DARK GREY SCHEME
   ========================================================================== */

.navigation-top {
    z-index: 100;
    background-color: var(--color-nav-bg);
    border-top: 2px solid var(--color-nav-hover) !important;
    border-bottom: 1px solid var(--color-border-medium) !important;
}

@media screen and (min-width: 48em) {
    .navigation-top .wrap {
        max-width: var(--max-width);
        padding: 0.15em 1em;
    }
}

/* Fixed Navigation */
.site-navigation-fixed.navigation-top:before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2) 100%);
    bottom: 0;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 0;
}

/* Main Navigation Links */
.main-navigation li a {
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    letter-spacing: 0.02rem;
    font-weight: 600;
    color: var(--color-nav-text);
}

.main-navigation li li a {
    font-size: 14px;
    font-weight: 450;
}

.site-navigation-fixed.navigation-top ul.menu > li > a {
    color: var(--color-nav-text);
    font-weight: 600;
    font-size: 16.5px;
    transition: color 0.1s;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/* Hover & Active States */
.main-navigation a:hover,
.main-navigation a:focus {
    color: var(--color-nav-hover);
    background-color: transparent;
}

.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation .current_page_item > a,
.main-navigation .current_page_ancestor > a {
    color: var(--color-nav-hover-light);
    background-color: transparent;
}

/* Dropdown Menus */
.main-navigation ul ul {
    background-color: var(--color-nav-dropdown);
    border: 1px solid var(--color-nav-bg);
}

.main-navigation ul ul a {
    color: var(--color-nav-text);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.main-navigation ul ul a:hover,
.main-navigation ul ul a:focus,
.main-navigation ul ul li:hover > a,
.main-navigation ul ul li:focus-within > a,
.main-navigation ul ul ul li:hover > a,
.main-navigation ul ul ul li:focus-within > a {
    background-color: var(--color-nav-bg);
    color: var(--color-nav-hover);
}

.main-navigation ul ul li:hover,
.main-navigation ul ul li:focus-within {
    background-color: transparent;
}

/* Mobile Menu */
.menu-toggle {
    background-color: transparent;
    color: var(--color-nav-text);
    border: 2px solid var(--color-nav-text);
}

.menu-toggle:hover,
.menu-toggle:focus {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--color-nav-hover);
    border-color: var(--color-nav-hover);
}

@media screen and (max-width: 48em) {
    .main-navigation ul {
        background-color: var(--color-nav-bg);
    }
    
    .main-navigation li {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }
}

/* Search in Navigation */
.navigation-top .search-form {
    background-color: rgba(255, 255, 255, 0.1);
}

.navigation-top .search-field {
    background-color: rgba(255, 255, 255, 0.2);
    color: var(--color-nav-text);
    border-color: rgba(255, 255, 255, 0.3);
}

.navigation-top .search-field::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.navigation-top .search-field:focus {
    background-color: rgba(255, 255, 255, 0.3);
    border-color: var(--color-nav-hover);
}

.navigation-top .search-submit {
    background-color: var(--color-nav-hover);
    color: var(--color-nav-bg);
}

.navigation-top .search-submit:hover {
    background-color: var(--color-nav-text);
    color: var(--color-nav-bg);
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

footer.site-footer {
    background-color: var(--color-footer-bg);
}

footer.site-footer .wrap {
    background-image: url(/wp-content/themes/Aerospace-External-Theme-4-0/assets/images/bkg-6.png);
    background-position: right 15px bottom;
    background-repeat: no-repeat;
    background-size: auto;
}

@media screen and (min-width: 48em) {
    .site-footer .widget-column.footer-widget-1,
    .site-footer .widget-column.footer-widget-2,
    .site-footer .widget-column.footer-widget-3 {
        float: left;
        width: 32%;
        padding-right: 4em;
    }
}

/* Footer Widget Styles */
.widget-area {
    color: #eee;
    text-decoration: none;
    transition: none;
}

.widget-area h2,
.widget-area h3 {
    color: #333;
}

.site-footer .widget-area {
    color: #eee;
}

.site-footer .widget-area h2,
.site-footer .widget-area h3 {
    color: #ddd;
}

.site-footer .widget-area ul li a,
.site-footer .widget-area ul li a:visited,
.site-footer .widget-area ul li a:hover {
    color: #fff;
    font-weight: bold;
    box-shadow: none;
}

/* Site Info */
.site-info {
    color: #eee;
    text-decoration: none;
    transition: none;
}

.site-info a,
.site-info a:visited,
.site-info a:hover {
    color: #fff;
    font-weight: bold;
    box-shadow: none;
}

/* ==========================================================================
   COMMENTS
   ========================================================================== */

.comment-reply-title {
    font-family: "Roboto", sans-serif;
    font-style: italic;
    font-weight: 600;
    font-size: 1.4rem;
}

.logged-in-as a {
    text-decoration: underline;
}

/* ==========================================================================
   BLOCKS - GENERAL
   ========================================================================== */

/* Media Text Block */
.wp-block-media-text {
    font-size: 18px;
    border: 0;
    padding: 10px;
    border-radius: 10px;
}

.wp-block-media-text__media img {
    border: 2px solid;
    align-content: start;
}

/* Buttons */
.wp-block-button__link,
.wp-element-button {
    font-family: "Roboto", sans-serif;
    font-weight: 600;
}

.wp-element-button {
    color: #eee;
    font-size: 15px;
}

:not(.mejs-button) > button:hover,
:not(.mejs-button) > button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
    background: none;
}

/* Captions */
.wp-element-caption {
    font-family: "Roboto Slab", serif;
    font-weight: 400;
    font-size: 15px;
    letter-spacing: 0;
    line-height: 1.2rem;
}

/* ==========================================================================
   BLOCKS - TABLES
   ========================================================================== */

.wp-block-table {
    border-collapse: collapse;
    font-size: 16px;
    padding-top: 7px;
    table-layout: auto;
}

.wp-block-table td,
.wp-block-table th {
    padding: 0.75rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--color-border-dark);
}


.table-responsive-lg tr:hover {
    transition: background-color 0.1s ease;
    background-color: #f5f5f5;
}

.table-bordered td,
.table-bordered th {
    border: 1px solid;
}

.thead-gray th {
    background-color: #e9ecef;
    border-color: #dee2e6;
    border: 1px solid;
}

.thead-dark-gray th {
    background-color: #646464;
    color: #fff;
    border-color: #dee2e6;
    border: 1px solid #646464;
}

.table-sm td,
.table-sm th {
    padding: 0.2rem;
}


/* ==========================================================================
   BLOCKS - PULLQUOTES
   ========================================================================== */

.wp-block-pullquote {
    padding: 2rem 3rem;
    margin: 50px 40px 50px 30px;
    border-top: 1px solid var(--color-border-medium);
    border-bottom: 1px solid var(--color-border-medium);
}

.wp-block-pullquote p {
    font-family: "Open Sans", sans-serif;
    font-weight: 300;
    font-size: 19px;
    font-style: italic;
    letter-spacing: 0.01rem;
    line-height: 1.7rem;
}

.wp-block-pullquote cite {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0.01rem;
}

.pullquote-sans {
    padding: 2rem 3rem;
    margin: 50px 40px 50px 30px;
    border-top: 1px solid var(--color-border-medium);
    border-bottom: 1px solid var(--color-border-medium);
    font-family: "Open Sans", sans-serif;
    font-size: 19px;
    font-weight: 300;
    letter-spacing: 0.01rem;
    line-height: 1.7rem;
}

.pullquote-robotoslab {
    padding: 2rem 3rem;
    margin: 50px 40px 50px 30px;
    border-top: 1px solid var(--color-border-medium);
    border-bottom: 1px solid var(--color-border-medium);
    font-family: "Roboto Slab", serif;
    font-weight: 300;
    letter-spacing: 0.01rem;
    line-height: 1.6rem;
}

/* ==========================================================================
   BLOCKS - ACCORDIONS 
   ========================================================================== */

.wp-block-accordion-heading {
    padding: 0px 15px 0 15px;
    font-size: 19px;
    font-weight: 500;
    background-color: #2B50A3;
    color: #fff;
    border-radius: 5px;
    line-height: 1.6;
    margin: 0 0 0.3em;
	  letter-spacing: .01rem;
}

.wp-block-accordion-heading__toggle-icon {
    align-items: center;
    display: flex;
    height: 1.2em;
    justify-content: center;
    width: 1.2em;
		font-size: 30px;
}

.wp-block-accordion-panel {
    margin: -5px 5px 15px 5px;
    padding: 30px 35px 15px 30px;
    font-size: 17px;
    border: 0.5px solid #63666A;
    border-top: transparent;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.wp-block-accordion-panel ul.wp-block-list, .wp-block-accordion-panel ol.wp-block-list {
	  margin: 0 5px 25px 30px;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading {
    background: #182e68;
}

details.wp-block-details summary::marker,
.wp-block-details summary::marker {
    display: none;
}

/* Hover state */
.wp-block-accordion-heading:hover {
    background-color: #182e68;
    transition: all ease-in-out .3s;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	  text-decoration: none !important;
}

/* ==========================================================================
   BLOCKS - SEARCH
   ========================================================================== */

.wp-block-search__inside-wrapper {
    max-height: 30px;
}

.wp-block-search .wp-block-search__label {
    font-weight: 700;
    font-family: "Roboto", sans-serif;
    font-size: 16px;
}

.wp-block-search__button {
    height: 2em;
    min-height: 40px;
    max-height: 40px;
    fill: currentColor;
    vertical-align: text-bottom;
    border: 1px solid var(--color-border-medium);
    padding: 6px 10px;
}

.wp-block-search__input {
    height: 2em;
    min-height: 40px;
    max-height: 40px;
    color: #eee;
    text-decoration: none;
    transition: none;
}

/* ==========================================================================
   CUSTOM COMPONENTS - CARD BOXES
   ========================================================================== */

.card-box {
    padding: 20px;
    grid-template-columns: 30% auto !important;
    float: left;
    border: 0.5px solid;
    border-radius: 5px;
}

.card-box-full {
    width: auto;
    margin: 0 0 25px 0;
}

.card-box-450 {
    width: 450px;
    margin: 0 35px 25px 0;
}

.card-box h2 {
    padding: 0;
    margin: 0 0 8px 0;
    color: #232323;
    line-height: 1.6rem;
    font-size: 1.4rem;
}

.card-box-2-up h2 {
    font-size: 1.2rem;
}

.card-box-3-up h2 {
    font-size: 1.1rem;
}

.card-box h3 {
    padding: 0;
    margin: 0 0 8px 0;
    color: var(--color-text-light);
    line-height: 1.3rem;
    font-size: 1.1rem;
}

.card-box h4 {
    padding: 0;
    margin: 0 0 12px 0;
    font-weight: 300;
    color: var(--color-text-light);
    line-height: 1.2rem;
    font-size: 1rem;
}

.card-box .wp-block-image {
    margin: 0.4em 1em 1em 0;
}

.card-box .wp-block-image figure.alignleft {
    float: left;
    margin: 0.7em 1em 1em 0;
}

.card-box p {
    line-height: 1.2rem;
    font-size: 0.9rem;
    margin: 0 0 15px 0;
}

.card-box > .wp-block-media-text__media {
    align-self: flex-start;
    align-items: center;
}

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

.no-side-margin div {
    margin-left: 0;
    margin-right: 0;
}

.no-padding div {
    padding-top: 0;
    padding-bottom: 0;
}

.widget {
    padding-bottom: 2.5em;
}

.textwidget {
	color: #111;
	font-family: "roboto condensed";
}

a {
    color: #23347A;;
    text-decoration: underline;
		font-weight: 600;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.entry-content a, .entry-content a:hover {
	box-shadow: none !important;
}

a.wp-block-button__link:hover {
	-webkit-box-shadow: 3px 3px 5px 1px rgba(0,0,0,0.45) !important; 
box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.45) !important;
}

.thead-dark-gray-borders tbody tr:nth-child(odd) {
  background-color: #eeeeee;
}

/* ==========================================================================
   Gutenberg ACCORDION TOGGLE BUTTON
   ========================================================================== */


/* Flex wrapper for title + button */
.accordion-header-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    gap: 20px;
}

.accordion-header-bar .accordion-title,
.accordion-header-bar h2,
.accordion-header-bar h3,
.accordion-header-bar h4 {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.2;
}

/* Gutenberg accordion toggle button */
.gutenberg-accordion-toggle {
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 16px;
    margin-bottom: 1.5em;
    background-color: #fff;
    color: #23347A;
    border: 2px solid #23347A;
    border-radius: 25px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    display: inline-block;
    float: right;
}

.gutenberg-accordion-toggle:hover,
.gutenberg-accordion-toggle:focus {
    background-color: #d7ebfa;
}

.gutenberg-accordion-toggle:focus {
    outline: 2px solid #7EBDEB;
    outline-offset: 2px;
}

/* Override ONLY when inside flex wrapper */
.accordion-header-bar .gutenberg-accordion-toggle {
    margin: 0;
    float: none;
    flex-shrink: 0;
    align-self: center;
}

/* Clear floats and spacing for accordions */
.wp-block-accordion {
    clear: both;
    width: 100%;
    display: block;
}

.wp-block-accordion:not(:has(+ .wp-block-accordion)) {
    margin-bottom: 1.5em;
}

/* ==========================================================================
   LEGACY FAQ SHORTCODES - Bootstrap 4 Compatibility
   ========================================================================== */

/* FAQ Item Container */
.legacy-faq-item {
    margin-bottom: 0.4em;
}

/* FAQ Heading/Button */
.legacy-faq-item .wp-block-accordion-heading {
    padding: 10px 15px 8px 18px;
    font-size: 19px;
    font-weight: 500;
    background-color: #2B50A3;
    color: #fff;
	  border: none;
    margin: 5px;
}

.legacy-faq-item .wp-block-accordion-heading button {
	padding: 0 3px 2px;
}

/* FAQ Heading When Open */
.legacy-faq-item.is-open .wp-block-accordion-heading {
    background-color: #23347A;
	border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

/* FAQ Toggle Button (Inside Heading) */
.legacy-faq-toggle {
    width: 100%;
    background: none;
    border: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* FAQ Toggle Focus State (Accessibility) */
.legacy-faq-toggle:focus {
    outline: 0px solid;
    outline-offset: 0px;
}

/* FAQ Content Panel (Hidden by Default) */
.legacy-faq-panel {
    padding: 5px 25px 5px 30px;
    font-size: 17px;
	  margin: -5px 15px 25px  15px;
    border: 0.5px solid;
    border-top: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    background-color: #fff;
  border-radius: 5;
}

/* FAQ Toggle Icon (+ symbol) */
.wp-block-accordion-heading__toggle-icon {
    font-weight: bold;
    transition: transform 0.2s;
}

/* ==========================================================================
   BOOTSTRAP 4 GRID COMPATIBILITY
   ========================================================================== */

/* Container */
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

/* Container Fluid */
.container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

/* Row */
.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

/* Column */
[class*='col-'] {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

/* ==========================================================================
   BOOTSTRAP 4 CARD COMPATIBILITY
   ========================================================================== */

.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
    margin-bottom: 1rem;
}

.card-body {
    flex: 1 1 auto;
    padding: 1.25rem;
}

.card-title {
    margin-bottom: 0.75rem;
}

.card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.card-img-top {
    width: 100%;
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px);
}

.card-text {
    margin-bottom: 0;
}

/* ==========================================================================
   BOOTSTRAP 4 BUTTON COMPATIBILITY
   ========================================================================== */

.btn {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, 
                border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    text-decoration: none;
    cursor: pointer;
}

.btn-primary {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}

.btn-primary:hover {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc;
}

.btn-secondary {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}

.btn-secondary:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
}

.btn-success {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

.btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
}

.btn-danger {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}

.btn-danger:hover {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
}

.btn-warning {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107;
}

.btn-warning:hover {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00;
}

.btn-info {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

.btn-info:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
}

.btn-light {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa;
}

.btn-light:hover {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5;
}

.btn-dark {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}

.btn-dark:hover {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124;
}

.btn-link {
    font-weight: 400;
    color: #007bff;
    background-color: transparent;
    text-decoration: none;
}

.btn-link:hover {
    color: #0056b3;
    text-decoration: underline;
    background-color: transparent;
    border-color: transparent;
}

/* Button Sizes */
.btn-lg {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0.3rem;
}

.btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

.btn-block {
    display: block;
    width: 100%;
}

/* ==========================================================================
   BOOTSTRAP 4 ALERT COMPATIBILITY
   ========================================================================== */

.alert {
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

.alert-primary {
    color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff;
}

.alert-secondary {
    color: #383d41;
    background-color: #e2e3e5;
    border-color: #d6d8db;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}

.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

.alert-light {
    color: #818182;
    background-color: #fefefe;
    border-color: #fdfdfe;
}

.alert-dark {
    color: #1b1e21;
    background-color: #d6d8d9;
    border-color: #c6c8ca;
}

/* Alert Dismissible */
.alert-dismissible {
    padding-right: 4rem;
}

.alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.75rem 1.25rem;
    color: inherit;
    background-color: transparent;
    border: 0;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    opacity: 0.5;
}

.alert-dismissible .close:hover {
    opacity: 0.75;
}

/* ==========================================================================
   BOOTSTRAP 4 BADGE COMPATIBILITY
   ========================================================================== */

.badge {
    display: inline-block;
    padding: 0.25em 0.4em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25rem;
}

.badge-primary {
    color: #fff;
    background-color: #007bff;
}

.badge-secondary {
    color: #fff;
    background-color: #6c757d;
}

.badge-success {
    color: #fff;
    background-color: #28a745;
}

.badge-danger {
    color: #fff;
    background-color: #dc3545;
}

.badge-warning {
    color: #212529;
    background-color: #ffc107;
}

.badge-info {
    color: #fff;
    background-color: #17a2b8;
}

.badge-light {
    color: #212529;
    background-color: #f8f9fa;
}

.badge-dark {
    color: #fff;
    background-color: #343a40;
}

.badge-pill {
    padding-right: 0.6em;
    padding-left: 0.6em;
    border-radius: 10rem;
}

/* ==========================================================================
   BOOTSTRAP 4 JUMBOTRON COMPATIBILITY
   ========================================================================== */

.jumbotron {
    padding: 2rem 1rem;
    margin-bottom: 2rem;
    background-color: #e9ecef;
    border-radius: 0.3rem;
}

@media (min-width: 576px) {
    .jumbotron {
        padding: 4rem 2rem;
    }
}

.jumbotron-fluid {
    padding-right: 0;
    padding-left: 0;
    border-radius: 0;
}

.display-4 {
    font-size: 3.5rem;
    font-weight: 300;
    line-height: 1.2;
}

@media (max-width: 1200px) {
    .display-4 {
        font-size: calc(1.475rem + 2.7vw);
    }
}

/* ==========================================================================
   BOOTSTRAP 4 UTILITY CLASSES
   ========================================================================== */

.lead {
    font-size: 1.25rem;
    font-weight: 300;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.collapse {
    display: none;
}

.collapse.show {
    display: block;
}

.fade {
    opacity: 0;
    transition: opacity 0.15s linear;
}

.fade.show {
    opacity: 1;
}

.mb-0 {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   COLLAPSE SHORTCODE - FAQ STYLE (FIXED WITH SPECIFICITY)
   ========================================================================== */

/* Accordion container */
.accordion {
    margin: 2rem 0;
}

/* Reset card styling */
.accordion .card {
    border: none !important;
    margin-bottom: 0.4em;
    background-color: transparent !important;
}

/* Style the card header container */
.accordion .card-header {
    padding: 0;
    margin: 0px;
    background-color: transparent !important;
    border: none !important;
}

/* Style the collapse button to look like FAQ question */
.accordion .card-header .btn-link {
    width: 100%;
    text-align: left;
    padding: 10px 15px 8px 18px;
    font-size: 19px;
    font-weight: 500;
    background-color: #2B50A3;
    color: #fff;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    margin: 0;
    position: relative;
    display: block;
    transition: background-color 0.3s ease;
    cursor: pointer;
}

.accordion .card-header .btn-link:hover,
.accordion .card-header .btn-link:focus {
    background-color: #1a2659 !important;
    color: #fff !important;
    text-decoration: none !important;
    outline: 0;
    box-shadow: none;
}

/* When collapse is open */
.accordion .card-header .btn-link[aria-expanded="true"] {
    background-color: #23347A !important;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Add plus/minus icon on the right */
.accordion .card-header .btn-link::after {
    content: '+';
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    transition: transform 0.2s ease;
}

/* Change to minus when open */
.accordion .card-header .btn-link[aria-expanded="true"]::after {
    content: '−';
}

/* Style the collapse content container */
.accordion .card .collapse {
    margin: 0px 1px 25px 1px;
}

/* List group inside collapse */
.accordion .card .list-group-flush {
    border: 0.5px solid #63666A;
    border-top: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    background-color: #fff;
    margin: 0;
    padding: 0;
}

/* Individual list items - FORCE remove link styling */
.accordion .card .list-group-item,
.accordion .card .list-group .list-group-item {
    padding: 10px 25px 10px 30px !important;
    font-size: 17px !important;
    border: none !important;
    background-color: transparent !important;
    color: #333 !important;
    text-decoration: none !important;
    cursor: default !important;
    pointer-events: auto !important;
}

/* Remove any hover effects on list items themselves */
.accordion .card .list-group-item:hover,
.accordion .card .list-group-item:focus {
    background-color: transparent !important;
    color: #333 !important;
}

.accordion .card .list-group-item:first-child {
    padding-top: 15px !important;
}

.accordion .card .list-group-item:last-child {
    padding-bottom: 15px !important;
}

/* FORCE borders between list items */
.accordion .card .list-group-item + .list-group-item {
    border-top: 1px solid #ddd !important;
    margin-top: 0 !important;
}

/* Override any list-group-item-action styles */
.accordion .card .list-group-item.list-group-item-action {
    color: #333 !important;
    cursor: default !important;
}

.accordion .card .list-group-item.list-group-item-action:hover,
.accordion .card .list-group-item.list-group-item-action:focus {
    background-color: transparent !important;
    color: #333 !important;
}

/* Style actual anchor links inside list items */
.accordion .card .list-group-item a,
.accordion .card .list-group-item a:link {
    color: #007bff !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.accordion .card .list-group-item a:hover {
    color: #0056b3 !important;
}

/* Style images inside list items */
.accordion .card .list-group-item img {
    max-width: 100%;
    height: auto;
    display: block;
}

.accordion .card .list-group-item .img-fluid {
    margin-bottom: 1rem;
}

/* Regular card-body content for collapses without list-group */
.accordion .card .collapse .card-body {
    padding: 15px 25px 15px 30px;
    font-size: 17px;
    border: 0.5px solid #63666A;
    border-top: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    background-color: #fff;
    margin: 0;
}

/* Hide extra br tags that might appear */
.accordion .card .list-group-flush > br {
    display: none;
}

/* Add border to top of all items except first */
.accordion .card .list-group-item:not(:first-of-type) {
    border-top: 1px solid #ddd !important;
}

.accordion .card .list-group-item > br:first-child,
.accordion .card .list-group-item > br:last-child {
    display: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .accordion .card-header .btn-link {
        padding: 8px 50px 8px 15px;
        font-size: 17px;
    }
    
    .accordion .card-header .btn-link::after {
        right: 15px;
        font-size: 20px;
    }
    
    .accordion .card .list-group-item,
    .accordion .card .collapse .card-body {
        padding-left: 15px !important;
        padding-right: 15px !important;
        font-size: 16px !important;
    }
}

/* ==========================================================================
   STANDALONE COLLAPSE (without accordion wrapper)
   Fallback for collapses used outside accordion context
   ========================================================================== */

/* Target cards that are NOT inside an accordion */
.card:not(.accordion .card) {
    border: none;
    margin-bottom: 0.4em;
    background-color: transparent;
}

.card:not(.accordion .card) .card-header {
    padding: 0;
    margin: 0px;
    background-color: transparent;
    border: none;
}

.card:not(.accordion .card) .card-header .btn-link {
    width: 100%;
    text-align: left;
    padding: 10px 15px 8px 18px;
    font-size: 19px;
    font-weight: 500;
    background-color: #2B50A3;
    color: #fff;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    margin: 0;
    position: relative;
    display: block;
    transition: background-color 0.3s ease;
    cursor: pointer;
}

.card:not(.accordion .card) .card-header .btn-link:hover,
.card:not(.accordion .card) .card-header .btn-link:focus {
    background-color: #1a2659;
    color: #fff;
    text-decoration: none;
}

.card:not(.accordion .card) .card-header .btn-link[aria-expanded="true"] {
    background-color: #23347A;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.card:not(.accordion .card) .card-header .btn-link::after {
    content: '+';
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}

.card:not(.accordion .card) .card-header .btn-link[aria-expanded="true"]::after {
    content: '−';
}

.card:not(.accordion .card) .collapse {
    margin: 0px 1px 25px 1px;
}

.card:not(.accordion .card) .list-group-flush {
    border: 0.5px solid #63666A;
    border-top: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    background-color: #fff;
}

.card:not(.accordion .card) .list-group-flush > br {
    display: none;
}

.card:not(.accordion .card) .list-group-item {
padding: 10px 25px 10px 30px !important;
    font-size: 17px !important;
    border: none !important;
    background-color: transparent !important;
    color: #333 !important;
    text-decoration: none !important;
    cursor: default !important;
    pointer-events: auto !important;
}


.card:not(.accordion .card) .list-group-item > br:first-child, 
.card:not(.accordion .card) .list-group-item > br:last-child {
    display: none;
}

.card:not(.accordion .card) .list-group-item:not(:first-of-type) {
    border-top: 1px solid #ddd !important;
}


/* ==========================================================================
   HERO BANNER WIDGET AREA
   Full-width banner area below header
   ========================================================================== */

.hero-banner-area {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
}

/* Widget container - full width with optional padding */
.hero-banner-widget {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    overflow: hidden;
}

/* Title styling - for text overlays */
.hero-banner-title {
    margin: 0;
    padding: 0;
    font-size: 2.5em;
    font-weight: 700;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    position: relative;
    z-index: 2;
}

/* Image Widget styling - make images full width */
.hero-banner-widget img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
}

/* Custom HTML Widget styling - for text overlays on images */
.hero-banner-widget .textwidget {
    position: relative;
}

/* Optional: Text overlay container (use Custom HTML widget with this class) */
.hero-banner-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
    z-index: 2;
    width: 90%;
    max-width: 1200px;
}

.hero-banner-overlay h1,
.hero-banner-overlay h2,
.hero-banner-overlay h3 {
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    margin: 0 0 0.5em 0;
}

.hero-banner-overlay p {
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
    font-size: 1.2em;
    margin: 0;
}

/* Responsive adjustments */
@media screen and (max-width: 48em) {
    .hero-banner-title {
        font-size: 1.8em;
    }

    .hero-banner-overlay h1,
    .hero-banner-overlay h2 {
        font-size: 1.5em;
    }

    .hero-banner-overlay p {
        font-size: 1em;
    }
}

/* ==========================================================================
   LIGHT MODAL BLOCK - CURSOR FIX
   Scoped to site content only - excludes editor interface
   ========================================================================== */

/* CloudCatch Light Modal Block specific triggers */
.site-content a[data-modal-open],
.site-content [data-modal-open] a,
.site-content a.cloudcatch-lmb-modal-trigger,
.site-content .cloudcatch-lmb-modal-trigger,
.site-content [class*="cloudcatch-lmb"] a {
    cursor: pointer !important;
}

/* Genesis blocks with modal triggers - add your custom class names here */
.site-content .wp-block-genesis-blocks-gb-container.modal-trigger,
.site-content .wp-block-genesis-blocks-gb-container.my-popup,
.site-content .wp-block-genesis-blocks-gb-container.newtest,
.site-content .wp-block-genesis-blocks-gb-columns.modal-trigger,
.site-content .wp-block-genesis-blocks-gb-columns.my-popup,
.site-content .wp-block-genesis-blocks-gb-columns.newtest,
.site-content .gb-block-container.modal-trigger,
.site-content .gb-block-container.my-popup,
.site-content .gb-block-container.newtest,
.site-content .wp-block-genesis-blocks-gb-notice.modal-trigger,
.site-content .wp-block-genesis-blocks-gb-notice.my-popup,
.site-content .wp-block-genesis-blocks-gb-notice.newtest,
.site-content .gb-block-notice.modal-trigger,
.site-content .gb-block-notice.my-popup,
.site-content .gb-block-notice.newtest {
    cursor: pointer !important;
}

/* Genesis block children when used as modal triggers */
.site-content .wp-block-genesis-blocks-gb-container.modal-trigger *,
.site-content .wp-block-genesis-blocks-gb-container.my-popup *,
.site-content .wp-block-genesis-blocks-gb-container.newtest *,
.site-content .gb-block-container.modal-trigger *,
.site-content .gb-block-container.my-popup *,
.site-content .gb-block-container.newtest *,
.site-content .wp-block-genesis-blocks-gb-notice.modal-trigger *,
.site-content .wp-block-genesis-blocks-gb-notice.my-popup *,
.site-content .wp-block-genesis-blocks-gb-notice.newtest *,
.site-content .gb-block-notice.modal-trigger *,
.site-content .gb-block-notice.my-popup *,
.site-content .gb-block-notice.newtest * {
    cursor: pointer !important;
}

/* WordPress core blocks with specific modal trigger classes */
.site-content .wp-block-button.modal-trigger .wp-block-button__link,
.site-content .wp-block-button.my-popup .wp-block-button__link,
.site-content .wp-block-image.modal-trigger,
.site-content .wp-block-image.my-popup,
.site-content .wp-block-group.modal-trigger,
.site-content .wp-block-group.my-popup,
.site-content .wp-block-cover.modal-trigger,
.site-content .wp-block-cover.my-popup {
    cursor: pointer !important;
}

/* Specific data attribute triggers (scoped to content) */
.site-content *[data-modal-open],
.site-content *[data-popup],
.site-content *[data-id] {
    cursor: pointer !important;
}

/* Children of elements with data-id (Light Modal triggers) */
.site-content *[data-id] * {
    cursor: pointer !important;
}

/* ==========================================================================
   SEARCH BUTTON STYLING
   Match WordPress search button colors to enterprise search
   ========================================================================== */

/* WordPress Search Widget button colors and layout */
.widget_search .search-submit,
.search-form .search-submit,
form.search-form button[type="submit"] {
    background-color: #23347A !important;
    color: #fff !important;
    border-color: #23347A !important;
    bottom: 0px;
    padding: 0.5em 1em;
    position: absolute;
    right: 0px;
    top: 0px;
    border-radius: 0px 4px 4px 0px;
}

.widget_search .search-submit:hover,
.widget_search .search-submit:focus,
.search-form .search-submit:hover,
.search-form .search-submit:focus,
form.search-form button[type="submit"]:hover,
form.search-form button[type="submit"]:focus {
    background-color: #1a2659 !important;
    border-color: #1a2659 !important;
    color: #fff !important;
}

/* WordPress Search Block button colors */
.wp-block-search__button,
.wp-block-search .wp-block-search__button {
    background-color: #23347A !important;
    color: #fff !important;
    border-color: #23347A !important;
}

.wp-block-search__button:hover,
.wp-block-search__button:focus,
.wp-block-search .wp-block-search__button:hover,
.wp-block-search .wp-block-search__button:focus {
    background-color: #1a2659 !important;
    border-color: #1a2659 !important;
    color: #fff !important;
}

/* ==========================================================================
   DEFAULT BUTTON STYLES
   Indigo buttons with white text, proper hover states
   ========================================================================== */

/* Default button style - Filled indigo (only when no custom color set) */
.wp-block-button__link:not(.has-background) {
    background-color: #23347A;
    color: #fff;
    border: 2px solid #23347A;
}

.wp-block-button__link:not(.has-background):hover,
.wp-block-button__link:not(.has-background):focus {
    background-color: #0b1c4a;
    border-color: #0b1c4a;
    color: #fff;
}

/* Outline button style - White background with indigo border */
.is-style-outline .wp-block-button__link:not(.has-background) {
    background-color: #fff;
    color: #000;
    border: 2px solid #23347A;
}

.is-style-outline .wp-block-button__link:not(.has-background):hover,
.is-style-outline .wp-block-button__link:not(.has-background):focus {
    background-color: #f0f0f0;
    color: #23347A;
    border-color: #23347A;
}

/* Universal hover effect for ALL buttons (including custom colors) */
.wp-block-button__link:hover,
.wp-block-button__link:focus {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.2s ease;
}

.wp-block-button__link {
    transition: all 0.2s ease;
}

/* ==========================================================================
   BLOG SIDEBAR LINK STYLES
   Remove double underlines, reduce hover underline thickness
   ========================================================================== */

/* Remove all underlines from sidebar links (fixes double underline in text widgets) */
#secondary a,
.sidebar a {
    text-decoration: none !important;
    box-shadow: none !important;
}

/* Add thinner underline on hover only */
#secondary a:hover,
#secondary a:focus,
.sidebar a:hover,
.sidebar a:focus {
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    box-shadow: none !important;
}

/* ==========================================================================
   SIDEBAR BLOCK ELEMENTS
   Style WP blocks in sidebar to match standard widget styles
   ========================================================================== */

/* Blog sidebar h2 headings (block-based widgets) */
#secondary.widget-area .wp-block-heading,
#secondary.widget-area h2 {
    color: var(--color-text-dark);
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.1818em;
    margin-bottom: 1em;
    padding-top: 0;
    text-transform: uppercase;
}

/* Blog sidebar paragraphs (block-based widgets) */
#secondary.widget-area .wp-block-paragraph,
#secondary.widget-area p {
    color: #333;
    margin-bottom: 1em;
}

/* Footer widget h2 headings (block-based) */
.site-footer .widget-area .wp-block-heading,
.site-footer .widget-area h2 {
    color: #ddd;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.1818em;
    margin-bottom: 1em;
    padding-top: 0;
    text-transform: uppercase;
}

/* Footer widget paragraphs (block-based) */
.site-footer .widget-area .wp-block-paragraph,
.site-footer .widget-area p {
    color: #eee;
    margin-bottom: 1em;
}