/*Copyright Epic Games, Inc. All Rights Reserved.*/ @import url(./fonts/fonts.css); :root { /*Using colour scheme https://color.adobe.com/TD-Colors---Option-3-color-theme-10394433/*/ --colour1: #151619; ; --colour2: #FFFFFF; --colour3: #0585fe; --colour4: #35b350; --colour5: #ffab00; --colour6: #1e1d22; --colour7: #3c3b40; } #loader { width: 106px; height: 106px; border-radius: 50%; display: inline-block; position: relative; background: conic-gradient(from 135deg at 50% 50%, rgba(255, 255, 255, 0) -6.26deg, #ffffff 314.83deg, rgba(255, 255, 255, 0) 353.74deg, #ffffff 674.83deg); box-sizing: border-box; animation: rotation 1s linear infinite; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #loader::after { content: ""; box-sizing: border-box; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100px; height: 100px; border-radius: 50%; background: #151619; } body { margin: 0px; background-color: #151619; font-family: 'Montserrat', sans-serif; } h2 { font-family: "GilroyWebRegular"; } #playerUI { width: 100%; height: 100%; } canvas { image-rendering: crisp-edges; position: absolute; } video { position: absolute; width: 100%; height: 100%; } #player { width: 100%; height: 100%; position: absolute; } #videoPlayOverlay { position: absolute; font-size: 1.8em; width: 100%; height: 100%; color: var(--colour2) } /* State for element to be clickable */ .clickableState { align-items: center; justify-content: center; display: flex; } /* State for element to show text, this is for informational use*/ .textDisplayState { align-items: center; justify-content: center; display: flex; cursor: pointer; } /* State to hide overlay, WebRTC communication is in progress and or is playing */ .hiddenState { display: none; } #playButton { display: block; width: 88px; height: 88px; z-index: 30; backdrop-filter: blur(10px); border-radius: 112px; cursor: pointer; } #container { width: 400px; height: 100%; justify-content: center; /* Background */ background: transparent; /* Button_1 */ border-width: 0px 2px; border-style: solid; border-color: #23242A; display: flex; flex-direction: column; align-items: center; gap: 40px; padding: 40px 56px; box-sizing: border-box; } @media screen and (max-width: 500px) { #container { width: 100%; border: none; } } #playButton:hover { background: linear-gradient(180deg, #BC75FF 0%, #798FFF 100%); backdrop-filter: blur(10px) } #title { font-style: normal; font-weight: 400; font-size: 38px; line-height: 100%; /* or 38px */ /* White */ color: #F2F2F2; margin: 0 0 16px 0; } #caption { font-family: 'Inter'; font-style: normal; font-weight: 400; font-size: 16px; line-height: 140%; /* or 22px */ text-align: center; /* Inactive */ color: #C5C7CE; margin: 0; text-align: left; } #link { font-family: 'Inter'; cursor: pointer; background: #1C1D21; border-radius: 4px; width: 100%; display: flex; align-items: center; justify-content: center; text-decoration: none; padding: 8px 16px; box-sizing: border-box; font-weight: 400; font-size: 12px; line-height: 130%; /* identical to box height, or 16px */ /* Inactive */ color: #C5C7CE; } #link:hover { background: #23242A; } #freezeFrameOverlay { background-color: transparent; } .freezeframeBackground { background-color: #000 !important; } #overlay { width: 100%; height: 100%; z-index: 20; position: absolute; color: var(--colour2); pointer-events: none; overflow: hidden; } #overlay button { background-color: var(--colour7); border: 1px solid var(--colour7); color: var(--colour2); position: relative; width: 3rem; height: 3rem; padding: 0.5rem; text-align: center; } #fullscreen-btn { padding: 0.6rem !important; } #overlay button:hover { background-color: var(--colour3); border: 3px solid var(--colour3); transition: 0.25s ease; padding-left: 0.55rem; padding-top: 0.55rem; } #overlay button:active { border: 3px solid var(--colour3); background-color: var(--colour7); padding-left: 0.55rem; padding-top: 0.55rem; } #overlay img { width: 100%; height: 100%; } .tooltip .tooltiptext { visibility: hidden; width: auto; color: var(--colour2); text-align: center; border-radius: 15px; padding: 0px 10px; font-family: 'Montserrat', sans-serif; font-size: 0.75rem; letter-spacing: 0.75px; /* Position the tooltip */ position: absolute; top: 0; transform: translateY(25%); left: 125%; z-index: 20; } .tooltip:hover .tooltiptext { visibility: visible; background-color: var(--colour7); } #connection .tooltiptext { top: 125%; transform: translateX(-25%); left: 0; z-index: 20; padding: 5px 10px; } #settings-panel .tooltiptext { display: block; top: 125%; transform: translateX(-50%); left: 0; z-index: 20; padding: 5px 10px; border: 3px solid var(--colour5); width: max-content; } #controls { position: absolute; top: 2%; left: 1%; font-family: 'Michroma', sans-serif; pointer-events: all; display: none; } #controls>* { margin-bottom: 0.5rem; border-radius: 50%; display: block; height: 2rem; line-height: 1.75rem; padding: 0.5rem; } #controls #additionalinfo { text-align: center; font-family: 'Montserrat', sans-serif; } #unrealengine { position: absolute; bottom: 5%; right: 10%; font-family: 'Michroma', sans-serif; pointer-events: all; visibility: hidden; width: min-content; } #unrealengine p { visibility: hidden; width: 15rem; } #connection { position: absolute; bottom: 5%; left: 10%; font-family: 'Michroma', sans-serif; height: 3rem; width: 3rem; pointer-events: none; visibility: hidden; } .noselect { -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Safari */ -khtml-user-select: none; /* Konqueror HTML */ -moz-user-select: none; /* Old versions of Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */ } .panel-wrap { position: fixed; top: 0; bottom: 0; right: 0; height: 100%; min-width: 20vw; transform: translateX(100%); transition: .3s ease-out; pointer-events: all; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); overflow-y: auto; overflow-x: hidden; background-color: rgba(30, 29, 34, 0.5) } .panel-wrap-visible { transform: translateX(0%); } .panel { color: #eee; overflow-y: auto; padding: 1em; } #heading { display: inline-block; font-size: 2em; margin-block-start: 0.67em; margin-block-end: 0.67em; margin-inline-start: 0px; margin-inline-end: 0px; position: relative; padding: 0 0 0 2rem; } #close { margin: 0.5rem; padding-top: 0.5rem; padding-bottom: 0.5rem; padding-right: 0.5rem; font-size: 2em; float: right; } #close:after { padding-left: 0.5rem; display: inline-block; content: "\00d7"; /* This will render the 'X' */ } #close:hover { color: var(--colour3); transition: ease 0.3s; } #content { margin: 2rem; } .setting { display: flex; flex-direction: row; justify-content: space-between; padding: 0; margin: 0.5rem 0; } .settings-text { margin-right: 2rem; display: flex; } /*** Toggle Switch styles ***/ .tgl-switch { vertical-align: middle; display: inline-block; } .tgl-switch .tgl { display: none; } .tgl, .tgl:after, .tgl:before, .tgl *, .tgl *:after, .tgl *:before, .tgl+.tgl-slider { -webkit-box-sizing: border-box; box-sizing: border-box; } .tgl::-moz-selection, .tgl:after::-moz-selection, .tgl:before::-moz-selection, .tgl *::-moz-selection, .tgl *:after::-moz-selection, .tgl *:before::-moz-selection, .tgl+.tgl-slider::-moz-selection { background: none; } .tgl::selection, .tgl:after::selection, .tgl:before::selection, .tgl *::selection, .tgl *:after::selection, .tgl *:before::selection, .tgl+.tgl-slider::selection { background: none; } .tgl+.tgl-slider { outline: 0; display: block; width: 40px; height: 18px; position: relative; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .tgl+.tgl-slider:after, .tgl+.tgl-slider:before { position: relative; display: block; content: ""; width: 50%; height: 100%; } .tgl+.tgl-slider:after { left: 0; } .tgl+.tgl-slider:before { display: none; } .tgl-flat+.tgl-slider { padding: 2px; -webkit-transition: all .2s ease; transition: all .2s ease; background: var(--colour6); border: 3px solid var(--colour7); border-radius: 2em; } .tgl-flat+.tgl-slider:after { -webkit-transition: all .2s ease; transition: all .2s ease; background: var(--colour7); content: ""; border-radius: 1em; } .tgl-flat:checked+.tgl-slider { border: 3px solid var(--colour3); } .tgl-flat:checked+.tgl-slider:after { left: 50%; background: var(--colour3); } .subtitle-text { margin: 0 0 0 1rem; color: var(--colour5); position: relative; } .form-group { padding-top: 4px; display: grid; grid-template-columns: 50% 50%; row-gap: 4px; padding-right: 10px; padding-left: 10px; } .form-group label { color: var(--colour2); vertical-align: middle; font-weight: normal; } #stats { margin-left: 1rem; } #LatencyStats { margin-left: 1rem; } #hiddenInput { position: absolute; left: -10%; /* Although invisible, push off-screen to prevent user interaction. */ width: 0px; opacity: 0; } #editTextButton { position: absolute; height: 40px; width: 40px; } .form-group label { margin-right: 2rem; min-width: 75%; } input { text-align: right; } .warning { box-sizing: border-box; position: relative; transform: scale(var(--ggs, 1)); width: 20px; height: 20px; border: 2px solid; border-radius: 40px; display: none; } .warning::after, .warning::before { content: ""; display: block; box-sizing: border-box; position: absolute; border-radius: 3px; width: 2px; background: currentColor; left: 7px } .warning::after { top: 2px; height: 8px } .warning::before { height: 2px; bottom: 2px } /* Flat buttons */ input[type="button"] { background-color: transparent; color: var(--colour2); font-family: 'Montserrat'; border: 3px solid var(--colour3); border-radius: 1rem; font-size: 0.75rem; padding-left: 0.5rem; padding-right: 0.5rem; } input[type="button"]:hover { background-color: var(--colour3); transition: ease 0.3s; } input[type="button"]:active { background-color: transparent; } #encoder-params-submit, #webrtc-params-submit { text-align: center; } select, input[type="number"] { background-color: var(--colour7); color: var(--colour2); border: 1px solid var(--colour6); padding: 0.25rem; font-family: 'Montserrat'; border-radius: 0.25rem; } input[type=number]::-webkit-inner-spin-button { margin-left: 0.5rem; } input[type="number"]:disabled { padding-right: 0.5rem; -moz-appearance: textfield; } input[type=number]:disabled::-webkit-inner-spin-button { display: none; } #settingsBtn, #statsBtn { cursor: pointer; } #streamingVideo { pointer-events: all; } embed { border: none; width: 100%; height: 100%; } g { fill: var(--colour2); } object { pointer-events: none; } #connectionStrength { fill: var(--colour7); } #minimize { display: none; } #afkOverlay { z-index: 999; background-color: rgba(30, 29, 34, 0.5); display: inline-block; height: 100vh; width: 100vw; line-height: 100vh; text-align: center; overflow: hidden; } #afkOverlay center { display: inline-block; line-height: 1.5; height: 100vh; }