* { margin: 0; padding: 0; } body { overflow: hidden; } iframe { display: block !important; background-color: #fff; height: calc(100vh - 4rem); top: var(--loadProgress); position: absolute; width: 100vw; } /* The bed of the Machine */ .machine { background: url("/images/Metal Panel.svg"); background-repeat: repeat-x; bottom: 0; height: 4rem; position: fixed; width: 100vw; z-index: 9000; } /* Labels */ label { background-color: #202123; text-shadow: 1px -1px 0px #42464dff, -1px 1px 0px #ffffff1a; color: #eeeeee; display: block; font: 0.625rem "Arial Rounded MT Bold"; padding: 0.0625rem 0.3125rem; text-transform: uppercase; transform: rotate(-5deg); width: max-content; } /* The URL grater and indicators */ .link-grater { position: absolute; left: 4rem; top: 0; .grater-bed { background: url("/images/Grater Bed.svg"); background-repeat: no-repeat; background-position: bottom; position: absolute; height: 4rem; top: -4rem; width: 8.5rem; &::before { background: url("/images/Sausage.svg"); background-repeat: no-repeat; content: " "; display: block; height: 3em; opacity: 0; position: absolute; transition: all 0.5s; width: 8.125em; } &.drag-over::before { opacity: 0.5; } } .grater-blade { background: url("/images/Grater Blade.svg"); height: 0.625rem; left: var(--graterTravel); position: absolute; bottom: 0.625rem; width: 3.4375rem; z-index: 10; } .lever { bottom: -2.75rem; height: 4.4375rem; position: absolute; left: 12rem; width: 6.125rem; .stem { background: url("/images/Lever Handle.svg"); height: 3.4375rem; position: absolute; width: 3.0625rem; top: 1em; transform: rotate(var(--leverRotation)); transform-origin: calc(100% - 3px) calc(100% - 2px); .handle { cursor: pointer; height: 2.75rem; position: absolute; left: -0.75rem; top: -1rem; width: 2.75rem; } } &::before { background: url("/images/Lever Back.svg"); bottom: -0.5rem; content: ""; height: 1.375rem; left: 2.25rem; position: absolute; width: 1.375rem; } &::after { background: url("/images/Lever Front.svg"); bottom: -0.5rem; content: ""; height: 1.0625rem; left: 2.40625rem; position: absolute; width: 1.0625rem; } } .indicator-leds { position: absolute; width: max-content; bottom: -3.3125rem; left: 10rem; .indicator { display: inline-block; height: 0.6875rem; width: 0.6875rem; } } label { position: absolute; bottom: -3rem; left: 1rem; } } .ready-to-grate { background: url("/images/Red Unlit Light.svg"); } .ready-to-load { background: url("/images/Green Unlit Light.svg"); } [data-current-state="readyToGrate"] .ready-to-grate { background: url("/images/Red Lit Light.svg"); } [data-current-state="readyToLoad"] .ready-to-load { background: url("/images/Green Lit Light.svg"); } /* The Link Loader Wheel and Chain Mechanism */ .chain { background: url("/images/Chain Link.svg"); background-position-y: var(--chainOffset); background-repeat: repeat-y; height: 100vh; position: fixed; right: 1rem; top: 0; width: 1rem; } .url-loader { position: absolute; right: 1.5rem; top: -3rem; .wheel { height: 6rem; width: 6rem; .body { background: url("/images/Wheel.svg"); height: 6rem; left: 0; position: absolute; top: 0; transform: rotate(var(--wheelRotation)); width: 6rem; } .handle { cursor: pointer; height: 2.75rem; position: absolute; right: -1.125rem; top: 1.625rem; width: 2.75rem; } } label { position: absolute; bottom: 0; left: -4rem; } } /* Make a Sausage */ .sausage { align-items: center; background: url("/images/Sausage.svg"); background-position: top; background-repeat: no-repeat; color: #fff; display: flex; font: 0.625rem "Arial Rounded MT Bold"; height: calc(3rem - var(--grateLevel)); justify-content: center; overflow: hidden; position: absolute; top: var(--grateLevel); left: 0; text-align: center; text-overflow: ellipsis; text-transform: uppercase; width: 8.125rem; white-space: nowrap; z-index: 0; } /* Util */ .no-select { user-select: none; }