body { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background-color: #302f3b; color: #ffffff; height: 100%; font-family: Ubuntu Mono,monospace; font-size: x-large; } /* filthy hacks to make the page stop overflowing on mobile */ @media (width <= 430px) { body { margin: 0; transform-origin: top left; scale: 0.9; } } @media (width <= 390px) { body { scale: 0.85; } } .info_box { margin: auto; max-width: 40em; } .nobr { white-space: nowrap; } .center { margin: auto; } .hidden { visibility: hidden; } /* Tooltip container */ .tooltip { position: relative; display: inline-block; border-bottom: 1px dotted black; /* If you want dots under the hoverable text */ } /* Tooltip text */ .tooltip .tooltiptext { visibility: hidden; width: 120px; background-color: #555; color: #fff; text-align: center; padding: 5px 0; border-radius: 6px; /* Position the tooltip text */ position: absolute; z-index: 1; top: 125%; left: 50%; margin-left: -100px; /* Fade in tooltip */ opacity: 0; transition: opacity 0.3s; } /* Tooltip arrow */ .tooltip .tooltiptext::after { content: ""; position: absolute; bottom: 100%; left: 100px; margin-left: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent #555 transparent; } /* Show the tooltip text when you mouse over the tooltip container */ .tooltip:hover .tooltiptext { visibility: visible; opacity: 1; } .bulb_box { width: fit-content; margin: auto; } .bulb_box > * { margin-bottom: 1.5rem; } /* lol i'm so funny */ .selector_selector { margin-bottom: 0; display: flex; justify-content: center; //background: #534f44; } .selector_selector > button { width: 10rem; border: solid 0.1rem wheat; background-color: #3a3743; color: white; font-size: 1.5rem; border-left: solid white 0.1rem; border-right: solid white 0.1rem; } .selector_selector > button:hover { background-color: #4c4858; } .selector_selector > button:active { background-color: #312e38; } .selector_selector > button:first-child { border-top-left-radius: 0.5rem; } .selector_selector > button:last-child { border-top-right-radius: 0.5rem; } .selector_selector_arrow { position: absolute; width: 2.15rem; height: 2.15rem; background: url("/images/circle-arrow.svg"); transition: transform 0.5s ease-in-out; } .bulb_controls { display: flex; flex-direction: row; align-items: center; padding-right: 0.5em; background: #00000000; } .cross_out { position: relative; overflow: hidden; opacity: 0.5; } .cross_out:before { position: absolute; content: ''; display: block; background: #00000000; left: 0; right: 0; top: 0; bottom: 0; margin: auto; z-index: 90; } .cross_out:after { position: absolute; content: ''; background: #56636e; display: block; width: 0; height: 10px; border-radius: 8px; -webkit-transform: rotate(-30deg); transform: rotate(-30deg); left: 0; right: 0; top: 0; bottom: 0; margin: auto; z-index: 91; box-shadow: black 0.5rem 0.6rem 1rem 0.3rem; animation: to_width_90 .2s ease-out 0s 1 forwards; } @keyframes to_width_90 { to { width: 90%; } } .bulb_list { display: flex; flex-direction: column; } .bulb_list_group { display: flex; flex-direction: column; } .bulb_list_group > h1 { margin-top: 0.6em; margin-bottom: 0; font-size: 1.3em; border-bottom: solid 1px; } .bulb_list_bulb { font-family: Ubuntu Mono; display: flex; font-size: 0.8em; padding-top: 0.5em; padding-bottom: 0.5em; margin-top: 0.3em; background-color: #3a3743; border: solid 0.2em #45374f; border-radius: 0.5em; color: wheat; } .bulb_list_bulb:hover { background-color: #4c4858; } .bulb_list_bulb:active { background-color: #312e38; } .bulb_list_bulb > span { margin: auto; flex-grow: 1; padding-right: 1em; } .bulb_map { background: url(images/blueprint_bg.png); background-size: auto; background-size: 1em; padding: 2rem; border: solid 0.1rem; border-radius: 0.2rem; } .bulb_map::after { position: absolute; width: 100%; height: 100%; } .bulb_group { color: black; text-align: center; background: #aaaaaaaa; border: solid 0.25rem white; border-radius: 0.25rem; font-size: 2em; position: absolute; box-shadow: #0006 0.1em 0.1em 0.1em; user-select: none; transition: 0.3s ease-in-out; } .bulb_group_selected { border-color: gold; scale: 1.05; transition: 0.3s ease-in-out; } .bulb_power_button { width: 70px; height: 175px; border-radius: 50px; margin-top: 1em; margin-bottom: 1em; background-color: #b5b5b5; transition: background-color 0.2s ease-in-out; } .bulb_power_button_on { } .bulb_power_button > div { position: absolute; width: 40px; margin-left: 8.75px; color: #000; font-weight: 700; } .bulb_power_button > #lever_face { height: 40px; background-color: #cccccc; margin-top: 25px; transition: 0.3s ease-in-out; } .bulb_power_button_on > #lever_face { margin-top: -65px; } .bulb_power_button > #lever_stem { height: 30px; background-color: #eeeeee; margin-top: 0px; transition: 0.3s ease-in-out; } .bulb_power_button_on > #lever_stem { margin-top: -30px; } .bulb_power_button > #off_label { height: 30px; background-color: #cccccc; padding-top: 15px; margin-top: -45px; } .bulb_power_button > #on_label { height: 30px; background-color: #cccccc; padding-top: 15px; margin-top: 0px; } .bulb_power_button > #switch_socket { width: 47.5px; margin-top: -55px; margin-left: 0; height: 100px; background-color: #4f4f4f; border: solid 5px #fff; border-radius: 5px; } .color_picker { display: flex; flex-direction: row; padding: 0.5em; } .color_wheel { background-image: url(/images/hsb.png); width: 200px; height: 200px; background-size: contain; border: solid 5px #a4829c; border-radius: 200px; } .color_wheel_marker { width: 6px; height: 6px; background: white; border: solid 2px black; border-radius: 10px; position: absolute; pointer-events: none; transition: margin 0.1s ease-out; } .brightness_bar { width: 30px; height: 200px; margin-left: 10px; border: solid 5px #a4829c; } .temperature_bar { width: 30px; height: 200px; margin-left: 10px; background: linear-gradient(0deg, #f81, #eff); border: solid 5px #a4829c; } .color_bar_marker { width: 30px; height: 8px; border-top: solid 2px black; border-bottom: solid 2px black; position: absolute; background: white; pointer-events: none; transition: margin 0.1s ease-out; } .pref_line { display: flex; flex-direction: row; justify-content: space-between; margin-top: .3em; } .pref_input { background: #453f4b; border: solid 0.35em #5b3f63; border-radius: .3em; color: white; height: 15; width: 5em; align: right; //margin-bottom: .7em; margin-left: .5em; } .pref_button {} .pref_button, .pref_button_enabled { position: relative; width: 100%; font-size: large; font-weight: bold; color: white; text-shadow: 0.1rem 0.1rem 0.3rem black; padding: 1rem; border: solid 0.35em #5b3f63; border-radius: 0.3em; background: transparent; overflow: hidden; } .pref_button_enabled::before { content: ""; z-index: -1; width: 20rem; height: 20rem; background-size: 100% 100%; background-image: url(/images/hsb.png); position: absolute; transform: translate(-8.5rem, -2.5rem); animation: infinite linear 3s button_rainbow; } @keyframes button_rainbow { from { transform: translate(-8.5rem, -2.5rem) rotate( 0deg); } to { transform: translate(-8.5rem, -2.5rem) rotate(360deg); } } .prefs_box { display: flex; justify-content: center; } .prefs_box > h2 { writing-mode: sideways-lr; margin-top: auto; margin-bottom: auto; } .prefs_box > * { flex-shrink: 1; } .bulb_list_checkbox {} .bulb_list_checkbox input[type="checkbox"] { visibility: hidden; display: none; } .bulb_list_checkbox *, .bulb_list_checkbox ::after, .bulb_list_checkbox ::before { box-sizing: border-box; } .bulb_list_checkbox .container { display: block; position: relative; cursor: pointer; font-size: 25px; user-select: none; } /* Create a custom checkbox */ .bulb_list_checkbox .checkmark { position: relative; top: 0; left: 0; height: 1.3em; width: 1.3em; background: black; border-radius: 50px; transition: all 0.7s; --spread: 10px; } /* When the checkbox is checked, add a blue background */ .bulb_list_checkbox .container input:checked ~ .checkmark { background: black; /* spawn a bunch of colored balls and blur them together */ box-shadow: -5px -5px var(--spread) 0px #5B51D8, 0 -5px var(--spread) 0px #833AB4, 5px -5px var(--spread) 0px #E1306C, 5px 0 var(--spread) 0px #FD1D1D, 5px 5px var(--spread) 0px #F77737, 0 5px var(--spread) 0px #FCAF45, -5px 5px var(--spread) 0px #FFDC80; } /* Create the checkmark/indicator (hidden when not checked) */ .bulb_list_checkbox .checkmark::after { content: ""; position: absolute; display: none; } /* Show the checkmark when checked */ .bulb_list_checkbox .container input:checked ~ .checkmark::after { display: block; } /* Style the checkmark/indicator */ .bulb_list_checkbox .container .checkmark::after { left: 0.5em; top: 0.34em; width: 0.25em; height: 0.5em; border: solid wheat; border-width: 0 0.15em 0.15em 0; transform: rotate(45deg); }