Files
2025-03-21 16:24:17 +01:00

701 lines
13 KiB
Plaintext

@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
@import url('fonts.min.css');
h1, h2, h3, h4, h5, h6, b, display-1, display-2, display-3, display-4 {
/*font-family: 'Roboto', sans-serif;*/
font-family: 'Lato', sans-serif;
}
html, body {
height: 100%;
}
html, body {
/*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/
font-family: 'Roboto Condensed', sans-serif;
line-height: 1.25;
background-image: linear-gradient(180deg, rgb(1, 8, 22) 20%, #3aa6ff 90%);
background-size: auto 100%;
background-repeat: no-repeat;
}
h1:focus {
outline: none;
}
a, .btn-link {
color: #0071c1;
}
.btn-primary {
color: #fff;
background-color: #1b6ec2;
border-color: #1861ac;
}
.content {
padding-top: 1.1rrem;
}
.valid.modified:not([type=checkbox]) {
outline: 1px solid #26b050;
}
.invalid {
outline: 1px solid red;
}
.validation-message {
color: red;
}
.regionnotclicked {
fill: white;
}
.regionclicked {
fill: red;
}
.striked {
text-decoration: line-through;
}
.textTrim {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.maxChar {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.max5Char {
.maxChar;
width: 5rrem;
}
.max10Char {
.maxChar;
width: 10rrem;
}
.max20Char {
.maxChar;
width: 20rrem;
}
.max30Char {
.maxChar;
width: 30rrem;
}
.max40Char {
.maxChar;
width: 40rrem;
}
.max50Char {
.maxChar;
width: 50rrem;
}
.max100Char {
.maxChar;
width: 100rrem;
}
.footer {
line-height: 1.8rem;
}
#blazor-error-ui {
background: lightyellow;
bottom: 0;
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
display: none;
left: 0;
padding: 0.6rem 1.25rem 0.7rem 1.25rrem;
position: fixed;
width: 100%;
z-index: 1000;
}
#blazor-error-ui .dismiss {
cursor: pointer;
position: absolute;
right: 0.75rrem;
top: 0.5rrem;
}
.blazor-error-boundary {
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
padding: 1rem 1rem 1rem 3.7rrem;
color: white;
}
.blazor-error-boundary::after {
content: "An error has occurred."
}
/* Gestione specifica oggetti MON*/
/* Gestione luminosità generale */
.bright50 {
filter: brightness(50%);
}
.bright75 {
filter: brightness(75%);
}
.bright90 {
filter: brightness(90%);
}
.bright100 {
}
.bright110 {
filter: brightness(110%);
}
.bright125 {
filter: brightness(125%);
}
.bright150 {
filter: brightness(150%);
}
.bright175 {
filter: brightness(175%);
}
.bright200 {
filter: brightness(200%);
}
.opacity-80 {
opacity: 0.8
}
.opacity-85 {
opacity: 0.85
}
.opacity-90 {
opacity: 0.9
}
.opacity-95 {
opacity: 0.95
}
/* MAIN: gestione layout dinamico mappa... */
.fontSmall {
font-size: 0.75rem;
}
.fontSmaller {
font-size: 0.6rem;
}
.statusMap .ui-title, .statusMap .ui-li-aside {
/*font-weight: 200;*/
text-transform: uppercase;
font-size: 1.5rem;
line-height: 1.1rem;
color: #DEDEDE;
text-shadow: 2px 2px 4px #000;
text-align: center;
background: linear-gradient(270deg, rgba(20,20,20,0.7), rgba(100,100,100,0.7), rgba(20,20,20,0.7));
}
.statusMap .ui-subtitle {
line-height: 1.1rem;
color: #DEDEDE;
text-shadow: 2px 2px 4px #000;
text-align: center;
background: linear-gradient(270deg, rgba(0,0,0,0.4), rgba(100,100,100,0.4), rgba(0,0,0,0.4));
}
.statusMap .ui-art {
}
.statusMap .ui-footer {
color: #CDCDCD;
background: linear-gradient(270deg, rgba(10,10,10,0.7), rgba(80,80,80,0.7), rgba(10,10,10,0.7));
}
.machBlock {
padding: 0 2px 0 2px;
}
@media all and (min-width: 320px) {
.statusMap .ui-title, .statusMap .ui-li-aside {
font-size: 1.5rem;
}
}
@media all and (min-width: 800px) {
.statusMap .ui-title, .statusMap .ui-li-aside {
font-size: 1.6rem;
}
}
@media all and (min-width: 1024px) {
.statusMap .ui-title, .statusMap .ui-li-aside {
font-size: 1.7rem;
}
}
@media all and (min-width: 1440px) {
.statusMap .ui-title, .statusMap .ui-li-aside {
font-size: 1.8rem;
}
}
@media all and (min-width: 1980px) {
.statusMap .ui-title, .statusMap .ui-li-aside {
font-size: 1.9rem;
}
}
@media all and (min-width: 3960px) {
.statusMap .ui-title, .statusMap .ui-li-aside {
font-size: 2.0rem;
}
}
/* END: gestione layout dinamico mappa... */
/* area testo scorrevole*/
/* Testo ridotto se troppo lungo... */
.text-reduced {
height: 1.1rem;
line-height: 0.9em;
overflow-wrap: anywhere;
}
.text-reduced-a {
&:extend(.text-reduced);
font-size: 0.96rem;
}
.text-reduced-b {
&:extend(.text-reduced);
font-size: 0.92rem;
}
.text-reduced-c {
&:extend(.text-reduced);
font-size: 0.88rem;
}
/* gestione scroll testo A: 100% */
.scroll-left {
height: 1.25em;
overflow: hidden;
position: relative;
width: 100%;
white-space: nowrap;
}
.scroll-left span {
position: absolute;
width: 100%;
height: 100%;
margin: 0;
line-height: 1.25em;
/* Starting position */
-moz-transform: translateX(0%);
-webkit-transform: translateX(0%);
transform: translateX(0%);
}
/* gestione scroll testo A: 90% */
.scroll-left-a {
&:extend(.scroll-left);
}
.scroll-left-a span {
&:extend(.scroll-left span);
/* Apply animation to this element */
-moz-animation: scroll-left-a 10s ease infinite;
-webkit-animation: scroll-left-a 10s ease infinite;
animation: scroll-left-a 10s ease infinite;
}
/* Move it (define the animation) */
@keyframes scroll-left-a {
0% {
transform: translateX(0%);
}
30% {
transform: translateX(0%);
}
100% {
transform: translateX(-90%);
}
}
/* gestione scroll testo B: 100% */
.scroll-left-b {
&:extend(.scroll-left);
}
.scroll-left-b span {
&:extend(.scroll-left span);
/* Apply animation to this element */
-moz-animation: scroll-left-b 10s ease infinite;
-webkit-animation: scroll-left-b 10s ease infinite;
animation: scroll-left-b 10s ease infinite;
}
/* Move it (define the animation) */
@keyframes scroll-left-b {
0% {
transform: translateX(0%);
}
30% {
transform: translateX(0%);
}
100% {
transform: translateX(-120%);
}
}
/* gestione scroll testo C: 150% */
.scroll-left-c {
&:extend(.scroll-left);
}
.scroll-left-c span {
&:extend(.scroll-left span);
/* Apply animation to this element */
-moz-animation: scroll-left-c 10s ease infinite;
-webkit-animation: scroll-left-c 10s ease infinite;
animation: scroll-left-c 10s ease infinite;
}
/* Move it (define the animation) */
@keyframes scroll-left-c {
0% {
transform: translateX(0%);
}
30% {
transform: translateX(0%);
}
100% {
transform: translateX(-150%);
}
}
/* gestone reconnect modal*/
#reconnect-modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.5); /* Black w/ opacity */
}
#reconnect-modal-box {
position: fixed;
top: 20%;
left: 20%;
width: 60%;
height: 30%;
.titolo {
font-size: 4rem;
}
}
/* area semafori*/
.semBlinkVe,
.semFixVe,
.semFixVe_b,
.semVe,
.semVe_b {
background: #009036;
background: rgba(0,255,80,.6);
color: #FFFFAA;
}
.semBlinkGr,
.semFixGr,
.semFixGr_b,
.semGr,
.semGr_b {
background-color: #bcbcbc;
background: rgba(180,180,180,.6);
}
.semGi {
text-align: left;
background: #8a8d27;
background: rgba(230,210,0,.6);
padding: 0px 4px 0px 4px;
color: #000;
}
.semGi_b,
.semFixGi,
.semFixGi_b {
text-align: left;
background: #f9ff18;
background: rgba(255,255,0,.8);
padding: 0px 4px 0px 4px;
color: #333;
}
.semBl {
text-align: left;
background: #000E7A;
background: rgba(0,5,200,.6);
padding: 0px 4px 0px 4px;
color: #959500;
}
.semBl_b,
.semFixBl,
.semFixBl_b {
text-align: left;
background: #243FFF;
background: rgba(60,80,255,.8);
padding: 0px 4px 0px 4px;
color: #ffff32;
}
.semRo {
text-align: left;
background-color: #7a000e;
background: rgba(200,0,5,.6);
padding: 0px 4px 0px 4px;
color: #959500;
}
.semRo_b,
.semFixRo,
.semFixRo_b {
text-align: left;
background-color: #ff243f;
background: rgba(255,60,80,.8);
padding: 0px 4px 0px 4px;
color: #ffff32;
}
/* semafori con animazione blinking */
.no-cpu {
-moz-transform: translateZ(0);
-o-transform: translateZ(0);
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
}
@-webkit-keyframes blinkBack {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@-moz-keyframes blinkBack {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@-o-keyframes blinkBack {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@keyframes blinkBack {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.semBlinkGi {
background: linear-gradient(270deg, #8a8d27, #f9ff18);
background-size: 400% 400%;
-webkit-animation: blinkBack 2s ease infinite;
-moz-animation: blinkBack 2s ease infinite;
-o-animation: blinkBack 2s ease infinite;
animation: blinkBack 2s ease infinite;
}
.semBlinkRo {
background: linear-gradient(270deg, #7a000e, #ff243f);
background-size: 400% 400%;
-webkit-animation: blinkBack 2s ease infinite;
-moz-animation: blinkBack 2s ease infinite;
-o-animation: blinkBack 2s ease infinite;
animation: blinkBack 2s ease infinite;
color: Yellow;
}
/* Gestione size caratteri */
.mainHead,
.logoImg {
height: 1.6rem;
}
@media all and (max-width: 425px) {
body {
font-size: 0.7rem;
}
}
@media all and (min-width: 425px) {
.mainHead {
font-size: 1.3rem;
}
body {
font-size: 0.8rem;
}
.logoImg {
height: 30px;
}
}
@media all and (min-width: 768px) {
.mainHead {
font-size: 1.4rem;
}
body {
font-size: 1rem;
}
.logoImg {
height: 35px;
}
}
@media all and (min-width: 800px) {
.mainHead {
font-size: 0.9rem;
}
body {
font-size: 0.6rem;
}
.logoImg {
height: 40px;
}
}
@media all and (min-width: 1024px) {
.mainHead {
font-size: 1.0rem;
}
body {
font-size: 0.7rem;
}
}
@media all and (min-width: 1280px) {
.mainHead {
font-size: 1.1rem;
}
body {
font-size: 0.8rem;
}
}
@media all and (min-width: 1440px) {
.mainHead {
font-size: 1.3rem;
}
body {
font-size: 1.0rem;
}
}
@media all and (min-width: 1680px) {
.mainHead {
font-size: 1.4rem;
}
body {
font-size: 1.1rem;
}
}
@media all and (min-width: 1920px) {
.mainHead {
font-size: 1.6rem;
}
body {
font-size: 1.3rem;
}
}
@media all and (min-width: 2560px) {
.mainHead {
font-size: 1.4rem;
}
body {
font-size: 1.8rem;
}
}