body { background-color: #000; } /* Make the video cover the entire page */ video { width: 100%; height: 100%; object-fit: contain; /* Fill the container, even if it means cropping */ background: black; } .indicator { font-family: Arial, Helvetica, sans-serif; position: absolute; bottom: 25px; left: 25px; color: white; font-size: 12px; font-weight: bold; padding: 2px 4px; border-radius: 50%; z-index: 10; display: flex; align-items: center; justify-content: center; border: 2px solid transparent; } /* Offline Indicator */ #offLineIndicator, .offLineIndicator { background: #FF4D4D; /* Bright red */ color: #FFFFFF; border-color: #FF0000; } /* Online Indicator (Not Live) */ #onLineIndicator, .onLineIndicator, #liveIndicator, .liveIndicator { background: #4CAF50; /* Bright green */ border-color: #388E3C; } /* Live Indicator */ #liveIndicator, .liveIndicator { box-shadow: 0 0 8px 2px #4CAF50; /* Strong green glow */ animation: greenGlowPulse 1.5s infinite; } /* Green glow pulse animation */ @keyframes greenGlowPulse { 0% { box-shadow: 0 0 8px 2px #66BB6A; } 50% { box-shadow: 0 0 12px 4px #4CAF50; } 100% { box-shadow: 0 0 8px 2px #66BB6A; } } .showWhenIsLive { display: none !important; } .showWhenIsNotLive { display: block !important; } .isLive .showWhenIsLive { display: block !important; } .isLive .showWhenIsNotLive { display: none !important; } .showWhenWebRTCIsConnected, .showWhenWebRTCIsNotConnected, .webCamIsOn .showWhenWebCamIsOff, .showWhenWebCamIsOn { display: none !important; } .webCamIsOn .showWhenWebCamIsOn{ display: inline-flex !important; } .WebcamServerConnected .showWhenWebRTCIsConnected { display: block !important; } .WebcamServerNotConnected .showWhenWebRTCIsNotConnected { display: block !important; } #webcamMediaControls, #webcamMediaControlsMessage { position: fixed; bottom: 10px; width: 100%; } .oval-menu { height: 30px; min-width: 30px; border-radius: 15px; box-shadow: 0 0 15px 1px black; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; margin: 10px; } .oval-menu i { margin: 0 10px; } .transparent-iframe { position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 50px); /* Occupies full height minus 100px at the bottom */ border: none; /* Removes the border */ background: transparent; /* Ensures transparency if supported by the content */ z-index: 1; /* Ensure proper stacking order */ pointer-events: auto; /* Allows interaction with iframe content */ }