/* text selection */

::selection {
    background-color: var(--highlight-light);
}

::-moz-selection {
    background-color: var(--highlight-light);
}

/* remove Webflow's bad accessibility */

a:focus-visible,
.w-input:focus-visible,
.w-select:focus-visible,
.w-slider-dot:focus-visible,
.w-slider-arrow-left:focus-visible,
.w-slider-arrow-right:focus-visible,
.w-dropdown-toggle:focus-visible,
.w-dropdown-link:focus-visible,
.w-nav-button:focus-visible,
.w-tab-link:focus-visible {
    outline: medium auto currentColor;
    outline: auto 5px -webkit-focus-ring-color;
}

a:focus:not(:focus-visible),
.w-input:focus:not(:focus-visible),
.w-select:focus:not(:focus-visible),
.w-slider-dot:focus:not(:focus-visible),
.w-slider-arrow-left:focus:not(:focus-visible),
.w-slider-arrow-right:focus:not(:focus-visible),
.w-dropdown-toggle:focus:not(:focus-visible),
.w-dropdown-link:focus:not(:focus-visible),
.w-nav-button:focus:not(:focus-visible),
.w-tab-link:focus:not(:focus-visible) {
    outline: none
}

/* h2 */

h2.date {
    font-variant-numeric: tabular-nums;
}

/* breadcrumbs */

.ol-breadcrumbs li + li::before {
    content: "";
    display: inline-block;
    height: .875rem;
    position: relative;
    top: 0.125rem;
    margin: 0 .5rem;
    border-right: .125rem solid;
    color: var(--border-light);
    transform: rotate(15deg);
}

@media (min-width: 768px) {

    .ol-breadcrumbs li + li::before {
        height: 1.5rem;
        top: 0.25rem;
        margin: 0 1rem;
        border-right: .25rem solid;
    }

}

@media (min-width: 992px) {

    .ol-breadcrumbs li + li::before {
        height: 1.875rem;
        top: 0.25rem;
        margin: 0 1.25rem;
        border-right: .25rem solid;
    }

}

/* sidebar scrolling */

@media (min-width: 768px) {
    .sidebar {
        max-height: calc(100vh - 6rem);
    }
}

@media (min-width: 992px) {
    .sidebar {
        max-height: calc(100vh - 7rem);
    }

}

/* cards */

.card .button::before {
    content: "";
    inset: 0;
    overflow: hidden;
    position: absolute;
    z-index: 1;
}

/* link-overlay */

.link-overlay::before {
    background-color: var(--interactive-light);
    opacity: 0;
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    transition: all 150ms  ease-in-out;
}

.link-overlay:hover::before,
.link-overlay:focus::before {
    opacity: 0.36;
}

/* hr */

hr {
    margin: 0.9375rem 0 1rem 0;
    border: 0.0625rem solid currentcolor;
    border-right: none;
    border-bottom: none;
    border-left: none;
}

/* textarea */

    textarea {
    resize: vertical;
}

/* external links */

a.link-external:after {
    content: url("data:image/svg+xml;charset=UTF-8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%232f52f5' fill-rule='evenodd' d='M5 5V19H19V12H21V19C21 20.1 20.1 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.9 3.89 3 5 3H12V5H5ZM14 5V3H21V10H19V6.41L9.17 16.24L7.76 14.83L17.59 5H14Z' clip-rule='evenodd'/%3E%3C/svg%3E") ;
    margin: 0.125rem;
    position: relative;
    top: 0.125rem;
}

/* slider-navigation */

.slider-navigation:hover .button,
.slider-navigation:focus .button {
    background-color: var(--surface-interactive-light);
}

.w-slider-arrow-left,
.w-slider-arrow-right {
    color: inherit;
}

/* slider-pagination */

.slide-nav {
    padding: 0 4rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 0.5rem;
    row-gap: 0.5rem;
}

.w-slider-dot {
    width: 1rem;
    height: 1rem;
    margin: 0 !important;
    background-color: var(--interactive-light);
    transition: all .3s;
}

.w-slider-dot.w-active {
    background-color: var(--highlight-light);
}

.w-slider-dot:focus {
    box-shadow: none;
}

/* lightbox scrim */

.w-lightbox-backdrop {
    background-color: var(--scrim);
    backdrop-filter: grayscale(100%);
    -webkit-backdrop-filter: grayscale(100%);
}

/* lightbox */

