:root {
    --astoria-blue: #005495;
    --astoria-blue-dark: #004e8a;
    --astoria-blue-darker: #00477f;
    --text-gray: #486b86;
          --coa-blue:#005495; --coa-navy:#00477f; --coa-teal:#1d4d5e; --coa-blue-hover:#1f6eb1;
      --bs-primary:#005495; --bs-primary-rgb:0,84,149;
      --bs-link-color:#005495; --bs-link-color-rgb:0,84,149; --bs-link-hover-color:#1f6eb1;
      --bs-body-color:#333;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: inherit;
}

.bg-astoria-blue {
    background-color: var(--astoria-blue) !important;
}

.ratio>* {
    object-fit: cover;
}

@media (max-width: 767.98px) {

    h1,
    .h1 {
        font-size: 24px;
        font-weight: 600;
    }

    h2,
    h1.small-h1,
    .h2 {
        font-size: 22px;
        font-weight: 600;
    }

    h3,
    .h3 {
        font-size: 20px;
        font-weight: 600;
    }

    h4,
    .h4 {
        font-size: 18px;
        font-weight: 600;
    }

    h5,
    .h5 {
        font-size: 16px;
        font-weight: 600;
    }

    h6,
    .h6 {
        font-size: 14px;
        font-weight: 600;
    }
}

h1,
.h1 {
    font-size: 28px;
}

h2,
h1.small-h1,
.h2 {
    font-size: 25px;
}

h3,
.h3 {
    font-size: 22px;
}

h4,
.h4 {
    font-size: 20px;
}

h5,
.h5 {
    font-size: 18px;
}

h6,
.h6 {
    font-size: 14px;
}

.coa-button {
    display: inline-block;
    position: relative;
    cursor: pointer;
    white-space: nowrap;
    margin: 0;
    padding: 13px 20px;
    font-size: 16px;
    border-radius: 6px;
    line-height: 1;
    background-color: #005495;
    color: #FFF;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0;
    border: none;
    text-shadow: none;
}

.coa-button:hover {
    background-color: #00477f;
    color: #FFF;
}

.coa-button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px #005495;
}

.coa-button.on-dark {
    background-color: white;
    color: #005495;
}

.coa-button.on-dark:hover {
    background-color: #a0bfd7;
    color: #003c65;
}

.coa-button.on-dark:focus-visible {
    outline: 3px solid #005495;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(0, 84, 149, 0.3);
}

.coa-button-outline {
    display: inline-block;
    position: relative;
    cursor: pointer;
    white-space: nowrap;
    margin: 0;
    padding: 13px 20px;
    font-size: 16px;
    border-radius: 6px;
    line-height: 1;
    background-color: #fff;
    color: #005495;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0;
    border: 1px solid #005495;
    text-shadow: none;
}

.coa-button-outline:hover {
    background-color: #005495;
    color: #fff;
    border-color: #005495;
}

.coa-button-outline:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px #005495;
}

.coa-button-reversed {
    display: inline-block;
    position: relative;
    cursor: pointer;
    white-space: nowrap;
    margin: 0;
    padding: 13px 20px;
    font-size: 16px;
    border-radius: 6px;
    line-height: 1;
    background-color: #005495;
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0;
    border: 1px solid #fff;
    text-shadow: none;
}

.coa-button-reversed:hover {
    background-color: #00477f;
    color: #fff;
    border-color: #fff;
}

.coa-button-reversed:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px #005495;
}

#google_translate_element .VIpgJd-ZVi9od-l4eHX-hSRGPd {
    display: none !important;
}

#google_translate_element select.goog-te-combo option {
    color: #666 !important;
    background-color: #fff !important;
}

#google_translate_element select.goog-te-combo option:hover {
    background-color: #eee !important;
    color: #333 !important;
}

#google_translate_element select.goog-te-combo option:checked {
    background-color: #ddd !important;
    color: #333 !important;
}


.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: #fff;
    padding: 8px;
    z-index: 9999;
    text-decoration: none;
}

.skip-link:focus {
    top: 0 !important;
    z-index: 9999;
}

#printfriendly .qa_hide {
    display: block !important;
}

::selection {
    background: #6C9DC2
        /* WebKit/Blink Browsers */
}

::-moz-selection {
    background: #6C9DC2;
    /* Gecko Browsers */
}

::placeholder {
    color: #8797a4;
    opacity: 1;
}


.rwControlButtons {
    margin-right: 20px !important;
}

.home-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding-left: 0;
}


.home-intro h1 {
    font-size: 24px;
    color: #005495;
    line-height: 1.1;
}

.home-intro div {
    width: 100%
}

.home-intro-section {
    padding-top: 40px;
    position: relative;
    background: #F0F0F0;
    background-image: url(/Content/images/Home-Background-1.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
}

.home-intro-section:after {
    position: absolute;
    content: "";
    bottom: 0;
    background: linear-gradient(0deg, rgba(240, 240, 240, 1) 29%, rgba(240, 240, 240, 0) 86%);
    width: 100%;
    left: 0;
    height: 50%;
    z-index: 0;
}

.home-intro-section .container {
    position: relative;
    z-index: 2;
    padding-left: 0;
    padding-right: 0;
}

/* .home-bottom-section > .container {
    padding-left: 0;
    padding-right: 0;
} */

.historic-map-key {
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
}

.historic-map-key li {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .35rem;
    line-height: 1.3;
}

.historic-map-key__icon {
    width: 1.25rem;
    height: .75rem;
    border-radius: 2px;
    flex: 0 0 auto;
}

.historic-map-key__icon--adair {
    background: #8232fa;
}

.historic-map-key__icon--downtown-register {
    background: #63cfe2;
}

.historic-map-key__icon--downtown-hia {
    background: #90df9f;
}

.historic-map-key__icon--hobson {
    background: #c89be9;
}

.historic-map-key__icon--shively {
    background: #ffbc48;
}

.historic-map-key__icon--uniontown {
    background: #ff5a5a;
}

.home-bottom-section {
    position: relative;
    background: #F0F0F0;
}


.home-mid-section {
    position: relative;
    background: #F0F0F0;
}

.business-start-page .home-intro-section,
.business-start-page .home-mid-section,
.business-start-page .home-bottom-section,
.short-term-rentals-page .home-intro-section,
.short-term-rentals-page .home-mid-section,
.short-term-rentals-page .home-bottom-section,
.historic-review-page .home-intro-section,
.historic-review-page .home-mid-section,
.historic-review-page .home-bottom-section {
    padding-left: 0;
    padding-right: 0;
}


.business-start-page .home-mid-section > .container,
.business-start-page .home-bottom-section > .container,

.short-term-rentals-page .home-mid-section > .container,
.short-term-rentals-page .home-bottom-section > .container,

.historic-review-page .home-mid-section > .container,
.historic-review-page .home-bottom-section > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}





.business-start-page .business-start-intro,
.short-term-rentals-page .short-term-rentals-intro {
    max-width: 760px;
}

@media (max-width: 768px) {
    .business-start-page .home-intro-section,
    .business-start-page .home-mid-section,
    .business-start-page .home-bottom-section,
    .short-term-rentals-page .home-intro-section,
    .short-term-rentals-page .home-mid-section,
    .short-term-rentals-page .home-bottom-section,
    .historic-review-page .home-intro-section,
    .historic-review-page .home-mid-section,
    .historic-review-page .home-bottom-section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .business-start-page .home-intro-section > .container,
    .business-start-page .home-mid-section > .container,
    .business-start-page .home-bottom-section > .container,
    .short-term-rentals-page .home-intro-section > .container,
    .short-term-rentals-page .home-mid-section > .container,
    .short-term-rentals-page .home-bottom-section > .container,
    .historic-review-page .home-intro-section > .container,
    .historic-review-page .home-mid-section > .container,
    .historic-review-page .home-bottom-section > .container {
        width: 100%;
        max-width: 100%;
    }

    .business-start-page .business-start-intro,
    .short-term-rentals-page .short-term-rentals-intro {
        width: 100% !important;
        padding: 30px;
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }

    .business-start-page .card.p-5 {
        padding: 1.5rem !important;
    }

}

@media (max-width: 1200px) {
    .business-start-page .home-mid-section .alert {
        margin-left: 1.5rem;
        margin-right: 1.5rem;
    }

     .historic-review-page .home-mid-section header {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

.historic-review-grid {
    --historic-review-grid-gap: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: var(--historic-review-grid-gap);
}

.historic-review-grid__item {
    display: flex;
    flex: 0 0 100%;
    max-width: 100%;
}

.historic-review-grid__item > .card {
    width: 100%;
}

.historic-handouts-grid {
    --historic-handouts-grid-gap: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: var(--historic-handouts-grid-gap);
}

.historic-handouts-grid__item {
    display: flex;
    flex: 0 0 100%;
    max-width: 100%;
}

.historic-handouts-grid__item > .card {
    width: 100%;
}

.historic-award-grid {
    --historic-award-grid-gap: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: var(--historic-award-grid-gap);
}

.historic-award-grid__item {
    display: flex;
    flex: 0 0 100%;
    max-width: 100%;
}

.historic-award-grid__item > .card {
    width: 100%;
}

.historic-review-grid__item > .card .ratio,
.historic-handouts-grid__item > .card .ratio,
.historic-award-grid__item > .card .ratio {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
    overflow: hidden;
}

.historic-review-grid__item > .card .ratio img,
.historic-handouts-grid__item > .card .ratio img,
.historic-award-grid__item > .card .ratio img {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}

@media (min-width: 576px) {
    .historic-review-grid__item {
        flex-basis: calc((100% - var(--historic-review-grid-gap)) / 2);
        max-width: calc((100% - var(--historic-review-grid-gap)) / 2);
    }

    .historic-handouts-grid__item {
        flex-basis: calc((100% - var(--historic-handouts-grid-gap)) / 2);
        max-width: calc((100% - var(--historic-handouts-grid-gap)) / 2);
    }

    .historic-award-grid__item {
        flex-basis: calc((100% - var(--historic-award-grid-gap)) / 2);
        max-width: calc((100% - var(--historic-award-grid-gap)) / 2);
    }
}

@media (min-width: 768px) {
    .historic-review-grid__item {
        flex-basis: calc((100% - 3rem) / 3);
        max-width: calc((100% - 3rem) / 3);
    }

    .historic-handouts-grid__item {
        flex-basis: calc((100% - 3rem) / 3);
        max-width: calc((100% - 3rem) / 3);
    }

    .historic-award-grid__item {
        flex-basis: calc((100% - 3rem) / 3);
        max-width: calc((100% - 3rem) / 3);
    }
}

@media (min-width: 1200px) {
    .historic-review-grid__item {
        flex-basis: calc((100% - 7.5rem) / 6);
        max-width: calc((100% - 7.5rem) / 6);
    }

    .historic-handouts-grid__item {
        flex-basis: calc((100% - 6rem) / 5);
        max-width: calc((100% - 6rem) / 5);
    }
}

.home-mid-section .container {
    padding: 20px 0px 30px !important;
}

.home-mid-section .feature-boxes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    row-gap: 3.5rem;
    padding: 10px 0 30px;
}

@media (min-width:480px) {
    .home-mid-section .feature-boxes {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:576px) {
    .home-mid-section .feature-boxes {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width:768px) {
    .home-mid-section .feature-boxes {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width:992px) {
    .home-mid-section .feature-boxes {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }
}

.home-mid-section .feature-box {
    height: 100%;
}

.home-mid-section .feature-boxes .fbox-icon .circle-badge {
    background-color: #005495 !important;
    color: #fff;
    border-radius: 50%;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 5px 6px 1px 6px;
    justify-content: center;
    margin: 0 auto 16px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.1;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.14);
    transition: all 0.3s ease-in-out;
}

.home-mid-section .feature-box.fbox-bg.fbox-center .fbox-icon {
    position: absolute;
    top: -24px;
    left: 50%;
    margin: 0 0 0 -48px;
}

.home-mid-section .feature-box.fbox-bg.fbox-center {
    padding: 68px 20px 15px;
    background-color: #FFF;
    border: none;
    border-radius: 6px;
}

.home-mid-section .feature-box {
    height: 100%;
}

.home-mid-section .feature-box a {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 12px 12px 0px;
    text-decoration: none;
}

.home-mid-section .feature-box h3 {
    color: #005495;
    font-size: 16px;
    letter-spacing: 0.3px;
    margin-top: 8px;
    text-align: center;
}

.home-mid-section .feature-box a:hover .circle-badge,
.home-mid-section .feature-box a:focus .circle-badge {
    background-color: #1f6eb1 !important;
    color: #e5f0ff;
    transition: all 0.3s ease-in-out;
}

.home-mid-section .feature-box a:hover,
.home-mid-section .feature-box a:focus {
    color: #1f6eb1 !important;
    transition: all 0.3s ease-in-out;
}

@media (max-width:768px) {
    .home-mid-section .feature-boxes {
        row-gap: 2rem;
    }
}


@media (max-width: 575px) {
    .home-mid-section .container {
        display: block;
        padding: 20px 30px 20px 30px !important;
        position: relative;
    }
}

@media (max-width: 375px) {
    .home-mid-section .container {
        display: block;
        padding: 20px 15px 20px 15px !important;
        position: relative;
    }
}


.top-links li>a {
    padding: 0 6px 0 6px;
}

.top-links {
    margin-top: 6px;
}

.top-links li:hover {
    background-color: #eeeeee26;
}

#primary-menu ul li>a {
    display: block;
    text-wrap: nowrap;
    white-space: nowrap;
    line-height: 22px;
    padding: 20px 8px;
    color: #ffffff;
    font-weight: revert;
    font-size: 15px;
    letter-spacing: 0;
    text-transform: uppercase;
    font-family: inherit;
}

#primary-menu ul ul li>a {
    text-wrap: wrap;
    white-space: wrap;
}

#primary-menu ul li:nth-child(2)>a {
    padding-left: 20px;
    padding-right: 20px;
}


