:root {
    --color-off-black: #16181D;
}

/* --------------------------------------- COMMON STYLES --------------------------------------- */

.government-content:last-of-type {
    margin-bottom: 0;
}

.heading-description-section .government-content-image__heading {
    font-family: var(--font-family-museo);
    font-size: var(--h3-size);
    color: var(--color-purple);
    text-transform: uppercase;
    margin: 0 0 24px 0;
    line-height: 1.2;
}

.heading-description-item:last-child {
    margin-bottom: 0 !important;
}

/* .heading-description-section .government-content:last-of-type .component-width {padding-bottom: 0!important;} */
.inner-details-wrapper {
    margin-top: 24px;
}

.inner-details-item {
    margin-bottom: 20px;
}

.inner-details-item:last-child {
    margin-bottom: 0;
}

.inner-details-item__heading {
    color: var(--color-purple);
    margin: 0 0 8px 0;
    font-weight: var(--fw-semibold);
    font-size: var(--h5-size);
}

.inner-details-item__text {
    color: var(--color-off-black);
}

.inner-details-item__text> :is(h2, h3, h4, h5, h6) {
    font-size: var(--h6-size);
    color: var(--color-purple);
    margin: 20px 0 10px 0;
    font-weight: var(--fw-semibold);
}

.tosa-component-content>section.main-form.tosa_container {
    padding-inline: 0;
}

/* .page-template-department-template main.site-main .tosa_container:not(.dept-hero-overlap-section) {
    padding-inline: calc(7.5vw + 60px);
} */

.dept-sidebar-accordion__helpful-links .dept-sidebar-accordion__links-body a {
    display: inline;
    margin-bottom: 0;
}

.dept-sidebar-accordion__helpful-links .dept-sidebar-accordion__link-item {
    text-align: center;
    margin-bottom: 20px;
}

.dept-sidebar-accordion__helpful-links .dept-sidebar-accordion__link-item:last-child {
    margin-bottom: 0;
}

.dept-sidebar-accordion__helpful-links:has(+ .single-news-sidebar-btn-wrap) {
    margin-bottom: 30px;
}

.global-form .gfield--type-consent .gfield_description.gfield_consent_description .gfield_consent_description_text {
    padding-block: 8px;
    margin-top: 8px;
    margin-left: 20px;
    border-radius: 10px;
    color: var(--color-purple);
    width: fit-content;
}

.global-form .gfield--type-consent .gfield_description.gfield_consent_description .gfield_consent_description_text>a::before {
    content: '';
    background: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cg clip-path="url(%23clip0_541_54)"%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" d="M18.2387 1.76128C15.8904 -0.587092 12.0827 -0.587092 9.7344 1.76128L7.16555 4.33012L8.58276 5.74736L11.1516 3.17851C12.7182 1.61193 15.254 1.61193 16.8215 3.17851C18.3841 4.74209 18.3841 7.28485 16.8215 8.84843L14.2527 11.4175L15.6699 12.8348L18.2387 10.2657C20.5871 7.9173 20.5871 4.10965 18.2387 1.76128ZM8.84838 16.8208C8.09166 17.5786 7.08438 17.9954 6.01394 17.9954C4.94351 17.9954 3.93619 17.5786 3.17947 16.8208C1.61591 15.2583 1.61591 12.7145 3.17947 11.1519L5.74832 8.58281L4.3301 7.1646L1.76126 9.73344C-0.587086 12.0818 -0.587086 15.8897 1.76126 18.2391C2.93593 19.4127 4.47444 20 6.01394 20C7.55344 20 9.09192 19.4127 10.2666 18.2391L12.8354 15.6702L11.4172 14.252L8.84838 16.8208ZM12.2631 6.31987L13.6804 7.73711L7.7218 13.6956L6.30459 12.2784L12.2631 6.31987Z" fill="%231C3866"/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id="clip0_541_54"%3E%3Crect width="20" height="20" fill="white"/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E') center / contain no-repeat;
    display: inline-block;
    width: 18px;
    height: 15px;
    border-radius: 50px;
    margin-right: 5px;
    position: relative;
    top: 2px;
}

.global-form .form-inline-html {
    margin-block: 15px 0px;
}

.global-form .form-inline-html h2,
.global-form .form-inline-html h3,
.global-form .form-inline-html h4,
.global-form .form-inline-html h5,
.global-form .form-inline-html h6 {
    font-family: var(--font-family-tiktok);
    color: var(--color-purple);
    font-weight: var(--fw-semibold);
}

.global-form .form-inline-html h2 {
    font-size: var(--h4-size);
}

.global-form .form-inline-html h3 {
    font-size: var(--h5-size);
}

.global-form .form-inline-html h4 {
    font-size: var(--h6-size);
}

.global-form .form-inline-html h5 {
    font-size: var(--body-medium);
}

.global-form .form-inline-html h6 {
    font-size: var(--body-medium);
}

.dept-hero-overlap-card__content p a,
.dept-content-image__text a {
    word-break: break-all !important;
    text-wrap: auto !important;
}


/* ------------------------------------------------------------------------------------- */

.page-template-department-template main.site-main {
    /* background: linear-gradient(180deg, rgba(255, 255, 255, 0.40) 0%, rgba(221, 197, 178, 0.40) 100%); */
    position: relative;
}

.page-template-department-template .dept-hero-overlap-section,
.page-template-department-template .dept-quick-links-section,
.page-template-department-template .dept-content-image-section,
.page-template-department-template .faqs_container,
.page-template-department-template .main-form,
.page-template-department-template .heading-description-section,
.page-template-department-template .dept-card-grid-section {
    position: relative;
    background: transparent !important;
}

.page-template-department-template .dept-hero-overlap-section:after,
.page-template-department-template .dept-quick-links-section:after,
.page-template-department-template .dept-content-image-section:after,
.page-template-department-template .faqs_container:after,
.page-template-department-template .main-form::after,
.page-template-department-template .heading-description-section::after,
.page-template-department-template .dept-card-grid-section::after {
    content: '';
    background: url("/wp-content/uploads/2026/07/bg-pattern-stars.svg");
    background-size: 50% 100%;
    background-position: left 100% top 100%;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    pointer-events: none;
    min-height: 800px;
}

/* .page-template-department-template main.site-main > section:last-child {margin-bottom: 0;} */

.department-banner {
    position: relative;
    min-height: 87vh;
    background: url('/wp-content/uploads/2026/08/Wauwatosa_Brand_Texture_1920x1080_Blue-1.svg') right bottom / cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: calc(var(--header-height, 140px) + 32px) 8vw 60px;
    margin-top: calc(-1 * var(--header-height, 140px));
    z-index: 1;
}

