body,
.wrapper {
    overflow-x: hidden;
    background-color: #f4f6f9;
}

body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper, body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer, body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header {
    margin-left: 19.5rem;
}

.sidebar-mini.sidebar-collapse .content-wrapper,
.sidebar-mini.sidebar-collapse .main-header,
.sidebar-mini.sidebar-collapse .main-footer {
    margin-left: 4.5rem !important;
}

body.sidebar-collapse.sidebar-hover .content-wrapper,
body.sidebar-collapse.sidebar-hover .main-footer,
body.sidebar-collapse.sidebar-hover .main-header {
    margin-left: 19.5rem !important;
    transition: margin-left 0.3s ease-in-out;
}

/* Content element "Space after" — default when no value is chosen.
   The explicit frame-space-after-* classes below override via !important. */
.content .pageLayout__section,
.content > .frame {
    margin-bottom: 1rem;
}

/* Content element "Space after" */
.frame-space-after-extra-small {
    margin-bottom: 0.5rem !important;
}

.frame-space-after-small       {
    margin-bottom: 1rem !important;
}

.frame-space-after-medium      {
    margin-bottom: 2rem !important;
}

.frame-space-after-large       {
    margin-bottom: 4rem !important;
}

.frame-space-after-extra-large {
    margin-bottom: 8rem !important;
}

.card-primary:not(.card-outline) > .card-header {
    background-color: #004A87;
}

.contact-search-navigation {
    margin-bottom: 24px;
    padding-left: .5rem;
    padding-right: .5rem;
    width: 100%;
}

.letter-btn {
    width: 60px;
    margin-bottom: 3px;
}

.icon-color {
    width: 20px;
    height: 20px;
}

.icon-size-small,
.icon-size-small svg {
    height: 20px !important;
    width: 20px !important;
}

/* Hide sorting icons */
.dataTable > thead > tr > th[class*="sort"]:before,
.dataTable > thead > tr > th[class*="sort"]:after {
    content: "" !important;
}

.sorting a {
    display: flex;
}

/*alert section*/
.alert-banner {
    position: fixed;
    top: 5.5rem;
    right: 0;
    width: 25%;
    z-index: 11;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 1rem 0.1rem;
    pointer-events: none;
}

.alert-banner__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    padding: 1.2rem 1.6rem;
    border-radius: 4px;
    color: #ffffff;
    font-family: sans-serif;
    animation: slideDown 0.4s ease-out;
    position: relative;
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity .25s ease, transform .25s ease;
}

.alert-banner__item.neutral {
    background-color: #4a90e2;
}

.alert-banner__item.negative {
    background-color: #d64545;
}

.alert-banner__item.is-hidden {
    display: none;
    opacity: 0;
    transform: translateY(-10px);
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    pointer-events: none;
    overflow: hidden;
}

.alert-banner__item.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.alert-banner__header {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 1.1rem;
    font-weight: 600;
    margin-right: 12px;
}

.alert-banner__text {
    flex: 1;
    font-size: 0.9rem;
}

.alert-banner__close {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
    opacity: 0.8;
    transition: opacity .2s;
}