#primary-menu ul li.sub-menu ul li a {
    line-height: 19px;
    font-size: 15px;
}

#primary-menu ul li.sub-menu ul li>a,
#primary-menu ul li.sub-menu ul li:nth-child(2)>a {
    padding-left: 15px;
    padding-right: 15px;
}

#primary-menu ul ul li>a {
    font-size: 16px;
    font-weight: 400;
    color: #225390;
    padding-top: 10px;
    padding-bottom: 10px;
    border: 0;
    letter-spacing: 0;
    font-family: inherit;
    text-transform: none;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

#primary-menu ul li>a i.icon-angle-down:last-child {
    font-size: 18px;
    margin: 0px 0 0 2px;
}

#primary-menu ul li>a i {
    position: relative;
    top: -1px;
    font-size: 18px;
    width: 18px;
    margin-right: 0;
    margin-left: 0px;
}

#primary-menu ul ul li:hover>a {
    background-color: #F9F9F9;
    padding-left: 18px;
    /* color: #71B783; */
    color: #0483c3;
}

.home-page-tab-row {
    background: white;
    border-top-right-radius: .45rem;
}

.nav-tabs {
    margin-bottom: 0;
    align-items: end;
    gap: 2px;
    border: none !important;
    margin-left: -.75rem !important;
}

.nav-tabs li {
    margin-left: 0px;
}

.nav-tabs .nav-link {
    margin-bottom: 0;
}

.nav-tabs .nav-item .nav-link {
    color: #e9f3fa !important;
    background-color: #005495;
    border-color: #005495 #005495 #005495;
    border-top-left-radius: .5rem;
    border-top-right-radius: .55rem;
    padding: 10px 24px;
    color: white;
    font-weight: 500;
    font-size: 16px;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: #173b67 !important;
    background-color: #fff;
    border-color: #fff #fff #fff;
    border-radius: none;
    padding: 16px 24px 10px;
    font-weight: 500;
    font-size: 16px;
}

.nav-tabs .nav-item:first-child .nav-link {
    border-top-left-radius: .4rem;
    border-top-right-radius: 0;
}

.nav-tabs .nav-item:first-child .nav-link.active {
    border-top-left-radius: .4rem;
    border-top-right-radius: .4rem;
}

.nav-tabs .nav-item:nth-child(2) .nav-link,
.nav-tabs .nav-item:nth-child(3) .nav-link,
.nav-tabs .nav-item:nth-child(4) .nav-link {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.nav-tabs .nav-item:nth-child(2) .nav-link.active,
.nav-tabs .nav-item:nth-child(3) .nav-link.active,
.nav-tabs .nav-item:nth-child(4) .nav-link.active {
    border-top-left-radius: .4rem;
    border-top-right-radius: .4rem;
}

.nav-tabs .nav-item:last-child .nav-link {
    border-top-left-radius: 0;
    border-top-right-radius: .4rem;
}

.nav-tabs .nav-item:last-child .nav-link.active {
    border-top-left-radius: .4rem;
    border-top-right-radius: .4rem;
}

.quick-links-home {
    background: white;
    border-radius: .4rem;
    position: relative;
    padding: 30px 20px;
    min-height: 100%;
}

.quick-links-home h2 {
    position: absolute;
    top: 0;
    left: 0;
    background: #f5f5f5;
    font-size: 16px;
    color: #005495;
    padding: 4px 15px;
    border-bottom-right-radius: .4rem;
    border-top-left-radius: .4rem;
    font-weight: 500;
}


.alerts-signup-home {
    background: white;
    border-radius: .4rem;
    position: relative;
    padding: 20px 20px;
    height: 100%;
    font-size: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    gap: 24px;
}

@media (min-width:768px) {
    .alerts-signup-home {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 36px;
    }
}

.alerts-signup-home h2 {
    color: #005495;
    margin: 0;
}

.alerts-signup-home p {
    padding: 0;
    margin: 0;
}

.dept-dropdown {
    background: #ffffff21;
}

#primary-menu ul li.dept-dropdown>a.dept-select {
    display: block;
    line-height: 38px;
    padding: 20px 16px 2px;
    color: #ffffff;
    height: 100%;
    letter-spacing: 0;
    min-width: 165px;
}

.dept-dropdown .dept-current-label {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 11px;
    color: #ffffff !important;
    position: absolute;
    font-weight: 400;
    top: 0px;
    left: 16px;
}

#top-bar {
    border-bottom: none;
    height: 24px;
    line-height: 24px;
    z-index: 10006;
    background: transparent
}

.top-links li>a {
    height: 24px;
    color: #ffffff;
    line-height: 24px;
}

.top-links ul li {
    height: 24px;
    border-left: none;
}

.show-inside {
    display: none;
}

#header.transparent-header {
    background: #005495;
    border-bottom: none;
    position: relative;
    z-index: 1002
}

#header.transparent-header .header-container {
    padding: 0px 0px 0 !important
}

#primary-menu.style-2 {
    background: #00477f;
    color: white;
    border: none
}

#primary-menu ul ul li>a {
    padding-top: 6px;
    padding-bottom: 6px;
}

#primary-menu ul ul:not(.mega-menu-column),
#primary-menu ul li .mega-menu-content {
    border-top: none;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

#primary-menu ul ul li:last-child a {
    border-bottom-left-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

#primary-menu ul ul>li.sub-menu>a,
#primary-menu ul ul>li.sub-menu:hover>a {
    background-image: url(https://www.astoria.gov/content/images/icons/submenu-dark.png);
    background-position: right center;
    background-repeat: no-repeat;
}

#primary-menu.style-2>div>ul {
    float: left;
    max-width: 100%;
    display: inline-flex;
}

#primary-menu.style-2>div>ul {
    width: 100%;
    max-width: 100%;
    margin-left: -12px;
}

#logo img {
    display: block;
    max-width: 100%;
    width: 300px;
    margin-top: -15px;
    margin-bottom: 15px;
}

