/* @group title-wrapper
------------------------------------ */

.title-wrapper {}

@media only screen and (min-width : 961px) {
    .title-wrapper {
        padding-block: 20rem 15rem;
    }

    .title-wrapper :is(h2, b, #important) {
        font-size: 5.5rem;
    }
}

@media only screen and (min-width : 0) and (max-width : 960px) {
    .title-wrapper {
        padding-block: 17rem 10rem;
        max-width: 37rem;
        text-align: center;
        margin-inline: auto;
    }

    .title-wrapper :is(h2, b, #important) {
        font-size: 3.5rem;
    }

}

/* @end */


/* @group categorize-items FILTER
------------------------------------ */

.categorize-items .filter :where(ul, li) {
    list-style: none;
}

.categorize-items .filter ul {
    display: flex;
}

.categorize-items .filter .category {
    cursor: pointer;
    transition: 0.5s;
}

.categorize-items .filter .category * {
    pointer-events: none;
}

.categorize-items .filter .category-menu ul {
    transition: 0.5s;
}

.categorize-items .filter header * {
    pointer-events: none;
}

.categorize-items .selector-all ul {
    flex-direction: column;
    opacity: 0;
    pointer-events: none;
}

.categorize-items .category-menu:is(.open, #important) ul {
    opacity: 1;
    pointer-events: all;
}

@media only screen and (min-width : 961px) {
    .categorize-items .selector-desktop ul {
        flex-direction: column;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        z-index: 1;
    }

    .categorize-items .selector-mobile header {
        display: none;
    }
}

@media only screen and (min-width : 0) and (max-width : 960px) {

    .categorize-items .selector-mobile ul {
        flex-direction: column;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        z-index: 1;
        left: 50%;
        translate: -50%;
        width: 100%;
    }

    .categorize-items .selector-desktop header {
        display: none;
    }
}

/* @end */

/* @group categorize-items
------------------------------------ */

.categorize-items .status {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    inset: 0;

}

.categorize-items .items .item>* {
    pointer-events: none;

}

.categorize-items .items .item:not(.active) {
    display: none;
}

.categorize-items .items {
    opacity: 0;
    transition: 0.5s;
}

.categorize-items :where(.status, .loader, .status .notification) {
    opacity: 0;
    transition: 0.5s;
}

.categorize-items .status .notification {
    position: absolute;
    text-align: center;
}



@media only screen and (min-width : 961px) {}

@media only screen and (min-width : 0) and (max-width : 960px) {}

/* @end */

/* @group categorize-items
------------------------------------ */

.categorize-items .status {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    inset: 0;

}

.categorize-items .status .notification {
    position: absolute;
    text-align: center;
}

.categorize-items :is(.status, .loader, .status .notification, .items) {
    opacity: 0;
    transition: 0.5s;
    pointer-events: none;
}

.categorize-items[data-state="ready"] .items,
.categorize-items[data-state="loading"] :is(.status, .loader),
.categorize-items[data-state="empty"] :is(.status, .notification) {
    opacity: 1;
    pointer-events: all;
}

/* @end */

/* @group custom directory-view
------------------------------------ */

.directory-view #overlay {
    --_bttn-color: var(--white);
    transition: 0.5s;
    opacity: 1;
    overflow: hidden;
    background: none;
    border: none;
    outline: none;
    max-width: 100%;
    margin-inline: auto;
    padding: 0;
    overflow-y: scroll;
}

.directory-view #overlay button i {
    color: var(--_bttn-color);
}


.directory-view #overlay::backdrop {
    background-color: rgba(13, 26, 33, 0.80);
}

.directory-view #overlay :is(#close-dialog, ) .directory-view #overlay #close-dialog {
    font-size: 1.5rem;
    display: flex;
}

.directory-view #overlay .overlay-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 2rem;
}

.directory-view #overlay .bttn {
    background: rgba(0, 0, 0, 0.65);
    color: var(--white);
    border-color: var(--white);
}

.directory-view #overlay .bttn span {
    color: var(--white);
}

.directory-view #overlay :is(header, footer) {
    color: var(--white);
    line-height: 1.5em;
    letter-spacing: 0.02em;
    font-family: var(--scandia-font);
    font-size: 1.6rem;
    font-weight: 400;
}

