body,
#wrapper {
    color: var(--pvgr-type-body-color);
    font-family: var(--pvgr-type-base-font-family);
    background-color: var(--pvgr-body-background-color);
}

html .pvgr {
    font-size: 1.6rem;
}

/* start Container options */

.container-cards-with-equal-height>div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spacer-4) var(--spacer-3);
    margin-left: 0;
    margin-right: 0;
}

@media only screen and (min-width:768px) {

    .container-cards-with-equal-height>div {
        margin-left: calc(var(--spacer-3) / -2);
        margin-right: calc(var(--spacer-3) / -2);
    }

    .container-cards-with-equal-height>div>div {
        flex: 0 0 calc(33.333% - var(--spacer-3));
        box-sizing: border-box;
    }

    .container-cards-with-equal-height div:has(>.card),
    .container-cards-with-equal-height div.card {
        height: 100%;
    }
}

/* stop Container options */

/* start Typography */

.site #wrapper section.pvgr {

    a {
        font-weight: 700;
    }

    h1,
    h2,
    h3,
    h4,
    h5 {
        color: var(--pvgr-type-heading-color);
        font-weight: var(--pvgr-type-heading-font-weight);
    }

    h3 {
        font-size: var(--pvgr-h3-font-size-mobile);
    }
}

@media only screen and (min-width:768px) {

    .site #wrapper section.pvgr {
        h3 {
            font-size: var(--pvgr-h3-font-size);
        }
    }

}

/* stop Typography */

/* start Cards */

.site #wrapper section.pvgr {
    .card {
        box-shadow: 0px 4px 8px 0px var(--pvgr-color-neutral-200);
        border-width: 0;
        margin-right: var(--pvgr-spacer-1);
        margin-bottom: var(--pvgr-spacer-5);
        margin-left: var(--pvgr-spacer-1);
    }

    .card .image-wrapper img {
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
    }

    .card-highlight {
        background-color: var(--pvgr-color-neutral-100);
        border-radius: var(--pvgr-border-radius-small);
    }

    .card-interactive {
        transition: all 0.10s ease-in-out;
    }

    .card-interactive:hover {
        transform: translateY(-5px);
        box-shadow: 0px 10px 10px 0px var(--pvgr-color-neutral-300);
        background-color: var(--pvgr-color-neutral-white);
    }

    .card-body {
        padding: var(--pvgr-spacer-4) var(--pvgr-spacer-4) var(--pvgr-spacer-2) var(--pvgr-spacer-4);
        position: static;
    }

    .card-title,
    .card-text {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .card-title {
        -webkit-line-clamp: 2;
    }

    .card-text {
        -webkit-line-clamp: 5;
    }

    .card-text:last-child {
        margin-bottom: 0;
    }

    .card-footer {
        padding: var(--pvgr-spacer-2) var(--pvgr-spacer-4) var(--pvgr-spacer-4) var(--pvgr-spacer-4);
        background-color: transparent;
        border-width: 0;
    }

    .card-footer .btn-link:not(.btn-outline-borderless),
    .card-footer .btn-link:not(.btn-outline-borderless) .btn-url {
        color: var(--pvgr-type-link-color);
    }

    .card .btn-link {
        position: static;
    }
}


@media only screen and (min-width : 768px) {
    .site #wrapper section.pvgr {

        .card-body {
            padding-bottom: 0;
        }

        .card-text {
            -webkit-line-clamp: 4;
        }

        .card-footer {
            padding-top: 0;
        }

        .card-body.padding-xl {
            padding-left: var(--pvgr-spacer-6);
            padding-right: var(--pvgr-spacer-6);
            padding-top: var(--pvgr-spacer-5);
            padding-bottom: var(--pvgr-spacer-5);
        }

        .card.card-horizontal {
            display: grid;
            grid-template-columns: max-content auto;
        }

        .card.card-horizontal .card-body {
            padding-top: var(--pvgr-spacer-5);
            padding-left: var(--pvgr-spacer-6);
            padding-right: var(--pvgr-spacer-6);
        }

        .card.card-horizontal .card-footer {
            padding-left: var(--pvgr-spacer-6);
            padding-right: var(--pvgr-spacer-6);
        }

        .card.card-horizontal.card-image-right {
            grid-template-columns: auto max-content;
        }

        .card.card-horizontal.card-image-right .image-wrapper {
            grid-column: 2;
        }


        .card.card-horizontal .image-wrapper {
            width: calc((100vw - 120px) / 3);
            max-width: 360px;
            grid-row: 1 / 3;
        }

        .card.card-horizontal img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-top-right-radius: 0;
        }

        .card.card-horizontal.card-image-right img {
            border-top-left-radius: 0;
        }
    }
}

