// For fallback images inside custom outline-model-viewer elements .outline-model-poster { width: 100%; height: 100%; } outline-model-viewer, point-cloud-viewer, volume-viewer { width: 100%; min-height: 300px; display: flex; justify-content: center; align-items: center; border: var(--theme-subtle-outline) 1px solid; border-radius: 10px; margin-top: 1em; margin-bottom: 1em; } .Hotspot { background: #fff; border-radius: 32px; border: 0; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); box-sizing: border-box; cursor: pointer; height: 15px; padding: 8px; position: relative; transition: opacity 0.3s; width: 15px; } .Hotspot:not([data-visible]) { background: transparent; border: 4px solid #fff; box-shadow: none; height: 32px; pointer-events: none; width: 32px; } .Hotspot:focus { border: 4px solid rgb(0, 128, 200); height: 32px; outline: none; width: 32px; } .Hotspot > * { opacity: 1; transform: translateY(-50%); } .HotspotAnnotation { background: #fff; border-radius: 4px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); color: rgba(0, 0, 0, 0.8); display: block; font-family: Futura, Helvetica Neue, sans-serif; font-size: 12px; font-weight: 700; left: calc(100% + 2em); max-width: 128px; overflow-wrap: break-word; padding: 0.5em 1em; position: absolute; top: 50%; width: max-content; } .left.HotspotAnnotation { right: calc(100% + 2em); left: unset; } .Hotspot:not([data-visible]) > * { opacity: 0; pointer-events: none; transform: translateY(calc(-50% + 4px)); transition: transform 0.3s, opacity 0.3s; } // For the 3D model viewer model-viewer { width: 100%; height: 300px; }