.w-lightbox-backdrop {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    white-space: inherit;
    overflow: inherit;
}

.w-lightbox-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    grid-row-gap: 2vh;
}

.w-lightbox-view {
    height: 100% !important;
}

.w-lightbox-view::before {
    display: none;
}

/* lightbox controls */

.w-lightbox-control {
    width: 4rem;
    color: var(--interactive-light);
    font-family: 'material icons';
    font-size: 1.5rem;
    line-height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.w-lightbox-inactive {
    display: none !important;
}

.w-lightbox-close,
.w-lightbox-left,
.w-lightbox-right {
    opacity: 1;
    background: none;
}

.w-lightbox-left,
.w-lightbox-right {
    display: none;
}

.w-lightbox-close {
    height: 4rem;
}

@media (min-width: 768px) {
    
    .w-lightbox-left,
    .w-lightbox-right {
        display: flex;
    }

    .w-lightbox-close {
        height: auto;
    }

}

.w-lightbox-close::before,
.w-lightbox-left::before,
.w-lightbox-right::before {
    background-color: var(--surface-canvas-light);
    border: 0.125rem solid var(--interactive-light);
    border-radius: 1.25rem;
    padding: 0.375rem;
    transition: all .15s;
}

.w-lightbox-control:hover::before,
.w-lightbox-control:focus::before {
    background-color: var(--surface-interactive-light);
}

.w-lightbox-close::before,
.w-lightbox-left::before,
.w-lightbox-right::before {
    width: 1.5rem;
    height: 1.5rem;
}

.w-lightbox-close::before {
    content: url("data:image/svg+xml;charset=UTF-8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%232f52f5' fill-rule='evenodd' d='M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.w-lightbox-left::before {
    content: url("data:image/svg+xml;charset=UTF-8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%232f52f5' fill-rule='evenodd' d='M15.41 7.41L14 6L8 12L14 18L15.41 16.59L10.83 12L15.41 7.41Z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.w-lightbox-right::before {
    content: url("data:image/svg+xml;charset=UTF-8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%232f52f5' fill-rule='evenodd' d='M9.99997 6L8.58997 7.41L13.17 12L8.58997 16.59L9.99997 18L16 12L9.99997 6Z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

/* lightbox strip */

.w-lightbox-strip {
    position: relative;
    height: 10vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    grid-column-gap: 2vh;
    overflow-x: visible;
    overflow-y: visible;
    margin-bottom: 2vh;
}

.w-lightbox-item {
    max-height: 100%;
    padding: 0 !important;
    overflow: hidden;
    transition: all .3s;
}

.w-lightbox-active {
    opacity: 1;
    box-shadow: 0 0 0 0.125rem var(--highlight-light);
}

.w-lightbox-thumbnail {
    background: none;
    height: auto !important;
}

.w-lightbox-thumbnail-image {
    top: auto !important;
    left: auto !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    position: relative;
    max-width: 100%;
    height: auto !important;
}

/* lightbox content */

.w-lightbox-view {
    height: 100%;
}

.w-lightbox-frame {
    height: 100%;
    padding-bottom: 2.5rem;
    
}

.w-lightbox-figure {
    height: 100%;
    display: flex;
    overflow: auto;
}

.w-lightbox-image {
    max-height: none !important;
    margin: auto;
}

@media (min-width: 768px) {
    .w-lightbox-image {
        max-width: calc(100vw - 8rem) !important;
        max-height: none !important;
    }
}

/* lightbox caption */

figcaption {
    margin: 0;
}

.w-lightbox-caption {
    position: fixed;
    background-color: var(--accent-light);
    padding: .5rem 1rem;	
    text-overflow: inherit;
    overflow: auto;
    text-align: center;
}

@media (min-width: 768px) {
    .w-lightbox-caption {
        right: 4rem;
        left: 4rem;
    }
}

/* toc */

li.toc-item,
li.toc-item-date {
    padding-left: 0.25rem;
}

li.toc-item::marker,
li.toc-item-date::marker {
    content: "#";
}

.toc-link .toc-label {
    box-shadow: inset 0 0 0 0 var(--highlight-light);
}

.toc-link:hover .toc-label,
.toc-link:focus .toc-label {
    box-shadow: inset 0 -4px 0 0 var(--highlight-light);
}

.toc-link:active .toc-label {
    box-shadow: inset 0 0 0 0 var(--highlight-light);
}