.icon-svg {
    display: inline-flex;
    flex-shrink: 0;
    line-height: 1;
}

.icon-svg svg {
    display: block;
    width: 100%;
    height: 100%;
    padding: 8%;
}

.studios-hours-badge { left: 1rem; top: 1rem; }
@media (max-width: 379px) { .studios-hours-badge { left: .5rem; top: .5rem; } }

.cms-banner {
    display: block;
    width: 100%;
    overflow: hidden;
    border: 0;
    border-radius: 2rem;
    padding: 0;
    background: transparent;
    color: inherit;
    box-shadow: 0 8px 24px rgba(31, 36, 48, .08);
    cursor: default;
}

a.cms-banner,
button.cms-banner { cursor: pointer; }

.cms-banner picture,
.cms-banner img {
    display: block;
    width: 100%;
    height: auto;
}

.cms-banner:focus-visible {
    outline: 3px solid rgba(254, 0, 76, .38);
    outline-offset: 3px;
}

.news-prose .cms-banner { margin: 1.5rem 0; }