.newsContainer {
    border-color: #F1F2F4;
    border-style: solid;
    border-radius: .5rem;
    border-width: 1px;
    padding: 0.75rem;
    background-color: #fff;
    margin-top: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.newsHeader {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.newsInnerContainer .newsHeader {
    margin-bottom: 1.25rem;
}

.searchFilters__category-news {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

.searchFilters__category-news .filterBlockSortBySelect {
    min-width: 9.5rem;
}

#news-category-select {
    min-width: 10.5rem;
}

.searchFilters__cancel__news {
    align-self: flex-start;
}

.searchFilters__cancel__news .searchFilters__filterCancel {
    display: inline-block;
}

.searchFilters__category-news-content {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.searchFilters__category-news-filter,
.searchFilters__category-news-sort {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.newsHeader a {
    border-radius: 8px;
    background-color: #005CB7;
}

.newsHeader h2 {
    font-family: var(--fBody);
    font-weight: 700;
    vertical-align: middle;
    color: #002D74;
    margin-bottom: 0;
}

.newsHeader h2 img {
    width: 36px;
    height: 30px;
    margin-right: 10px;
}

.newsHeader .btn {
    font-family: var(--fBody);
    font-weight: 500;
    font-style: normal;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    vertical-align: middle;
}

.newsListContainer.dashboard-news-list {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 0.5rem;
    margin-bottom: 0;
}

.all-news {
    vertical-align: middle;
    max-width: fit-content;
    margin-top: auto;
}

.newsListContainer .newsCardSmall {
    padding: 0.75rem 0.5rem 0.75rem 0.75rem;
    text-decoration: none;
    border-radius: 0.25rem;
}

.newsListContainer .newsCardSmall.first.last {
    border-radius: 8px;
}

.newsCardSmall {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.newsCardSmall:hover {
    background-color: #005EB833;
}

.newsCardSmall:hover .newsCardSmallTitle  {
    color: #002D74;
    text-decoration: underline !important;
}

.newsCard__date.smallDescription {
    cursor: default;
    color: #222223CC;
}

.newsCardSmallTitle {
    word-wrap: break-word;
    overflow: hidden;
    color: #222223;
    text-decoration: none !important;
    cursor: pointer;
    max-width: 45rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.smallDescription {
    text-align: center;
    vertical-align: middle;
}

.newsListContainer {
    margin-bottom: 0.75rem;
}

.newsCardFull {
    display: flex;
    padding: 0.75rem;
    gap: 0.75rem;
    max-width: 56.3125rem;
    text-decoration: none;
    color: inherit;
}

.newsCardFull__wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 45rem;
    min-width: 0;
    gap: 0.75rem;
}

.newsCardFull__content {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 0.75rem;
}

.newsCardFull .newsCard__title {
    max-width: 100%;
    min-width: 0;
}

.newsCardFull .newsCard__title h3 {
    color: #222223;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.newsCardFull:hover .newsCard__title h3 {
    color: #002D74;
    text-decoration: underline;
    text-decoration-style: solid;
}

.newsCard__image .fittingImage {
    position: relative;
}

.newsCardFull:hover .newsCard__image .fittingImage::after {
    content: '';
    position: absolute;
    inset: 0;
    background: #FFFFFF33;
    border-radius: 0.5rem;
    pointer-events: none;
}

.newsCardFull .newsCard__teaser {
    color: #222223;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.newsCardFull .newsCard__date {
    vertical-align: middle;
    color: #222223CC;
    max-width: fit-content;
    cursor: default;
}

.newsDetailContainer {
    padding: 0;
}

.newsDetailContent .newsImage img,
.newsDetailContent .gallery-thumbnails .fittingImage img {
    border-radius: 0.5rem;
}

.gallery-thumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.gallery-thumbnails figure {
    display: flex;
    flex-direction: column;
    gap: .375rem;
}

.gallery-thumbnails img {
    width: 18.125rem;
    height: 18.125rem;
    object-fit: cover;
    border-radius: 0.5rem;
}

.newsImage img {
    width: 18.125rem;
    height: 18.125rem;
    object-fit: cover;
    border-radius: 0.5rem;
}

.newsDetailTime {
    color: #22222399;
}

.newsDetailTitle {
    color: #222223;
    margin-bottom: 1rem;
}

.newsDetailContainer .genericText p, .newsDetailContent .genericText ul {
    color: #222223;
}

.newsDetailContent .genericText ul {
    line-height: 1.5;
}

.newsDetailContent .genericText img {
    width: 18.125rem;
    height: 18.125rem;
    object-fit: cover;
    border-radius: 0.5rem;
}

.newsDetailContent .genericText .gallery-image img {
    height: 100%;
    width: 100%;
}

.newsDetailContactTitle {
    font-family: var(--fBody);
    font-weight: 700;
    font-size: 1rem;
    line-height: 150%;
    letter-spacing: 0.3px;
    vertical-align: middle;
    color: #002D74;
}

.news-backlink-wrap {
    margin-bottom: 2rem;
}

.news-backlink {
    color: var(--cPrimaryLightBlue);
}

.news-backlink:hover {
    color: var(--cBlue);
    text-decoration: underline;
}

.card-outline {
    height: 18.75rem;
    border-radius: 0.5rem;
    border: 1px solid #B1B3B3CC;
}

.profile-user-img {
    width: 64px;
    height: 64px;
    border: unset;
    object-fit: cover;
    padding: 0 !important;
}

.profile-username {
    font-size: 16px;
    font-weight: 700;
}

.card-body {
    padding: 1.5rem 1rem 1.5rem 1rem;
    overflow: hidden;
}

.card-body .text-muted {
    font-size: 1rem;
    font-weight: 400;
    color: #22222399 !important;
    margin: 0;
}

.list-group-item {
    border: unset;
    padding: unset;
    background: unset;
}

.frame-layout-2 .card {
    box-shadow: unset;
}

.frame-layout-2 .card i {
    height: 24px;
    width: 24px;
    color: #222223;
}

.frame-layout-2 .card i::before {
    color: #22222360;
}

.contact-title {
    margin: unset;
    color: #222223;
}

.frame-layout-2 {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

/* Logo */
.layout-navbar-fixed .wrapper .brand-link {
    width: unset;
}

.brand-link {
    padding: 1rem 0 0 1rem;
}

.brand-link .brand-image {
    max-height: 60px;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    float: unset;
}

/* Sidebar close button */
.sidebar-close-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
    z-index: 1040;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: right 0.3s ease-in-out;
}

.sidebar-close-btn:hover {
    background: #005EB833;
    color: #fff;
    border-radius: 0.5rem;
}

.sidebar-close-btn:active {
    background: #005EB899;
    color: #fff;
    border-radius: 0.5rem;
}

.main-sidebar {
    width: 19.375rem;
}

.sidebar-mini.sidebar-collapse .main-sidebar .sidebar-close-btn {
    right: 1rem;
}

.sidebar-mini.sidebar-collapse .main-sidebar:hover .sidebar-close-btn {
    right: 0.5rem;
}

.nav-level-1 .nav-link .ph:not(.nav-external-icon) {
    font-size: 1.5rem;
    color: #B1B3B3;
}

.nav-level-1 .nav-link.active .ph:not(.nav-external-icon),
.nav-sidebar>.nav-item.menu-is-opening>.nav-link .ph:not(.nav-external-icon),
.nav-sidebar>.nav-item.menu-open>.nav-link .ph:not(.nav-external-icon) {
    color: #fff;
}

.sidebar-close-btn i {
    font-size: 1.5rem;
    color: #fff;
}

.navbar-expand .navbar-nav .nav-link {
    padding-right: 0;
    padding-top: 0.3125rem;
}

.navbar-expand .navbar-nav .nav-link i{
    font-size: 1.1rem;
    vertical-align: middle;
}

.nav-external-icon {
    font-size: 1rem;
    position: relative;
    top: 0.0625rem;
    color: #B1B3B3;
}

.nav-level-2 > .nav-item > .nav-link {
    padding-left: 2.75rem;
}

.nav-level-3 > .nav-item > .nav-link {
    padding-left: 3.75rem;
}

.sidebar-reopen-toggle {
    display: none;
}

.sidebar-collapse .sidebar-reopen-toggle {
    display: flex;
}

.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-image {
    margin-right: 0;
}

.layout-navbar-fixed.layout-fixed .wrapper .sidebar {
    margin-top: 5rem;
    padding-bottom: 1rem;
}

.sidebar {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.sidebar-mini .main-sidebar .nav-link, .sidebar-mini-md .main-sidebar .nav-link, .sidebar-mini-xs .main-sidebar .nav-link,
.sidebar-collapse.sidebar-mini .main-sidebar:hover:not(.sidebar-no-expand) .nav-link {
    width: calc(19.375rem - 0.5rem);
}

.sidebar-mini.sidebar-collapse .main-sidebar {
    width: 4rem;
}

/* Collapsed mini sidebar: hide logo, center the toggle icon */
.sidebar-mini.sidebar-collapse .sidebar, .sidebar-mini.sidebar-collapse .brand-link {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0s 0.2s;
}

.sidebar-mini.sidebar-collapse .main-sidebar:hover .sidebar, .sidebar-mini.sidebar-collapse .main-sidebar:hover .brand-link {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.5s ease, visibility 0s;
}

.sidebar-mini.sidebar-collapse.layout-fixed .main-sidebar:hover .brand-link {
    width: unset;
}

.layout-navbar-fixed.sidebar-mini.sidebar-collapse .wrapper .brand-link {
    height: unset;
    width: unset;
}

[class*=sidebar-dark-] .nav-header {
    color: #FFFFFF;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active, .sidebar-light-primary .nav-sidebar > .nav-item > .nav-link.active {
    background-color: transparent;
    box-shadow: unset;
    font-weight: 700;
}

[class*=sidebar-dark-] .sidebar a, [class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link {
    color: #FFFFFF;
    font-weight: 400;
}

.nav-sidebar .nav-item:not(:has(> .nav-treeview)) > .nav-link.active,
[class*=sidebar-dark-] .nav-treeview > .nav-item:not(:has(> .nav-treeview)) > .nav-link.active {
    background-color: #005EB8;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.0125rem;
}

[class*=sidebar-dark-] .nav-treeview > .nav-item:has(> .nav-treeview) > .nav-link.active {
    background-color: transparent;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.0125rem;
}

[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active:hover {
    background-color: #005EB833;
    color: #fff;
}

[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-open>.nav-link:not(.active),
[class*=sidebar-dark-] .nav-treeview>.nav-item.menu-open>.nav-link {
    background-color: transparent;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.0125rem;
}

[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-is-opening>.nav-link:focus,
[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-open>.nav-link:focus,
[class*=sidebar-dark-] .nav-treeview>.nav-item.menu-is-opening>.nav-link:focus,
[class*=sidebar-dark-] .nav-treeview>.nav-item.menu-open>.nav-link:focus {
    background-color: transparent;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.0125rem;
}

[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link:hover,
[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-open>.nav-link:hover,
[class*=sidebar-dark-] .nav-sidebar>.nav-item:hover>.nav-link:hover,
[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link:hover{
    background: #005EB833;
    color: #fff;
}

[class*=sidebar-dark-] .nav-sidebar>.nav-item:not(.menu-open):not(.menu-is-opening)>.nav-link:not(.active):focus:not(:hover),
[class*=sidebar-dark-] .nav-treeview>.nav-item:not(.menu-open):not(.menu-is-opening)>.nav-link:not(.active):focus:not(:hover) {
    background-color: transparent;
    color: #fff;
}

[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link:focus:hover,
[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link:focus:hover {
    background-color: #005EB833;
    color: #fff;
}

.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused, .sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover {
    width: 19.375rem;
}

.sidebar-mini.sidebar-collapse .sidebar .nav-sidebar .nav-link p {
    display: inline;
    margin: 0;
    white-space: normal;
}

.layout-navbar-fixed .wrapper .main-sidebar:hover .brand-link {
    width: unset;
}

/* Headings and links now live in typography.css */

a:disabled {
    color: #B1B3B399;
}

/* Images inserted via the RTE carry fixed width/height attributes; never let them overflow the text column */
.ce-bodytext img {
    max-width: 100%;
    height: auto;
}

.ce-bodytext a,
.unit-managerinfo-body a,
.card-url a,
.card-files a {
    text-decoration: underline;
}

/* Quotes */
blockquote {
    font-family: var(--fBody);
    font-weight: 700;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0;
    color: #222223;
    border-left: 2px #002D74 solid;
}

.studiesCard__list {
    list-style: none;
    font-family: var(--fBody);
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0;
    vertical-align: middle;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.studiesCard__list li {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.studiesCard__list a {
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-thickness: 8%;
}

.subpage-arrow {
    width: 14px;
    height: 17px;
}

/* Event detail */
.eventDetailContent {
    line-height: 100%;
    font-size: 14px;
}

.eventDetailContent a,
.eventDetailContent a:hover {
    text-decoration: underline;
}

.eventDetailContent h2 {
    color: #222223;
    margin-bottom: 1rem;
}

.eventDetailContent .fileList {
    margin-bottom: 1rem;
}

.eventDetailContent .eventImage {
    height: 290px;
    width: 290px;
}

.eventDetailContent .eventGallery {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.event-back {
    margin-bottom: 1rem;
}

.eventDetailContent .eventImage img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: .5rem;
}

.header-event-detail {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.eventGenericText {
    font-family: var(--fBody);
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0;
}

.eventGenericText .eventGenericText__teaser {
    font-family: var(--fBody);
    font-weight: 400;
    font-size: 1rem;
    line-height: 100%;
    letter-spacing: 0;
}

/* Contacts */
.content-wrapper > .content {
    padding: 1rem;
    min-height: calc(100vh - 12.5rem);
    margin-top: 0;
    border-radius: 0.75rem;
}

/* Constrain content width while the white card background stays full width.
   NAS pages (.nas-wrapper) keep their own full-width filter + table layout. */
.content-wrapper > .content {
    max-width: 47rem;
    margin-left: auto;
    margin-right: auto;
}

.content-wrapper:not(.nas-wrapper) > .content > * {
    max-width: 45rem;
    margin-left: auto;
    margin-right: auto;
}

/* Contacts, search, calendar day and NAS pages stay full width (card and children) */
.nas-wrapper > .content,
.content-wrapper > .content:has(.contact-content),
.content-wrapper > .content:has(.searchFilters),
.content-wrapper > .content:has(.PurchasesList),
.content-wrapper > .content:has(.contact-content) > *,
.content-wrapper > .content:has(.searchFilters) > *,
.content-wrapper > .content:has(.PurchasesList) > *,
.content-wrapper > #nas-content,
.content-wrapper > #nas-content > *,
.content-wrapper > .content > *:has(.contact-content),
.content-wrapper > .content > .contact-content,
.content-wrapper > .content > *:has(.searchFilters),
.content-wrapper > .content > .searchFilters,
.content-wrapper > .content > .day-nav {
    max-width: none;
}

/* Pages with two/three column containers get a wider card: 1200px content + 1rem padding each side */
.content-wrapper > .content:has(.twoColumnGrid),
.content-wrapper > .content:has(.threeColumnGrid) {
    max-width: 77rem;
}

.content-wrapper > .content:has(.twoColumnGrid) > *,
.content-wrapper > .content:has(.threeColumnGrid) > * {
    max-width: 75rem;
}

.contact-content h2, .contact-content h1 {
    margin-bottom: 1rem;
}

.contact-search-navigation h3,
.contact-address-list h3,
.contact-list-header {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px #002D74 solid;
}

.contact-search-navigation .btn-default {
    color: #222223;
    border: 1px #005EB8 solid;
    border-radius: .5rem;
    padding: 0.40625rem 1rem;
    background-color: #fff;
    height: 100%;
}

.contact-search-navigation .form-group {
    display: flex;
    gap: 1rem;
}

.form-group {
    margin-bottom: 0 !important;
}

.contact-search-navigation form {
    flex-grow: 1;
}

.contact-list .card:hover,
.contact-list-single .card:hover {
    background: #005EB833;
    box-shadow: 0px 2px 8px 2px #22222314;
}

.list-group-item .ph {
    font-size: 1.5rem;
    margin-right: 0;
    color: #22222399;
}

.list-group-item a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.list-group-item:hover a {
    text-decoration: underline;
}

.card.card-outline .list-group-unbordered>.list-group-item {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: #222223CC;
    pointer-events: none;
}

.card.card-outline .list-group-unbordered > .list-group-item a {
    pointer-events: auto;
    position: relative;
    z-index: 2;
}

.card.card-outline .list-group {
    gap: 0.75rem;
    margin-bottom: 0 !important;
}

.card-profile__details {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 1rem 0;
    padding-bottom: 1rem;
    border-bottom: 1px solid #B1B3B399;
    height: 5.95rem;
}

.card-profile__details .profile-username {
    text-align: center;
    color: #222223;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-profile__details .card-text__position--wrap {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-text__unit {
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #222223CC !important;
    text-align: center;
}

.card-text__position {
    text-align: center;
    color: #222223CC;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-nav {
    display: flex;
    gap: 1rem;
}

.contact-nav-buttons {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.contact-nav .form-control {
    width: 25rem;
}

.contact-nav .form-control {
    height: 2rem;
    border: 1px #B1B3B3CC solid;
    border-radius: .5rem;
}

.contact-nav .btn-primary,
.contact-detail-info .btn-primary,
.btn-lu-primary {
    color: #fff;
    border-radius: .5rem;
    padding: 0.40625rem 1rem;
    background-color: #005EB8;
    height: 100%;
}

.contact-detail-info .btn-primary {
    height: unset;
}

.contact-detail-info .btn-primary p {
    margin-bottom: 0;
}

.btn-lu-primary:disabled {
    opacity: unset;
}

.btn-lu-primary:hover {
    color: #fff;
}

.btn-lu-link {
    color: #005EB8;
    font-size: 14px;
    text-decoration: underline;
    background-color: unset;
}

.contact-nav .btn-lu-yellow {
    border-radius: .5rem;
    padding: 0.40625rem 1rem;
    height: 100%;
}

.contact-alphabet {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
}

.contact-alphabet a {
    text-decoration: underline;
}

.contact-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: .5rem;
}

.contact-list-single {
    margin-bottom: 1rem;
}

.contact-list .card,
.contact-list-single .card {
    box-shadow: unset;
    margin: 0;
    position: relative;
}

.card-link-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.contact-list .card .list-group-item,
.contact-list-single .card .list-group-item {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    position: relative;
    z-index: 2;
}

.list-group-item.away-time {
    justify-content: right;
    position: absolute !important;
    right: 0.5rem;
    top: 0.5rem;
    background: #B1B3B333;
    border-radius: 0.375rem;
    padding: 0.25rem;
    color: #222223CC;
}

.list-group-item.away-time i {
    height: 1rem !important;
    width: 1rem !important;
    font-size: 1rem !important;
}

.contact-list-single .card-outline{
    max-width: 17.5rem;
    min-width: 17.5rem;
}

.contact-list .card i,
.contact-list-single .card i {
    height: 1.5rem;
    width: 1.5rem;
    color: #222223;
}

.contact-list .card i::before,
.contact-list-single .card i::before {
    color: #22222360;
}

.address-link {
    display: block;
    width: 100%;
    text-decoration: underline;
    padding: 12px 1rem;
    border-top: 1px #B1B3B3CC solid;
}

.contact-address-list .address-link:last-child {
    border-bottom: 1px #B1B3B3CC solid;
}

.contact-person-detail {
    border: 1px #B1B3B3CC solid;
    border-radius: .5rem;
    padding: 1rem;
}

.contact-person-detail .profile-user-img {
    height: 128px;
    width: 128px;
    margin: 0;
    padding: 0;
    object-fit: cover;
}

.contact-person-detail .profile-username {
    font-weight: 700;
    font-size: 22px;
    color: #222223;
    margin: 0;
}

.contact-detail-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: start;
}

.contact-detail-info .contact-title {
    color: #002D74;
}

.contact-detail-info li {
    font-size: 14px;
    font-weight: 400;
    color: #222223;
}

.contact-detail-info i::before {
    color: #22222399;
}

.contact-contact-item {
    display: flex;
    column-gap: 4px;
    align-items: center;
}

/* Absence period: red while active, blue when upcoming */
.contact-away-title-time--active {
    color: #FF383C;
}

.contact-away-title-time--upcoming {
    color: #002D74;
}

.contact-detail-positions, .contact-detail-other-info {
    color: #222223CC;
}

.contact-detail-other-info h3, .contact-detail-positions h3 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.contact-detail-other-info i, .contact-detail-positions i {
    font-size: 1.5rem;
}

/* Back to top */
.back-to-top {
    bottom: 2rem;
    position: fixed;
    right: 2rem;
    z-index: 1032;
    background-color: #FFB60F;
    color: #222223;
    height: 60px;
    width: 60px;
    border-radius: 80px;
    border: unset;
    display: flex;
    justify-content: center;
    align-items: center;
}

.up-arrow {
    width: 30px;
    height: 15px;
}

.footer-copyright-container {
    color: #FFFFFF99;
    position: fixed;
    bottom: .5rem;
    height: 3.5rem;
    font-size: 12px;
    background-color: #002D74;
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.footer-copyright {
    display: flex;
    width: 260px;
    justify-content: center;
    align-items: center;
    border-top: 1px #FFFFFF99 solid;
    text-align: center;
    padding-top: .5rem;
}

.user-panel {
    font-weight: 700;
    font-size: 16px;
}

/* Pagination */
.page-link {
    border: unset;
    font-weight: 400;
    font-size: 14px;
    color: #005EB8;
}

.page-item.active .page-link {
    background-color: #fff;
    color: #005EB8;
    font-weight: 700;
    font-size: 14px;
}

.pagination-container {
    display: flex;
    justify-content: center;
}

.pagination-separator {
    display: flex;
    align-items: center;
    color: #005EB8;
}

.nas-back-url {
    margin-bottom: 2rem;
}

.frame-type-list:has(.nas-wrapper) > header,
.frame-type-list:has(#nas-content) > header,
.frame-type-news_pi1:has(.news-wrapper) > header,
.frame-type-list:has(#cal-small-month) > header {
    display: none;
}

body:has(.frame-type-list .day-nav) .page-title,
body:has(.card-container) .page-title {
    display: none;
}

/* Calendar day empty state */
.day-no-events {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 4rem;
}

.day-no-events__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: #22222399;
    height: 3rem;
    width: 3rem;
    background: #B1B3B333;
    border-radius: 100rem;
}

.day-no-events__text {
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    vertical-align: middle;
    font-size: 1rem;
    color: #222223CC;
    margin: 0;
}

/* Calendar day navigation */
.day-nav {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.day-nav__back {
    color: #005EB8;
    width: fit-content;
    text-decoration-thickness: 8%;
}

.day-nav__back:hover {
    color: #002D74;
    text-decoration: underline;
}

.day-nav__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.day-nav__date {
    color: #002D74;
    margin: 0;
}

.day-nav__controls {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.day-nav__arrows {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.day-nav__today {
    color: #222223;
    border: 1px #005EB8 solid;
    border-radius: 0.5rem;
    padding: 0.40625rem 1rem;
}

.day-nav__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem;
    background: none;
    border: none;
    color: #005EB8;
    text-decoration: none;
}

.day-nav__arrow:hover {
    color: #002D74;
}

.day-nav__arrow .ph {
    font-size: 1.5rem;
}


.nas-wrapper {
    display: flex;
    gap: .5rem;
}

.nas-filter-wrapper {
    max-width: 20.625rem;
    margin-top: .5rem;
    padding-bottom: .5rem;
    padding-right: .5rem;
    height: calc(100vh - (3.5rem + 1px));
    overflow-y: auto;
}

.nas-filter .nav-sidebar .nav-link > .right:nth-child(2) {
    right: 0;
}

.nas-filter .filter {
    margin-top: 2rem;
}

.nas-filter .btn.btn-lu-primary {
    padding: 0.40625rem 1rem;
    line-height: 100%;
}

.nas-filter .btn.btn-lu-link {
    padding: 0;
    line-height: 17px;
    letter-spacing: -0.6%;
}

.nas-filter .btn.btn-lu-link:hover {
    color: #002D74;
    text-decoration: underline;
}

.nas-filter .col-xs-4.control-label {
    margin-bottom: 0;
    margin-top: 0.5rem;
}

.form-group.nas-filter__group--archived {
    display: flex;
    align-items: center;
    margin-top: 0.8rem;
    gap: 0.5rem;
}

.control-label.nas-filter__label--archived {
    font-size: 0.875rem;
    margin-bottom: 0;
}

#nas-form-archived {
    height: auto !important;
    min-width: unset !important;
    cursor: pointer;
    width: unset;
}

#filterMenu .form-control {
    border: 1px #B1B3B3 solid;
    border-radius: .5rem;
    min-width: 148px;
    height: 31px;
}

#filterMenu .input-group .input-group-btn,
#filterMenu .input-group .input-group-btn .btn {
    height: 31px;
}

#filterMenu .t3js-datetimepicker {
    background-color: #fff;
    border: 0;
    border-left: 1px #B1B3B3 solid;
    border-top: 1px #B1B3B3 solid;
    border-bottom: 1px #B1B3B3 solid;
    border-radius: .5rem 0 0 .5rem;
}

#filterMenu .datepicker .btn {
    background-color: #fff;
    border-right: 1px #B1B3B3 solid;
    border-top: 1px #B1B3B3 solid;
    border-bottom: 1px #B1B3B3 solid;
    border-radius: 0 .5rem .5rem 0;
    margin-bottom: 0;
    display: flex;
}

.filter .nav-link,
.filter .nav-sub-nav-item {
    margin: 0;
    padding: 0;
    font-size: 12px;
    font-weight: 700;
    color: #222223;
}

.filter .nav-sub-nav-item {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.75rem 0.25rem 0.75rem 0.25rem;
}

.filter .nav-sub-nav-item > a {
    display: block;
    width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
}

.nas-filter .form-group .ph.ph-calendar-dots {
    font-size: 1rem;
    width: 1rem;
    height: 1rem;
    color: #22222399;
}

.nav-sidebar .nav-item>.nav-link {
    margin-bottom: 0;
}

.nav-sidebar .nav-link > .right {
    position: unset;
}

.nav-sidebar .nav-item.menu-is-opening > .nav-link .right,
.nav-sidebar .nav-item.menu-open > .nav-link .right {
    transform: rotate(90deg);
    transition: transform 200ms ease-in-out;
}

.nav-sidebar .nav-link > p {
    padding-right: 0;
}

.nav-sidebar .nav-link > p:has(> .right) {
    padding-right: 1.5rem;
}

.nav-sidebar .nav-item>.nav-link .right {
    transform: rotate(-90deg);
    transition: transform 150ms ease-in-out;
}

.nav-pills .nav-link {
    padding: 0.75rem 0.25rem 0.75rem 0.25rem;
    gap: 1.25rem;
}

.nav-pills .nav-link:hover {
    background-color: #005EB833;
}

.nav-pills .nav-link:active {
    background-color: #005EB8;
}

.search-info {
    font-size: 0.875rem;
    letter-spacing: .3px;
}

.search-info__title {
    color: #222223;
}

#filterMenu .form-control {
    font-size: 0.9rem;
}

.filter .nav-link, .filter .nav-sub-nav-item {
    font-size: 1rem;
}

.nas-filter .col-xs-4.control-label {
    margin-bottom: 0.5rem;
    margin-top: 0.8rem;
    font-size: 0.875rem;
}

.form-horizontal label {
    font-size: 12px;
}

.form-submit-container {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* NAS table */
#nas_table_wrapper,
#nas_table_wrapper .row,
#nas_table {
    width: 100% !important;
}

#nas_table {
    table-layout: auto;
}

#nas_table * {
    border: unset;
}

#nas_table tr:hover .nas-title a {
    color: #002D74;
    text-decoration: underline;
}

#nas_table.table-bordered.dataTable {
    border: 1px #B1B3B333 solid;
    border-radius: .5rem;
}

#nas_table th {
    background-color: #B1B3B333;
    color: #222223;
    vertical-align: middle;
}

#nas_table th a {
    color: #222223;
    vertical-align: middle;
}

.table-hover tbody tr:hover,
.table-hover tbody tr:hover a{
    background-color: #fff;
    color: #002D74;
}

.table-hover tbody tr:hover .nas-date {
    color: #fff;
    background-color: #002D74;
}

.document_ordertype {
    min-width: 205px;
}

.cell-center {
    text-align: center;
}

.nas-item-number,
.nas-order-type {
    font-weight: 400;
    font-size: 14px;
}

.nas-date {
    font-size: 12px;
    min-width: 69px;
    border-radius: .5rem;
    padding: 2px 4px;
    background-color: #005EB833;
}

.nas-title a {
    font-weight: 700;
    font-size: 14px;
    color: #222223;
}

#nas-content h2 {
    color: #222223;
    margin-bottom: 1rem;
}

.download a {
    max-width: fit-content;
}

#nas-content a {
    text-decoration: underline;
}

#nas-content .container {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-areas:
        "number issuer"
        "date_accepted process"
        "status process_owners"
        "document_ordertype ."
        "type ."
        "related_documents ."
    ;
    row-gap: 1rem;
    column-gap: 10rem;
    margin: 0;
    padding: 0;
}

#nas-content .number {
    grid-area: number;
}

#nas-content .issuer {
    grid-area: issuer;
}

#nas-content .date_accepted {
    grid-area: date_accepted;
}

#nas-content .process {
    grid-area: process;
}

#nas-content .status {
    grid-area: status;
}

#nas-content .process_owners {
    grid-area: process_owners;
}