.department-banner__overlay {
    position: absolute;
    inset: 0;
    background: var(--color-purple, linear-gradient(0deg, #1C3866 0%, #1C3866 100%), #D9D9D9);
    z-index: 1;
    opacity: 0.5;
}

.page-template-government-template .department-banner__overlay {
    display: none;
}

.department-banner__content {
    position: relative;
    z-index: 2;
    text-align: center;
    margin: 0 auto;
}

.department-banner__heading {
    font-family: var(--font-family-museo);
    color: var(--color-yellow);
    text-shadow: 0 4px 4px rgba(22, 24, 29, 0.30);
    letter-spacing: normal;
    line-height: var(--heading-line-height);
    text-transform: capitalize;
    margin: 0;
    font-weight: var(--fw-bold);
}

.department-banner__subheading {
    font-family: var(--font-family-tiktok);
    text-shadow: 0 4px 4px rgba(22, 24, 29, 0.25);
    font-size: var(--size-48);
    font-weight: var(--fw-bold);
    color: var(--color-off-white);
    line-height: normal;
    margin: 0 auto;
    max-width: 1146px;
}


.dept-hero-overlap-section {
    margin-top: 80px;
    margin-bottom: 60px;
}

.department-banner+.dept-hero-overlap-section {
    margin-top: -80px;
}

.department-banner+.dept-quick-links-section {
    margin-top: 80px;
}

.department-banner+.dept-content-image-section {
    padding-top: 80px;
}

.department-banner+.faqs_container {
    padding-top: 80px;
}

.dept-hero-overlap-section:last-child {
    margin-bottom: 0;
    padding-bottom: 80px;
}

.dept-hero-overlap-card {
    background-color: var(--color-light-yellow);
    border-radius: 12px;
    padding: 40px 60px 100px;
    position: relative;
    z-index: 5;
}

.dept-hero-overlap-section--has-image .dept-hero-overlap-card {
    display: grid;
    grid-template-columns: 0.8fr 1fr;
    gap: 50px;
    padding: 40px 60px 50px;
    overflow: hidden;
}

.dept-hero-overlap-section--has-image .dept-hero-overlap-card__right {
    position: relative;
    top: 123%;
}

.dept-hero-overlap-card__right-img {
    position: absolute;
    bottom: 0;
}

.dept-hero-overlap-section--has-image .dept-hero-overlap-card .dept-wrapper-card {
    display: flex;
    gap: 48px;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.dept-hero-overlap-card__left {
    flex: 1;
}

.dept-hero-overlap-card__right {
    flex: 0 0 400px;
    width: 100%;
    position: sticky;
    top: calc(var(--header-height, 140px) + 30px);
    align-self: flex-start;
}

.dept-hero-overlap-card__meta {
    margin-bottom: 20px;
}

.dept-hero-overlap-card__breadcrumbs,
.dept-hero-overlap-card__breadcrumbs a,
.dept-hero-overlap-card__breadcrumbs span {
    color: var(--color-black);
    font-family: var(--font-family-tiktok);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    line-height: 1.6;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
}

.dept-hero-overlap-card__breadcrumbs a:hover {
    text-decoration: underline;
}

.dept-hero-overlap-card__breadcrumbs {
    display: block;
    margin-bottom: 15px;
}

.dept-hero-overlap-card__dept-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-family-tiktok);
    font-weight: var(--fw-bold);
}

.dept-hero-overlap-card__star-icon {
    color: var(--color-light-pink);
    display: flex;
    align-items: center;
}

.dept-hero-overlap-card__star-icon svg {
    width: 30px;
    height: 30px;
}

.dept-hero-overlap-card__dept-name {
    color: var(--color-purple);
    font-size: var(--h4-size);
    font-family: var(--font-family-tiktok);
    line-height: normal;
    font-weight: var(--fw-bold);
}

.dept-hero-overlap-card__heading {
    font-size: var(--h3-size);
    font-family: var(--font-family-museo);
    line-height: 1.1;
    color: var(--color-purple);
    text-transform: capitalize;
    margin: 0 0 24px 0;
    font-weight: var(--fw-bold);
}

.dept-hero-overlap-card__image>img {
    border-radius: 12px;
}

.dept-hero-overlap-card__content :is(h1, h2, h3, h4, h5, h6),
.dept-hero-overlap-card__heading-box :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--font-family-tiktok);
    color: var(--color-purple);
    line-height: 1.3;
    font-weight: var(--fw-semibold);
    margin-block: 30px 5px;
}

.dept-hero-overlap-card__heading-box .dept-hero-overlap-card__heading {
    font-size: var(--h5-size);
    text-transform: none;
}


.dept-hero-overlap-card__content p {
    color: var(--color-off-black);
    font-size: var(--p-size);
    font-weight: var(--fw-regular);
    line-height: 30px;
    margin-bottom: 15px;
}

.dept-hero-overlap-card__content p:last-child {
    margin-bottom: 0;
}

.dept-hero-overlap-card__content ul,
.inner-details-item__text ul,
.section-tabs__description ul {
    margin: 0px;
    padding-left: 30px;
}

.dept-hero-overlap-card__content li,
.inner-details-item__text li,
.section-tabs__description ul>li {
    margin-bottom: 10px;
    list-style-type: disc;
    color: var(--color-off-black);
    font-family: var(--font-family-tiktok);
}

.dept-hero-overlap-card__content ul li>ul,
.section-tabs__description ul li>ul,
.inner-details-item__text ul li>ul {
    margin-block: 10px;
}

.dept-hero-overlap-card__content ul li>ul>li,
.section-tabs__description ul>li>ul>li {
    list-style: circle;
}

.dept-hero-overlap-card__content li a,
.dept-hero-overlap-card__content a,
.inner-details-item__text li a,
.section-tabs__description a,
.inner-details-item__text a,
.tosa-table-layout p a,
.timeline-card-wrap .card-desc a,
.table-third-description a,
.dept-faqs__description a {
    color: var(--color-off-black);
    font-weight: var(--fw-regular);
    transition: .1s all;
}

.dept-hero-overlap-card__content li a,
.dept-hero-overlap-card__content a,
.inner-details-item__text li a,
.section-tabs__description a,
.dept-contact-card p a,
.dept-faqs__content p a,
.dept-faqs__content ul li a,
.dept-sidebar-contact__content a,
.dept-sidebar-contact__hours-content a,
.dept-faqs__content ol li a,
.acf-department-table tbody td a,
.main-form__desc a,
.dept-content-image__text a,
.inner-details-item__text a,
.tosa-contact-us-left-side a,
.tosa-table-layout p a,
.dept-sidebar-accordion__helpful-links .dept-sidebar-accordion__links-body a,
.dept-card-grid__card-desc p a,
.timeline-card-wrap .card-desc a,
.table-third-description a,
.dept-faqs__description a {
    text-decoration: underline;
    text-underline-offset: 3px;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 0 1px;
    background-position: left calc(100% - 1px);
    transition: background-size .5s ease;
    text-decoration-thickness: 1px;
}

.dept-hero-overlap-card__content li a:hover,
.dept-hero-overlap-card__content a:hover,
.inner-details-item__text li a:hover,
.section-tabs__description a:hover,
.dept-contact-card p a:hover,
.dept-faqs__content p a:hover,
.dept-sidebar-contact__content a:hover,
.dept-sidebar-contact__hours-content a:hover,
.dept-faqs__content ul li a:hover,
.dept-faqs__content ol li a:hover,
.acf-department-table tbody td a:hover,
.main-form__desc a:hover,
.dept-content-image__text a:hover,
.inner-details-item__text a:hover,
.tosa-contact-us-left-side a:hover,
.tosa-table-layout p a:hover,
.dept-sidebar-accordion__helpful-links .dept-sidebar-accordion__links-body a:hover,
.dept-card-grid__card-desc p a:hover,
.timeline-card-wrap .card-desc a:hover,
.table-third-description a:hover,
.dept-faqs__description a:hover {
    background-size: 100% 1px;
    text-decoration: none;
}

.dept-hero-overlap-card__content li a,
.inner-details-item__text li a,
.section-tabs__description li a {
    font-weight: var(--fw-semibold);
}

/* ── Department Contact Card ── */
.dept-contact-card {
    background-color: var(--color-pink);
    border-radius: 16px;
    padding: 48px 52px;
    text-align: center;
}

.dept-contact-card p,
.dept-contact-card li {
    color: var(--color-off-white);
    font-size: var(--p-size);
    font-weight: var(--fw-regular);
}

.dept-contact-card p strong,
.dept-contact-card li strong {
    font-weight: var(--fw-medium);
}

.dept-contact-card p a {
    color: var(--color-off-white);
    transition: .1s all ease;
}

.dept-contact-card ul,
.dept-contact-card ol {
    margin: 0;
    text-align: left;
    padding-left: 20px;
}

.dept-contact-card__title {
    color: var(--color-off-white);
    margin: 0 0 16px 0;
    font-weight: var(--fw-bold);
}

.dept-contact-card__address {
    line-height: 1.5;
    margin-bottom: 24px;
    color: var(--color-off-white);
}

.dept-contact-card__phones {
    line-height: 1.5;
    margin-bottom: 24px;
    color: var(--color-off-white);
}

.dept-contact-card__phones p {
    margin: 0 0 6px 0;
}

.dept-contact-card__phones p:last-child {
    margin-bottom: 0;
}