.custom-nav {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.feature-box.fbox-dark .fbox-icon i {
    background-color: #005495;
}

.feature-box.fbox-bg.fbox-center.fbox-plain .fbox-icon,
.feature-box.fbox-bg.fbox-center.fbox-border .fbox-icon,
.feature-box.fbox-bg.fbox-center.fbox-outline .fbox-icon {
    overflow: hidden;
}

button.btn-nav-custom {
    background: white;
    color: #486b86;
    border: none;
    padding: 6px 12px;
    margin: 0;
    border-radius: .1rem !important;
}

button.btn-nav-custom:hover {
    background: #f5f5f5
}

button.btn-nav-custom:active,
button.btn-nav-custom:focus,
button.btn-nav-custom:focus-visible {
    background: white !important
}

.custom-nav .dropdown.show button.btn-nav-custom {
    background: #f5f5f5;
}

.custom-nav .dropdown-menu {
    min-width: 11rem;
    padding: .5rem 0 0 0;
    margin: 0;
    font-size: 16px;
    color: #486b86 !important;
    text-align: left;
    list-style: none;
    background-color: #005495;
    background-clip: padding-box;
    border: none;
    border-radius: 0;
}

.custom-nav .dropdown-item {
    color: #486b86 !important;
}

.custom-nav .dropdown-item {
    background-color: #f5f5f5;
}

.custom-nav .dropdown-item:hover {
    background-color: #eae9e9;
}

.custom-nav .dropdown-toggle::after {
    display: inline-block;
    margin-left: .355em;
    vertical-align: -1px;
    content: "\e7a7";
    border-top: .3em solid;
    font-family: 'font-icons';
    border: none;
    border-bottom: 0;
}

.quick-links-home .quicklinks-list {
    float: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    width: 100%;
    margin: 20px 0 0 0;
    padding: 0;
}

.quick-links-home .quicklinks-list li a {
    display: flex;
    line-height: 1;
    flex-direction: row;
    align-items: start;
    text-align: left;
    align-items: center;
}

.quick-links-home .quicklinks-list li {
    margin-left: 0px;
    height: auto;
    overflow: visible;
    list-style: none;
    float: none;
}

.quick-links-home .quicklinks-list li .i-plain {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    font-size: 16px;
    line-height: 14px !important;
    float: none;
    color: #00549552;
    text-shadow: 1px 1px 1px #FFF;
    border-radius: 30px;
    background: #f5f5f5;
    margin: 0px 10px 0 0 !important;
}

.quick-links-home .quicklinks-list li .he-text {
    padding-right: 10px;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.1;
    text-transform: capitalize;
    color: #225390;
    font-weight: 500;
}

.quick-links-home .quicklinks-list li a:hover .he-text {
    color: #0483c3;
}


.home-action-list {
    float: none;
    display: flex;
    gap: 16px;
    width: 100%;
    margin: 8px 0 8px 0;
    padding: 0;
    flex-direction: column;
}

.home-action-list li {
    margin-left: 0;
    height: auto;
    overflow: visible;
    list-style: none;
    float: none;
    display: flex;
    align-items: start;
    text-align: left;
    padding-right: 10px;
    font-size: 16px;
    line-height: 1.1;
}

.home-action-list li::before {
    content: "";
    width: 12px;
    height: 12px;
    min-width: 12px;
    border-radius: 30px;
    background: #f5f5f5;
    margin: 0 10px 0 0;
    box-shadow: inset 0 0 0 3px #00549552, 1px 1px 1px #fff;
}

.sidebar-area h3 {
    font-size: 18px;
    color: #225390;
    font-weight: 500;
}

.sidebar-area .quicklinks-list {
    background: white;
    position: relative;
}

.sidebar-area .quicklinks-list {
    float: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    width: 100%;
    margin: 0px 0 0 0;
    padding: 0;
}

.sidebar-area .quicklinks-list li a {
    display: flex;
    line-height: 1;
    flex-direction: row;
    align-items: start;
    text-align: left;
    align-items: center;
}

.sidebar-area .quicklinks-list li {
    margin-left: 0px;
    height: auto;
    overflow: visible;
    list-style: none;
    float: none;
}

.sidebar-area .quicklinks-list li .i-plain {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    font-size: 16px;
    line-height: 14px !important;
    float: none;
    color: #00549552;
    text-shadow: 1px 1px 1px #FFF;
    border-radius: 30px;
    background: #f5f5f5;
    margin: 0px 10px 0 0 !important;
}

.sidebar-area .quicklinks-list li .he-text {
    padding-right: 10px;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.1;
    text-transform: capitalize;
    color: #225390;
    font-weight: 500;
}

@media (min-width:768px) {
    .sidebar-area {
        padding-left: 0;
    }
}

.sidebar-area .search-form-container input {
    background: #f1f1f1
}

.sidebar-area .search-form-container button {
    padding: 8px 12px !important;
}


.page-title {
    margin-bottom: 60px
}

.page-title .container {
    padding-left: 0 !important;
}

.search-plus-quicklinks {
    width: 100%;
    margin: 0;
}


.search-plus-quicklinks .col:last-child {
    padding-right: 0 !important
}

.search-form-container {
    display: block !important;
    width: 100%;
}

.search-form-container .input-group {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
}

.search-form-container .input-group input.search-input {
    width: 100% !important;
    padding: 8px 12px;
    border: none;
    border-radius: 0 !important;
    color: #486b86;
    border-top-left-radius: .4rem !important;
    border-bottom-left-radius: .4rem !important;
    font-size: 16px;
    line-height: 1.3;
}

.search-form-container .input-group button {
    background: #005495;
    border: #005495;
    padding: 8px 30px;
    color: white;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1;
    border-top-right-radius: .4rem;
    border-bottom-right-radius: .4rem;
}

.feature-box h3,
.feature-box h2 {
    font-size: 16px;
    font-weight: 400;
    text-transform: capitalize;
    line-height: 1.1;
    letter-spacing: 0px;
    margin-bottom: 0;
    font-weight: 500;
}

select.goog-te-combo {
    color: #ffffff !important;
    padding: 0 6px 0 6px !important;
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    height: 24px;
    width: auto;
    color: #666;
    white-space: nowrap;
    line-height: 24px;
    max-width: 150px;
}

.goog-te-gadget .goog-te-combo {
    margin: 0 !important;
}

.goog-te-gadget span {
    display: none !important
}

@media (max-width:991px) {
    select.goog-te-combo {
        padding: 0 6px 0 0px !important;
    }
}

.feature-boxes {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: 16px;
    width: 100%;
}


.home-top-section-container {
    display: block;
    padding: 60px 0;
    position: relative;
}

.home-tab-section-container,
.home-slider-section-container {
    display: block;
    position: relative;
}

.home-social-section-container {
    display: block;
    position: relative;
    padding: 0 3rem 3rem;
}

.home-social-section-container .row {
    --bs-gutter-x: 3.3rem;
}

.home-page-tab-row .tab-pane>div.tab-child-content {
    padding: 20px 0px 15px 0px
}

.social-intro-section {
    margin-bottom: 32px;
    width: 75%
}

.social-slider {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}



.comdev_homeconnect {
    background: #7fbede;
    mmargin: 30px 20px 30px 20px;
    padding: 10px 10px 5px 10px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.comdev_homeconnect h1 {
    color: #fff;
    font-size: 22px;
}

.social-icons {
    display: flex;
    margin: 0;
    padding: 0;
}

.social-icons li {
    display: inline-block;
    padding: 0;
    text-align: left;
    margin: 0 20px 0px 0px;
}

.social-icons li a {
    color: white;
    text-shadow: 0 0 5px #5C5C5C;
}

.gplus {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.facebook {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.email {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 38px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.instagram {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 38px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.twitter {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.social-icons li a:hover i {
    background: #333;
}

.library_homeconnect {
    background: #005495;
    padding: 12px 18px;
    color: white;
    font-size: 16px;
    line-height: 1.3;
    border-radius: .8rem;
    margin: 0 0 1.3rem 0;
}

.library_homeconnect h3,
.library_homeconnect p {
    color: white;
    margin-bottom: 8px;
}

.catalog a {
    margin: 1rem 0 1.3rem 0;
}


.location-home {
    background: #F5F5F5;
    padding: 12px 18px;
    font-size: 16px;
    line-height: 1.3;
    border-radius: .8rem;
    margin: 0 0 1.3rem 0;
}

.tab-content {
    padding-right: 1.6rem !important;
    padding-left: 1.6rem !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.swiper-slide .media-content {
    width: 100%;
    padding: 40px 20px;
    background: rgba(0, 0, 0, 0.65);
    position: fixed;
    margin: 0;
    bottom: 0;
}

.swiper-slide .media-content .btn.fright {
    padding: 14px 24px;
    text-transform: capitalize;
    font-size: 1.2rem;
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 32px;
    height: 32px;
    margin-top: -50px;
}

#footer .footer-widgets-wrap {
    position: relative;
    padding: 40px 0;
}


@media (max-width: 1200px) {
    #footer .footer-widgets-wrap {
        padding-left: 20px;
        padding-right: 20px;
    }
}


.btn,
.btn-primary,
.btn-secondary {
    border-radius: .4rem !important;
}

@media (min-width: 1024px) {
    #page-title {
        top: 0px;
    }
}

@media (max-width: 1200px) {
    #primary-menu ul li>a {
        padding: 20px 4px;
        font-size: 14px;
    }

    .nav.nav-tabs {
        overflow-x: auto;
        white-space: nowrap;
        flex-wrap: nowrap;
        margin-bottom: 1.5rem;
        display: flex;
    }
}

@media (max-width: 992px) {
    #logo {
        height: auto;
        text-align: left;
        margin: 0 auto 0 0 !important;
    }

    #logo img {
        margin-bottom: -6px;
        margin-top: 0;
    }

    #header.transparent-header .header-container .row,
    #header.transparent-header .header-container .row .col.d-flex {
        width: 100%;
    }

    #primary-menu ul:not(.windows-mobile-menu) li>a i.icon-angle-down:last-child {
        display: inline;
    }

    #primary-menu ul ul li:hover>a {
        color: #e8f5ff;
        font-weight: 400;
    }

    .top-links.fright {
        float: right !important
    }

    .search-plus-quicklinks {
        flex-direction: column;
        gap: 40px;
    }

    .search-plus-quicklinks .col {
        padding: 0 !important
    }

    .dept-dropdown .dept-current-label {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 11px;
        color: #ffffff;
        position: absolute;
        font-weight: 400;
        top: 0px;
        left: 18px;
    }

    #header.sticky-style-2 #header-wrap,
    #header.sticky-style-3 #header-wrap {
        min-height: auto;
        background: #05679b;
    }

    #primary-menu-trigger {
        opacity: 1;
        pointer-events: auto;
        position: relative;
        padding: 0;
        height: 36px;
        width: 36px;
        line-height: 36px;
        margin-top: 0;
        top: 0;
        left: auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #primary-menu-trigger svg {
        width: 36px;
        height: 36px;
    }

    #primary-menu-trigger svg path {
        fill: white
    }

    #primary-menu-trigger svg.close {
        display: none;
    }

    .primary-menu-open #primary-menu-trigger svg.close {
        display: block;
    }

    .primary-menu-open #primary-menu-trigger svg.open {
        display: none;
    }

    #primary-menu.style-2 {
        background: #004e8a;
        color: white;
        border: none;
        position: absolute;
        width: 100%;
    }

    #primary-menu.style-2>div>ul {
        margin-bottom: 40px !important;
        display: none;
    }

    #primary-menu ul li>a span {
        display: none;
        margin-left: 12px;
        margin-top: 5px;
        width: calc(100% - 44px);
    }

    #primary-menu ul li.dept-dropdown>a.dept-select {
        display: block;
        line-height: 1.6;
        padding: 18px 10px 10px 5px !important;
        color: #ffffff;
        height: auto;
        letter-spacing: 0;

    }

    #primary-menu ul li {
        margin: 0 !important;
        text-align: left !important;
        border-top: 1px solid #ffffff14;
    }

    #primary-menu ul ul li {
        border-top: 1px solid #ffffff26;
        margin-right: 16px !important;
    }

    #primary-menu ul li>a i:not(.icon-home) {
        display: none;
        position: relative;
        top: -1px;
        font-size: 18px;
        width: 18px;
        margin-right: 0;
        margin-left: auto;
    }

    #primary-menu ul ul:not(.mega-menu-column),
    #primary-menu ul li .mega-menu-content {
        padding-left: 0;
    }

    #primary-menu ul ul li>a {
        font-size: 16px;
        font-weight: 400;
        color: #e8f5ff;
    }

    .feature-boxes {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 16px;
        width: 100%;
    }

    .home-page-tab-row .tab-pane>div.tab-child-content {
        padding: 10px 0px 30px
    }

    .nav.nav-tabs {
        overflow-x: auto;
        white-space: nowrap;
        flex-wrap: nowrap;
        margin-bottom: 1.5rem;
        display: flex;
    }
}

@media (max-width: 768px) {
    #header.transparent-header .header-container {
        padding: 0 !important;
    }

    #primary-menu-trigger {
        margin-left: auto;
    }

    .top-links.fright {
        float: none !important;
        width: auto;
        margin: 0 auto;
    }

    .topbar-menu {
        text-align: left;
    }

    .topbar-menu .top-links>ul {
        display: inline-block;
    }

    #header .container {
        position: relative;
        z-index: 1;
    }

    #primary-menu.style-2 .container {
        padding: 0 !important;
    }

    #primary-menu.style-2>div>ul {
        padding-top: 30px !important;
    }

    .quick-links-home {
        margin: 0;
    }

    .quick-links-home .quicklinks-list {
        float: none;
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        width: 100%;
    }

    .nav.nav-tabs {
        overflow-x: auto;
        white-space: nowrap;
        flex-wrap: nowrap;
        margin-bottom: 1.5rem;
        display: flex;
    }

    .nav-tabs .nav-item .nav-link,
    .nav-tabs .nav-item.show .nav-link,
    .nav-tabs .nav-link.active,
    .nav-tabs .nav-item:first-child .nav-link.active,
    .nav-tabs .nav-item.show .nav-link,
    .nav-tabs .nav-link.active {
        padding: 6px 10px 6px !important;
        font-size: 16px;
        border-top-left-radius: 4px !important;
        border-top-right-radius: 4px !important;
    }

    .home-page-tab-row .tab-pane>div.tab-child-content {
        padding: 0px
    }

    .tab-content {
        padding: 1rem !important;
    }

}