#nas-content .document_ordertype {
    grid-area: document_ordertype;
}

#nas-content .type {
    grid-area: type;
}

#nas-content .related_documents {
    grid-area: related_documents;
}

#nas-content .related_documents div {
    display: flex;
    flex-direction: column;
}

#nas-content .related_documents .related_documents__item {
    gap: 0 !important;
    font-size: 0.875rem;
}

#nas-content .related_documents .related_documents__meta {
    flex-direction: row;
    gap: 1.25rem;
}

.related_documents__list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem !important;
}

#nas-content .related_documents a {
    font-size: 0.875rem;
}

#nas-content .download {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.5rem;
    gap: 1rem;
}

#nas-content label {
    min-width: 200px;
}

#nas-content .container div {
    display: flex;
    gap: 1rem;
}

/* NAS Dashboard */
.nas-wrapper#nas-small-list {
    background-color: #fff;
    border-color: #F1F2F4;
    border-style: solid;
    border-radius: .5rem;
    border-width: 1px;
    margin-left: 1rem;
    margin-right: .5rem;
    padding: 0.75rem;
}

.dashboard-nas-list h2 {
    vertical-align: middle;
    margin-bottom: 0.5rem;
}

#nas-small-list .allNasDocs {
    vertical-align: middle;
    text-decoration-style: solid;
    text-decoration-thickness: 8%;
    color: #005EB8;
}

