body {
    container-type: inline-size;
    container-name: screen;

    main {
        position: relative;
        flex-grow: 1; /* make main section grow the max height to prevent weird page with little content*/

        figure .figure-caption {
            font-style: italic;
        }

        @container (min-width: 48rem) {
            margin-top: 5.25rem;
        }

        img:not([data-icon-base-name]) {
            border-radius: var(--border-radius-md);
            border: 1px solid var(--gray-500);
            object-position: center;
            background-color: lightgray;
        }

        img[data-icon-base-name] {
            height: 1.5rem !important;
        }
    }

    .header-responsive {
        padding: 1.375rem 2.125rem;
        border-bottom: 1px solid var(--color-fernuni-ultralight);
    }

    a {
        text-decoration: none;
    }

    &:before {
        content: "";
        transition: all 0.3s ease-in-out;
    }

    &.backdrop:before {
        width: 100%;
        height: 100%;
        position: fixed;
        z-index: 99; /* needs to be less than .mobile-menu-wrapper */
        background-color: rgb(200 209 218 / 0.4);
        transition: all 0.3s ease-in-out;
    }
}

@container screen (max-width: 36rem) {
    body {
        &.backdrop {
            overflow-y: hidden;
        }

        .uwy.userway_p5 .userway_buttons_wrapper {
            left: auto !important;
            right: 13px !important;
        }
    }
}

@container screen (min-width: 62rem) and (max-width: 70rem) {
    body .uwy.userway_p5 .userway_buttons_wrapper {
        left: auto !important;
        top: auto !important;
        right: 13px !important;
        bottom: 13px !important;
    }
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}

.card-img,
.card-img-top {
    border-top-left-radius: var(--border-radius-md) !important;
    border-top-right-radius: var(--border-radius-md) !important;
}