@media (max-width: 575px) {
    .nav.nav-tabs {
        margin-bottom: 1.5rem;
        display: block;
        width: 100%;
    }

    .nav-tabs .nav-item .nav-link,
    .nav-tabs .nav-item.show .nav-link,
    .nav-tabs .nav-link.active,
    .nav-tabs .nav-item:first-child .nav-link.active,
    .nav-tabs .nav-item.show .nav-link,
    .nav-tabs .nav-link.active {
        padding: 10px 10px 10px !important;
        font-size: 16px;
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
        width: 100%;
    }

    .nav-tabs .nav-item:first-child .nav-link.active {
        border-top: none
    }


    .nav-tabs .nav-item:first-child .nav-link,
    .nav-tabs .nav-item:first-child .nav-link.active {
        border-top-left-radius: 4px !important;
        border-top-right-radius: 4px !important;
    }

    .nav-tabs .nav-item:first-child .nav-link {
        border-top: none
    }

    .nav-tabs .nav-item .nav-link {
        color: #005495 !important;
        background-color: #f5f6f7;
        border-color: #fff #fff #fff;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-left: none;
        border-right: none;
        padding: 10px 24px;
        color: white;
        font-size: 16px;
    }

    .nav-tabs .nav-item.show .nav-link,
    .nav-tabs .nav-link.active {
        color: #ffffff !important;
        background-color: #005495;
        border-color: #005495 #005495 #005495;
        border-radius: none;
        padding: 16px 24px 10px;
        font-weight: 400;
        font-size: 16px;
    }

    #header.transparent-header .header-container {
        padding: 0px !important
    }

    #top-bar {
        padding: 0px 30px !important
    }

    .custom-nav .dropdown-menu {
        min-width: 11rem;
        padding: 0;
        margin: 0;
        font-size: 16px;
        color: #486b86 !important;
        text-align: left;
        list-style: none;
        background-color: #005495;
        background-clip: padding-box;
        border: none !important;
        border-radius: 4px !important;
        top: 35px !important;
        left: 0 !important;
        border-top: none !important;
        transform: none !important;
    }

    #primary-menu.style-2 .container {
        padding: 0 30px !important;
        margin: 0;
    }

    .feature-boxes {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        width: 100%;
    }

    .feature-box.fbox-bg.fbox-center {
        padding: 58px 10px 20px;
        background-color: #FFF;
        border-radius: 6px !important;
        border: none;
    }

    .feature-box.fbox-center .fbox-icon {
        position: relative;
        width: 64px;
        height: 64px;
        margin: 0 auto 20px;
    }

    .feature-box.fbox-center .fbox-icon i img {}

    .feature-box.fbox-bg.fbox-center .fbox-icon {
position: absolute;
        top: -16px;
        left: 50%;
        margin: 0px 0 0 -32px;
    }

    .nav-tabs {
        margin-left: 0rem !important;
    }

    .home-page-tab-row {
        background: white;
        border-top-right-radius: 0;
        margin: 0;
        border-bottom-right-radius: 4px;
        border-bottom-left-radius: 4px
    }

    .home-top-section-container,
    .home-intro-section .container {
        display: block;
        padding: 20px 30px 20px 30px !important;
        position: relative;
    }

    .home-slider-section-container {
        display: block;
        padding: 0px !important;
        position: relative;
    }

    .home-tab-section-container,
    .home-social-section-container {
        display: block;
        padding: 30px 30px 60px 30px !important;
        position: relative;
    }

    .home-top-section-container {
        padding-top: 60px !important;
    }

    .social-intro-section {
        padding: 0 !important;
        width: 100%
    }

    .social-slider {
        padding: 0 !important;
    }

    .swiper-slide .media-content {
        padding: 40px 20px !important;
    }

    .swiper-slide .media-content .btn.fright {
        float: none !important;
        margin-top: 12px !important
    }
}





/* ---------------------------
   Root Slider Container
--------------------------- */
#customSlider {
    --cap-bg: #005495;
    --cap-pad: 24px;
    --maxw: 1280px;
    background: white;
    width: 100%;
    max-width: var(--maxw);
    margin: 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    border-radius: 4px;
}

/* ---------------------------
   Slider Track
--------------------------- */
#customSlider .slider-track {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    /* slides keep their natural height, don't stretch to match tallest */
    transition: transform 320ms ease;
    will-change: transform;
    width: 100%;
    max-width: 100%;
    height: auto !important;
}

/* ---------------------------
   Individual Slide
--------------------------- */
#customSlider .slide {
    flex: 0 0 100%;
    max-width: 100%;
    /* ✅ Prevents unwanted stretching */
    display: flex;
    flex-direction: column;
    height: auto !important;
    box-sizing: border-box;
    background: #005495;
}

/* ---------------------------
   Image Container (16:9)
--------------------------- */
#customSlider .slide-media {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #2d2d2d;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

@media (min-width:768px) {
    #customSlider .slide-media {
        aspect-ratio: 16 / 9;
    }
}

/* Images fill container */
#customSlider .slide-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* ---------------------------
   Video Container (16:6 with centered 16:9)
--------------------------- */
#customSlider .slide-video {
    width: 100%;
    aspect-ratio: 16 / 6;
    /* keep same banner height as images */
    position: relative;
    overflow: hidden;
    background: #000;
    flex-shrink: 0;
}

/* Centering wrapper for the video */
#customSlider .slide-video .video-center {
    position: absolute;
    inset: 0;
    /* fill parent */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Common video/iframe settings */
#customSlider .slide-video iframe,
#customSlider .slide-video video {
    aspect-ratio: 16 / 9;
    background: #000;
    display: block;
}

/* Mode A: keep full 16:9 inside 16:6 (letterboxed/pillarboxed look) */
#customSlider .slide-video .fit-height iframe,
#customSlider .slide-video .fit-height video {
    height: 100%;
    width: auto;
    max-width: 100%;
}

/* Mode B: cover full width (will crop top/bottom) */
#customSlider .slide-video .cover iframe,
#customSlider .slide-video .cover video {
    width: 100%;
    height: auto;
    min-height: 100%;
}

.is-hidden {
    display: none !important;
}

/* ---------------------------
   Caption BELOW image
--------------------------- */
#customSlider .slide-caption {
    background: #005495;
    color: #fff;
    padding: var(--cap-pad);
    margin: 0;
    display: block;
    flex-shrink: 0;
}

#customSlider .slide-caption h2,
#customSlider .slide-caption h3,
#customSlider .slide-caption h4,
#customSlider .slide-caption h5,
#customSlider .slide-caption h6,
#customSlider .slide-caption .h1,
#customSlider .slide-caption .h2,
#customSlider .slide-caption .h3,
#customSlider .slide-caption .h4,
#customSlider .slide-caption .h5,
#customSlider .slide-caption .h6 {
    color: white !important;
    margin: 0 0 4px;
}

#customSlider .caption-inner {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 36px;
}

@media (min-width:768px) {

    #customSlider .caption-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
    }

}

#customSlider .caption-text h3 {
    margin: 0 0 6px;
    font-size: 1.25rem;
    color: white !important;
}

#customSlider .caption-text p {
    margin: 0;
    line-height: 1.5;
    color: white;
}

#customSlider .slide-caption .btn.btn-primary {
    text-wrap: nowrap
}

/* ---------------------------
   Navigation Arrows (inside image)
--------------------------- */
#customSlider .nav {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: rgba(0, 0, 0, 0.5);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.2s ease;
}

#customSlider .nav:hover {
    background: rgba(0, 0, 0, 0.75);
}

#customSlider .nav.prev {
    left: 16px;
}

#customSlider .nav.next {
    right: 16px;
}

#customSlider .nav.prev::before,
#customSlider .nav.next::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 3px solid white;
    border-left: 3px solid white;
}

#customSlider .nav.prev::before {
    transform: translateX(5px) rotate(-45deg);
}

#customSlider .nav.next::before {
    transform: rotate(135deg);
}

/* ---------------------------
   Pagination Dots
--------------------------- */
#customSlider .dots {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    margin-bottom: 16px;
    padding: 0;
}

#customSlider .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #cfcfcf;
    cursor: pointer;
    transition: background 0.3s ease;
}

#customSlider .dot.is-active {
    background: #000;
}

/* ---------------------------
   Container Padding Reset
--------------------------- */
.custom-slider-container {
    background: white;
    border-radius: 6px;
    padding: 16px !important;
}

@media (min-width:768px) {
    .custom-slider-container {
        padding: 24px !important;
    }
}

/* ---------------------------
   Mobile Responsiveness
--------------------------- */
@media (max-width: 768px) {
    #customSlider .caption-inner {
        flex-direction: column;
    }

    #customSlider .nav {
        width: 40px;
        height: 40px;
    }
}

/* ---------------------------
   Display Grid
--------------------------- */

.grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    /* Space between grid items */
}

/* Mobile: 1 column for screens smaller than 768px */
@media (max-width: 767px) {
    .grid {
        grid-template-columns: 1fr;
    }
}


/* New Mobile Nav CSS */

@media (max-width: 991px) {

    /* Top utility bar */
    #top-bar {
        background: var(--astoria-blue);
        color: white;
        font-size: 12px;
        padding: 0.5rem 1rem;
    }

    #top-bar a {
        color: white;
        text-decoration: none;
        margin: 0 0.5rem;
    }

    /* Main header */
    #header {
        background: var(--astoria-blue);
        color: white;
        padding: 1rem;
    }

    .header-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    #logo img {
        height: auto;
        width: 220px;
    }

    /* Hamburger button */
    .menu-toggle {
        background: none;
        border: none;
        color: white;
        padding: 0.5rem;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        gap: 6px;
        z-index: 9999;
        position: relative;
        right: -16px;
        top: 13px;
        transition: all 0.3s ease;
    }

    .menu-toggle span {
        display: block;
        width: 28px;
        height: 2px;
        background: white;
        transition: all 0.3s ease;
        border-radius: 1px;
    }

    .menu-toggle.active {
        z-index: 9999;
        position: fixed;
        right: 12px;
        top: 12px;
        width: 40px;
        background: #00477f;
        transition: all 0.3s ease;
        border-radius: 8px;
    }

    .menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 7px);
    }

    .menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(4px, -6px);
    }

    /* Off-canvas navigation */
    .off-canvas-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        max-width: 400px;
        height: 100vh;
        background: var(--astoria-blue-dark);
        z-index: 1000;
        transition: right 0.3s ease;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .off-canvas-nav.active {
        right: 0;
    }

    .nav-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
        z-index: 99;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
    }

    .nav-overlay.active {
        opacity: 1;
        pointer-events: auto;
    }

    /* Navigation header */
    .nav-header {
        background: var(--astoria-blue-darker);
        padding: 1rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .nav-header h3 {
        color: white !important;
        font-size: 1rem;
        margin: 0;
        font-weight: 500;
        text-transform: UPPERCASE;
    }

    /* Navigation sections */
    .nav-section {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .nav-section-title {
        background: var(--astoria-blue-darker);
        color: rgba(255, 255, 255, 0.7);
        padding: 0.75rem 1rem;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-weight: 500;
    }

    /* Navigation links */
    .nav-link-item {
        display: block;
        padding: 0.675rem 1rem;
        font-size: 1rem;
        color: white;
        text-decoration: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        transition: background 0.2s ease;
        position: relative;
    }

    .nav-link-item:hover {
        background: rgba(255, 255, 255, 0.05);
        color: rgba(255, 255, 255, .7);
    }

    /* Expandable menu items */
    .nav-item-expandable {
        position: relative;
    }

    .nav-expand-toggle {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.875rem 1rem;
        color: white;
        font-size: 1rem;
        background: none;
        border: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        width: 100%;
        text-align: left;
        cursor: pointer;
        transition: background 0.2s ease;
    }

    .nav-expand-toggle:hover {
        background: rgba(255, 255, 255, 0.05);
    }

    .nav-expand-icon {
        transition: transform 0.3s ease;
        font-size: 1.2rem;
        -webkit-transform-origin: 50% 50%;
        -moz-transform-origin: 50% 50%;
        -o-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        transform: scaleX(0.8);
    }

    .nav-item-expandable.active .nav-expand-icon {
        transform: rotate(90deg) scaleX(0.8);
        transform-origin: 50% 50%;
        font-size: 1.2rem;
    }

    .nav-submenu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        background: rgba(0, 0, 0, 0.2);
    }

    .nav-item-expandable.active .nav-submenu {
        max-height: 1000px;
    }

    .nav-submenu .nav-link-item {
        padding-left: 2rem;
        font-size: 0.9375rem;
    }

    /* Department selector */
    .dept-selector {
        background: rgba(255, 255, 255, 0.1);
        margin: 1rem;
        border-radius: 0.4rem;
        overflow: hidden;
    }

    .dept-current {
        padding: 1rem;
        color: white;
    }

    .dept-current small {
        display: block;
        font-size: 0.75rem;
        color: #ffffff;
        margin-bottom: 0.25rem;
    }

    .dept-current strong {
        font-weight: 500;
    }

    /* Utility links in nav */
    .nav-utilities {
        padding: 1rem;
        background: rgba(0, 0, 0, 0.2);
    }

    .utility-link {
        display: inline-block;
        color: rgba(255, 255, 255, 0.8);
        font-size: 0.875rem;
        padding: 0.5rem 0;
        margin-right: 1rem;
        text-decoration: none;
    }

    .utility-link:hover {
        color: white;
    }

    /* Google Translate */
    .translate-container {
        padding: 1rem;
        background: rgba(0, 0, 0, 0.15);
        padding-bottom: 120px;
    }

    .translate-container select {
        width: 100%;
        padding: 0.5rem;
        border-radius: 0.25rem;
        border: none;
    }

    /* Hide desktop utility dropdowns */
    .custom-nav .dropdown:not(.mobile-keep) {
        display: none !important;
    }

    /* Hide desktop primary menu */
    #primary-menu {
        display: none !important;
    }

    /* Simplify header on mobile */
    #header .custom-nav {
        justify-content: flex-end;
    }
}

