* { margin: 0; padding: 0; border: 0; outline: none; } :root { /* when changing these values, both media queries in dialog.css and video.css should be changed accordingly as well. */ --video-card-width: 25em; --video-card-gap: 0.5em; --header-height: 3em; --footer-height: 6em; --footer-padding: 0.5em; } .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; user-select: none; } html { min-height: 100%; } body { background-color: #111; font-size: 100%; display: block; min-height: calc(100vh - var(--header-height)); } header { display: absolute; position: fixed; top: 0; left: 0; right: 0; background-color: rgba(200, 55, 55, 0.9); box-shadow: 0 0 0.5em 0.5em rgba(0, 0, 0, 0.3); backdrop-filter: blur(5px); color: white; height: var(--header-height); padding: 0 0.25em; z-index: 11; } header span.material-symbols-outlined { font-size: 2em; line-height: 3rem; float: right; padding: 0 0.25em; transition: all 0.1s ease-in-out; } header span.material-symbols-outlined:hover { transform: scale(1.2); transition: all 0.1s ease-in-out; } #video-container { margin-top: var(--header-height); margin-bottom: calc(var(--footer-height) + var(--footer-padding) * 2); } footer { display: grid; grid-template-columns: auto 1fr auto auto auto 1fr auto; grid-template-rows: auto 1fr; grid-template-areas: "current-timestamp seekbar seekbar seekbar seekbar seekbar video-length" ". . replay pause forward volume-bar volume-bar"; position: fixed; bottom: 0; left: 0; right: 0; background-color: rgba(17, 17, 17, 0.95); box-shadow: 0 0 0.5em 0.5em rgba(0, 0, 0, 0.3); backdrop-filter: blur(3px); padding: var(--footer-padding); z-index: 11; height: var(--footer-height); } #seekbar { --margin: 0.75em; grid-area: seekbar; align-self: center; width: calc(100% - var(--margin) * 2); margin: 0.5em var(--margin); } #replay { grid-area: replay; background-color: transparent; color: white; text-align: right; cursor: pointer; } #play-pause { grid-area: pause; background-color: transparent; color: white; text-align: center; margin: 0 0.5em; cursor: pointer; } #forward { grid-area: forward; background-color: transparent; color: white; text-align: left; cursor: pointer; } #volume-bar { --margin: 0.75em; grid-area: volume-bar; max-width: 15em; width: calc(100% - var(--margin) * 2); margin: 0 var(--margin); justify-self: right; align-self: center; } #play-pause .material-symbols-outlined { font-size: 4rem; } #play-pause:disabled, #replay:disabled, #forward:disabled { color: gray; } #current-timestamp { grid-area: current-timestamp; color: white; } #video-length { grid-area: video-length; color: white; } footer .material-symbols-outlined { font-size: 2.5rem; } input[type="range"] { -webkit-appearance: none; appearance: none; height: 0.5em; background-color: #333; border-radius: 0.25em; } input[type="range"]::-webkit-slider-thumb, input[type="range"]::-moz-range-thumb input[type="range"]::-webkit-slider-runnable-track { cursor: pointer; -webkit-appearance: none; appearance: none; width: 1.5em; height: 1.5em; border-radius: 50%; background-color: rgb(200, 55, 55); border: none; }