.directory-view #overlay .container {
    background: rgba(255, 255, 255, 0.90);
    backdrop-filter: blur(5px);
    max-width: 110.7rem;
}

.directory-view #overlay .splide__slide {
    width: 100%;
    height: 100%;
}

.directory-view #overlay .splide__slide header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;

}

.directory-view #overlay .splide__slide footer {
    display: flex;
    align-items: center;
}

.directory-view #overlay .splide__slide .split {
    text-align: center;
}

.directory-view #overlay .split p {
    font-weight: 600;
    text-transform: uppercase;
}

.directory-view #overlay .split .left div:not(:last-of-type) {
    margin-bottom: 2rem;
}

.directory-view #overlay footer a {
    display: inline-flex;
    gap: 1rem;
    align-items: center;
}

.directory-view #overlay .social-wrapper {
    display: flex;
    gap: 3rem;
}

.directory-view #overlay .splide__slide .split {
    border-block: solid 1px var(--black);
}

.directory-view #overlay .splide__slide .left p,
.directory-view #overlay .splide__slide .right a span {
    font-weight: 600;
    font-size: 1.6rem;
    text-transform: uppercase;
}

.directory-view #overlay .splide__slide .right a {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 2rem;
}

@media only screen and (min-width : 961px) {

    .directory-view #overlay .container>header,
    .directory-view #overlay .container footer {
        padding-inline: 3rem;
    }

    .directory-view #overlay header {
        padding-bottom: 3rem;
        align-items: end;
    }

    .directory-view #overlay .splide__slide header {
        padding-bottom: 5rem;
    }

    .directory-view #overlay .splide__slide>* {
        padding-inline: 14.2rem;
    }

    .directory-view #overlay .splide__slide .split {
        display: flex;
        justify-content: space-between;
        position: relative;
    }

    .directory-view #overlay .splide__slide .split::after {
        content: '';
        position: absolute;
        left: 50%;
        inset-block: 0;
        translate: -50% 0;
        width: 1px;
        background: black;
    }

    .directory-view #overlay .splide__slide .split>*:not(footer) {
        padding-block: 3rem;
    }

    .directory-view #overlay .splide__slide .split .left {
        max-width: 20rem;
    }


    .directory-view #overlay .container {
        padding-block: 3.1rem 2.3rem;
    }

    .directory-view #overlay .container h2 {
        font-size: 6rem;
    }

    .directory-view #overlay .container h3 {
        font-size: 4rem;
        padding-bottom: 3rem;
    }

    .directory-view #overlay .container .img-box {
        height: 34.1rem;
        margin-block: 3rem;
    }

    .directory-view #overlay .splide__slide footer {
        justify-content: space-between;
    }
}

@media only screen and (min-width : 0) and (max-width : 960px) {

    .directory-view #overlay {
        height: 90vh;
        width: 90vw;
    }

    .directory-view #overlay .container {
        padding-block: 2.1rem 6.2rem;
    }

    .directory-view #overlay .splide__slide :is(h3, h2) {
        padding-bottom: 2rem;
    }


    .directory-view #overlay .splide__slide footer {
        justify-content: center;
        padding-top: 5rem;
    }

    .directory-view #overlay .splide__slide>*:not(.split),
    .directory-view #overlay .splide__slide :is(.left, .right) {
        padding-inline: 4.1rem;
    }

    .directory-view #overlay .splide__slide header {
        padding-bottom: 4rem;
    }

    .directory-view #overlay .overlay-header {
        padding-inline: 3rem;
        padding-bottom: 4rem;
    }

    .directory-view #overlay .splide__slide .left {
        border-bottom: solid 1px var(--black);
    }

    .directory-view #overlay .splide__slide :is(.left, .right) {
        padding-block: 3rem;
    }

    .directory-view #overlay .splide__slide .right {
        display: grid;
        place-content: center;
    }

    .directory-view #overlay .splide__slide .right a svg {
        width: 2.5rem;
        height: 2.5rem;
    }

}

/* @end */


/* @group directory-view
------------------------------------ */

.directory-view :where(hr, menu) {
    padding: 0;
    margin: 0;
}

.directory-view .item {
    border: 1px solid var(--white);
    position: relative;
}

