﻿:root {
    --diw-font-sans-serif: "Source Sans 3", sans-serif;
    --diw-body-font-size: 1.125rem;
    --diw-primary: #9BD2CB;
    --diw-primary-darker: #69bbb1;
    --diw-button-primary-color: #000;
    --diw-border-radius: 0.375rem;
    --diw-view-switch-color: #69bbb1;
    --diw-button-font-weight: 600;
    --diw-link-color: #000;
    --diw-link-color-hover: #000;
    --diw-text-muted-color: #000;
    --bo-body-font-size-small: 1rem;
    --bo-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    --bo-accent-color: #FADAE2;
    --fa-font-family: "Font Awesome 6 Free";
}

* {
    font-family: var(--diw-font-sans-serif);
    font-size: var(--bo-body-font-size-small);
}

h1, h2, h3, h4, h5 {
    font-family: Merriweather, serif;
}

h1, .bo-title-1 {
    font-size: 2.25rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.8125rem;
}

h4 {
    font-size: 1.4375rem;
}

h5 {
    font-size: 1rem;
}

#diw-container a {
    font-weight: var(--diw-button-font-weight);
    text-decoration-thickness: 2px !important;
    text-decoration-color: transparent !important;
    transition: all 300ms ease-out;
}

    #diw-container a:link:hover {
        text-decoration-color: var(--diw-link-color-hover) !important;
    }

#diw-container .diw-field a {
    text-decoration-color: var(--diw-link-color-hover) !important;
}

    #diw-container .diw-field a:hover {
        text-decoration-color: transparent !important;
    }

.diw-search-input {
    gap: 1rem;
    flex-wrap: wrap;
}

.diw-query-input {
    flex-grow: 1;
}

.diw-button {
    box-shadow: var(--bo-box-shadow) !important;
}

.diw-button, .diw-pagination-list .diw-link.current {
    color: var(--diw-button-primary-color) !important;
    background-color: var(--diw-primary) !important;
    transition: background-color 300ms ease-out !important;
}

#diw-breadcrumbs {
    background-color: var(--bo-accent-color);
    padding: 1rem;
    flex-wrap: wrap;
    gap: 1rem;
}

    #diw-breadcrumbs .diw-button.disabled {
        display: none;
    }

#diw-query-crumbs {
    padding-inline-start: 0;
}

    #diw-query-crumbs > li:first-child .diw-link {
        position: relative;
    }

        #diw-query-crumbs > li:first-child .diw-link[href*="query=%2A%3A%2A"]::after {
            font-family: var(--fa-font-family);
            font-weight: 900;
            content: "\f021"; /* FontAwesome refresh icon */
            position: absolute;
            left: 0;
            background-color: var(--bo-accent-color);
        }

.diw-pagination-container {
    flex-direction: column;
}

.diw-pagination-list.diw-item-nav {
    gap: 0.5rem;
}

.diw-pagination-list a {
    padding: 0;
}

.diw-pagination-list .diw-link, .diw-facet-container .sort {
    border-radius: var(--diw-border-radius);
    text-decoration: none !important;
    transition: background-color 300ms ease-out;
}

    .diw-button:hover, .diw-pagination-list .diw-link.current:hover {
        background-color: var(--diw-primary-darker) !important;
    }

    .diw-facet-container .sort:hover {
        background-color: var(--diw-pagination-bg-hover);
    }

.diw-view-switch.list .diw-view-switch-svg rect {
    x: 2px;
    width: 28px;
}

.diw-view-switch-svg {
    padding: 0.5rem;
    border-radius: var(--diw-border-radius);
    background-color: var(--diw-pagination-bg);
    transition: background-color 300ms ease-out;
}

.diw-view-switch:hover .diw-view-switch-svg {
    background-color: var(--diw-pagination-bg-hover);
}

.diw-facet-container .header {
    font-weight: bold;
}

.facet-tools-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

#diw-query-submit::after, #diw-as-submit::after {
    font-family: var(--fa-font-family);
    font-weight: 900;
    content: "\f002"; /* FontAwesome search icon */
    margin-left: 0.5rem;
}

#diw-as-toggle, #diw-set-filter, #diw-clear-filter {
    margin-left: 0;
    border-width: 2px !important;
    background-color: #fff !important;
    border-color: #ebecf0 !important;
    transition: all 300ms ease-out !important;
}

    #diw-as-toggle::after {
        font-family: var(--fa-font-family);
        font-weight: 900;
        content: "\f013"; /* FontAwesome gear icon */
        margin-left: 0.5rem;
    }

    #diw-as-toggle:hover, #diw-set-filter:hover, #diw-clear-filter:hover {
        background-color: #f3f4f6 !important;
        border-color: #d6d9e0 !important;
    }

    #diw-set-filter::after {
        font-family: var(--fa-font-family);
        font-weight: 900;
        content: "\f0b0"; /* FontAwesome filter icon */
        margin-left: 0.5rem;
    }