#nas-small-list .allNasDocs:hover {
    color: #002D74;
}

/* News Dashboard */
.news-wrapper#news-small-list {
    padding: 0 !important;
    margin-left: 1rem;
}

#dash-news-cal {
    display: flex;
    gap: .5rem;
}

#dash-news-cal {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    margin-bottom: 1rem;
}

#dash-news-cal .frame-type-news_pi1 {
    grid-column: span 6;
}

#dash-news-cal .frame-type-list {
    grid-column: span 3;
}

#dash-news-cal .calendarContainer {
    width: 100%;
    min-width: 0;
}

#dash-news-cal .news-wrapper,
#dash-news-cal .cal-wrapper {
    height: 100%;
}

#dash-news-cal .newsContainer,
#dash-news-cal .calendarContainer {
    height: 100%;
}

.calendarContainer {
    position: relative;
    border-color: #F1F2F4;
    border-style: solid;
    border-radius: .5rem;
    border-width: 1px;
    padding: 0.75rem;
    background-color: #fff;
    margin-top: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cal-wrapper#cal-small-month {
    margin-right: 0.5rem;
    padding: 0 !important;
}

.content-wrapper.px-3 {
    padding-right: .5rem !important;
}

.calHeader .calendarTop__lineContainer {
    padding: 0.25rem;
    margin: 0;
    align-self: center;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.calHeader h2 {
    margin-bottom: 0;
}

.calendarTop__lineContainer .calendarTop__title {
    text-align: center;
    color: #005EB8;
}

.calHeader {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.75rem;
}

.calHeader__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.calHeader__content .btn-default {
    color: #222223;
    border: 1px #005EB8 solid;
    border-radius: .5rem;
    padding: 0.40625rem 1rem;
    background-color: #fff;
}

.calendarContainer .calendarMonth__monthTable div {
    line-height: 100%;
    border: 0;
    text-align: center;
    color: #005EB8;
    vertical-align: middle;
}

.calendarContainer .calendarMonth__tableCell {
    height: 40px;
    width: 40px;
}

.calendarContainer .calendarMonth__tableCell.otherMonth div {
    color: #B1B3B366;
}

.calendarContainer .calendarMonth__tableCell.today:not(.otherMonth)::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #005EB833;
    z-index: 0;
}