@media only screen and (min-width : 992px) {
    .site #wrapper section.pvgr {

        .card-body.padding-xl {
            padding-left: var(--pvgr-spacer-8);
            padding-right: var(--pvgr-spacer-8);
            padding-top: var(--pvgr-spacer-7);
            padding-bottom: var(--pvgr-spacer-7);
        }
    }
}

/* stop Cards */

/* start Buttons */

.site #wrapper section.pvgr {
    .btn {
        display: flex;
        position: relative;
        align-items: baseline;
        gap: var(--spacer-2);
        padding-left: var(--pvgr-button-padding-horizontal-small);
        padding-right: var(--pvgr-button-padding-horizontal-small);
        padding-top: var(--spacer-2);
        padding-bottom: var(--spacer-2);
        border-width: var(--pvgr-button-border-width);
        border-radius: var(--pvgr-button-border-radius);
        font-size: var(--pvgr-font-size-sm);
        margin-bottom: var(--spacer-2);
        text-decoration: none;
    }

    .btn:focus,
    .btn.focus,
    .btn:active:focus {
        box-shadow: none;
    }

    .btn a.btn-url {
        text-decoration: none;
    }

    .btn i {
        color: var(--pvgr-icon-fill-color);
    }

    .btn.icon-left {
        flex-direction: row-reverse;
    }

    .btn.icon-left i {
        text-align: center;
        width: 1.25em;
    }

    .btn:not(.btn-link) {
        width: auto;
        justify-content: center;
    }

    .btn-primary:not(.btn-outline-borderless) {
        color: var(--pvgr-button-primary-color);
        border-color: var(--pvgr-button-primary-border-color);
        background-color: var(--pvgr-button-primary-background-color);
    }

    .btn-primary:not(.btn-outline-borderless) .btn-url {
        color: var(--pvgr-button-primary-color);
    }

    .btn-primary:not(.btn-outline-borderless):hover,
    .btn-primary:not(.btn-outline-borderless):focus {
        color: var(--pvgr-button-primary-color);
        border-color: var(--pvgr-button-primary-border-hover-color);
        background-color: var(--pvgr-button-primary-background-hover-color);
    }

    .btn-primary:not(.btn-outline-borderless):hover .btn-url,
    .btn-primary:not(.btn-outline-borderless):focus .btn-url {
        color: var(--pvgr-button-primary-color);
    }

    .btn-primary.btn-dark:not(.btn-outline-borderless) {
        color: var(--pvgr-button-dark-primary-color);
        border-color: var(--pvgr-button-dark-primary-background-color);
        background-color: var(--pvgr-button-dark-primary-background-color);
    }

    .btn-primary.btn-dark:not(.btn-outline-borderless) .btn-url {
        color: var(--pvgr-button-dark-primary-color);
    }

    .btn-primary.btn-dark:not(.btn-outline-borderless):hover,
    .btn-primary.btn-dark:not(.btn-outline-borderless):focus {
        color: var(--pvgr-button-dark-primary-hover-color);
        border-color: var(--pvgr-button-dark-primary-background-hover-color);
        background-color: var(--pvgr-button-dark-primary-background-hover-color);
    }

    .btn-primary.btn-dark:not(.btn-outline-borderless):hover .btn-url,
    .btn-primary.btn-dark:not(.btn-outline-borderless):focus .btn-url {
        color: var(--pvgr-button-dark-primary-hover-color);
    }

    .btn-secondary:not(.btn-outline-borderless) {
        color: var(--pvgr-button-secondary-color);
        border-color: var(--pvgr-button-secondary-border-color);
        background-color: var(--pvgr-button-secondary-background-color);
    }

    .btn-secondary:not(.btn-outline-borderless) .btn-url {
        color: var(--pvgr-button-secondary-color);
    }

    .btn-secondary:not(.btn-outline-borderless):hover,
    .btn-secondary:not(.btn-outline-borderless):focus {
        color: var(--pvgr-button-secondary-color-hover);
        border-color: var(--pvgr-button-secondary-border-hover-color);
        background-color: var(--pvgr-button-secondary-background-hover-color);
    }

    .btn-secondary:not(.btn-outline-borderless):hover .btn-url,
    .btn-secondary:not(.btn-outline-borderless):focus .btn-url {
        color: var(--pvgr-button-secondary-color-hover);
    }

    .btn-secondary.btn-dark:not(.btn-outline-borderless) {
        color: var(--pvgr-button-dark-secondary-color);
        border-color: var(--pvgr-button-dark-secondary-border-color);
        background-color: var(--pvgr-button-dark-secondary-background-color);
    }

    .btn-secondary.btn-dark:not(.btn-outline-borderless) .btn-url {
        color: var(--pvgr-button-dark-secondary-color);
    }

    .btn-secondary.btn-dark:not(.btn-outline-borderless):hover,
    .btn-secondary.btn-dark:not(.btn-outline-borderless):focus {
        color: var(--pvgr-button-dark-secondary-color-hover);
        border-color: var(--pvgr-button-dark-secondary-border-hover-color);
        background-color: var(--pvgr-button-dark-secondary-background-hover-color);
    }

    .btn-secondary.btn-dark:not(.btn-outline-borderless):hover .btn-url,
    .btn-secondary.btn-dark:not(.btn-outline-borderless):focus .btn-url {
        color: var(--pvgr-button-dark-secondary-color-hover);
        border-color: var(--pvgr-button-dark-secondary-border-hover-color);
        background-color: var(--pvgr-button-dark-secondary-background-hover-color);
    }

    .btn-link:not(.btn-outline-borderless) {
        color: var(--pvgr-button-link-color);
        padding-left: 0;
        padding-right: 0;
        width: fit-content;
        border-bottom-color: transparent;
    }

    .btn-link:not(.btn-outline-borderless) .btn-url {
        color: var(--pvgr-button-link-color);
    }

    .btn-link:not(.btn-outline-borderless):hover,
    .btn-link:not(.btn-outline-borderless):focus {
        color: var(--pvgr-button-secondary-color-hover);
        text-decoration: none;
    }

    .btn-link:not(.btn-outline-borderless):hover .btn-url,
    .btn-link:not(.btn-outline-borderless):focus .btn-url {
        color: var(--pvgr-button-secondary-color-hover);
        text-decoration: underline;
    }

    .btn-link.btn-dark:not(.btn-outline-borderless) {
        color: var(--pvgr-button-dark-secondary-color);
        background-color: transparent;
        border-color: transparent;
    }

    .btn-link.btn-dark:not(.btn-outline-borderless) .btn-url {
        color: var(--pvgr-button-dark-secondary-color);
    }

    .btn-link.btn-dark:not(.btn-outline-borderless):hover,
    .btn-link.btn-dark:not(.btn-outline-borderless):focus {
        color: var(--color-neutral-white);
        background-color: transparent;
    }

    .btn-link.btn-dark:not(.btn-outline-borderless):hover .btn-url,
    .btn-link.btn-dark:not(.btn-outline-borderless):focus .btn-url {
        color: var(--color-neutral-white);
        background-color: transparent;
    }

    button.lfr-portal-tooltip.btn-tooltip {
        background-color: transparent;
        border-width: 0;
        color: var(--color-info-500);
    }
}

@media only screen and (min-width : 576px) {
    .site #wrapper section.pvgr {
        .btn:not(.btn-link) {
            width: fit-content;
            justify-content: center;
        }
    }
}

@media only screen and (min-width : 768px) {
    .site #wrapper section.pvgr {
        .btn {
            font-size: var(--font-size-base);
            padding-left: var(--pvgr-button-padding-horizontal);
            padding-right: var(--pvgr-button-padding-horizontal);
        }
    }
}

/* stop Buttons */