Files
nixie-clock/firmware/uniclock/ESP32_UniClock2/data/site.css
T
mangavalkandClaude Opus 5.5 b347f1c63f Import ESP_UniClock (upstream 1189810)
Vendored from https://github.com/gpeter62/ESP_UniClock: the sketch
source, the web UI and the libraries the ESP8266 build needs, unpacked
from the bundled zips. Adds a PlatformIO project for the ESP-12. The
source is unchanged; local changes follow as separate commits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:48:04 +01:00

479 lines
9.3 KiB
CSS

*, *:before, *:after{
box-sizing: border-box;
}
.non-selectable{
-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 */
}
html {
-webkit-font-smoothing: antialiased;
background-image: radial-gradient(#222, #111);
min-height: 100%;
background-attachment: fixed;
color: #c35;
}
.hidden{
display: none !important;
}
a, a:visited{
color: #c35;
text-decoration: none;
}
a:hover{
text-decoration: underline;
color: #777;
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, "Liberation Sans", FreeSans, sans-serif;
margin: 0;
}
.form{
overflow: auto;
}
.max-width{
max-width: 800px;
margin: auto;
}
.row{
clear: both;
overflow: auto;
}
.row + .row{
margin-top: 15px;
}
.control-holder{
width: 33.333333%;
display: block;
float: left;
padding: 5px;
min-height: 80px;
position: relative;
}
.header{
overflow: auto;
}
.form label {
cursor: help;
width: 100%;
display: inline-block;
font-weight: bold;
padding-top: 0;
padding-left: 0;
letter-spacing: 0.025em;
font-size: 20px;
vertical-align: top;
line-height: 30px;
position: relative;
text-shadow: 1px 1px 0 black;
margin-bottom: 5px;
}
input, select, button{
margin: 0;
font: inherit;
line-height: normal;
width: 100%;
max-width: 250px;
background: #222222;
color: #eee;
position: relative;
padding: 5px;
min-height: 30px;
outline: none;
line-height: normal;
border-radius: 3px;
border: 1px solid #666;
transition: 0.15s background;
}
input:not([type="text"]):not(:disabled),select:not(:disabled),button:not(:disabled){
cursor: pointer;
}
input:hover, select:hover, button:hover{
background: #333;
}
input:focus, select:focus, button:focus{
background: #4E4E4E;
border-color: #888;
}
input:active, select:active, button:active{
background: #5E5E5E;
border-color: #aaa;
}
button{
border: 2px solid #c35;
color: #c35;
text-transform: uppercase;
font-weight: bold;
}
button:hover{
color: #ddd;
}
.multiple-input span{
color: white;
font-weight: bold;
}
.two-digit, .small{
max-width: 60px;
}
[pagemenu="settings"]:hover{
cursor: pointer;
text-decoration: underline;
}
[type="checkbox"].switch{
position: fixed;
left: -300px;
top: -300px;
}
[type="checkbox"].switch ~ .switcher{
width: 60px;
display: inline-block;
vertical-align: top;
height: 30px;
padding: 2px;
background: #222222;
border: 1px solid #666;
transition: 0.15s background;
border-radius: 30px;
position: relative;
cursor: pointer;
}
[type="checkbox"].switch:focus ~ .switcher{
background: #5E5E5E;
border-color: #aaa;
}
[type="checkbox"].switch ~ .switcher:after{
display: inline-block;
content: '';
vertical-align: top;
width: 20px;
height: 20px;
position: absolute;
top: 4px;
left: 4px;
border-radius: 50%;
background: rgba(255,255,255,0.4);
transition: 0.3s all;
}
[type="checkbox"].switch:checked ~ .switcher:after{
left: 34px;
}
[type="checkbox"].switch:not(.two-side):checked ~ .switcher:after{
background: rgba(255,255,255,0.7);
}
[type="checkbox"].switch:not(.two-side):checked ~ .switcher{
background: #37bfb9;
background-color: #c35;
}
[page]{
display: none;
}
[page].active{
display: block;
}
#menu-holder{
padding-bottom: 40px;
}
#menu-holder > .floating-menu{
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 110;
background: #161616;
}
#menu{
width: 100%;
}
#menu td{
padding: 0 18px;
}
#menu td .menu-item{
cursor: pointer;
border-bottom: 2px solid gray;
text-align: center;
text-transform: uppercase;
font-weight: bold;
line-height: 30px;
background-color: transparent;
transition: 0.3s border, 0.3s background, 0.3s color;
}
#menu td .menu-item:hover{
background-color: #4E4E4E;
border-color: #ddd;
}
#menu td .menu-item.active{
color: #ddd;
border-color: #c35;
}
.switcher-text{
text-transform: uppercase;
font-weight: bold;
line-height: 30px;
cursor: pointer;
transition: 0.3s color;
text-shadow: 1px 1px 0 black;
}
.switcher-text:hover{
color: #c35 !important;
}
.switcher-text.left{
margin-right: 10px;
}
.switcher-text.right{
margin-left: 10px;
color: #555;
}
[type="checkbox"].switch:checked ~ .switcher-text.left{
color: #555;
}
[type="checkbox"].switch:checked ~ .switcher-text.right{
color: inherit;
}
.footer{
margin: auto;
display: block;
text-align: center;
text-shadow: 1px 1px 0 black;
}
.footer span{
margin: 0 10px;
font-size: 26px;
color: #555;
}
.separator{
border-top: 1px dotted #555;
margin-top: 20px;
margin-bottom: 20px;
}
.info{
color: #555;
padding: 10px 0;
font-style: italic;
display: inline-block;
text-shadow: 1px 1px 0 black;
}
.info.medium{
color: #888;
font-weight: bold;
font-size: 25px;
line-height: 32px;
}
.info.big{
color: #888;
font-weight: bold;
font-size: 32px;
line-height: 32px;
}
.info:after{
color: #666;
display: inline-block;
padding-left: 5px;
font-size: 28px;
}
#temperature:after{
content: ' °C';
}
#temperature.fahrenheit:after{
content: ' °F';
}
#temperature2:after{
content: ' °C';
}
#temperature2.fahrenheit:after{
content: ' °F';
}
#humidity:after{
content: '%';
}
#pressure:after{
content: ' hPa';
}
#lux:after{
content: ' lux';
}
#color-select-holder > div{
float: left;
}
#color-select-holder > div:first-child{
width: calc(100% - 40px);
}
#color-select-holder > div:last-child{
width: 40px;
}
#info-popup{
display: none;
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 9999;
background: rgba(0,0,0,0.6);
}
#popup-box{
padding: 12px;
border: 2px solid;
margin: auto;
width: 100%;
background: #161616;
margin-top: 50px;
border-radius: 12px;
position: relative;
}
#popup-box h2{
margin-top: 0;
color: #ddd;
}
#popup-close-btn{
position: absolute;
left: 100%;
top: 0;
background: #161616;
width: 30px;
height: 30px;
border-radius: 50%;
border: 2px solid;
line-height: 30px;
text-align: center;
font-weight: bold;
cursor: pointer;
margin-left: -15px;
margin-top: -15px;
transition: 0.3s background, 0.3s color;
}
#popup-close-btn:hover{
color: #ddd;
}
#info-popup.cantClose #popup-close-btn{
display: none;
}
#selectedColor{
width: 30px;
height: 30px;
background-color: white;
border-radius: 50%;
margin: auto;
}
.slider-info{
display: none;
position: absolute;
padding: 3px;
font-weight: bold;
font-size: 24px;
background: #161616;
border: 2px solid #c35;
z-index: 3;
border-radius: 50%;
text-align: center;
color: #ddd;
min-width: 50px;
top: 0;
right: 10px;
}
/* slider control */
.slidecontainer {
width: 100%; /* Width of the outside container */
}
/* The slider itself */
.slider {
margin-top: 9px;
height: 10px;
min-height: auto;
-webkit-appearance: none; /* Override default CSS styles */
appearance: none;
outline: none; /* Remove outline */
opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */
-webkit-transition: .2s; /* 0.2 seconds transition on hover */
transition: opacity .2s;
}
/* Mouse-over effects */
.slider:hover {
opacity: 1; /* Fully shown on mouse-over */
}
/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
.slider::-webkit-slider-thumb {
-webkit-appearance: none; /* Override default look */
appearance: none;
width: 20px; /* Set a specific slider handle width */
height: 20px; /* Slider handle height */
background: #c35;
cursor: pointer; /* Cursor on hover */
border-radius: 50%;
border: 2px solid #ddd;
}
.slider::-moz-range-thumb {
width: 20px; /* Set a specific slider handle width */
height: 20px; /* Slider handle height */
background: #c35;
cursor: pointer; /* Cursor on hover */
border-radius: 50%;
border: 2px solid #ddd;
}
/* slider control end */
/* width */
::-webkit-scrollbar {
width: 10px;
}
/* Track */
::-webkit-scrollbar-track {
background: #333;
}
/* Handle */
::-webkit-scrollbar-thumb {
background: #c35;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
background: #d43d5f;
}
@media screen and (max-width: 600px){
.control-holder{
width: 50%;
}
.form label{
font-size: 15px;
}
.switcher-text{
font-size: 14px;
}
.info{
padding: 5px 0;
}
.info:after{
font-size: 16px;
}
.info.big{
font-size: 20px;
}
.info.medium{
font-size: 15px;
}
}
@media screen and (max-width: 360px){
body{
text-align: center;
}
.control-holder{
width: 100%;
}
}