/* Accessibility */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Desktop styles - hide mobile nav and show original desktop nav */
@media (min-width: 992px) {

    .menu-toggle,
    .off-canvas-nav,
    .nav-overlay {
        display: none !important;
    }

    /* Show desktop nav elements */
    .desktop-nav-buttons,
    .desktop-top-bar {
        display: flex !important;
    }

    .transparent-header::after {
        display: block;
        clear: both;
        content: "";
        background: #00477f;
        width: 100%;
        height: 60px;
        bottom: 0px;
        position: absolute;
    }

    .transparent-header::before {
        display: block;
        clear: both;
        content: "";
        background: #005495;
        width: 100%;
        height: 60px;
        top: -60px;
        position: absolute;
    }

    .custom-nav .nav-item-expandable {
        display: inline-block;
        position: relative;
        margin-right: 4px;
    }

    .custom-nav .nav-expand-toggle {
        background: white;
        color: #486b86;
        border: none;
        padding: 6px 12px;
        border-radius: 0;
        cursor: pointer;
        font-size: 16px;
        display: flex;
        align-items: center;
        gap: 4px;
        margin-bottom: 8px;
        font-weight: 500;
        border-radius: 4px;
    }

    .custom-nav .nav-expand-toggle:hover {
        background: #f5f5f5;
    }

    .custom-nav .nav-expand-icon {
        transition: transform 0.2s ease;
        font-size: 14px;
    }

    /* Desktop dropdown behavior */
    .custom-nav .nav-submenu {
        position: absolute;
        top: 100%;
        right: 0;
        min-width: 11rem;
        background: #f5f5f5;
        border-radius: 0;
        margin-top: 0;
        padding: 0.5rem 0;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        z-index: 1000;
        border-radius: 4px;
    }

    .custom-nav .nav-item-expandable.active .nav-submenu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .custom-nav .nav-link-item {
        display: block;
        padding: 8px 15px;
        color: #486b86;
        text-decoration: none;
        font-size: 15px;
        font-weight: 400;
        white-space: nowrap;
    }

    .custom-nav .nav-link-item:hover {
        background: #eae9e9;
        color: #005495;
    }
}



.coa-flex-cols>ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 560px) {
    .coa-flex-cols>ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .coa-flex-cols>ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .coa-flex-cols>ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Cards */
.coa-flex-cols>ul>li {
    padding: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    background: #fff;
    margin: 0
}

.coa-flex-cols h3 {
    margin: 0 0 .35rem 0;
    font-size: 1rem;
    line-height: 1.3;
}

.coa-flex-cols p {
    margin: 0;
    font-size: .95rem;
}

.coa-flex-cols p+p {
    margin-top: .35rem;
}

/* Links */
.coa-flex-cols a {
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
}

.coa-flex-cols a:focus,
.coa-flex-cols a:hover {
    border-bottom-style: solid;
}



/* Scope to the wrapper only */
.recent-updates {
    margin: 0;
    padding: 0;
}

.recent-updates a {
    font-size: 16px !important;
    text-transform: capitalize;
}

/* Grid */
.recent-updates>ul {
    list-style: none;
    margin: 24px 0 8px 0 !important;
    padding: 0;
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 560px) {
    .recent-updates>ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .recent-updates>ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .recent-updates>ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Cards */
.recent-updates>ul>li {
    margin: 0 !important;
    padding: 0;
    font-size: 15px !important;
}

.recent-updates>ul>li>a {
    display: block;
    padding: .9rem 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    background: #fff;
    text-decoration: none;
    line-height: 1.2;
    font-weight: 500;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
}

.recent-updates>ul>li>a:focus,
.recent-updates>ul>li>a:hover {
    border-color: #cbd5e1;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .15);
    text-decoration: underline;
}

/* Layout wrapper */
.coa-police {
    display: grid;
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 967px) {
    .coa-police {
        grid-template-columns: 1fr;
    }
}

/* Left column: logo + button */
.coa-police>div:first-child {
    text-align: center;
}

.coa-police img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto .75rem auto;
}

.coa-police a[href*="Police_Records_Request_Form"]>button {
    width: 100%;
    padding: .75rem 1rem;
    border: 1px solid #0b3b6f;
    border-radius: 8px;
    background: #0b3b6f;
    color: #fff;
    font-weight: 500;
    cursor: pointer;
}

.coa-police a[href*="Police_Records_Request_Form"]>button:hover {
    background: #0a2e56;
    border-color: #0a2e56;
}

.coa-police a[href*="Police_Records_Request_Form"]>button:focus-visible {
    background: #0a2e56;
    border-color: #0a2e56;
    outline: 3px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px #0b3b6f;
}

/* Right column: grid of cards */
.coa-police>div:last-child>ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 560px) {
    .coa-police>div:last-child>ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .coa-police>div:last-child>ul>li:last-child {
        grid-column: span 2;
    }
}

@media (min-width: 968px) {
    .coa-police>div:last-child>ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .coa-police>div:last-child>ul>li:last-child {
        grid-column: span 3;
    }
}

@media (min-width: 1200px) {
    .coa-police>div:last-child>ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    /* NEW: make the last card span 2 columns on desktop */
    .coa-police>div:last-child>ul>li:last-child {
        grid-column: span 2;
    }
}

/* Cards */
.coa-police li {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    padding: 1rem;
    margin: 0;
}

.coa-police h3 {
    margin: 0 0 .35rem 0;
    font-size: 1rem;
}

.coa-police p {
    margin: 0;
    font-size: .95rem;
    line-height: 1.35;
}

.coa-police p+p {
    margin-top: .35rem;
}

.coa-police a[href^="mailto:"],
.coa-police a[href^="tel:"] {
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
}

.coa-police a[href^="mailto:"]:hover,
.coa-police a[href^="tel:"]:hover {
    border-bottom-style: solid;
}


/* Wrapper */
.coa-finance {
    margin: 0;
    padding: 0;
}

/* Grid */
.coa-finance>ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 560px) {
    .coa-finance>ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .coa-finance>ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .coa-finance>ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .coa-finance>ul>li:last-child {
        grid-column: span 2;
    }
}

/* Cards */
.coa-finance li {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    padding: 1rem;
    margin: 0;
}

.coa-finance h3 {
    margin: 0 0 .35rem 0;
    font-size: 1rem;
}

.coa-finance p {
    margin: 0;
    font-size: .95rem;
    line-height: 1.35;
}

.coa-finance p+p {
    margin-top: .35rem;
}

/* Links */
.coa-finance a[href^="mailto:"] {
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
}

.coa-finance a[href^="mailto:"]:hover,
.coa-finance a[href^="mailto:"]:focus {
    border-bottom-style: solid;
}

.coa-finance a[href^="mailto:"]:focus-visible {
    outline: 2px solid #005495;
    outline-offset: 2px;
}


.library_homeconnect {
    background: #005495;
    padding: 20px 10px 20px 10px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    color: white;
    margin-bottom: 20px;
    text-align: center;
}

.library_homeconnect h1 {
    line-height: 1;
    color: white !important;
    font-size: 24px;
}

.library_homeconnect .social-icons {
    display: flex;
    justify-content: center;
}

.library_homeconnect .social-icons li {
    display: inline-block;
    padding: 0px 5px;
    text-align: center;
}

.library_homeconnect .social-icons li a {
    color: white;
    text-shadow: 0 0 5px #5C5C5C;
}

.library_homeconnect .gplus {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.library_homeconnect .facebook {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.library_homeconnect .email {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 38px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.library_homeconnect .instagram {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 38px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.library_homeconnect .twitter {
    color: white;
    font-size: 20px;
    width: 40px;
    height: 40px;
    background: #959595;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
    border: 1px solid white;
    margin-bottom: 5px;
}

.library_homeconnect .social-icons li a:hover i {
    background: #333;
}


.search2 {
    margin: 0px 0px 15px 0px;
    padding: 0;
    clear: both;
    width: 100%;
}

.search2 input[type=text] {
    max-width: 68%;
    float: left;
    margin: 0px 0px 0px 0px;
    height: 40px;
    padding: 5px 12px;
    border-radius: 4px;
}

.catalog a {
    margin: 0 0 -10px;
    width: 100%;
    display: block;
    text-align: center;
}

button.g-button,
a.g-button,
input[type=submit].g-button {
    padding: 6px 4px;
    height: 40px;
    border-radius: 4px;
    border: solid 1px rgb(153, 153, 153);
    background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(255, 255, 255)), to(rgb(221, 221, 221)));
    color: #333;
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    text-shadow: 0px 1px 1px rgba(255, 255, 255, 1);
    line-height: 1;
    margin: 0px 0px 0px 4px;
    width: 28%;
}


/* HOME PAGE OVERIDES */


@media (max-width: 375px) {
    .home-intro-section {
        padding-top: 15px;
    }

    .home-top-section-container,
    .home-intro-section .container {
        padding: 20px 20px 20px 20px !important;
    }

    .home-tab-section-container,
    .home-social-section-container {
        padding: 20px 20px 20px 20px !important;
    }

    #customSlider .nav {
        top: 33%;
    }

    #customSlider .nav.next {
        right: -8px;
    }

    #customSlider .nav.prev {
        left: -8px;
    }

    .search-form-container .input-group button {
        padding: 8px 16px;
    }
}

@media (max-width: 480px) {
    #customSlider .nav {
        top: 33%;
    }
}

@media (max-width: 768px) {
    /* .home-intro-section,
    .home-bottom-section {
        padding-left: 20px;
        padding-right: 20px;
    } */

    .home-intro-section > .container,
    .home-bottom-section > .container {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}

#customSlider .nav.next {
    right: 8px;
}

#customSlider .nav.prev {
    left: 8px;
}

.home-intro-section {
    padding-top: 30px;
}

.home-intro-section h1.small-h1 {
    font-size: 24px;
    display: inline-block;
    color: #225390;
    margin-bottom: 0;
    line-height: 1;
}

.social-slider {
    position: relative;
}

.swiper-buttons {
    position: absolute;
    top: 55%;
    margin-top: -50px;
    width: 108%;
    margin-left: -4%;
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    background: rgb(0 71 127);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.2s ease;
}

.swiper-button-next::before,
.swiper-button-prev::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 3px solid white;
    border-left: 3px solid white;
}

.swiper-button-prev {
    left: 0;
}

.swiper-button-next {
    right: 0;
}

.swiper-button-prev::before {
    transform: translateX(2px) rotate(-45deg);
}

.swiper-button-next::before {
    transform: translateX(-2px) rotate(135deg);
}

.slider-head-area {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 12px;
    margin: 12px 0 20px 0;
    align-items: start;
}

