#hfb-floating-banner {
    --hfb-adminbar: 0px;
    position: fixed;
    box-sizing: border-box;
    width: min(var(--hfb-width, 300px), calc(100vw - 16px));
    margin: 0;
    padding: 38px 0 0;
    border: 0;
    background: transparent;
    line-height: 0;
    transform: translate(var(--hfb-tx, 0px), var(--hfb-ty, 0px)) translate(var(--hfb-clamp-x, 0px), var(--hfb-clamp-y, 0px));
    isolation: isolate;
}
body.admin-bar #hfb-floating-banner { --hfb-adminbar: 32px; }
@media (max-width: 782px) {
    body.admin-bar #hfb-floating-banner { --hfb-adminbar: 46px; }
}
#hfb-floating-banner[hidden] { display: none !important; }
#hfb-floating-banner .hfb-banner-link {
    display: block;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    line-height: 0;
    text-decoration: none;
}
#hfb-floating-banner .hfb-banner-image {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: calc(100vh - var(--hfb-adminbar) - 60px);
    max-height: calc(100dvh - var(--hfb-adminbar) - 60px);
    margin: 0;
    padding: 0;
    border: 0;
    object-fit: contain;
    border-radius: 6px;
    filter: drop-shadow(0 3px 8px rgb(0 0 0 / 18%));
}
#hfb-floating-banner .hfb-close {
    appearance: none;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 0;
    display: grid;
    place-items: center;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
    margin: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: #202936;
    color: #fff;
    font: 26px/1 Arial, sans-serif;
    letter-spacing: normal;
    text-indent: 0;
    box-shadow: 0 2px 6px rgb(0 0 0 / 22%);
    cursor: pointer;
}
#hfb-floating-banner .hfb-close:hover { background: #000; color: #fff; }
#hfb-floating-banner .hfb-close::before,
#hfb-floating-banner .hfb-close::after { content: none; }
#hfb-floating-banner :is(.hfb-close, .hfb-banner-link):focus-visible {
    outline: 3px solid #2271b1;
    outline-offset: 3px;
}
@media print { #hfb-floating-banner { display: none !important; } }