.calendarContainer .calendarMonth__dayNumber {
    position: relative;
    z-index: 1;
}

.calendarContainer .calendarMonth__dayEventList {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: fit-content;
    display: flex;
}

.calendarTop__monthArrowLeft, .calendarTop__monthArrowRight {
    height: 1.5rem;
}

.calendarTop__monthArrowLeft .ph.ph-caret-left, .calendarTop__monthArrowRight .ph.ph-caret-right {
    font-size: 1.5rem;
}

.eventDot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #005EB8;
}

.events__item {
    display: flex;
    flex-direction: row;
    border-top: 0;
    border-bottom: 1px solid #B1B3B333;
    border-left: 1px solid #B1B3B333;
    border-right: 1px solid #B1B3B333;
    padding: 0.375rem 0.5rem;
}

.columnGrid.calendar__events {
    .events__item {
        display: flex;
        flex-direction: row;
        text-decoration: none;
        color: inherit;
        border: unset;
        padding: 0.75rem 0.5rem;
        gap: 0.75rem;
        border-radius: 0.25rem;
        align-items: center;
    }

    .events__item:hover {
        background-color: #005EB833;
        cursor: pointer;
    }

    .events__item-info--title {
        max-width: 45rem;
        flex: 0 1 auto;
        min-width: 0;
        color: #222223;
        padding: 0;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .events__item:hover .events__item-info--title {
        text-decoration: underline;
        color: #002D74;
    }

    .event__time {
        flex-shrink: 0;
        white-space: nowrap;
        min-width: 5.2rem;
        box-sizing: border-box;
        cursor: default;
        border-radius: 0.375rem;
        gap: 0.25rem;
        padding: 0.25rem;
        color: #222223;
        background: #B1B3B333;
    }

    .events__item-info--extra {
        background: #B1B3B333;
        border-radius: 0.375rem;
        gap: 0.25rem;
        padding: 0.25rem;
        color: #222223;
        text-align: start;
        overflow: hidden;
        max-height: 2.5rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
}

.events__item:first-child {
    border-top: 1px solid #B1B3B333;
    border-radius: 0.5rem 0.5rem 0 0;
}

.events__item:last-child {
    border-radius: 0 0 0.5rem 0.5rem;
}

.event__time,
.events__item-info--extra,
.event-pill {
    border-radius: .5rem;
    padding: 2px 6px;
    background-color: #005EB833;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.events__item-info--title {
    color: #222223;
    padding: 0.25rem 0.625rem;
}

.events__item-info--extra {
    margin-left: auto;
}

/*accordion*/

.accordion {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.accordion__item {
    display: flex;
    flex-direction: column;
    padding: 0.75rem 1rem;
    position: relative;
    border-top: 0.5px solid #B1B3B3CC;
    border-bottom: 0.5px solid #B1B3B3CC;
    border-radius: 0;
}

.accordion__item:hover {
    background-color: #005EB833;
}

.accordion__trigger:hover .accordion__text {
    text-decoration: underline;
}

.accordion__trigger:hover .accordion__icon {
    color: #005EB8;
}

.accordion > .accordion__item:has(.accordion__trigger:not(.collapsed)) {
    z-index: 1;
}

.accordion__item:has(.accordion__content.show):hover {
    background-color: transparent;
}

.accordion__item:has(.accordion__content.show) .accordion__trigger:hover .accordion__text {
    color: #002D74;
}

.accordion__trigger.collapsed {
    color: #222223;
    gap: 0.75rem;
}

.accordion__text {
    max-width: 45rem;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    padding-left: 1rem;
}

.accordion__trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin: -0.75rem -1rem;
    padding: 0.75rem 1rem;
    color: #222223;
    min-height: 4.5rem;
}

.accordion__trigger:hover {
    color: var(--cBlue);
}

.accordion__icon {
    font-size: 1.5rem;
    max-height: 1.5rem;
}

.accordion__trigger:not(.collapsed) .accordion__icon {
    position: relative;
    top: -0.1875rem;
    transform: rotate(180deg);
}

.accordion__toggle[aria-expanded="true"] .accordion__icon-toggle {
    position: relative;
    top: 0.125rem;
    transform: rotate(180deg);
}

.accordion__toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cPrimaryLightBlue);
    border: unset;
    background-color: unset;
    text-decoration: underline;
}