.dept-contact-card__hours-title {
    color: var(--color-off-white);
    font-family: var(--font-family-tiktok);
    font-size: 20px;
    font-weight: var(--fw-semibold);
    letter-spacing: 2px;
    margin: 0 0 12px 0;
    text-transform: uppercase;
}

/* ── Department Quick Links Section ── */
section.dept-hero-overlap-section.tosa_container+section.dept-quick-links-section {
    margin-top: -6%;
}

.dept-quick-links-section {
    margin-bottom: 80px;
    position: relative;
}

.dept-quick-links {
    display: flex;
    align-items: center;
}

.dept-quick-links__left {
    flex: 1;
    max-width: 50%;
    position: relative;
    z-index: 1;
}

.dept-quick-links__image-wrapper {
    border-radius: 0 12px 12px 0;
    overflow: hidden;
}

.dept-quick-links__image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    max-height: 885px;
}

.dept-quick-links__right {
    flex: 0 0 58%;
    margin-left: -7%;
    position: relative;
    z-index: 4;
}

.dept-quick-links__card {
    background: url('/wp-content/uploads/2026/08/Wauwatosa_Brand_Texture_1920x1080_Blue-1.webp') center / cover no-repeat;
    border-radius: 12px 0 0 12px;
    padding: 60px 0;
}

.dept-quick-links__list {
    display: flex;
    flex-direction: column;
}

.dept-quick-links__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    min-height: 90px;
    padding: 20px 20% 20px 8%;
    text-decoration: none;
    border-bottom: 3px solid var(--color-yellow);
    transition: .3s all ease;
}

.dept-quick-links__item:first-child {
    border-top: 3px solid var(--color-yellow);
}

.dept-quick-links__item-title {
    font-family: var(--font-family-tiktok);
    font-size: var(--h4-size);
    font-weight: var(--fw-bold);
    line-height: 1.2;
    color: var(--color-purple);
    transform: scale(1);
    transition: .3s all ease;
}

.dept-quick-links__item-arrow {
    color: var(--color-white);
    display: flex;
    align-items: center;
    transition: .3s all ease;
}

.dept-quick-links__item-arrow svg {
    width: 100px;
    height: auto;
    transition: transform .3s all ease;
}

.dept-quick-links__item:hover {
    background-color: var(--color-yellow);
}

.dept-quick-links__item:hover .dept-quick-links__item-arrow {
    flex-grow: 1;
}

.dept-quick-links__item:hover span.dept-quick-links__item-title {
    color: var(--color-purple) !important;
    transform: translateX(16px) scale(1.1);
}

.dept-quick-links__item:hover .dept-quick-links__item-arrow svg {
    color: var(--color-yellow);
    transform: translateX(8px);
}

/* ── Department Content Image Section ── */
.dept-content-image-section {
    position: relative;
    padding-bottom: 80px;
}

.dept-content-image {
    display: flex;
    justify-content: space-between;
    gap: 60px;
}

.dept-content-image--reverse {
    flex-direction: row-reverse;
}

.dept-content-image__col {
    flex: 1;
    max-width: 45%;
}

.dept-content-image__col.dept-content-image__col--content {
    align-self: center;
}

.dept-content-image__heading {
    font-family: var(--font-family-museo);
    font-size: var(--h3-size);
    color: var(--color-purple);
    text-transform: uppercase;
    margin: 0 0 24px 0;
    line-height: 1.2;
}

.dept-content-image__text {
    font-family: var(--font-family-tiktok);
    font-size: var(--p-size);
    line-height: 1.65;
    color: var(--color-off-black);
    margin-bottom: 32px;
}

.dept-content-image__text p {
    margin-bottom: 16px;
}

.dept-content-image__text p:last-child {
    margin-bottom: 0;
}

.dept-content-image__text ul:has(+ iframe) {
    margin-bottom: 20px;
}

.dept-content-image__image {
    width: 70%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-left: auto;
}

.dept-content-image__text+.dept-hero-overlap-card__image {
    margin-top: 20px;
}

.image-slider__row .image-slider__col.image-slider__col--content .image-slider__main-description.dept-content-image__text {
    margin-bottom: 0;
}

/* ── Department FAQs Accordion ── */
.dept-faqs__box {
    background: var(--color-white);
    border-radius: 0px;
    /* padding: 20px 30px; */
    position: relative;
    overflow: hidden;
    /* border-block: 3px solid var(--color-yellow); */
    backdrop-filter: blur(4px);
}

.dept-faqs__answer-block {
    display: grid;
    grid-template-columns: 0.3fr 1fr;
    gap: 50px;
    margin-top: 30px;
    align-items: center;
    border-bottom: solid 3px var(--color-yellow) !important;
    padding-bottom: 40px;
}

.dept-faqs__answer-block:last-child{
    border-bottom: 0 !important;
    padding-bottom: 0;
}

.dept-faqs__answer-text h4 {
    color: var(--color-pink);
    font-family: var(--font-family-tiktok);
    font-weight: var(--fw-regular);
    line-height: 1.2;
    margin-bottom: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.dept-faqs__description {
    font-family: var(--font-family-tiktok);
    font-size: var(--p-size);
    line-height: 1.6;
    color: var(--color-black);
    margin-bottom: 24px;
}

.dept-faqs__accordion {
    max-width: 100%;
}

/* .dept-faqs__item {
    border-bottom: 1px solid var(--color-yellow);
} */

.dept-faqs__item:last-child .dept-faqs__trigger{
    border-bottom: solid 3px var(--color-yellow);
}

.dept-faqs__trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 20px 20px;
    background: none;
    border-inline: 0;
    border-top: 3px solid var(--color-yellow);
    border-bottom: 0;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-family-tiktok);
    font-size: var(--h5-size);
    font-weight: var(--fw-bold);
    color: var(--color-purple);
    transition: color .3s ease;
    line-height: normal;
}

.faq-question-desc {
    font-size: var(--p-size);
    display: block;
    color: var(--color-black);
    font-weight: var(--fw-regular);
    line-height: normal;
}

.dept-faqs__item.is-open button.dept-faqs__trigger {
    background-color: var(--color-light-pink);
    border-bottom: solid 3px var(--color-yellow);
}

.dept-faqs__item.is-open button.dept-faqs__trigger .dept-faqs__question{
    color: var(--color-black);
}

h2.dept-faqs__heading {
    font-size: var(--h5-size);
    color: var(--color-purple);
    font-family: var(--font-family-tiktok);
    font-weight: var(--fw-bold);
}

.dept-faqs__question {
    flex: 1;
    padding-right: 20px;
}

.dept-faqs__icon {
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.dept-faqs__icon svg {
    /* width: 24px; */
    height: 24px;
    /* stroke: var(--color-white); */
    fill: none;
}

.dept-faqs__plus-line-v {
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform-origin: center;
}

.dept-faqs__item.is-open .dept-faqs__plus-line-v {
    transform: rotate(90deg);
    opacity: 0;
}

.dept-faqs__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.15s cubic-bezier(0.25, 0, 0.3, 1);
}

.dept-faqs__content {
    padding: 0 10px 40px;
    font-family: var(--font-family-tiktok);
    font-size: var(--p-size);
    line-height: 1.65;
    color: var(--color-black);
}

/* .dept-faqs__content img {
    border-radius: 12px;
} */

.dept-faqs__content li>img {
    margin-block: 20px;
}

.dept-faqs__content .tosa-contact-icon>* {
    fill: var(--color-white);
}

.dept-faqs__content p {
    margin-bottom: 1rem;
}

.dept-faqs__content p:last-child {
    margin-bottom: 0;
}

.dept-faqs__content ul,
.dept-faqs__content ol {
    margin: 0;
    margin-bottom: 10px;
}

.dept-faqs__content ul:last-child,
.dept-faqs__content ol:last-child {
    margin-bottom: 0;
}

.dept-faqs__content p a,
.dept-faqs__content ul li a,
.dept-faqs__content ol li a {
    font-weight: var(--fw-medium);
    color: var(--color-black);
}

