.gform-theme--framework .gfield--type-choice .gfield_checkbox,.gform-theme--framework .gfield--type-choice .gfield_radio {
    display: grid!important;
    flex-direction: column;
    gap: var(--gf-field-choice-gap)
}

/* SEARCH RESULTS START */
/* Search Page Layout */
.search-results-wrapper {
    max-width: 100%;
    margin: 0 auto;
    font-family: 'Atkinson Hyperlegible', sans-serif;
}

/* Search Bar */
.search-bar-wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    background: #fff;
}

.search-bar-wrapper input[type="text"] {
    border: none;
    flex: 1;
    padding: 6px;
    font-size: 1rem;
    outline: none;
}

.site-branding i.fa-search.fa-solid {
	font-size: 28px!important;
}

.search-bar-wrapper button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
}

/* Search Results */
.search-title {
    font-weight: 700;
    font-size: 1.4rem;
}

.search-result-item a {
    color: #04639F;
/*     font-size: 24px; */
    font-weight: 100;
    text-decoration: underline!important;
}

a.search-result-link {
    font-size: 16px;
}

.search-result-item a:hover {
    text-decoration: underline;
}

.search-result-date {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 4px;
}

.search-result-link {
    color: #005ea2;
    font-size: 0.9rem;
}

/* Pagination */
.search-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.search-pagination a,
.search-pagination span {
    color: #005ea2;
    text-decoration: none;
    padding: 4px 6px;
}

.search-pagination a:hover {
    text-decoration: underline;
}

/* Items per page dropdown */
.search-controls {
    display: flex;
    align-items: center;
    gap: 6px;
}

.search-controls select {
    border: 1px solid #ccc;
    padding: 4px 8px;
    font-size: 0.95rem;
}

.col-12.col-sm-10.col-lg-12.d-flex.align-items-center {
    gap: 90px;
}

#searchform .search-bar-wrapper {
    width: 100%
}

.search-bar {
    width: 100%
}

#searchform i.fa.fa-search {
    color: #356699;
    font-size: 1.85em;
    margin-top: 3px
}

.search-results .search-bar-wrapper {
    background: var(--color7);
    padding: 10px 20px;
    display: block !important;
	
}

.search-results #searchform .search-bar-wrapper {
    width: 100%;
    display: flex !important;
	
}

/* Wrapper */
.search-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

/* Results count text */
.search-results-count {
    font-size: 0.95rem;
    color: #333;
    white-space: nowrap;
}

/* Pagination container */
.pagination-links {
    display: flex;
    align-items: center;
}

/* UL reset + horizontal layout */
.pagination-links .page-numbers {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* LI reset */
.pagination-links .page-numbers li {
    margin: 0;
    padding: 0;
}

/* Page links */
.pagination-links .page-numbers a,
.pagination-links .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    font-size: 0.9rem;
    color: #005ea2;
    text-decoration: none;
    border-radius: 3px;
    line-height: 1;
}

/* Current page */
.pagination-links .page-numbers .current {
    font-weight: 600;
    color: #000;
    cursor: default;
}

/* Dots */
.pagination-links .page-numbers .dots {
    color: #666;
    pointer-events: none;
}

/* Next button */
.pagination-links .page-numbers .next {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

/* Hover states */
.pagination-links .page-numbers a:hover {
    text-decoration: underline;
}

/* Mobile stacking (optional but recommended) */
@media (max-width: 576px) {
    .search-pagination {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
}


/**
 * Search bar hover/focus — page + header (site-branding) instances
 *
 * @author Fudo
 * @date 2026-06-10
 */
div.search-bar-wrapper,
.site-branding .search-bar-wrapper {
    border: 1px solid #999 !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

div.search-bar-wrapper:hover,
div.search-bar-wrapper:focus-within,
.site-branding .search-bar-wrapper:hover,
.site-branding .search-bar-wrapper:focus-within {
    border-color: #A8BCAF !important;
    box-shadow: inset 0 0 0 3px #A8BCAF !important;
}

/* Strip the inner input/button in the header instance too */
.site-branding .search-bar-wrapper input#s,
.site-branding .search-bar-wrapper input#s:hover,
.site-branding .search-bar-wrapper input#s:focus {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.site-branding .search-bar-wrapper button#searchsubmit {
    border: none !important;
    outline: none !important;
}

div.search-bar-wrapper button#searchsubmit {
    border: none !important;
    background: transparent;
/*     padding: 0 20px; */
    cursor: pointer;
}

.search-results input#s-1 {
	border: none!important;
}