#diw-advanced-search-form, .diw-carousel, .diw-carousel-nav {
    border-radius: var(--diw-border-radius);
}

.diw-facet-facet input[type="checkbox"].diw-link {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid var(--diw-primary-darker);
    border-radius: 3px;
    background-color: #fff;
    position: relative;
    cursor: pointer;
    margin: -4px 0 0;
    vertical-align: middle;
    transition: all 0.2s ease;
}

    .diw-facet-facet input[type="checkbox"].diw-link:checked {
        background-color: var(--diw-primary-darker);
        border-color: var(--diw-primary-darker);
    }

        .diw-facet-facet input[type="checkbox"].diw-link:checked::after {
            content: "";
            position: absolute;
            left: 4px;
            top: 1px;
            width: 5px;
            height: 10px;
            border: solid #fff;
            border-width: 0 2px 2px 0;
            transform: rotate(45deg);
        }

#diw-b2-results, .item-nav {
    transition: background-color 300ms ease-out;
}

    #diw-b2-results::before {
        font-family: var(--fa-font-family);
        font-weight: 900;
        content: "\f177"; /* FontAwesome arrow left long icon */
        margin-right: 0.5rem;
    }

.item-nav-prev::before {
    font-family: var(--fa-font-family);
    font-weight: 900;
    content: "\f053"; /* FontAwesome chevron left icon */
    margin-right: 0.5rem;
}

.item-nav-next::after {
    font-family: var(--fa-font-family);
    font-weight: 900;
    content: "\f054"; /* FontAwesome chevron right icon */
    margin-left: 0.5rem;
}

#button-image-download::after {
    font-family: var(--fa-font-family);
    font-weight: 900;
    content: "\f019"; /* FontAwesome download icon */
    margin-right: 0.5rem;
}

.diw-grid {
    margin: initial !important;
    width: initial !important;
}

.diw-grid-item {
    padding: 0;
}

.diw-results-items:not(.diw-results-list) .diw-image-container {
    margin-bottom: 1rem;
}

.diw-results-items:not(.diw-results-list) .diw-grid-item.one-third {
    padding: 0.5rem;
}

.diw-grid-item.one-half {
    flex: 0 1 calc(50% - 0.5rem);
}

.diw-grid-item.one-quarter {
    flex: 0 1 calc(25% - 0.75rem);
}

.diw-grid-item.two-thirds {
    padding: 1rem;
}

.diw-link img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    transition: transform 300ms ease-out;
}

    .diw-link img[src$=".svg"] {
        object-fit: contain !important;
    }

.diw-link:hover img {
    transform: scale(1.05);
}

.diw-title {
    margin-bottom: 0.5rem;
}

#diw-item-media {
    min-height: auto !important;
}

    #diw-item-media #diw-carousel .diw-img {
        height: auto !important;
        max-height: initial !important;
    }

#diw-item-data .diw-grid {
    gap: 1rem;
}

.diw-block h3 {
    padding: 0;
    background-color: initial;
    margin-bottom: 0.5rem;
}

#diw-related-items .diw-grid {
    gap: 1rem;
}

.diw-carousel-nav {
    display: flex;
    justify-content: center;
    margin-top: var(--diw-space-sm);
    overflow-x: auto;
}

#diw-scroll-to-top {
    border-radius: var(--diw-border-radius);
}

    #diw-scroll-to-top svg polyline {
        stroke: var(--diw-link-color);
    }

.diw-label {
    font-size: 1.25rem;
}

@media only screen and (max-width: 768px) {
    .diw-item-nav li {
        margin: 0 !important;
    }

        .diw-item-nav li a {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

    .diw-pagination.top .diw-button {
        margin-top: 1rem;
    }
}

@media only screen and (min-width: 1024px) {
    * {
        font-size: var(--diw-body-font-size);
    }

    h1, .bo-title-1 {
        font-size: 3.5rem;
    }

    h2 {
        font-size: 2.6875rem;
    }

    h3 {
        font-size: 2.375rem;
    }

    h4 {
        font-size: 2.125rem;
    }

    h5 {
        font-size: 1.5rem;
    }

    #diw-query-crumbs {
        width: initial;
        flex-grow: 1;
    }

    .diw-query-input {
        width: initial !important;
    }

    .diw-pagination-list a {
        padding: var(--diw-pagination-padding);
    }

    .sort, .diw-results-item-data > .diw-data, .facet-link {
        font-size: var(--bo-body-font-size-small);
    }
}