.dept-faqs__content :is(h1, h2, h3, h4, h5, h6) {
    font-weight: var(--fw-semibold);
    font-size: 20px;
    font-family: var(--font-family-tiktok);
}


/* ── TablePress Overrides ── */
.tablepress {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid rgba(131, 113, 93, 0.25) !important;
    margin: 20px 0 30px 0 !important;
    background: transparent !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.tablepress:last-child {
    margin-bottom: 0 !important;
}

.tablepress thead th {
    background-color: var(--color-black) !important;
    color: #ffffff !important;
    font-family: var(--font-family-tiktok) !important;
    font-weight: var(--fw-bold) !important;
    font-size: 16px !important;
    padding: 16px 20px !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.5) !important;
    text-align: left !important;
}

.tablepress thead th:last-child {
    border-right: none !important;
}

.tablepress tbody td {
    padding: 16px 20px !important;
    color: var(--color-off-black) !important;
    font-family: var(--font-family-tiktok) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    border: none !important;
    border-bottom: 1px solid rgba(131, 113, 93, 0.25) !important;
    border-right: 1px solid rgba(131, 113, 93, 0.25) !important;
    background: rgb(255, 255, 255, 0.5) !important;
}

.tablepress tbody td:last-child {
    border-right: none !important;
}

.tablepress tbody tr:last-child td {
    border-bottom: none !important;
}

.tablepress tbody tr {
    background: transparent !important;
    transition: background-color 0.3s ease !important;
}

.tablepress tbody tr:hover td {
    background-color: rgba(131, 113, 93, 0.15) !important;
}

/* ── ACF Department Table (TablePress replacement) ── */
.acf-department-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid rgba(131, 113, 93, 0.25);
    margin: 20px 0 30px 0;
    background: transparent;
    border-radius: 8px;
    overflow-x: scroll;
}

.acf-department-table:last-child {
    margin-bottom: 0;
}

.dept-hero-overlap-card__table-wrap {
    max-width: calc(100vw - 6vw);
    overflow-x: auto;
}

.acf-department-table caption {
    caption-side: top;
    font-family: var(--font-family-tiktok);
    font-size: var(--p-size);
    font-weight: var(--fw-semibold);
    color: var(--color-off-black);
    padding: 10px 20px;
    text-align: left;
}

.acf-department-table thead th {
    background-color: var(--color-black);
    color: #ffffff;
    font-family: var(--font-family-tiktok);
    font-weight: var(--fw-bold);
    font-size: var(--p-size);
    padding: 16px 20px;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    border-right: 1px solid rgba(255, 255, 255, 0.5);
    text-align: left;
}

.acf-department-table thead th:last-child {
    border-right: none;
}

.acf-department-table thead tr:first-child th:first-child {
    border-top-left-radius: 8px;
}

.acf-department-table thead tr:first-child th:last-child {
    border-top-right-radius: 8px;
}

.acf-department-table tbody tr:first-child td:first-child {
    border-top-left-radius: 8px;
}

.acf-department-table tbody tr:first-child td:last-child {
    border-top-right-radius: 8px;
}

.acf-department-table thead~tbody tr:first-child td:first-child,
.acf-department-table thead+tbody tr:first-child td:first-child {
    border-top-left-radius: 0;
}

.acf-department-table thead~tbody tr:first-child td:last-child,
.acf-department-table thead+tbody tr:first-child td:last-child {
    border-top-right-radius: 0;
}

.acf-department-table tbody td {
    padding: 16px 20px;
    color: var(--color-off-black);
    font-family: var(--font-family-tiktok);
    font-size: var(--p-size);
    line-height: 1.6;
    border: none;
    border-bottom: 1px solid rgba(131, 113, 93, 0.25);
    border-right: 1px solid rgba(131, 113, 93, 0.25);
    background: rgb(255, 255, 255, 0.5);
}

.acf-department-table tbody td:last-child {
    border-right: none;
}

.acf-department-table tbody td p:last-child {
    margin-bottom: 0;
}

.acf-department-table tbody tr:last-child td {
    border-bottom: none;
}

.acf-department-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 8px;
}

.acf-department-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 8px;
}

.acf-department-table tbody tr.tosa-no-results td {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.acf-department-table tbody tr {
    background: transparent;
    transition: background-color 0.3s ease;
}

.acf-department-table tbody tr:hover td {
    background-color: rgba(131, 113, 93, 0.15);
}

.acf-department-table tbody td a {
    color: var(--color-off-black);
}

/* ── Heading Box Repeater Spacing ── */
.dept-hero-overlap-card__heading-box {
    margin-top: 30px;
}

/* ── Content Image Slider ── */
.dept-content-image-section.dept-cis .dept-content-image {
    overflow: hidden;
}

.dept-cis__swiper {
    overflow: hidden;
}

.dept-cis__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 32px;
}

.dept-cis__controls {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dept-cis__dots {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dept-cis__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--color-purple);
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: background .3s ease, transform .3s ease;
}

.dept-cis__dot--active {
    background: var(--color-purple);
    transform: scale(1.15);
}

.dept-cis__dot:hover {
    background: var(--color-purple);
    opacity: .7;
}

.dept-cis__dot:focus-visible {
    outline: 2px solid var(--color-purple);
    outline-offset: 2px;
}

.dept-cis__read-more-wrapper {
    margin: 0px;
}

.dept-content-image__text:has(+ .dept-cis__read-more-wrapper),
.dept-cis__read-more-drawer.is-expanded .dept-cis__read-more-inner {
    margin-bottom: 0px;
    padding-bottom: 0 !important;
}

.dept-cis__read-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    border: none;
    background: transparent;
    padding: 0;
    font-family: var(--font-family-tiktok);
    font-size: var(--p-size);
    font-weight: var(--fw-bold);
    color: var(--color-purple);
    text-decoration: underline;
    transition: color 0.2s ease, text-decoration 0.2s ease;
    margin-block: 8px;
}

.dept-cis__read-more-btn:hover {
    color: var(--color-pink);
    text-decoration: underline;
}

.dept-cis__read-more-btn .dept-cis__read-more-icon {
    transition: transform 0.35s ease;
    flex-shrink: 0;
    stroke: currentColor;
}

.dept-cis__read-more-btn[aria-expanded="true"] .dept-cis__read-more-icon {
    transform: rotate(180deg);
}

.dept-cis__read-more-drawer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
    opacity: 0;
}

.dept-cis__read-more-drawer.is-expanded {
    opacity: 1;
}

.dept-cis__after-read-more-text {
    margin-top: 16px;
    margin-bottom: 16px;
}

/* ── Form Component ── */
section.main-form {
    padding-bottom: 80px;
}

.global-form_wrapper.gform-theme--foundation {
    --gf-form-gap-x: 16px;
    --gf-form-gap-y: 16px;
}

.gform-theme--foundation .global-form .gform_fields {
    row-gap: var(--gf-form-gap-y);
}

.main-form__box .global-form_wrapper .gform_heading,
.main-form__box .global-form_wrapper .gform_validation_errors {
    display: none !important;
}

.main-form__title {
    font-size: var(--h5-size);
    color: var(--color-purple);
    font-family: var(--font-family-tiktok);
    font-weight: var(--fw-bold);
}

.main-form__desc {
    font-family: var(--font-family-tiktok);
    font-size: var(--p-size);
    line-height: 1.6;
    margin-bottom: 24px;
}