.accordion__toggle-text {
    font-family: var(--fBody);
    font-weight: 400;
    font-size: 1rem;
    line-height: 150%;
    color: var(--cPrimaryLightBlue);
}

.accordion__toggle-text:hover {
    color: var(--cBlue);
}

.accordion__toggle-wrapper {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.accordion__title {
    margin-bottom: 0;
}

.accordion__toggle[aria-expanded="true"] + .accordion__icon-toggle {
    transform: rotate(180deg);
}

.accordion__content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s ease, padding-top 0.25s ease;
    overflow: hidden;
    padding: 0 1rem;
}

.accordion__content.show {
    grid-template-rows: 1fr;
    padding: 1.5rem 1rem;
}

.card-body-accordion {
    overflow: hidden;
    min-height: 0;
}

.accordion__content__text {
    color: #222223;
    margin-bottom: 0;
    max-width: 60rem;
}

.accordion__content__text p {
    margin: 0;
}

.ph.ph-caret-down:before {

    color: rgb(13, 110, 253);

}

/* Layout fix */
.layout-navbar-fixed .wrapper .content-wrapper {
    margin-top: 5.5rem;
}

body.layout-navbar-fixed::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 0.5rem;
    background-color: #f4f6f9;
    z-index: 1049;
}

/*lightbox*/

.lb-close {
    filter: brightness(0) saturate(100%) invert(23%) sepia(94%) saturate(2470%) hue-rotate(194deg) brightness(94%) contrast(101%);
}

.lb-prev,
.lb-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background-color: rgba(0, 45, 116, 0.7);
    color: #fff;
    font-size: 22px;
    line-height: 1;
    border-radius: 50%;
    text-decoration: none;
    opacity: 0.8 !important;
    transition: opacity 0.2s;
    z-index: 10;
}

/*table*/
.genericText:has(figure.table) {
    display: flow-root;
}

figure.table {
    overflow: auto;
    border-radius: 0.5rem;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 1rem auto;
}

figure.table:not(:has(table[style*="border-color"])) {
    outline: 1px solid #B1B3B333;
    outline-offset: -1px;
}

figure.table:has(table[style*="border-color"]) {
    outline: 1px solid var(--tbl-color, transparent);
    outline-offset: -1px;
}

figure.table::-webkit-scrollbar {
    width: 0.625rem;
}

figure.table::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 0.5rem;
}

figure.table::-webkit-scrollbar-thumb {
    background-color: #B1B3B366;
    border-radius: 0.5rem;
    border: 2px solid transparent;
    background-clip: content-box;
}

figure.table::-webkit-scrollbar-thumb:hover {
    background-color: #a8a8a8;
}

.contenttable {
    border-spacing: 0;
    font-size: 1rem;
    color: #222223;
    line-height: 150%;
    font-weight: 400;
}

.contenttable tr {
    border-bottom: 1px solid #B1B3B333;
    border-top: 1px solid #B1B3B333;
}

.contenttable td,
.contenttable th {
    vertical-align: middle;
    padding: 0.75rem 0.625rem;
}

.table thead th {
    color: #222223;
    vertical-align: middle;
    padding: 0.75rem 0.625rem;
    border: none;
}

.contenttable tr td:first-child,
.contenttable tr th:first-child {
    border-left: 1px solid #B1B3B333;
}

.contenttable tr td:last-child,
.contenttable tr th:last-child {
    border-right: 1px solid #B1B3B333;
}

.gallery-image {
    width: 290px;
    height: 290px;
    margin-bottom: 0;
    object-fit: cover;
    border-radius: .5em;
}

.template-media-1 .gallery-image {
    width: 580px;
}

.gallery-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: .5rem;
}

.twoColumnGrid .template-media-1 .gallery-image,
.threeColumnGrid .template-media-1 .gallery-image {
    width: 290px;
}

.template-media-1 {
    display: inline-grid;
    grid-template-columns: auto;
    gap: 1rem;
}

.template-media-2 {
    display: inline-grid;
    grid-template-columns: auto auto;
    gap: 1rem;
}

.template-media-3 {
    display: inline-grid;
    grid-template-columns: auto auto auto;
    gap: 1rem;
}

.ce-gallery {
    margin-bottom: 1rem;
}