.search-form-container .input-group input.search-input {
    width: 100% !important;
    padding: 8px 16px;
    border: none;
    border-radius: 0 !important;
    color: #225390;
    border-top-left-radius: .4rem !important;
    border-bottom-left-radius: .4rem !important;
    font-size: 15px;
    line-height: 1.3;
    background: #f0f0f0;
}

.quick-links-home {
    background: #fbfbfb;
    border-radius: .4rem;
    position: relative;
    padding: 30px 20px;
    min-height: 100%;
    border: 1px solid #f0f0f0;
}


.quick-links-home p {
    margin-bottom: 0px;
}

.quick-links-home .quicklinks-list {
    float: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.news-item p {
    font-size: 16px;
    margin: 0;
    line-height: 1.3 !important;
}

.feature-boxes {
    grid-template-columns: 1fr;
}

.home-top-section-container {
    display: block;
    padding: 30px 0 60px 0;
    position: relative;
}


.home-top-section-container .feature-boxes {
    padding-top: 40px;
}

.home-social-section-container {
    display: block;
    position: relative;
    padding: 2.2rem 1.6rem 2.2rem;
    border-top: 1px solid #f0f0f0;
}

.search-form-container {
    display: inline-block;
    width: auto;
}

.quick-links-home h2 {
    display: none;
}

@media (min-width:480px) {

    .feature-boxes {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .quick-links-home .quicklinks-list {
        grid-template-columns: 1fr 1fr;
    }

    .swiper-buttons {
        position: absolute;
        top: 50%;
        margin-top: -50px;
        width: 112%;
        margin-left: -6%;
    }
}

@media (min-width:768px) {

    .home-intro-section h1.small-h1 {
        font-size: 26px;
        display: inline-block;
        color: #225390;
        margin-bottom: 0;
        line-height: 1;
    }

    .feature-boxes {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }


    .swiper-buttons {
        position: absolute;
        top: 55%;
        margin-top: -50px;
        width: 108%;
        margin-left: -4%;
    }

    .slider-head-area {
        align-items: center;
        margin: 0px 0 20px 0;
    }

    .quick-links-home .quicklinks-list {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .slider-head-area {
        display: flex;
        justify-content: space-between;
        flex-direction: row;
    }
}

.events-item {
    margin: 0 !important;
    padding: 0 !important;
}

.calendar-event-list {
    list-style-type: none;
    margin: 0;
    width: 100%;
    padding: 0;
    border: 1px solid #f0f0f0;
}

.calendar-event-list-item {
    padding: 12px 20px;
    margin: 0 !important;
    width: 100%;
    color: black;
    border-bottom: 1px solid #f0f0f0;
}

.calendar-event-list-item:hover {
    background: #f0f0f0
}

.calendar-event-list-item .clickspan:hover {
    cursor: pointer;
    color: #005495;
}

.calendar-event-list-item:last-child {
    border-bottom: none;
}




/* Public Works Icons */

.public-works-icons {
    position: relative;
    margin-bottom: 2rem;
}

.public-works-icons .feature-boxes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    row-gap: 1rem;
    grid-auto-rows: 90px;
}

.public-works-icons .feature-boxes .feature-box {
    position: relative;
    margin-top: 0;
    padding: 0 0 0 80px;
}

@media (min-width:480px) {
    .public-works-icons .feature-boxes {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:576px) {
    .public-works-icons .feature-boxes {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width:768px) {
    .public-works-icons .feature-boxes {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width:992px) {
    .public-works-icons .feature-boxes {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }
}

.public-works-icons .feature-box {
    height: 100%;
}

.public-works-icons .feature-boxes .fbox-icon .circle-badge {
    background-color: #005495 !important;
    color: #fff;
    border-radius: 50%;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.1;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.14);
    transition: all 0.3s ease-in-out;
}

.public-works-icons .feature-box.fbox-bg.fbox-center .fbox-icon {
    position: absolute;
    top: -28px;
    left: 50%;
    margin: 0 0 0 -48px;
}

.public-works-icons .feature-box.fbox-bg.fbox-center {
    /* padding: 68px 20px 15px; */
    padding: 0;
    border: none;
}

.public-works-icons .feature-box a {
    display: flex;
    background-color: #F5F5F5;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 16px 13px;
    text-decoration: none;
    color: #005495;
    transition: all 0.3s ease-in-out;
    border-radius: 6px;
    font-size: 15px;
    letter-spacing: 0px;
    margin-top: 0px;
    line-height: 1.1;
    text-align: center;
}

.public-works-icons .feature-box a:hover {
    background-color: #1f6eb1;
    color: #ffffff !important;
    transition: all 0.3s ease-in-out;
    border-radius: 6px;
}

.public-works-icons .feature-box {
    height: 100%;
}


.public-works-icons .feature-box a:hover .circle-badge,
.public-works-icons .feature-box a:focus .circle-badge {
    background-color: #1f6eb1 !important;
    color: #e5f0ff;
    transition: all 0.3s ease-in-out;
}


@media (max-width:768px) {
    .public-works-icons .feature-boxes {
        row-gap: 1rem;
    }
}


@media (max-width: 575px) {
    .public-works-icons .container {
        display: block;
        padding: 20px 30px 20px 30px !important;
        position: relative;
    }
}

@media (max-width: 375px) {
    .public-works-icons .container {
        display: block;
        padding: 20px 15px 20px 15px !important;
        position: relative;
    }
}


footer .text-white,
.text-white,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
    color: white !important;
}



@media (min-width: 992px) {
    .home-mid-section .feature-boxes {
        grid-template-columns: 1fr 1fr 1fr 1fr
    }
}

/* ---- CDD: Not sure where to start ---- */
.cdd-start-section {
    background: #fff;
    padding: 44px 0 48px;
}

.cdd-section-heading {
    color: #005495;
    margin-bottom: 6px;
}

.cdd-section-intro {
    font-size: 16px;
    color: #555;
    margin-bottom: 22px;
}

.cdd-chips-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.cdd-chip {
    background: #fff;
    border: 1px solid #dce5ef;
    border-radius: 6px;
    color: #005495;
    padding: 15px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-weight: 500;
    font-size: 18px;
    text-decoration: none;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
    transition: background .15s, color .15s, box-shadow .15s;
}

.cdd-chip:hover,
.cdd-chip:focus {
    background: #005495;
    color: #fff;
    border-color: #005495;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(0, 84, 149, 0.2);
}

.cdd-chip:hover .cdd-chip-sub,
.cdd-chip:focus .cdd-chip-sub {
    color: #c5ddf0;
}

.cdd-chip:hover .cdd-chip-arr,
.cdd-chip:focus .cdd-chip-arr {
    color: #fff;
}

.cdd-chip-text {
    line-height: 1.4;
    flex: 1;
}

.cdd-chip-sub {
    font-size: 14px;
    font-weight: 400;
    color: #666;
    display: block;
    margin-top: 4px;
}

.cdd-chip-arr {
    font-size: 22px;
    color: #005495;
    flex-shrink: 0;
    line-height: 1;
}

/* ---- CDD: Most Requested ---- */
.cdd-most-req-section {
    background: #F0F0F0;
    padding: 44px 0 48px;
}

.cdd-mr-grid {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.cdd-mr-item {
    background: #fff;
    border: 1px solid #e5eaf0;
    border-radius: 50px;
    padding: 7px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    text-decoration: none;
    color: #005495;
    font-size: 16px;
    font-weight: 500;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    transition: background .13s, box-shadow .13s, color .13s;
}

.cdd-mr-item:hover,
.cdd-mr-item:focus {
    background: #eef4fb;
    color: #005495;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0, 84, 149, 0.12);
}

.cdd-mr-num {
    font-size: 18px;
    color: #005495;
    font-weight: 500;
    min-width: 12px;
    line-height: 1;
    flex-shrink: 0;
    opacity: .65;
    margin-top: -2px;
}

.cdd-mr-name {
    flex: 1;
    line-height: 1.1;
}

.cdd-mr-chev {
    color: #005495;
    ;
    font-size: 20px;
    flex-shrink: 0;
}

.cdd-mr-note {
    font-size: 14px;
    color: #666;
    margin-top: 16px;
    font-style: italic;
}

/* ---- DPI Banner ---- */
.cdd-dpi-outer {
    background: #005495;
    padding: 40px 0;
}

.cdd-dpi-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    background: #015495;
    padding: 30px;
    border-radius: 6px;
}

.cdd-dpi-banner h2 {
    color: #fff !important;
    margin-bottom: 10px;
}

.cdd-dpi-banner p {
    color: #edf7ff;
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
    max-width: 580px;
}

@media (max-width: 767px) {

    .cdd-chips-grid,
    .cdd-mr-grid {
        grid-template-columns: 1fr;
    }

    .cdd-dpi-banner {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        padding: 16px;
    }

    .cdd-mr-item {
        border-radius: 50px;
        padding: 14px 20px;
        gap: 10px;
        font-size: 15px;
    }

    .cdd-most-req-section {
        background: #F0F0F0;
        padding: 44px 20px 48px 20px;
    }
}


/* ---- Code Compliance Landing Page ---- */
.cc-intro {
    padding: 0px 0 0;
}

.cc-intro p {
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 14px;
    color: #333;
}

.cc-jurisdiction {
    padding: 36px 0 24px;
}

.cc-dept-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    align-items: stretch;
    margin-bottom: 20px;
}

.cc-dept-box {
    border-radius: 6px;
    padding: 22px 24px;
    color: #fff;
}

.cc-dept-box h3 {
    font-size: 18px;
    font-weight: 700;
    color: #fff !important;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.cc-dept-box ul {
    list-style: disc;
    padding-left: 18px;
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.92);
}

.cc-dept-box ul li::before {
    content: none;
}

.cc-sub-box {
    margin-top: 18px;
    border-radius: 4px;
    padding: 14px 16px;
    background: rgba(0, 0, 0, 0.18);
}

.cc-sub-box a {
    color: white !important;
}

.cc-sub-box h4 {
    font-size: 15px;
    font-weight: 700;
    color: #fff !important;
    margin-bottom: 8px;
}

.cc-sub-box ul {
    font-size: 14px;
    padding-left: 16px;
}

/* Department colors — TBD, inspired by Bend Oregon */
.cc-box-code {
    background: #005495;
}

.cc-box-police {
    background: #1d4d5e;
}

.cc-box-pw {
    background: #2d6840;
}

/* Notices */
.cc-notice {
    background: #f5f5f5;
    border-left: 4px solid #005495;
    border-radius: 0 6px 6px 0;
    padding: 13px 18px;
    font-size: 15px;
    color: #333;
    margin-bottom: 10px;
    line-height: 1.6;
}

.cc-notice-neutral {
    border-left-color: #999;
}

.cc-notice strong {
    color: #005495;
}

.cc-notice-neutral strong {
    color: #333;
}

/* Action buttons */
.cc-actions {
    padding: 32px 0 40px;
    border-top: 1px solid #e5eaf0;
}

.cc-actions-label {
    font-size: 13px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin-bottom: 16px;
}

.cc-action-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
}

.cc-action-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 22px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.35;
    color: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    transition: transform .15s, box-shadow .15s, background .15s;
}