.header_search .search-field {
	padding: 5px 10px!important
}

#searchform i.fa.fa-search {
	color: var(--icdv-black)
}

/* SEARCH RESULTS END */
/* Search overlay — fill viewport when active (fixes height:0 collapse) */
.custom-search-bar.active {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 9999 !important;
    background: rgba(55, 76, 86, 0.97);
    overflow-y: auto;
    padding: 5vh 0;
}

/* Center the search card in the overlay */
.custom-search-bar.active {
    display: flex !important;
    align-items: flex-start;
    justify-content: center;
}
.custom-search-bar.active .row {
    width: 100%;
    margin: 0;
    justify-content: center;
}
.custom-search-bar.active .modal-body {
    margin: 0 auto;
}

/* Center the search card vertically + kill dead space above it */
.custom-search-bar.active {
    align-items: center !important;       /* was flex-start */
    justify-content: center !important;
    padding: 0 !important;
}
.custom-search-bar.active .top-navigation {
    display: none !important;             /* empty spacer div pushing card down */
}
.custom-search-bar.active .row {
    width: 100%;
    max-width: 900px;
    margin: 0 auto !important;
    align-items: center;
}
.custom-search-bar.active .modal-body {
    margin: 0 auto !important;
    max-height: 90vh;
    overflow-y: auto;                     /* scroll inside card if content is tall */
}

/* Force the card dead-center, ignore Bootstrap grid wrappers */
.custom-search-bar.active {
    display: block !important;
}
.custom-search-bar.active .row,
.custom-search-bar.active .col-sm-12,
.custom-search-bar.active .col-md-7,
.custom-search-bar.active .custom-left-text,
.custom-search-bar.active .top-navigation {
    all: unset !important;
    display: contents !important;
}
.custom-search-bar.active .modal-body {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 90% !important;
    max-width: 960px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    margin: 0 !important;
}

/* Header branding: logo left, search bar right */
.site-branding .row > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    display: flex !important;
    align-items: center;
    justify-content: space-between;  /* logo left, search right */
    gap: 24px;
}

.site-branding .logo {
    flex: 0 0 auto;
}

/* Search bar sits at the right, fixed comfortable width */
.site-branding .search-bar-wrapper {
    flex: 0 0 auto;
    width: 100%;
    max-width: 440px;
    margin-left: auto;   /* pushes it to the right edge */
}

.site-branding .search-bar {
    display: flex;
    align-items: center;
    background: var(--icdv-white);
    width: 100%;
}

.site-branding .search-bar input {
    flex: 1 1 auto;
    border: none;
    background: transparent;
    padding: 14px 16px;
/* 	line-height: 1.2em; */
    font-family: var(--icdv-font);
    color: var(--icdv-teal-dark);
}

.site-branding .search-bar .search-toggle {
    flex: 0 0 auto;
    background: var(--icdv-white);
    border: none;
    padding: 0 16px;
    cursor: pointer;
    color: var(--icdv-teal-dark);
}

.site-branding .search-bar .search-toggle i {
    font-size: 18px;
}

/* Stack on mobile */
@media (max-width: 767px) {
    .site-branding .row > [class*="col-"] {
        flex-direction: column;
        align-items: flex-start;
    }
    .site-branding .search-bar-wrapper {
        max-width: 100%;
        margin-left: 0;
    }
}

/* Smooth focus/hover on the header search — no layout jump */
.site-branding .search-bar {
    border: 1px solid transparent;   /* reserve the space at rest */
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.site-branding .search-bar:focus-within {
    border-color: #374C56;
    box-shadow: 0 0 0 2px rgba(55, 76, 86, 0.25);  /* outer glow, no layout shift */
}
/* Kill the inner inputs' own borders/shadows so they don't double up */
.site-branding .search-bar input:focus,
.site-branding .search-bar input:hover,
.site-branding .search-bar .search-toggle:focus,
.site-branding .search-bar .search-toggle:hover {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}