.directory-view .item:nth-child(n + 1) {
    background: linear-gradient(135deg, #D4FC79 0%, #96E6A1 100%);
}

.directory-view .item:nth-child(n + 2) {
    background: linear-gradient(134deg, #FF758C 0%, #FF7EB3 101.58%);
}

.directory-view .item:nth-child(n + 3) {
    background: linear-gradient(135deg, #00C9FF 0%, #92FE9D 100%);
}

.directory-view .item:nth-child(n + 4) {
    background: linear-gradient(136deg, #FF5858 0%, #F09819 101.44%);
}

.directory-view .item:nth-child(n + 5) {
    background: linear-gradient(135deg, #00CDAC 0%, #8DDAD5 100%);
}

.directory-view .item:nth-child(n + 6) {
    background: linear-gradient(135deg, #64F29A 0%, #FFDA06 92.71%);
}

.directory-view .item:nth-child(n + 7) {
    background: linear-gradient(136deg, #0ACFFE 0%, #495AFF 101.44%);
}

.directory-view .item:nth-child(n + 8) {
    background: linear-gradient(135deg, #64F0F2 0%, #FC00FF 100%);
}

.directory-view .item:nth-child(n + 9) {
    background: linear-gradient(134deg, #FF758C 0%, #FF7EB3 101.58%);
}

.directory-view .item:nth-child(n + 10) {
    background: linear-gradient(135deg, #64F29A 0%, #FFDA06 92.71%);
}

.directory-view .item:nth-child(n + 11) {
    background: linear-gradient(135deg, #F6D365 0%, #FDA085 100%);
}

.directory-view .item:nth-child(n + 12) {
    background: linear-gradient(135deg, #00C9FF 0%, #92FE9D 100%);
}

.directory-view .item:nth-child(n + 13) {
    background: linear-gradient(134deg, #FF758C 0%, #FF7EB3 101.58%);
}

.directory-view .item:nth-child(n + 14) {
    background: linear-gradient(136deg, #FF5858 0%, #F09819 101.44%);
}

.directory-view .item:nth-child(n + 15) {
    background: linear-gradient(136deg, #0ACFFE 0%, #495AFF 101.44%);
}

.directory-view .item:nth-child(n + 16) {
    background: linear-gradient(135deg, #00C9FF 0%, #92FE9D 100%);
}

.directory-view .item:nth-child(n + 17) {
    background: linear-gradient(135deg, #D4FC79 0%, #96E6A1 100%);
}

.directory-view .item:nth-child(n + 18) {
    background: linear-gradient(134deg, #FF758C 0%, #FF7EB3 101.58%);
}

.directory-view .item img {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    max-width: 80%;
    max-height: 80%;
    z-index: 1;
}

.directory-view .item footer {
    position: absolute;
    bottom: 0;
    inset-inline: 0;
    z-index: 1;
    display: flex;
    justify-content: space-between;
}

.directory-view .item .pill {
    background: rgba(0, 0, 0, 0.65);
    padding: 1.2rem 2rem;
    text-transform: uppercase;
}

.directory-view .search {
    position: relative;
}

.directory-view .search::before {
    content: '';
    width: 2rem;
    height: 2rem;
    background: url('../../img/layout/directory/search.svg');
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 2rem;
    translate: 0 -50%;
    z-index: 2;
}

.directory-view .search .pill {
    padding: 1.2rem 2rem;
    text-transform: uppercase;
    font-size: 1.5rem;
    line-height: 1em;
    height: auto;
    padding-left: 4.5rem;
}

.directory-view .filter-wrapper {
    flex-wrap: nowrap;
}

.directory-view .filter-wrapper .filter ul {
    gap: 3.6rem;
}

.directory-view :is(.category.active, .category.active span) {
    background: var(--white);
    color: var(--black);
}

.divider-wrapper {
    width: 100%;
    position: relative;
}

.divider-wrapper>* {
    padding: 0;
    margin: 0;
}

.divider-wrapper button {
    position: absolute;
    bottom: 0;
    left: 0;
}

.divider-wrapper {
    margin-bottom: 5rem;
}

.directory-view .item {
    height: 35.3rem;
}

.directory-view button[data-order="desc"] #arrow {
    transform-origin: center;
    scale: 1 -1;
}

.directory-view #overlay .splide__list {
    transition: none !important;
}

@media only screen and (min-width : 961px) {
    .directory-view {
        padding-bottom: 30rem;
    }

    .directory-view .items {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        column-gap: 7rem;
        row-gap: 4rem;

    }

    .directory-view .filter-wrapper {
        gap: 3.6rem;
    }


    .directory-view .item footer {
        padding: 1.6rem;
    }

    .directory-view .filter-wrapper .filter ul {
        gap: 3.6rem;
        padding-bottom: 17.4rem;
    }

    .directory-view .filter li::after {
        content: '';
        height: 9.4rem;
        top: 12.5rem;
        display: block;
        margin-inline: auto;
        background: var(--_color);
        width: 1px;
        position: absolute;
        left: 50%;
        translate: -50% 0;
        transition: 0.5s;
        opacity: 0;
        bottom: -1px;
    }

    .directory-view .filter li.active::after {
        opacity: 1;
    }
}

@media only screen and (min-width : 0) and (max-width : 960px) {

    .directory-view {
        padding-bottom: 24.5rem;
    }

    .directory-view .items {
        display: grid;
        grid-template-columns: 1fr;
        gap: 7rem;
    }

    .directory-view .item footer {
        padding: 1.4rem 2.6rem;
    }

    .directory-view .filter {
        position: relative;
        padding-bottom: 16.5rem;
    }

    .directory-view .filter::after {
        content: '';
        height: 9.4rem;
        top: 12.5rem;
        display: block;
        margin-inline: auto;
        background: var(--_color);
        width: 1px;
        position: absolute;
        left: 50%;
        translate: -50% 0;
        transition: opacity 0.5s, scale 1s;
        bottom: -1px;
    }

    .directory-view .filter-wrapper {
        gap: 2rem;
    }

    .directory-view .filter-wrapper menu {
        min-width: 23.6rem;
    }

    .directory-view .filter-wrapper ul {
        margin-top: 2rem;
    }

    .directory-view .filter-wrapper li.active {
        display: none;
    }

    .directory-view .filter header {
        display: flex;
        gap: 2rem;
        justify-content: space-between;
    }

    .divider-wrapper button {
        bottom: 4.4rem;
        left: 3rem;
    }

}

/* @end */

/* ANIMATIONS */
.title-wrapper :is(h1) {
    opacity: 0;
    --duration: 1s;
}

.title-wrapper:where(.animateActive) :is(h1) {
    animation: fade var(--duration) forwards;
    animation-delay: var(--delay, 0);
}

.directory-view :is(article, .divider-wrapper button) {
    opacity: 0;
    --duration: 1s;
}

.directory-view:where(.animateActive) :is(article, .divider-wrapper button) {
    animation: fade var(--duration) forwards;
    animation-delay: var(--delay, 0);
}

.directory-view:where(.animateActive) article {
    --delay: 0.5s;
}

.directory-view:where(.animateActive) .divider-wrapper button {
    --delay: 1.25s;
}

.directory-view hr {
    transform-origin: left;
    scale: 0 1;
    transition: 1s;
    transition-delay: 0.5s;
}

.directory-view:where(.animateActive) hr {
    scale: 1 1;
}

.news-events .filter li::after {
    transform-origin: bottom;
    scale: 1 0;
}

.news-events:where(.animateActive) .filter li::after {
    scale: 1;
}

@media only screen and (min-width : 0) and (max-width : 960px) {}

@media only screen and (min-width : 961px) {

    .directory-view :is(.category, .search) {
        opacity: 0;
        --duration: 1s;
    }

    .directory-view:where(.animateActive) :is(.category, .search) {
        animation: fade var(--duration) forwards;
        animation-delay: var(--delay, 0);
    }

    .directory-view:where(.animateActive) .search {
        --delay: 1.25s;
    }

    .directory-view:where(.animateActive) .category:nth-of-type(1) {
        --delay: 0.25s;
    }

    .directory-view:where(.animateActive) .category:nth-of-type(2) {
        --delay: 0.5s;
    }

    .directory-view:where(.animateActive) .category:nth-of-type(3) {
        --delay: 0.75s;
    }

    .directory-view:where(.animateActive) .category:nth-of-type(4) {
        --delay: 1s;
    }

    .directory-view:where(.animateActive) .category:nth-of-type(5) {
        --delay: 1.25s;
    }

    .directory-view:where(.animateActive) .category:nth-of-type(6) {
        --delay: 1.5s;
    }
}