.cc-action-btn:hover {
    text-decoration: none;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.cc-action-btn-sub {
    display: block;
    font-size: 13px;
    font-weight: 400;
    opacity: 0.82;
    margin-top: 6px;
    line-height: 1.45;
}

.cc-btn-code {
    background: #005495;
}

.cc-btn-code:hover {
    background: #00477f;
}

.cc-btn-police {
    background: #1d4d5e;
}

.cc-btn-police:hover {
    background: #163b49;
}

.cc-btn-pw {
    background: #2d6840;
}

.cc-btn-pw:hover {
    background: #225434;
}

.cc-emergency-note {
    margin-top: 10px;
    padding: 10px 16px;
    background: rgba(255, 255, 255, 0.55);
    border-radius: 6px;
    font-size: 20px;
    color: #1d4d5e;
    font-style: italic;
}

.cc-not-mediated {
    background: #dce6ed;
    border-left: 5px solid #005495;
    border-radius: 6px;
    padding: 20px 24px;
    font-size: 15px;
    color: #1a2a3a;
    line-height: 1.75;
    margin-top: 12px;
}

@media (max-width: 991px) {
    .cc-dept-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .cc-dept-grid {
        grid-template-columns: 1fr;
    }

    .cc-action-grid {
        grid-template-columns: 1fr;
    }
}

/* Responsive video embeds */
iframe[src*="youtube.com"],
iframe[src*="youtu.be"],
iframe[src*="vimeo.com"] {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

/* Responsive images — height: auto lets the browser derive height from
   the width/height HTML attributes so the aspect ratio is never broken */
img {
    max-width: 100%;
    height: auto;
}

/* ================================================================
 FORM STYLES
   ================================================================ */

/* ---- Design tokens ---- */
.coa-form {
  --coa-text:           #1a2332;
  --coa-text-muted:     #5c6b7a;
  --coa-border:         #d0d7de;
  --coa-border-hover:   #a8b4c0;
  --coa-border-focus:   #2563eb;
  --coa-accent:         #1e4d7b;
  --coa-accent-hover:   #163a5f;
  --coa-required:       #b45309;
  --coa-surface:        #ffffff;
  --coa-surface-subtle: #f8fafc;
  --coa-radius:         8px;
  --coa-shadow:         0 2px 8px rgba(26,35,50,.08), 0 1px 2px rgba(26,35,50,.06);
  --coa-valid:          #15803d;
  --coa-invalid:        #dc2626;
  --coa-focus-ring:     rgba(37,99,235,.2);

  /* Align Bootstrap 5 custom properties */
  --bs-border-color:              var(--coa-border);
  --bs-border-radius:             var(--coa-radius);
  --bs-border-radius-sm:          6px;
  --bs-border-radius-lg:          10px;
  --bs-body-color:                var(--coa-text);
  --bs-secondary-color:           var(--coa-text-muted);
  --bs-focus-ring-color:          var(--coa-focus-ring);
  --bs-focus-ring-width:          3px;
  --bs-form-valid-color:          var(--coa-valid);
  --bs-form-valid-border-color:   var(--coa-valid);
  --bs-form-invalid-color:        var(--coa-invalid);
  --bs-form-invalid-border-color: var(--coa-invalid);
}


/* ================================================================
   Labels, legends, hint text
   ================================================================ */

.coa-form label,
.coa-form .form-label,
.coa-form .col-form-label {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.4;
  color: var(--coa-text);
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  background: none;
  background-image: none;
  padding-right: 0;
  cursor: default;
}

/* Suppress CMS-injected pseudo-elements */
.coa-form label::before,
.coa-form label::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.coa-form fieldset {
  margin: 0 0 2rem;
  padding: 0;
  border: none;
  min-width: 0;
}

.coa-form fieldset:last-of-type {
  margin-bottom: 0;
}

.coa-form legend,
.coa-form .form-section__heading {
  display: block;
  width: 100%;
  float: none;
  margin: 0 0 1.15rem;
  padding: 0 0 0.5rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--coa-text);
  border: none;
  border-bottom: 2px solid var(--coa-accent);
}

.coa-form legend::before,
.coa-form legend::after {
  content: none !important;
  display: none !important;
}

.coa-form .form-text,
.coa-form .field-hint {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--coa-text-muted);
}

.coa-form .required-tag {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--coa-required);
  vertical-align: middle;
}

.coa-form ul.list-unstyled {
    margin: 8px 0px 8px 0px;
}
.coa-form ul.list-unstyled li {
    margin-left: 0px;
}

/* ================================================================
   Text-like inputs
   (text, email, tel, url, search, password, number,
    date, time, datetime-local, month, week)
   ================================================================ */

.coa-form :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"]
),
.coa-form textarea,
.coa-form .form-control {
  display: block;
  width: 100%;
  padding: 0.65rem 0.85rem;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--coa-text);
  background-color: var(--coa-surface);
  background-image: none;
  border: 1px solid var(--coa-border);
  border-radius: var(--coa-radius);
  box-shadow: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.coa-form :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"]
):hover,
.coa-form textarea:hover,
.coa-form .form-control:hover {
  border-color: var(--coa-border-hover);
}

.coa-form :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"]
):focus,
.coa-form textarea:focus,
.coa-form .form-control:focus {
  outline: none;
  border-color: var(--coa-border-focus);
  box-shadow: 0 0 0 3px var(--coa-focus-ring);
}

.coa-form :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"]
):disabled,
.coa-form textarea:disabled,
.coa-form .form-control:disabled {
  background-color: #f1f5f9;
  color: var(--coa-text-muted);
  cursor: not-allowed;
  opacity: 0.65;
}

.coa-form :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"]
)[readonly],
.coa-form textarea[readonly],
.coa-form .form-control[readonly] {
  background-color: var(--coa-surface-subtle);
  color: var(--coa-text-muted);
}

/* Search — remove native clear button in WebKit */
.coa-form input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/* Number — optional: hide spin buttons for cleaner look */
.coa-form input[type="number"]::-webkit-inner-spin-button,
.coa-form input[type="number"]::-webkit-outer-spin-button {
  opacity: 0.5;
}


/* ================================================================
   Textarea
   ================================================================ */

.coa-form textarea {
  min-height: 140px;
  resize: vertical;
}


/* ================================================================
   Select
   ================================================================ */

.coa-form select,
.coa-form .form-select {
  display: block;
  width: 100%;
  padding: 0.65rem 2.5rem 0.65rem 0.85rem;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--coa-text);
  background-color: var(--coa-surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%235c6b7a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid var(--coa-border);
  border-radius: var(--coa-radius);
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.coa-form select:hover,
.coa-form .form-select:hover {
  border-color: var(--coa-border-hover);
}

.coa-form select:focus,
.coa-form .form-select:focus {
  outline: none;
  border-color: var(--coa-border-focus);
  box-shadow: 0 0 0 3px var(--coa-focus-ring);
}

.coa-form select:disabled,
.coa-form .form-select:disabled {
  background-color: #f1f5f9;
  color: var(--coa-text-muted);
  cursor: not-allowed;
  opacity: 0.65;
}

/* Multi-select and sized select: no custom arrow */
.coa-form select[multiple],
.coa-form select[size]:not([size="1"]),
.coa-form .form-select[multiple] {
  background-image: none;
  padding-right: 0.85rem;
  height: auto;
}


/* ================================================================
   Checkbox & Radio
   ================================================================ */

.coa-form input[type="checkbox"],
.coa-form input[type="radio"],
.coa-form .form-check-input {
  width: 1.125rem !important;
  height: 1.125rem !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  float: none !important;
  position: static !important;
  background-color: var(--coa-surface);
  border: 1px solid var(--coa-border);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  vertical-align: middle;
}

.coa-form input[type="checkbox"],
.coa-form .form-check-input[type="checkbox"] {
  border-radius: 3px;
}

.coa-form input[type="radio"],
.coa-form .form-check-input[type="radio"] {
  border-radius: 50%;
}

.coa-form input[type="checkbox"]:hover,
.coa-form input[type="radio"]:hover,
.coa-form .form-check-input:hover {
  border-color: var(--coa-border-hover);
}

.coa-form input[type="checkbox"]:checked,
.coa-form .form-check-input[type="checkbox"]:checked {
  background-color: var(--coa-accent);
  border-color: var(--coa-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m4 10 4 4 8-8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}

.coa-form input[type="radio"]:checked,
.coa-form .form-check-input[type="radio"]:checked {
  background-color: var(--coa-accent);
  border-color: var(--coa-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.5' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px;
}

.coa-form input[type="checkbox"]:focus,
.coa-form input[type="radio"]:focus,
.coa-form .form-check-input:focus {
  outline: none;
  border-color: var(--coa-border-focus);
  box-shadow: 0 0 0 3px var(--coa-focus-ring);
}

.coa-form input[type="checkbox"]:disabled,
.coa-form input[type="radio"]:disabled,
.coa-form .form-check-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Bootstrap .form-check layout */
.coa-form .form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding-left: 0;
  margin-bottom: 0.65rem;
}

.coa-form .form-check .form-check-input {
  margin-top: 0.15rem;
}

.coa-form .form-check-label {
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 1.4;
  color: var(--coa-text);
  cursor: pointer;
  margin-bottom: 0;
  text-transform: none;
  letter-spacing: normal;
  background: none;
  background-image: none;
}

.coa-form .form-check-label::before,
.coa-form .form-check-label::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.coa-form .form-check-inline {
  display: inline-flex;
  margin-right: 1rem;
}

/* "Other: ____" — a form-check that also contains a text input */
.coa-form .form-check:has(input[type="text"]) {
  align-items: center;
}

.coa-form .form-check input[type="text"] {
  flex: 1 1 10rem;
  min-width: 8rem;
  width: auto;
}

/* Legend hint / sub-label */
.coa-form legend small {
  font-weight: 400;
  font-size: 0.875rem;
  color: var(--coa-text-muted);
  letter-spacing: normal;
}


/* ================================================================
   Range
   ================================================================ */

.coa-form input[type="range"],
.coa-form .form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.coa-form input[type="range"]::-webkit-slider-track,
.coa-form .form-range::-webkit-slider-track {
  height: 0.4rem;
  background: var(--coa-border);
  border-radius: 2px;
}

.coa-form input[type="range"]::-moz-range-track {
  height: 0.4rem;
  background: var(--coa-border);
  border-radius: 2px;
  border: none;
}

.coa-form input[type="range"]::-webkit-slider-thumb,
.coa-form .form-range::-webkit-slider-thumb {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: -0.375rem;
  background: var(--coa-accent);
  border: none;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.coa-form input[type="range"]::-moz-range-thumb {
  width: 1.125rem;
  height: 1.125rem;
  background: var(--coa-accent);
  border: none;
  border-radius: 50%;
}

.coa-form input[type="range"]:focus {
  outline: none;
}

.coa-form input[type="range"]:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px var(--coa-focus-ring);
}

.coa-form input[type="range"]:focus::-moz-range-thumb {
  box-shadow: 0 0 0 3px var(--coa-focus-ring);
}

.coa-form input[type="range"]:disabled::-webkit-slider-thumb,
.coa-form input[type="range"]:disabled::-moz-range-thumb {
  background: var(--coa-border);
  cursor: not-allowed;
}


/* ================================================================
   Color
   ================================================================ */

.coa-form input[type="color"],
.coa-form .form-control-color {
  width: 3rem;
  height: 2.5rem;
  padding: 0.25rem;
  border: 1px solid var(--coa-border);
  border-radius: var(--coa-radius);
  background: none;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.coa-form input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
}

.coa-form input[type="color"]::-webkit-color-swatch {
  border: none;
  border-radius: calc(var(--coa-radius) - 2px);
}

.coa-form input[type="color"]::-moz-color-swatch {
  border: none;
  border-radius: calc(var(--coa-radius) - 2px);
}

.coa-form input[type="color"]:hover {
  border-color: var(--coa-border-hover);
}

.coa-form input[type="color"]:focus {
  outline: none;
  border-color: var(--coa-border-focus);
  box-shadow: 0 0 0 3px var(--coa-focus-ring);
}


/* ================================================================
   File input
   ================================================================ */

.coa-form input[type="file"],
.coa-form .form-control[type="file"] {
  display: block;
  width: 100%;
  padding: 0.65rem 0.85rem;
  font-family: inherit;
  font-size: 0.9375rem;
  color: var(--coa-text);
  background-color: var(--coa-surface-subtle);
  border: 1px dashed var(--coa-border);
  border-radius: var(--coa-radius);
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.coa-form input[type="file"]:hover {
  border-color: var(--coa-border-hover);
  background-color: #f0f4f8;
}

.coa-form input[type="file"]:focus {
  outline: none;
  border-color: var(--coa-border-focus);
  box-shadow: 0 0 0 3px var(--coa-focus-ring);
}

.coa-form input[type="file"]::file-selector-button {
  padding: 0.35rem 0.85rem;
  margin-right: 0.85rem;
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--coa-accent);
  background: var(--coa-surface);
  border: 1px solid var(--coa-accent);
  border-radius: var(--coa-radius);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.coa-form input[type="file"]::file-selector-button:hover {
  color: #fff;
  background: var(--coa-accent);
}

/* WebKit prefix fallback */
.coa-form input[type="file"]::-webkit-file-upload-button {
  padding: 0.35rem 0.85rem;
  margin-right: 0.85rem;
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--coa-accent);
  background: var(--coa-surface);
  border: 1px solid var(--coa-accent);
  border-radius: var(--coa-radius);
  cursor: pointer;
  -webkit-appearance: none;
}

.coa-form input[type="file"]::-webkit-file-upload-button:hover {
  color: #fff;
  background: var(--coa-accent);
}


/* ================================================================
   Input groups (Bootstrap .input-group)
   ================================================================ */

.coa-form .input-group-text {
  padding: 0.65rem 0.85rem;
  font-family: inherit;
  font-size: 1rem;
  color: var(--coa-text-muted);
  background-color: var(--coa-surface-subtle);
  border: 1px solid var(--coa-border);
  border-radius: var(--coa-radius);
  transition: border-color 0.15s ease;
}

.coa-form .input-group > :not(:last-child):not(.dropdown-menu):not(.dropdown-toggle),
.coa-form .input-group > :not(:last-child) > input,
.coa-form .input-group > :not(:last-child) > select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.coa-form .input-group > :not(:first-child):not(.dropdown-menu),
.coa-form .input-group > :not(:first-child) > input,
.coa-form .input-group > :not(:first-child) > select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: -1px;
}


/* ================================================================
   Floating labels (Bootstrap .form-floating)
   ================================================================ */

.coa-form .form-floating > label {
  padding: 0.65rem 0.85rem;
  color: var(--coa-text-muted);
  font-weight: 400;
}

.coa-form .form-floating > .form-control,
.coa-form .form-floating > .form-select {
  padding-top: 1.4rem;
  padding-bottom: 0.4rem;
}

.coa-form .form-floating > .form-control:focus ~ label,
.coa-form .form-floating > .form-control:not(:placeholder-shown) ~ label,
.coa-form .form-floating > .form-select ~ label {
  color: var(--coa-text-muted);
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}


/* ================================================================
   Submit / Button / Reset
   ================================================================ */

.coa-form :is(
  input[type="submit"],
  input[type="button"]
),
.coa-form button[type="submit"],
.coa-form .btn-primary {
  display: inline-block;
  min-width: 180px;
  padding: 0.75rem 1.75rem;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
  background: var(--coa-accent);
  border: none;
  border-radius: var(--coa-radius);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  user-select: none;
}

.coa-form :is(
  input[type="submit"],
  input[type="button"]
):hover,
.coa-form button[type="submit"]:hover,
.coa-form .btn-primary:hover {
  background: var(--coa-accent-hover);
  color: #fff;
}

.coa-form :is(
  input[type="submit"],
  input[type="button"]
):active,
.coa-form button[type="submit"]:active {
  transform: translateY(1px);
  background: var(--coa-accent-hover);
}

.coa-form :is(
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
):focus,
.coa-form button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(30,77,123,.35);
}