/* Card content element */
.card-list-container {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: 1rem;
    border-top: 1px #002D74 solid;
    padding-top: .5rem;
}

.unit-managerinfo-persons,
.unit-managerinfo-body h3 {
    border-bottom: 1px #002D74 solid;
}

.card-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.75rem 0.75rem 1rem;
    border: 1px #B1B3B3CC solid;
    border-radius: .5rem;
    width: 50%;
    vertical-align: middle;
    color: #222223;
    min-height: 4.5rem;
}

.card-link i {
    font-size: 1.5rem;
    max-height: 1.5rem;
}

.card-link:hover {
    background: #005EB833;
}

.card-link:hover .card-link__text {
    text-decoration: underline;
}

.card-link:hover i {
    color: #002D74;
}

.twoColumnGrid .card-link, .threeColumnGrid .card-link {
    width: 100%;
}

.card-person-container {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.card-list-container .card-link + .card-link {
    margin: 0;
}

.template-media-10,
.template-media-9,
.template-media-8,
.template-media-7,
.template-media-6,
.template-media-5,
.template-media-4,
.template-media-3,
.template-media-2,
.template-media-1 {
    display: grid;
    gap: 1rem;
    width: 100%;
}

.template-media-10 {
    grid-template-columns: repeat(10, 1fr);
}

.template-media-9 {
    grid-template-columns: repeat(9, 1fr);
}

.template-media-8 {
    grid-template-columns: repeat(8, 1fr);
}

.template-media-7 {
    grid-template-columns: repeat(7, 1fr);
}

.template-media-6 {
    grid-template-columns: repeat(6, 1fr);
}

.template-media-5 {
    grid-template-columns: repeat(5, 1fr);
}

.template-media-4 {
    grid-template-columns: repeat(4, 1fr);
}

.template-media-3 {
    grid-template-columns: repeat(3, 1fr);
}

.template-media-2 {
    grid-template-columns: repeat(2, 1fr);
}

.template-media-1 {
    grid-template-columns: 1fr;
}

.template-media-2 .gallery-image,
.template-media-3 .gallery-image,
.template-media-4 .gallery-image,
.template-media-5 .gallery-image,
.template-media-6 .gallery-image,
.template-media-7 .gallery-image,
.template-media-8 .gallery-image,
.template-media-9 .gallery-image,
.template-media-10 .gallery-image {
    width: 100%;
    height: 100%;
    max-height: 290px;
}


/* Main footer */
.main-footer {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    padding: 0;
    border-top: none;
    color: unset;
    background-color: unset;
}

.footer-container {
    padding: 1.5rem;
    margin-left: 1rem;
    margin-right: 0.5rem;
    border-radius: 0.5rem;
    background: #005EB833;
}

.footer-inner {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    max-width: 70.5rem;
    margin-left: auto;
    margin-right: auto;
}

.footer-shortcuts__title {
    color: #002D74;
    margin-bottom: 1rem;
}

.footer-shortcuts__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 3rem;
    row-gap: 1rem;
}

.footer-shortcuts__link {
    color: #002D74;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    justify-self: start;
}

.footer-shortcuts__link:hover span {
    text-decoration: underline;
}

.footer-shortcuts__link .ph {
    font-size: 0.875rem;
}

.main-footer .footer-copyright-container {
    background: transparent;
    position: static;
    height: auto;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.5rem;
}

.main-footer .footer-copyright {
    width: auto;
    border-top: none;
    padding-top: 0;
    color: #002D74;
    font-size: 0.875rem;
}

.sidebar-icon-mobile {
    display: none;
}

.sidebar-search-panel {
    display: none;
    padding: 0.5rem 0.5rem 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sidebar-search-panel .navbar-search-form {
    display: block !important;
}

.sidebar-search-panel .navbar-search-form-content-wrapper {
    display: flex;
    gap: 0.25rem;
}

.sidebar-search-panel .navbar-search-input {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0.5rem;
    color: #fff;
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
    width: 100%;
}

.sidebar-search-panel .navbar-search-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.sidebar-search-panel .navbar-search-input:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.5);
    background-color: rgba(255, 255, 255, 0.15);
}

.sidebar-search-panel .btn-navbar-search {
    background-color: #005EB8;
    border: none;
    border-radius: 0.5rem;
    color: #fff;
    padding: 0.375rem 0.75rem;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}

.sidebar-search-panel .btn-navbar-search-text {
    margin: 0;
    font-size: 0.875rem;
}

.sidebar-search-panel .navbar-search-radio-wrapper {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1rem;
}

.sidebar-search-panel .luRadio-search label {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.75rem;
}

.sidebar-user-panel {
    display: none;
    flex-direction: column;
    padding: 0.75rem 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 0.25rem;
    list-style: none;
}

.sidebar-user-panel .user-panel {
    align-items: center;
    gap: 0.75rem;
    padding: 0.25rem 0;
}

.sidebar-user-panel .user-panel .info span {
    font-weight: 700;
    font-size: 0.875rem;
    color: #ffffff;
}

.sidebar-user-panel .user-panel .image img {
    width: 2rem;
    height: 2rem;
    object-fit: cover;
}