.main-form__desc p {
    margin-bottom: 12px;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.main-form__desc p:last-child {
    margin-bottom: 0;
}

.main-form__desc a {
    color: currentColor !important;
}

.main-form__desc ul,
.main-form__desc ol {
    margin: 0px;
    padding-left: 20px;
}

.main-form__desc li {
    margin-bottom: 6px;
    color: inherit;
    font-family: inherit;
}

.main-form__desc h4,
.main-form__desc h5,
.main-form__desc h6 {
    font-family: var(--font-family-tiktok);
    font-size: var(--h6-size);
    color: var(--color-purple);
    margin-block: 20px 10px;
}

.main-form__box {
    position: relative;
    background: #cddb8052;
    border-radius: 12px;
    padding: 40px 30px;
    backdrop-filter: blur(4px);
}

.main-form__box .gfield_description {
    font-size: 14px !important;
    margin-top: 6px !important;
}

.main-form__box .gfield:last-child {
    margin-bottom: 0 !important;
}

.main-form__box .ginput_container_fileupload {
    position: relative !important;
    border: 2px dashed var(--color-purple) !important;
    border-radius: 12px !important;
    padding: 40px 24px !important;
    text-align: center !important;
    background: transparent !important;
    transition: border-color 0.3s ease, background 0.3s ease !important;
    cursor: pointer !important;
    min-height: 160px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
}

.main-form__box .ginput_container_fileupload:hover {
    border-color: var(--color-purple) !important;
    background: rgba(255, 255, 255, 0.2) !important;
}

.main-form__box .ginput_container_fileupload:not(.has-file)::before {
    content: "Upload your file or drag and drop" !important;
    display: block !important;
    font-family: var(--font-family-tiktok) !important;
    font-size: 16px !important;
    font-weight: var(--fw-medium) !important;
    color: var(--color-purple) !important;
    margin-bottom: 6px !important;
    pointer-events: none !important;
}

.main-form__box .ginput_container_fileupload:not(.has-file) input[type="file"] {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
    z-index: 2 !important;
}

.main-form__box .ginput_container_fileupload.has-file {
    border-color: var(--color-yellow) !important;
    padding: 20px !important;
    min-height: auto !important;
}

.main-form__box .ginput_container_fileupload.has-file::before {
    display: none !important;
}

.main-form__box .ginput_preview_list {
    width: 100% !important;
    z-index: 3 !important;
    position: relative !important;
}

.main-form__box .ginput_preview {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #ffffff !important;
    border: 1px solid rgba(28, 56, 102, 0.15) !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    position: relative !important;
    width: 100% !important;
    gap: 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    font-family: var(--font-family-tiktok) !important;
    font-size: 15px !important;
    color: var(--color-purple) !important;
    font-weight: var(--fw-medium) !important;
    text-align: left !important;
}

.main-form__box .gfield_fileupload_filename {
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    max-width: 60% !important;
    display: inline-block !important;
}

.main-form__box .gfield_fileupload_progress {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-left: auto !important;
    flex-grow: 1 !important;
    justify-content: flex-end !important;
}

.main-form__box .gfield_fileupload_progressbar {
    width: 100px !important;
    height: 6px !important;
    background: rgba(28, 56, 102, 0.08) !important;
    border-radius: 3px !important;
    display: inline-block !important;
    position: relative !important;
    overflow: hidden !important;
}

.main-form__box .gfield_fileupload_progressbar_progress {
    height: 100% !important;
    background: var(--color-yellow) !important;
    display: block !important;
    transition: width 0.1s linear !important;
}

.main-form__box .gfield_fileupload_percent {
    font-family: var(--font-family-tiktok) !important;
    font-size: 13px !important;
    color: rgba(28, 56, 102, 0.6) !important;
    font-weight: var(--fw-semibold) !important;
    display: inline-block !important;
    min-width: 32px !important;
    text-align: right !important;
}

.main-form__box .gform_delete_file,
.main-form__box .ginput_preview .gform-theme-button {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    position: relative !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: rgba(28, 56, 102, 0.6) !important;
    transition: color 0.2s ease !important;
    margin: 0 !important;
    z-index: 4 !important;
}

.main-form__box .gform_delete_file:hover,
.main-form__box .ginput_preview .gform-theme-button:hover {
    color: var(--color-pink) !important;
}

.main-form__box .gform_delete_file svg,
.main-form__box .ginput_preview .gform-theme-button svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
}

.main-form__box .gfield--type-fileupload .gfield_description,
.main-form__box .gfield--type-fileupload .gform_fileupload_rules {
    font-family: var(--font-family-tiktok) !important;
    font-size: 13px !important;
    margin-top: 10px !important;
    display: block !important;
}

/* ── Department Card Grid Section ── */
.dept-card-grid__header {
    margin-bottom: 32px;
}

.dept-card-grid__title {
    font-family: var(--font-family-museo);
    font-size: var(--h3-size);
    color: var(--color-purple);
    text-transform: uppercase;
    margin: 0 0 24px 0;
    line-height: 1.2;
}

.dept-card-grid__desc {
    font-family: var(--font-family-tiktok);
    font-size: var(--p-size);
    line-height: 1.65;
    color: var(--color-off-black);
}

.dept-card-grid__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.dept-card-grid__cards--single {
    grid-template-columns: 1fr;
}

.dept-card-grid__card {
    background: var(--color-black);
    border-radius: 16px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: background-color 0.35s ease, color 0.35s ease, box-shadow 0.35s ease;
    cursor: default;
    position: relative;
    overflow: hidden;
}

.dept-card-grid__card:hover {
    background: #cddb8052;
    box-shadow: 0 8px 24px rgba(28, 56, 102, 0.18);
}

.dept-card-grid__card .dept-card-grid__card-title,
.dept-card-grid__card .dept-card-grid__card-desc,
.dept-card-grid__card .dept-card-grid__card-desc p,
.dept-card-grid__card-desc p a {
    color: var(--color-off-white) !important;
    transition: all 0.35s ease;
}

.dept-card-grid__card:hover .dept-card-grid__card-title,
.dept-card-grid__card:hover .dept-card-grid__card-desc,
.dept-card-grid__card:hover .dept-card-grid__card-desc p,
.dept-card-grid__card:hover .dept-card-grid__card-desc p a {
    color: var(--color-purple) !important;
}

.dept-card-grid__card .dept-card-grid__card-icon img {
    filter: brightness(0) invert(1) !important;
}

.dept-card-grid__card:hover .dept-card-grid__card-icon img {
    filter: invert(18%) sepia(35%) saturate(1636%) hue-rotate(189deg) brightness(93%) contrast(92%) !important;
}

.dept-card-grid__card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.dept-card-grid__card-icon {
    margin-bottom: 16px;
    width: 40px;
    height: 40px;
}

.dept-card-grid__card-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    transition: filter 0.35s ease;
}

