.bg-grey, .background-grey {
    background: rgb(229, 230, 234);
}

.headline::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    margin-top: 10px;
    background-color: RGB(0, 172, 149);
}

#source {
    scroll-margin-top: 200px;
}

.pb-account-menu .border-light {
    border-color: #86888d !important;
}

tr + tr > td > .headline {
    margin-top: 1.25rem;
}

.nowrap {
    white-space: nowrap;
}

#spinner-1,
#spinner-2,
#spinner-3 {
    font-size: 1.6rem;
    width: 1.5rem;
}

.pagination > li a:before {
    content: none !important;
}

.pagination > li > a:hover,
.pagination > li.active > a {
    background-color: rgb(229, 230, 234) !important;
    ;
    border: none;
    border-radius: 4px;
}

.pagination > li.disabled {
    cursor: not-allowed;
}

.pagination a.page-link {
    font-weight: 400 !important;
}

/* General Button Styles */
.btn-link {
    font-weight: normal;
    font-size: 1rem;
    border: 0;
    padding: .25rem 0;
    color: rgb(14, 25, 34);
}

    .btn-link:hover,
    .btn-link:focus,
    .btn-link:focus-visible,
    .btn-link:active {
        color: rgb(10, 88, 202);
        background: none !important;
        border: none !important;
        border-radius: 0;
        box-shadow: none !important;
    }

button.btn-link,
.form-check label {
    text-decoration: none;
}

    button.btn-link:hover,
    .form-check label:hover {
        color: initial;
        text-decoration: underline;
        cursor: pointer;
    }

/* Product Card Styles */
.product-card img.card-img-top {
    max-width: 12rem;
}

.product-listitem img.card-img-top {
    max-width: 8rem;
}

.product-card .dropdown-menu .text-truncated,
.product-listitem .dropdown-menu .text-truncated {
    overflow: hidden;
    max-height: 3rem;
}

.product-card a.card-title.stretched-link {
    display: block;
    overflow: hidden;
    height: 6rem;
}

.product-card .card > div:first-child {
    padding: 1rem;
}

.product-card .card > div:not(:first-child) {
    padding: 0 1rem;
}

.product-card .card > div:last-child {
    padding: 0.5rem 1rem 1rem;
}

.product-card .card > div.element {
    margin-top: auto;
}

.product-card .card:hover .stretched-link::after {
    border: 1px solid;
    border-color: rgb(0, 172, 149);
}

/* Product List Item Styles */
.product-listitem .card {
    padding: 1rem 0;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

    .product-listitem .card > div:first-child {
        padding: 0 0 0 1rem;
    }

    .product-listitem .card > div:not(:first-child) {
        padding: 0 1rem;
    }

    .product-listitem .card > div:last-child {
        width: 30%;
    }

    .product-listitem .card > .element-last {
        width: 50%;
        position: relative;
    }

        .product-listitem .card > .element-last::after {
            content: '';
            width: 1px;
            background-color: rgb(229, 230, 234);
            height: 100%;
            top: 0rem;
            right: 0;
            position: absolute;
        }

        .product-listitem .card > .element-last .card-title {
            display: block;
            height: 3rem;
            margin: 0;
            overflow: hidden;
        }

/* Data Filter Styles */
.data-filter > div {
    overflow-x: hidden;
    max-height: 11rem;
    transition: max-height 0.5s ease;
	padding-left: 5px;
}

    .data-filter > div.expanded {
        max-height: unset;
    }

#cats.data-filter button {
    padding: .3rem 0 !important;
}

/* Attributes Styles */
.attributes {
    margin: 0 0 .75rem 0;
}

    .attributes [aria-expanded] {
        width: 100%;
        text-align: left;
        border: none;
        padding: 0.5rem;
        font-size: .95rem;
        background-color: rgb(229, 230, 234);
        font-weight: 600;
    }

    .attributes [aria-expanded="true"]::before,
    .attributes [aria-expanded="false"]::before {
        font-family: "Font Awesome 6 Pro";
        margin-right: 0.6rem;
    }

    .attributes [aria-expanded="true"]::before {
        content: '\f068';
    }

    .attributes [aria-expanded="false"]::before {
        content: '\f067';
    }

    .attributes [data-filter].btn-link {
        padding: 0.2rem 0;
    }

    .attributes .form-check {
        margin: 0.3rem 0;
    }

#compare-container small {
    max-height: 3rem;
    overflow: hidden;
    display: block;
}

#compare-container img {
    max-width: 60%;
}

.active > .page-link, .page-link.active {
    background-color: rgb(229, 230, 234);
}

.toggle-view-btn {
    border: 0;
    color: #000;
    background: none;
    opacity: 1;
}

    .toggle-view-btn:focus,
    .toggle-view-btn:active,
    .toggle-view-btn.active,
    .toggle-view-btn:hover {
        border: 0 !important;
        background-color: rgb(229, 230, 234) !important;
        opacity: 1;
        color: #000 !important;
    }

#compare-container .card {
    position: relative;
}

    #compare-container .card a {
        position: absolute;
        right: .7rem;
        top: .1rem;
        z-index: 9;
    }

.fs-small {
    font-size: .75rem;
}

.search-results [data-bs-toggle="modal"] {
    text-decoration: none;
}

    .search-results [data-bs-toggle="modal"]:hover {
        text-decoration: underline;
    }

.modal-body span.h4 {
    display: block;
}

    .modal-body span.h4 p {
        margin: 0;
    }

.tags span {
    background: rgb(238, 238, 238) !important;
    display: inline-block;
    height: 26px;
    line-height: 26px;
    padding: 0 10px 0 10px;
    position: relative;
    border-radius: 4px !important;
    margin: 0 10px 10px 0;
    text-decoration: none;
    -webkit-transition: color 0.2s;
    color: RGB(105, 108, 125) !important;
    font-size: .9rem;
}

    .tags span::before {
        content: '\f00d';
        font-family: 'Font Awesome 6 Pro';
        margin-right: 6px;
    }


    .tags span:hover {
        cursor: pointer;
        color: RGB(255, 255, 255) !important;
        background-color: RGB(0, 172, 149,0.5)
    }

        .tags span:hover::after {
            border-left-color: RGB(0, 172, 149,0.5);
            cursor: pointer;
        }

.pb-basket-link > #pb-basket-modal > div {
    z-index: 99;
    min-width: 20rem;
    padding: 1.5rem;
    box-shadow: 0 15px 40px 0 rgba(0,0,0,.2);
}

    .pb-basket-link > #pb-basket-modal > div .text-truncated {
        max-height: 4rem;
        overflow: hidden;
    }

@media (max-width: 750px) {
    .price-compare th {
        display: none !important;
        ;
    }

    .price-compare table,
    .price-compare thead,
    .price-compare tbody,
    .price-compare th,
    .price-compare td,
    .price-compare tr {
        display: block;
        width: 100%;
    }

    .price-compare td {
        text-align: right;
        padding-left: 50%;
        position: relative;
    }

        .price-compare td:first-child {
            font-weight: bold;
        }

        .price-compare td::before {
            content: attr(data-label);
            position: absolute;
            left: 10px;
            font-weight: bold;
            opacity: .8;
            text-align: left;
        }

        .price-compare td:last-child {
            margin-bottom: 1.5rem;
        }

    .price-compare tr td:last-child {
        border-bottom-width: 0;
    }
}

.price-compare ol {
    padding-left: 1rem !important;
}

.results-pagination nav {
    z-index: 0;
}