.sidebar-user-panel .nav-link {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 0.875rem;
    padding: 0.5rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sidebar-user-panel .nav-link:hover {
    color: #ffffff !important;
}

.navbar-mobile-header {
    display: none;
}

.navbar-desktop-content {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 70.5rem;
    margin-left: auto;
    margin-right: auto;
}

.navbar-mobile-brand {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    text-decoration: none;
}

.navbar-mobile-logo {
    height: 3.25rem;
    width: auto;
}

.navbar-mobile-brand-name {
    font-family: var(--fBody);
    font-weight: 700;
    font-size: 0.8rem;
    color: #002D74;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.navbar-sidebar-toggle {
    background: none;
    border: none;
    cursor: pointer;
    color: #002D74;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    font-size: 1.5rem;
    line-height: 1;
}

.container-fluid.notices-wide {
    margin-top: 1rem;
}

/* Notice detail page: header detached from AdminLTE .content-header */

.notice-content-header h1 {
    font-size: var(--tH1Size);
    font-weight: var(--fwBold);
    line-height: var(--tH1Lh);
    letter-spacing: var(--tH1Ls);
    margin: 0 0 0.5rem;
}

.notice-content-header .badge {
    vertical-align: middle;
}

.notice-content-header .float-sm-right {
    line-height: var(--tH1Lh);
}

.notice-container-fluid {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.notice-card-title {
    color: white;
    float: left;
    margin: 0;
    font-weight: 400;
}

.layout-navbar-fixed .wrapper .main-header {
    padding: 0.5rem 1.5rem;
}

@media (min-width: 450px) {
    .contact-list { grid-template-columns: repeat(1, 1fr); }
}

@media (min-width: 700px) {
    .contact-list { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 992px) {
    .sidebar-mini.sidebar-collapse .sidebar .nav-sidebar .nav-link p {
        display: inline;
        margin: 0;
        white-space: normal;
        width: unset;
    }
}

@media (min-width: 1000px) {
    .contact-list { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1600px) {
    .contact-list { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 1800px) {
    .contact-list { grid-template-columns: repeat(5, 1fr); }
}

@media (max-width: 1600px) {
    .contact-nav {
        flex-direction: column;
    }

    .contact-nav-buttons {
        gap: 0.25rem;
    }
}

@media (max-width: 1200px) {
    .footer-shortcuts__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-list-single .card.card-outline {
        width: 100%;
    }

    #dash-news-cal {
        display: flex;
    }

    #dash-news-cal .frame-type-news_pi1 {
        flex: 2;
    }

    #dash-news-cal .frame-type-list {
        flex: 1;
    }
}

@media (max-width: 991.98px) {
    .sidebar-icon-desktop {
        display: none;
    }

    .sidebar-icon-mobile {
        display: inline;
    }

    .navbar-mobile-brand {
        padding: 0.375rem;
    }

    .navbar-sidebar-toggle {
        color: #fff;
    }

    .ph.ph-list {
        font-size: 2rem;
    }

    body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,
    body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,
    body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header,
    .sidebar-mini.sidebar-collapse .content-wrapper,
    .sidebar-mini.sidebar-collapse .main-header,
    .sidebar-mini.sidebar-collapse .main-footer {
        margin-left: 0 !important;
    }

    .main-sidebar,
    .sidebar-mini.sidebar-collapse .main-sidebar,
    .sidebar-mini.sidebar-collapse .main-sidebar::before {
        left: auto !important;
        right: 0 !important;
        width: 19.375rem !important;
        transform: translateX(100%) !important;
        transition: transform 0.3s ease-in-out !important;
    }

    body.sidebar-open .main-sidebar {
        transform: translateX(0) !important;
    }

    .sidebar-mini.sidebar-collapse .sidebar,
    .sidebar-mini.sidebar-collapse .brand-link {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: none !important;
    }

    .navbar-mobile-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .navbar-search-form,
    .main-header .navbar-nav {
        display: none !important;
    }

    .card-link {
        width: 100%;
    }

    .footer-container {
        margin-left: 0.5rem;
    }

    .content-wrapper.px-3 {
        padding-left: .5rem !important;
    }

    .layout-navbar-fixed .wrapper .main-header {
        left: .5rem;
        padding: 0.5rem 0.5rem;
    }

    .sidebar-user-panel {
        margin-top: 5.5rem;
        display: flex !important;
        margin-bottom: 0;
        padding: 0.75rem 1rem;
        border-bottom: unset;
    }

    .sidebar-user-panel::after {
        position: relative;
        content: '';
        bottom: -0.5rem;
        height: 1px;
        background-color: #FFFFFF99;
    }

    .sidebar-search-panel {
        display: block;
        padding: 0.75rem 1rem;
        border-bottom: none;
    }

    .sidebar-search-panel::after {
        display: block;
        content: '';
        position: relative;
        bottom: -1rem;
        height: 1px;
        background-color: #FFFFFF99;
    }

    .sidebar .mt-2 {
        margin-top: 0 !important;
    }

    .main-sidebar {
        overflow: hidden !important;
    }

    .layout-navbar-fixed.layout-fixed .wrapper .sidebar {
        position: absolute !important;
        top: 23rem;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: auto !important;
        overflow-y: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    [class*=sidebar-dark] .user-panel {
        border-bottom: none;
    }

    .user-panel .image {
        padding-left: 0;
    }

    .user-panel .info {
        padding: 0.3125rem;
    }

    .nas-wrapper#nas-small-list {
        margin-left: 0.5rem;
    }

    .news-wrapper#news-small-list {
        margin-left: 0.5rem;
    }

    .layout-fixed .main-sidebar {
        bottom: 0;
    }

    .layout-navbar-fixed .wrapper .main-header {
        background: #002D74;
    }

    .sidebar-user-panel .nav-link {
       color: #ffffff !important;
        font-size: 1rem;
    }

    .sidebar-search-panel .luRadio-search label {
        font-weight: 400 !important;
        font-size: 1rem;
        color: #ffffff;
    }

    .sidebar-user-panel .user-panel {
        padding-bottom: 0.5rem;
        gap: 0.5rem;
    }

    .sidebar-search-panel .navbar-search-form-content-wrapper {
        gap: 0.5rem;
    }

    .main-sidebar .sidebar-user-panel .nav-link i {
        font-size: 1.5rem;
        vertical-align: middle;
    }

    .nav-sidebar .nav-link {
        width: 100% !important;
        padding: 0.75rem 1rem;
    }

    .nav-sidebar .nav-link>p>.right {
        right: 1.5rem;
    }

    .nav-sidebar:last-child {
        margin-bottom: 1rem;
    }

    .alert-banner {
        width: 20rem;
        max-width: calc(100% - 1rem);
        padding: 0.5rem;
    }
}

@media (max-width: 800px) {
    #dash-news-cal {
        flex-direction: column;
    }

    #news-small-list {
        margin-right: 0.5rem;
    }

    .calendarContainer {
        margin-top: 0;
    }

    #cal-small-month {
        margin-left: 0.5rem;
    }

    #dash-news-cal {
        margin-bottom: 0.5rem;
    }

    .template-media-1 .gallery-image {
        width: 100%;
        height: auto;
        aspect-ratio: 2 / 1;
    }
}

@media (max-width: 600px) {
    .footer-shortcuts__grid {
        grid-template-columns: 1fr;
    }
    .main-footer .footer-copyright {
        text-align: left;
    }
    #dash-news-cal {
        flex-direction: column;
    }
    .news-wrapper#news-small-list {
        margin-bottom: 0 !important;
    }
    .day-nav__header {
        flex-direction: column;
        align-items: start;
        gap: 0.75rem;
    }
    .day-no-events {
        padding: 4rem 2rem;
    }
    .events__item {
        flex-direction: column;
        gap: 0.5rem;
    }
    .event__time {
        margin-top: 0.375rem;
        margin-right: auto;
    }
    .events__item-info--extra {
        margin-left: unset;
        margin-right: auto;
        margin-top: 0.35rem;
    }
    .events__item-info--title {
        padding: 0.25rem 0;
    }

    .columnGrid.calendar__events {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;

        .events__item {
            flex-direction: column;
        }

        .event__time {
            margin: 0;
        }

        .events__item-info--extra {
            margin: 0;
            flex-shrink: 1;
            white-space: normal;
            word-break: break-word;
        }
    }

    .newsListContainer .newsCardSmall {
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: 0.75rem;
    }

    .newsListContainer {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .newsCardFull {
        flex-direction: column;
    }

    .newsCardFull .newsCard__title h3 {
        white-space: normal;
        overflow: auto;
        text-overflow: unset;
    }

    .newsCardFull .newsCard__teaser {
        white-space: normal;
        overflow: auto;
        display: block;
    }

    .searchFilters__category-news-content {
        flex-direction: column;
        align-items: start;
        gap: 1rem;
    }

    .columnGrid.calendar__events {
        .events__item {
            align-items: start;
        }
    }

    .footer-container {
        border-radius: unset;
    }

    .alert-banner {
        top: 5.5rem;
        left: 0;
        right: 0;
        width: 100%;
        max-width: none;
        gap: 0.5rem;
        padding: 0.5rem;
    }

    .alert-banner__item {
        padding: 0.75rem 1rem;
        gap: 0.5rem;
    }

    .alert-banner__header {
        font-size: 1rem;
        margin-right: 0;
    }

    .alert-banner__close {
        font-size: 1.5rem;
    }

}

/* AI translation notice (lu_translate) */
.lu-translate-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0 0 1.25rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--cBorder);
    border-left: 3px solid var(--cPrimaryLightBlue);
    border-radius: 4px;
    background: var(--cBg);
    color: var(--cDark);
    font-family: var(--fBody);
    font-size: var(--tUiSmallSize);
    line-height: var(--tUiSmallLh);
    letter-spacing: var(--tUiSmallLs);
}

.lu-translate-disclaimer__icon {
    flex: 0 0 auto;
    margin-top: 0.1em;
    color: var(--cPrimaryLightBlue);
}