.dept-card-grid__card-title {
    font-family: var(--font-family-tiktok);
    font-size: var(--body-medium);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.dept-card-grid__card-desc {
    font-family: var(--font-family-tiktok);
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 16px 0;
    flex-grow: 1;
}

.dept-card-grid__card-desc:last-child {
    margin-bottom: 0;
}

.dept-card-grid__card-desc p:last-child {
    margin-bottom: 0;
}

.dept-card-grid__card-links {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.dept-card-grid__card-links li {
    padding: 5px 10px;
    border: 1px solid var(--color-tan);
    border-radius: 8px;
    transition: all 0.35s ease;
    display: inline-flex;
    align-items: center;
}

.dept-card-grid__card:hover .dept-card-grid__card-links li {
    border-color: var(--color-purple) !important;
}

.dept-card-grid__card .dept-card-grid__card-links li:hover {
    background-color: var(--color-purple) !important;
    border-color: var(--color-purple) !important;
}

.dept-card-grid__card-links a {
    font-family: var(--font-family-tiktok);
    font-size: 14px;
    font-weight: var(--fw-semibold);
    color: var(--color-tan);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.35s ease;
}

.dept-card-grid__card:hover .dept-card-grid__card-links a {
    color: var(--color-purple) !important;
}

.dept-card-grid__card .dept-card-grid__card-links li:hover a {
    color: var(--color-off-white) !important;
}

.dept-card-grid__card svg {
    color: var(--color-off-white);
    transition: color 0.35s ease;
    display: inline-block;
}

.dept-card-grid__card:hover svg {
    color: var(--color-purple) !important;
}

.dept-card-grid__card-links li:hover svg {
    color: var(--color-off-white) !important;
}

.dept-card-grid__arrow {
    font-size: 14px;
    transition: transform 0.2s ease;
}

.dept-card-grid__card-links a:hover .dept-card-grid__arrow {
    transform: translateX(3px);
}

/* ── Expanded Brown Variant (has description) ── */
.dept-card-grid__card--expanded {
    flex-direction: column;
    align-items: stretch;
    padding: 28px 24px;
    gap: 24px;
}

.dept-card-grid__card--expanded .dept-card-grid__card-body {
    flex: 1;
}

.dept-card-grid__card-links-right {
    flex: 0.7;
    display: flex;
    align-items: center;
}

.dept-card-grid__card-links-right .dept-card-grid__card-links {
    width: 100%;
}

/* ── Section Accordion Tabs ── */
.section-tabs {
    padding-bottom: 3rem;
}

.section-tabs__heading {
    font-family: var(--font-family-museo);
    font-size: var(--h3-size);
    color: var(--color-purple);
    text-transform: uppercase;
    margin: 0 0 16px 0;
    line-height: 1.2;
}

.section-tabs__description {
    color: var(--color-off-black);
    margin-bottom: 30px;
}

.section-tabs__description p {
    margin-bottom: 10px;
}

.section-tabs__description p:last-child {
    margin-bottom: 0;
}

.section-tabs__bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px;
    border-bottom: 2px solid var(--color-light-pink);
    justify-content: center;
}

.section-tabs__tab {
    font-family: var(--font-family-tiktok);
    font-size: var(--p-size);
    font-weight: var(--fw-semibold);
    padding: 12px 24px;
    border: none;
    border-radius: 8px 8px 0 0;
    cursor: pointer;
    transition: all 0.25s ease;
    background: transparent;
    color: var(--color-purple) !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.section-tabs__tab.is-active {
    background: var(--color-purple);
    color: var(--color-white) !important;
}

.section-tabs__tab--link {
    background-color: var(--color-black);
    color: var(--color-off-white) !important;
}

.section-tabs__tab--link:hover {
    color: var(--color-black) !important;
    background: var(--color-off-white);
}

.section-tabs__tab--link svg {
    flex-shrink: 0;
}

.section-tabs__panel {
    display: none;
}

.section-tabs__panel.is-active {
    display: block;
}

.section-tabs__panel>section {
    margin-bottom: 0;
}

.section-tabs__panel>section:last-child {
    margin-bottom: 0;
}

.section-tabs__panel .tosa_container {
    padding-left: 0;
    padding-right: 0;
}


/* ── Consolidated Media Queries ── */

@media(min-width:1820px) {
    .dept-faqs__answer-block {
        gap: 100px;
    }
}

@media (max-width: 1199px) {
    /* .page-template-department-template main.site-main .tosa_container:not(.dept-hero-overlap-section) {
        padding-inline: 5vw !important;
    } */

    .dept-hero-overlap-section--has-image .dept-hero-overlap-card {
        grid-template-columns: 1fr;
        padding-bottom: 0;
    }

    .dept-hero-overlap-card__right-img {
        position: relative;
    }

    .dept-hero-overlap-section--has-image .dept-hero-overlap-card__right {
        position: sticky;
        top: 0;
    }
}

@media (max-width: 1120px) {
    .department-banner {
        min-height: 70vh;
    }
}

@media (max-width: 1024px) {
    .dept-card-grid__cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .dept-card-grid__card--expanded {
        grid-column: span 2;
    }

    .acf-department-table {
        min-width: 600px;
    }
}

@media (max-width: 991px) {
    .dept-hero-overlap-section {
        margin-top: 60px;
    }

    .department-banner+.dept-hero-overlap-section {
        margin-top: -100px;
    }

    .dept-hero-overlap-card {
        flex-direction: column;
        padding: 40px;
        gap: 36px;
    }

    .dept-hero-overlap-card__right {
        flex: 0 0 30%;
    }

    .dept-quick-links {
        flex-direction: column;
        align-items: stretch;
    }

    .dept-quick-links__left,
    .dept-quick-links__right {
        max-width: 100%;
        flex: none;
        width: 100%;
        margin-left: 0;
    }

    .dept-quick-links__image-wrapper {
        border-radius: 12px 12px 0 0;
    }

    .dept-quick-links__right {
        margin-top: -30px;
    }

    .dept-quick-links__card {
        border-radius: 0 0 12px 12px;
        padding: 40px 0;
    }

    .dept-quick-links__item {
        padding: 16px 6%;
        min-height: 80px;
        gap: 20px;
    }

    .dept-quick-links__item-title {
        font-size: var(--h5-size);
    }

    .dept-quick-links__item-arrow svg {
        width: 60px;
    }

    .dept-quick-links__item:hover span.dept-quick-links__item-title {
        transform: translateX(8px) scale(1.05);
    }

    .dept-contact-card {
        padding: 40px 32px;
    }

    /* .dept-faqs__box {
        padding: 20px 30px;
    } */

    .dept-content-image__image {
        width: 100%;
    }

    .dept-hero-overlap-section--has-image .dept-hero-overlap-card {
        padding: 40px;
        padding-bottom: 0;
    }
}

@media (max-width: 768px) {
    /* .page-template-department-template main.site-main .tosa_container:not(.dept-hero-overlap-section) {
        padding-inline: 3vw !important;
    } */

    .dept-faqs__answer-block{
        display: grid;
        gap:20px
    }

    .department-banner {
        min-height: 60vh;
    }

    .department-banner__subheading br {
        display: none;
    }

    .dept-hero-overlap-section {
        margin-top: 40px;
    }

    .department-banner+.dept-hero-overlap-section {
        margin-top: -60px;
    }

    .department-banner+.dept-quick-links-section {
        margin-top: 40px;
    }

    .department-banner+.dept-content-image-section {
        padding-top: 50px;
    }

    .department-banner+.faqs_container {
        padding-top: 50px;
    }

    .dept-hero-overlap-card {
        padding: 40px 24px;
    }

    .dept-hero-overlap-card__left,
    .dept-hero-overlap-card__right {
        flex: none;
        width: 100%;
    }

    .dept-hero-overlap-card__right {
        position: static;
    }

    .dept-quick-links-section {
        margin-bottom: 40px;
    }

    .dept-quick-links__card {
        padding: 30px 0;
    }

    .dept-quick-links__item {
        padding: 12px 5%;
        min-height: 70px;
        gap: 15px;
    }

    .dept-quick-links__item-title {
        font-size: 20px;
    }

    .dept-quick-links__item-arrow svg {
        width: 45px;
    }

    .dept-content-image {
        flex-direction: column-reverse;
        gap: 30px;
    }

    .dept-content-image__col {
        max-width: 100%;
        width: 100%;
    }

    .dept-content-image-section {
        padding-bottom: 50px;
    }

    .dept-content-image-section.government-content {
        padding-inline-start: 24px;
    }

    .dept-hero-overlap-section--has-image .dept-hero-overlap-card {
        padding-inline: 24px;
        gap: 30px;
    }

    .dept-content-image__heading {
        margin-bottom: 16px;
    }

    .dept-content-image__text {
        margin-bottom: 24px;
    }

    .dept-contact-card {
        padding: 32px 20px;
    }

    .dept-faqs__trigger {
        padding: 14px 14px;
        line-height: 1.35;
    }

    .dept-faqs__content {
        font-size: var(--p-size);
    }

    .dept-faqs__content :is(h1, h2, h3, h4, h5, h6) {
        font-size: 18px;
    }

    .tablepress thead th,
    .tablepress tbody td {
        padding: 12px 14px !important;
        font-size: 14px !important;
    }

    .acf-department-table thead th,
    .acf-department-table tbody td {
        padding: 12px 14px;
    }

    .dept-cis__footer {
        flex-direction: column;
        gap: 20px;
    }

    .dept-card-grid__cards {
        grid-template-columns: 1fr;
    }

    .dept-card-grid__card--expanded {
        grid-column: span 1;
        flex-direction: column;
    }

    .dept-card-grid__title {
        font-size: 26px;
    }

    .section-tabs__bar {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 4px;
    }

    .section-tabs__bar::-webkit-scrollbar {
        display: none;
    }

    .section-tabs__tab {
        font-size: 14px;
        padding: 10px 16px;
    }

    .section-tabs__heading {
        font-size: 26px;
    }

    .dept-contact-card__hours-content>ul {
        max-width: 80%;
        margin-inline: auto;
    }

    .section-tabs__bar {
        justify-content: flex-start;
        margin-bottom: 25px;
    }

    .dept-hero-overlap-card__heading-box {
        margin-top: 25px;
    }

    .dept-hero-overlap-card__content :is(h1, h2, h3, h4, h5, h6),
    .dept-hero-overlap-card__heading-box :is(h1, h2, h3, h4, h5, h6) {
        margin-block: 20px 5px !important;
    }
}

@media (max-width: 576px) {
    .department-banner {
        min-height: 55vh;
    }

    .dept-content-image {
        gap: 25px;
    }

    .department-banner__heading {
        font-size: 38px;
        letter-spacing: 2px;
    }

    .department-banner__subheading {
        font-size: 26px;
    }

    .department-banner+.dept-hero-overlap-section {
        margin-top: 0px;
    }

    .dept-hero-overlap-card {
        padding: 30px 20px;
    }

    .dept-contact-card__hours-content>ul {
        max-width: none;
    }

    .dept-content-image-section.government-content {
        padding-inline: 20px;
    }

    /* .dept-faqs__box {
        padding: 10px 20px;
    } */

    .acf-department-table thead th,
    .acf-department-table tbody td {
        padding: 12px 10px;
    }

    .dept-hero-overlap-card__heading-box {
        margin-top: 20px;
    }

    .dept-hero-overlap-card__content :is(h1, h2, h3, h4, h5, h6),
    .dept-hero-overlap-card__heading-box :is(h1, h2, h3, h4, h5, h6) {
        margin-block: 15px 5px !important;
    }
}

@media (max-width: 350px) {
    .department-banner__heading {
        font-size: 30px;
    }
}


/* ######################################################### EVENT CALENDAR PLUGIN STYLES ######################################################### */
:root {
    --tec-font-family-sans-serif: var(--font-family-tiktok);
    --tec-font-family-serif: var(--font-family-museo);
    --tec-color-background-events-bar-submit-button: var(--color-tan);
    --tec-color-background-events-bar-submit-button-hover: var(--color-black);
    --tec-color-background-events-bar-submit-button-active: var(--color-black);
    --tec-color-background-events-bar-submit-button-disabled: var(--color-black);
    --tec-color-accent-primary: var(--color-pink);
    --tec-color-day-marker-month: var(--color-purple);
}

.tribe-common.tribe-common--breakpoint-medium button.tribe-events-c-top-bar__datepicker-button {
    font-weight: var(--fw-bold);
    color: var(--color-purple);
}

.tribe-events .tribe-events-calendar-list__event-title-link {
    color: var(--color-purple) !important;
}

.tribe-events-single-event-title {
    font-family: var(--font-family-museo);
    color: var(--color-purple);
}

td.tribe-events-calendar-month__day {
    transition: .3s all;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:has(.tribe-events-calendar-month__events > article.tribe-events-calendar-month__calendar-event) {
    background-color: var(--color-off-white);
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:hover:after {
    background-color: var(--color-purple);
}


/* ######################################################### GRAVITY FORMS DATETIME PICKER (XDSOFT) ######################################################### */
@keyframes xdsoft_popup_fade {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.xdsoft_datetimepicker {
    font-family: var(--font-family-tiktok), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    color: var(--color-purple, #1c3866) !important;
    background: #ffffff !important;
    border: 1px solid rgba(28, 56, 102, 0.14) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 48px -6px rgba(28, 56, 102, 0.2), 0 8px 20px -4px rgba(0, 0, 0, 0.08) !important;
    padding: 16px !important;
    z-index: 999999 !important;
    box-sizing: border-box !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    animation: xdsoft_popup_fade 0.18s ease-out !important;
}

.xdsoft_datetimepicker * {
    font-family: inherit !important;
    box-sizing: border-box !important;
}

.xdsoft_datetimepicker button {
    border: none !important;
    outline: none !important;
    font-family: inherit !important;
}

.xdsoft_datetimepicker .xdsoft_datepicker {
    width: 252px !important;
    float: left !important;
    margin: 0 !important;
}

.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker {
    width: 284px !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker {
    width: 96px !important;
    float: left !important;
    margin: 0 0 0 16px !important;
    padding-left: 16px !important;
    border-left: 1px solid rgba(28, 56, 102, 0.12) !important;
    text-align: center !important;
}

.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker:only-child,
.xdsoft_datetimepicker:not(:has(.xdsoft_datepicker.active)) .xdsoft_timepicker {
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: none !important;
    width: 100px !important;
}

.xdsoft_datetimepicker .xdsoft_monthpicker {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    margin-bottom: 12px !important;
    padding: 0 2px !important;
    height: 32px !important;
    text-align: center !important;
}

.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_prev,
.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_next,
.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_today_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    border-radius: 8px !important;
    background-color: var(--color-off-white, #f6ede5) !important;
    border: 1px solid rgba(28, 56, 102, 0.12) !important;
    cursor: pointer !important;
    opacity: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1) !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}

.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_prev:hover,
.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_next:hover,
.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_today_button:hover {
    background-color: var(--color-purple, #1c3866) !important;
    border-color: var(--color-purple, #1c3866) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 3px 8px rgba(28, 56, 102, 0.2) !important;
}

.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_prev {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231c3866' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 14px !important;
}

.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_prev:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_next {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231c3866' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 14px !important;
}

.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_next:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_today_button {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231c3866' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='%231c3866'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 14px !important;
    margin-left: 4px !important;
}

.xdsoft_datetimepicker .xdsoft_monthpicker .xdsoft_today_button:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='%23ffffff'/%3E%3C/svg%3E") !important;
}

.xdsoft_datetimepicker .xdsoft_label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    width: auto !important;
    background-color: transparent !important;
    padding: 4px 8px !important;
    margin: 0 1px !important;
    border-radius: 6px !important;
    font-family: var(--font-family-tiktok), sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--color-purple, #1c3866) !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    z-index: 10 !important;
}

.xdsoft_datetimepicker .xdsoft_label:hover {
    background-color: var(--color-off-white, #f6ede5) !important;
    color: var(--color-purple, #1c3866) !important;
    text-decoration: none !important;
}

.xdsoft_datetimepicker .xdsoft_label span {
    text-decoration: none !important;
}

.xdsoft_datetimepicker .xdsoft_label i {
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    margin-left: 4px !important;
    opacity: 0.65 !important;
    vertical-align: middle !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%231c3866' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 9px !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.xdsoft_datetimepicker .xdsoft_label:hover i {
    opacity: 1 !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select {
    position: absolute !important;
    top: 100% !important;
    margin-top: 6px !important;
    background: #ffffff !important;
    border: 1px solid rgba(28, 56, 102, 0.15) !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 30px rgba(28, 56, 102, 0.22) !important;
    max-height: 170px !important;
    padding: 6px !important;
    z-index: 100 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(28, 56, 102, 0.35) rgba(28, 56, 102, 0.05) !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select::-webkit-scrollbar {
    width: 4px !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select::-webkit-scrollbar-track {
    background: rgba(28, 56, 102, 0.05) !important;
    border-radius: 4px !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select::-webkit-scrollbar-thumb {
    background: rgba(28, 56, 102, 0.35) !important;
    border-radius: 4px !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select::-webkit-scrollbar-thumb:hover {
    background: var(--color-purple, #1c3866) !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div {
    margin-top: 0 !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>.xdsoft_scrollbar {
    display: none !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_monthselect {
    left: 0 !important;
    right: auto !important;
    width: 120px !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_yearselect {
    right: 0 !important;
    left: auto !important;
    width: 90px !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option {
    padding: 6px 10px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-family: var(--font-family-tiktok), sans-serif !important;
    color: var(--color-purple, #1c3866) !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    text-align: left !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    text-decoration: none !important;
    margin-bottom: 1px !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover {
    background: var(--color-off-white, #f6ede5) !important;
    color: var(--color-purple, #1c3866) !important;
}

.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current {
    background: var(--color-purple, #1c3866) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {
    overscroll-behavior: contain !important;
}

.xdsoft_datetimepicker .xdsoft_calendar {
    clear: both !important;
    margin-top: 4px !important;
}

.xdsoft_datetimepicker .xdsoft_calendar table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 2px !important;
}

.xdsoft_datetimepicker .xdsoft_calendar th {
    background: transparent !important;
    border: none !important;
    color: var(--color-black, #5c3929) !important;
    font-family: var(--font-family-tiktok), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    padding: 4px 0 8px !important;
    text-align: center !important;
    height: auto !important;
    cursor: default !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_date {
    background: transparent !important;
    border: none !important;
    color: var(--color-purple, #1c3866) !important;
    font-family: var(--font-family-tiktok), sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-align: center !important;
    vertical-align: middle !important;
    height: 32px !important;
    width: 32px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td>div {
    padding: 0 !important;
    line-height: 32px !important;
    text-align: center !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td:hover {
    background: var(--color-off-white, #f6ede5) !important;
    color: var(--color-purple, #1c3866) !important;
    box-shadow: none !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
    font-weight: 700 !important;
    color: var(--color-purple, #1c3866) !important;
    border: 1.5px solid var(--color-yellow, #acc237) !important;
    background: rgba(172, 194, 55, 0.08) !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default {
    background: var(--color-purple, #1c3866) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(28, 56, 102, 0.35) !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today.xdsoft_current {
    border-color: var(--color-yellow, #acc237) !important;
    background: var(--color-purple, #1c3866) !important;
    color: #ffffff !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month {
    color: rgba(28, 56, 102, 0.28) !important;
    opacity: 0.6 !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled {
    color: rgba(28, 56, 102, 0.2) !important;
    opacity: 0.35 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    background: transparent !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default {
    background: rgba(221, 197, 178, 0.35) !important;
    color: var(--color-purple, #1c3866) !important;
    box-shadow: none !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint {
    background: rgba(172, 194, 55, 0.25) !important;
    color: var(--color-purple, #1c3866) !important;
    box-shadow: none !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 22px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    background-color: var(--color-off-white, #f6ede5) !important;
    border: 1px solid rgba(28, 56, 102, 0.1) !important;
    cursor: pointer !important;
    opacity: 1 !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next:hover {
    background-color: var(--color-purple, #1c3866) !important;
    border-color: var(--color-purple, #1c3866) !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231c3866' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 12px !important;
    margin-bottom: 6px !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231c3866' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 12px !important;
    margin-top: 6px !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {
    height: 180px !important;
    border: none !important;
    margin: 6px 0 !important;
    position: relative !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div {
    background: transparent !important;
    border: none !important;
    color: var(--color-purple, #1c3866) !important;
    font-family: var(--font-family-tiktok), sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    height: 28px !important;
    line-height: 28px !important;
    text-align: center !important;
    border-radius: 6px !important;
    margin-bottom: 2px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover {
    background: var(--color-off-white, #f6ede5) !important;
    color: var(--color-purple, #1c3866) !important;
    box-shadow: none !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current {
    background: var(--color-purple, #1c3866) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 6px rgba(28, 56, 102, 0.3) !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_disabled {
    color: rgba(28, 56, 102, 0.25) !important;
    opacity: 0.35 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.xdsoft_datetimepicker .xdsoft_scrollbar {
    width: 4px !important;
    background: rgba(28, 56, 102, 0.08) !important;
    border-radius: 4px !important;
    right: 0 !important;
}

.xdsoft_datetimepicker .xdsoft_scrollbar>.xdsoft_scroller {
    background: var(--color-purple, #1c3866) !important;
    border-radius: 4px !important;
    opacity: 0.35 !important;
    transition: opacity 0.2s ease !important;
}

.xdsoft_datetimepicker .xdsoft_scrollbar>.xdsoft_scroller:hover {
    opacity: 0.75 !important;
}

.xdsoft_datetimepicker .xdsoft_save_selected,
.xdsoft_datetimepicker .blue-gradient-button {
    display: block !important;
    background-color: var(--color-pink, #6e2120) !important;
    background-image: none !important;
    color: var(--color-off-white, #f6ede5) !important;
    font-family: var(--font-family-tiktok), sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 13px !important;
    height: 34px !important;
    line-height: 34px !important;
    padding: 0 16px !important;
    border: none !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    margin-top: 10px !important;
    width: 100% !important;
    box-shadow: none !important;
    transition: background-color 0.25s ease, transform 0.2s ease !important;
}

.xdsoft_datetimepicker .xdsoft_save_selected:hover,
.xdsoft_datetimepicker .blue-gradient-button:hover {
    background-color: var(--color-purple, #1c3866) !important;
    background-image: none !important;
    color: #ffffff !important;
}

.xdsoft_datetimepicker .xdsoft_copyright {
    display: none !important;
}

.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker {
    float: right !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker {
    float: right !important;
    margin: 0 16px 0 0 !important;
    padding-right: 16px !important;
    padding-left: 0 !important;
    border-right: 1px solid rgba(28, 56, 102, 0.12) !important;
    border-left: none !important;
}

.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar {
    left: 0 !important;
    right: auto !important;
}

/* ============================================================================= WAUWATOSA — Lightbox Component (PDF & Image Gallery) ============================================================================= */
.tosa-lightbox-section {
    position: relative;
    width: 100%;
}

.tosa-lightbox-container {
    position: relative;
}

.tosa-lightbox__header {
    max-width: 100%;
}

.tosa-lightbox__heading {
    color: var(--color-purple, #1c3866);
    font-family: var(--font-family-museo, 'YRT Shishito'), var(--font-family-tiktok), sans-serif;
    font-size: var(--h3-size, 36px);
    font-weight: 700;
    line-height: var(--heading-line-height, 1.25);
    margin-bottom: 12px;
}

.tosa-lightbox__description {
    color: #374151;
    font-family: var(--font-family-tiktok), sans-serif;
    font-size: var(--p-size, 16px);
    line-height: var(--body-line-height, 1.6);
}

.tosa-lightbox__description p:last-child {
    margin-bottom: 0;
}

.tosa-lightbox__items-wrap {
    gap: 20px;
}

.tosa-lightbox__wrapper {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    flex: 1 0 calc(50% - 10px);
}

.tosa-lightbox__preview-box {
    width: 100%;
    max-width: var(--tosa-lb-max-width, 860px);
    margin: 0;
}

.tosa-lightbox__preview-card {
    display: block;
    position: relative;
    width: 100%;
    background-color: #ffffff;
    border: 1px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(28, 56, 102, 0.08), 0 1px 3px rgba(0, 0, 0, 0.05);
    text-decoration: none;
    cursor: pointer;
    outline: none;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s ease;
}

.tosa-lightbox__preview-card:hover {
    border-color: var(--color-black);
}

.tosa-lightbox__card-inner {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    overflow: hidden;
}

.tosa-lightbox__ratio--portrait {
    aspect-ratio: 3 / 4;
}

.tosa-lightbox__ratio--landscape {
    aspect-ratio: 16 / 9;
}

.tosa-lightbox__ratio--square {
    aspect-ratio: 1 / 1;
}

.tosa-lightbox__ratio--auto {
    aspect-ratio: auto;
    min-height: 420px;
}

.tosa-lightbox__preview-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center top;
    display: block;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    background-color: #ffffff;
}

.tosa-lightbox__file-heading {
    font-family: var(--font-family-tiktok), sans-serif;
    font-size: var(--body-medium);
    font-weight: var(--fw-medium);
    color: var(--color-off-white);
    line-height: 1.3;
    margin-top: 16px;
    margin-bottom: 0;
    text-align: center;
    padding-block: 15px;
    background: var(--color-black);
}

.tosa-lightbox__hidden-slides {
    display: none !important;
}

@media (max-width: 767.98px) {
    .tosa-lightbox__preview-box {
        max-width: 100%;
    }
}

@media (max-width: 575.98px) {
    .tosa-lightbox__wrapper {
        flex: 1 0 100%;
    }
}