.coa-form input[type="reset"],
.coa-form button[type="reset"] {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--coa-text-muted);
  background: transparent;
  border: 1px solid var(--coa-border);
  border-radius: var(--coa-radius);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.coa-form input[type="reset"]:hover,
.coa-form button[type="reset"]:hover {
  background: #f1f5f9;
  border-color: var(--coa-border-hover);
}

/* Image button */
.coa-form input[type="image"] {
  cursor: pointer;
  border-radius: var(--coa-radius);
}

.coa-form input[type="image"]:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--coa-focus-ring);
}


/* ================================================================
   Validation — Bootstrap 5 states
   ================================================================ */

/* --- Valid --- */
.coa-form .is-valid,
.coa-form .was-validated :valid:not([type="checkbox"]):not([type="radio"]) {
  border-color: var(--coa-valid) !important;
  padding-right: calc(1.4em + 0.75rem);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2315803d' d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.coa-form .is-valid:focus,
.coa-form .was-validated :valid:focus:not([type="checkbox"]):not([type="radio"]) {
  box-shadow: 0 0 0 3px rgba(21,128,61,.2) !important;
}

.coa-form .valid-feedback {
  display: none;
  font-size: 0.875rem;
  color: var(--coa-valid);
  margin-top: 0.25rem;
}

.coa-form .is-valid ~ .valid-feedback,
.coa-form .was-validated :valid ~ .valid-feedback {
  display: block;
}

.coa-form .valid-tooltip {
  background-color: var(--coa-valid);
}

/* --- Invalid --- */
.coa-form .is-invalid,
.coa-form .was-validated :invalid:not([type="checkbox"]):not([type="radio"]) {
  border-color: var(--coa-invalid) !important;
  padding-right: calc(1.4em + 0.75rem);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23dc2626' d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.coa-form .is-invalid:focus,
.coa-form .was-validated :invalid:focus:not([type="checkbox"]):not([type="radio"]) {
  box-shadow: 0 0 0 3px rgba(220,38,38,.2) !important;
}

.coa-form .invalid-feedback {
  display: none;
  font-size: 0.875rem;
  color: var(--coa-invalid);
  margin-top: 0.25rem;
}

.coa-form .is-invalid ~ .invalid-feedback,
.coa-form .was-validated :invalid ~ .invalid-feedback {
  display: block;
}

.coa-form .invalid-tooltip {
  background-color: var(--coa-invalid);
}

/* Textarea: feedback icon in top-right corner instead of right-center */
.coa-form textarea.is-valid,
.coa-form .was-validated textarea:valid,
.coa-form textarea.is-invalid,
.coa-form .was-validated textarea:invalid {
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

/* Select: feedback icon position accounts for chevron arrow */
.coa-form select.is-valid,
.coa-form .was-validated select:valid,
.coa-form select.is-invalid,
.coa-form .was-validated select:invalid {
  background-position: right 2.5rem center, right 0.75rem center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem), 16px 12px;
}

/* ================================================================
   Windows High Contrast / Forced Colors Mode (WCAG 1.4.11)
   box-shadow is invisible in forced-colors — replace with outline.
   Restore native checkbox/radio appearance so the OS can style them.
   ================================================================ */

@media (forced-colors: active) {

  .coa-form input[type="checkbox"],
  .coa-form input[type="radio"],
  .coa-form .form-check-input {
    forced-color-adjust: auto;
  }

  .coa-form :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="search"],
    input[type="password"],
    input[type="number"],
    input[type="date"],
    input[type="time"],
    input[type="datetime-local"],
    input[type="month"],
    input[type="week"]
  ):focus,
  .coa-form select:focus,
  .coa-form textarea:focus,
  .coa-form input[type="file"]:focus,
  .coa-form input[type="color"]:focus,
  .coa-form input[type="range"]:focus,
  .coa-form :is(
    input[type="submit"],
    input[type="button"],
    input[type="reset"]
  ):focus,
  .coa-form button:focus,
  .coa-form .form-control:focus,
  .coa-form .form-select:focus {
    outline: 3px solid ButtonText;
    outline-offset: 2px;
    box-shadow: none;
  }
}


/* Valid/invalid for checkbox and radio */
.coa-form .was-validated input[type="checkbox"]:valid,
.coa-form .was-validated input[type="radio"]:valid,
.coa-form input[type="checkbox"].is-valid,
.coa-form input[type="radio"].is-valid {
  border-color: var(--coa-valid) !important;
}

.coa-form .was-validated input[type="checkbox"]:invalid,
.coa-form .was-validated input[type="radio"]:invalid,
.coa-form input[type="checkbox"].is-invalid,
.coa-form input[type="radio"].is-invalid {
  border-color: var(--coa-invalid) !important;
}


/* .form-page styles */

:root {
  --color-bg: #ffffff;
  --color-surface: #ffffff;
  --color-text: #1a2332;
  --color-text-muted: #5c6b7a;
  --color-border: #d0d7de;
  --color-border-focus: #2563eb;
  --color-accent: #1e4d7b;
  --color-accent-hover: #163a5f;
  --color-required: #b45309;
  --color-link: #2563eb;
  --radius: 8px;
  --shadow: 0 2px 8px rgba(26, 35, 50, 0.08), 0 1px 2px rgba(26, 35, 50, 0.06);
  --font-sans: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
  --max-width: 720px;
}


.form-page .form-header {
  margin-bottom: 1.75rem;
}

.form-page .form-header p {
  margin: 0 0 0.75rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
}

.form-page .form-header p:last-of-type {
  margin-bottom: 0;
}

.form-page .contact-block {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.5rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.form-page .contact-block__title {
  margin: 0 0 0.5rem;
  font-weight: 600;
  color: var(--color-text);
}

.form-page .contact-block a { color: var(--color-link); text-decoration: none; font-weight: 500; }
.form-page .contact-block a:hover { text-decoration: underline; }

/* Card wrapper for the form on this page */
.form-page form {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 1.75rem 1.5rem 2rem;
}

@media (min-width: 480px) {
  .form-page form { padding: 2rem 2rem 2.25rem; }
}

/* FAQs */
.faqs {
  margin-top: 2rem;
  padding: 1.5rem 1.5rem 1.75rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.faqs__heading {
  margin: 0 0 1rem;
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--color-text);
}

.faq-item {
  margin-bottom: 0.5rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.faq-item[open] { border-color: #b8c4d0; }

.faqs .faq-item__summary {
  padding: 1rem 1.25rem;
  padding-right: 2.5rem;
  font-weight: 600;
  font-size: 0.975rem;
  color: var(--color-text);
  cursor: pointer;
  list-style: none;
  position: relative;
  user-select: none;
}

.faqs .faq-item__summary::-webkit-details-marker { display: none; }
.faqs .faq-item__summary::marker { content: ""; }

.faqs .faq-item__summary::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid var(--color-accent);
  border-bottom: 2px solid var(--color-accent);
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.2s ease;
}

.faqs .faq-item[open] .faq-item__summary::after {
  transform: translateY(-35%) rotate(-135deg);
}

.faqs .faq-item__summary:hover { background: #f8fafc; }

.faqs .faq-item__summary:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--color-border-focus);
}

.faq-item__content {
  padding: 0 1.25rem 1.25rem;
  color: var(--color-text-muted);
  font-size: 0.9375rem;
  border-top: 1px solid var(--color-border);
}

.faq-item__content p { margin: 0.85rem 0 0; }
.faq-item__content p:first-child { margin-top: 1rem; }
.faq-item__content ul { margin: 0.75rem 0 0; padding-left: 1.35rem; }
.faq-item__content li { margin-bottom: 0.35rem; }
.faq-item__content a { color: var(--color-link); text-decoration: none; }
.faq-item__content a:hover { text-decoration: underline; }
.faq-questions { font-size: 16px; font-weight: normal; }


.accordion-item {
    border-top-left-radius: var(--bs-accordion-border-radius);
    border-top-right-radius: var(--bs-accordion-border-radius);
    border-radius: var(--bs-accordion-inner-border-radius) !important;
    margin-bottom: 12px;
}

.accordion-button {
   background-color: transparent
}

.coa-form td p span.required_text,
.coa-form span.required_text,
.required_text {
    color: red !important;
    font-weight: 700 !important;
    font-size: 10px !important;
}