Files
myprojplanet_vite/src/css/app.scss
Surya Paolo 89a8d10eae - verifica email se non è stata verificata (componente)
- altri aggiornamenti grafica PAGERIS.
- OLLAMA AI
2025-12-11 18:34:39 +01:00

3384 lines
57 KiB
SCSS
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* blocco scroll orizzontale a ogni livello “pagina” */
html,
body,
#q-app {
width: 100%;
max-width: 100%;
overflow-x: hidden !important;
}
.q-layout,
.q-page-container,
.q-page {
max-width: 100%;
overflow-x: hidden;
/* evita barre X su page container */
@media (max-width: 600px) {}
}
// Variabili per riusabilità
$heading-primary-size-mobile: 1.25rem;
$heading-primary-size-desktop: 1.5rem;
$heading-primary-weight: 700;
$heading-primary-letter-spacing: -0.02em;
$heading-primary-line-height: 1.3;
h1 {
// Font size fluido e responsive
font-size: clamp($heading-primary-size-mobile, 4vw, $heading-primary-size-desktop);
// Typography
font-weight: $heading-primary-weight;
letter-spacing: $heading-primary-letter-spacing;
line-height: $heading-primary-line-height;
// Migliora la leggibilità
color: var(--q-primary, #1976d2);
// Anti-aliasing per rendering più pulito
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
// Spacing opzionale
margin-bottom: 1rem;
// Transizione smooth per dark mode
transition: color 0.3s ease;
}
body {
font-family: 'Segoe UI', Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
line-height: 1.7;
/*background: linear-gradient(135deg, #f5f7fa 0%, #f3fff2 100%);*/
background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
//font-size: 1rem;
@media (max-width: 600px) {
line-height: 1.5;
}
}
.text-mycol {
color: #333333 !important;
}
.bg-mycol {
background: #333333 !important;
}
html {
font-size: 100%; // default font size (browser 16) -> (10 62.5%)
}
p {
font-size: 125%; // default font size (browser 16) -> (10 62.5%)
margin: 0 0 8px;
}
// Liste più universali e flessibili
ul {
padding: 0;
// Lista di default con checkmark
&:not(.q-list) li {
list-style: none;
&::before {
content: '\2713';
color: #667eea;
display: inline-block;
width: 1em;
@media (max-width: 600px) {
margin-left: 5px;
}
}
}
}
ol li::before {
color: #667eea;
display: inline-block;
width: 1em;
margin-left: 20px;
@media (max-width: 600px) {
margin-left: 5px;
}
}
li {
font-size: 18px;
line-height: 1.7;
@media (max-width: 600px) {
font-size: 1rem;
}
}
.logo {
margin-left: auto;
margin-right: auto;
max-height: 200px;
max-width: 200px;
@media (max-width: 718px) {
max-height: 130px;
max-width: 130px;
}
}
$grayshadow: #555;
$graytext: #555;
$textcol: blue;
$textcol_scuro: darkblue;
$heightBtn: 100%;
.flex-item {
// background-color: #d5e2eb;
display: flex;
padding: 2px;
margin: 2px;
margin-left: 3px;
margin-right: 3px;
color: #000;
font-size: 0.9rem;
height: $heightBtn;
line-height: $heightBtn;
vertical-align: middle;
//flex: 0 0 100%;
}
.flex-item-btn {
padding: 8px;
margin: 10px;
line-height: 20px;
font-weight: bold;
font-size: 2em;
text-align: center;
}
.fade-enter-active,
.fade-leave-active {
transition: opacity .2s;
}
.fade-enter,
.fade-leave-to
/* .fade-leave-active below version 2.1.8 */
{
opacity: 0;
}
.slide-enter-active {
animation: slide-in 0.2s ease-out forwards;
}
.slide-leave-active {
animation: slide-out 0.5s ease-out forwards;
}
@keyframes slide-in {
from {
transform: translateX(-500px);
}
to {
transform: translateX(0);
}
}
@keyframes slide-out {
from {
transform: translateX(0);
}
to {
transform: translateX(1600px);
}
}
.myinput-area {
height: 45px;
}
.myinput-area-big {
height: 90px;
}
.my-notif-class {
font-weight: bold;
font-size: 1rem;
border-radius: 30px !important;
text-shadow: .05rem .05rem .15rem #878787;
}
.mybanner {
font-weight: bold;
font-size: 1.1rem;
text-align: center;
}
.update-banner {
background: linear-gradient(135deg, #4caf50 0%, #66bb6a 100%) !important;
color: white !important;
border-radius: 12px !important;
padding: 12px 16px !important;
box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
animation: slideDown 0.4s ease;
.q-banner__avatar {
align-self: center;
}
.q-banner__content {
padding: 0;
}
}
.update-icon {
font-size: 1.8rem;
color: #fff;
animation: rotate 2s linear infinite;
}
.update-content {
text-align: center;
}
.update-title {
font-size: 1.2rem;
font-weight: 700;
margin-bottom: 4px;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.update-message {
font-size: 0.95rem;
font-weight: 500;
opacity: 0.95;
line-height: 1.4;
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@media screen and (max-width: 600px) {
.update-banner {
padding: 10px 12px !important;
}
.update-title {
font-size: 1.1rem;
}
.update-message {
font-size: 0.9rem;
}
.update-icon {
font-size: 1.5rem;
}
}
.mybanner-small {
font-weight: bold;
font-size: 0.85rem;
text-align: center;
}
.mybanner_left {
padding: 4px;
font-weight: bold;
font-size: 1rem;
text-align: left;
}
.lowperc {
color: red;
}
.medperc {
color: blue;
}
.highperc {
color: green;
}
.hide-if-small {
@media (max-width: 600px) {
display: none;
}
}
.thiny-if-small {
@media (max-width: 600px) {
max-width: 22px;
}
}
.links,
.links a {
text-shadow: 1px 1px 1px #555 !important;
// font-weight: bold;
color: cornflowerblue !important;
}
.links:hover {
color: white !important;
}
.text-subtitle1,
h2 {
margin-bottom: 6px;
font-size: 1.35rem;
font-weight: 400;
text-shadow: .25 .25rem .5rem $grayshadow;
letter-spacing: .00937em;
&.big {
font-size: 1.5rem;
}
@media (max-width: 768px) {
line-height: 2rem;
}
}
.text-price {
margin-bottom: 6px;
font-size: 1.10rem;
font-weight: 400;
text-shadow: .25 .25rem .5rem $grayshadow;
letter-spacing: .00937em;
&.big {
font-size: 1.5rem;
}
}
.text-subtitle2,
h3 {
margin-bottom: 4px;
font-size: 1.15rem;
font-weight: 400;
line-height: 1.75rem;
letter-spacing: .00937em;
text-shadow: .0625rem .0625rem .125rem $grayshadow;
}
.text-subtitle3 {
font-size: 1rem;
font-weight: 400;
line-height: 1.75rem;
letter-spacing: .00937em;
}
.text-subtitle3_short {
font-size: 1rem;
font-weight: 400;
line-height: 1.25rem;
letter-spacing: .00937em;
}
.text-3d {
letter-spacing: .00937em;
font-size: 1rem;
text-shadow: 1rem 1rem 2rem #ff0;
}
.text-currency {
padding: 2px 2px;
font-size: 0.65rem;
font-weight: bold !important;
line-height: 1.55rem;
text-shadow: .0525rem .0525rem .125rem rgb(0, 0, 0);
letter-spacing: .00937em;
}
@media (max-width: 718px) {
// PER VERSIONE MOBILE
p {
// font-size: 100%; // default font size (browser 16) -> (10 62.5%)
// font-family: "Abyssinica SIL", serif;
text-justify: auto;
margin: 0 0 4px;
}
.text-subtitle1 {
font-size: 1.25rem;
}
.text-subtitle2 {
font-size: 1rem;
}
.text-subtitle3 {
font-size: 0.75rem;
}
.text-subtitle4 {
font-size: 0.7rem;
}
.cltexth3 {
font-size: 1.25rem;
}
.text-big {
font-size: 1.25rem;
}
.text-sobig {
font-size: 1.50rem;
}
}
.dialog_annunci {
max-width: 700px !important;
@media (max-width: 700px) {
/* Versione Mobile */
max-width: 100% !important;
}
}
.my-card {
width: 100%;
min-width: 280px;
padding: 1rem 1rem;
/* più sicuro su mobile */
@media (max-width: 360px) {
min-width: 240px;
}
@media (max-width: 1024px) {
/* Versione Mobile */
max-width: 1024px !important;
min-width: 250px;
}
// box-shadow: none;
}
.my-card-withshadow {
width: 100%;
max-width: 300px;
min-width: 300px;
padding: 1rem 1rem;
}
.myimgtitle {
max-width: 100%;
width: 100%;
@media (max-width: 718px) {}
}
.myimgproduct {
max-width: 100%;
height: 300px;
@media (max-width: 718px) {
height: 250px;
}
}
.my-card-big {
width: 100%;
padding: 1rem 1rem;
box-shadow: none;
@media (max-width: 718px) {
// PER VERSIONE MOBILE
max-width: 400px;
padding: 0.5rem 0.5rem;
}
}
.my-card-selected {
transition: box-shadow 0.3s;
/* Add a transition for a smooth effect */
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;
color: blue;
background-color: lightblue;
}
.my-card-prod:hover {
transition: transform .2s;
transform: scale(1.02);
}
.my-card-prod {
transition: box-shadow 0.3s ease, transform 0.3s ease;
/* Add a transition for a smooth effect */
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
width: 100%;
max-width: 300px;
padding: 0.5rem 0.5rem;
box-shadow: none;
@media (max-width: 718px) {
// PER VERSIONE MOBILE
max-width: 400px;
padding: 1rem 1rem;
}
}
.text-trans {
opacity: 0.9;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
filter: alpha(opacity=90);
}
.text-spacetrans {
padding: 0 !important;
background: rgba(0, 0, 0, 0.3) !important;
border-radius: 30px !important;
}
.text-shadow {
text-shadow: .15rem .15rem .15rem $grayshadow;
}
.citazione {
font-size: 0.75rem;
font-family: "Lucida Calligraphy", serif;
}
.cltexth3,
.cltexth2,
.cltexth4,
.cltexth5,
.cltexth6 {
font-size: 1.25rem;
font-weight: 400;
line-height: 1.75rem;
letter-spacing: .01em;
text-align: center !important;
}
.cltexth4 {
font-size: 1.15rem;
}
.cltexth5 {
font-size: 1rem;
}
.cltexth6 {
font-size: 0.75rem;
}
.cltexth2 {
font-size: 1.5rem;
}
.boldhigh,
.boldop,
.text-big {
font-weight: 500;
text-shadow: .05rem .05rem .05rem $grayshadow;
}
.boldop {
color: darkblue;
}
.text-big {
font-size: 1.5rem;
}
.center_to_image {
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 100%;
text-align: center;
}
.center_img {
display: block !important;
margin-left: auto;
margin-right: auto;
}
.padding_cell {
padding: 0.75rem 0.5rem;
}
@media (max-width: 3000px) {
.myclimg,
.maxwidth {
height: 750px !important;
}
}
@media (max-width: 1200px) {
.myclimg,
.maxwidth {
height: 700px !important;
}
}
.maxwidth {
max-width: 1200px !important;
}
@media (max-width: 1000px) {
.myclimg,
.maxwidth {
height: 650px !important;
}
}
@media (max-width: 800px) {
.myclimg,
.maxwidth {
height: 550px !important;
}
}
@media (max-width: 700px) {
.myclimg,
.maxwidth {
height: 400px !important;
}
}
@media (max-width: 600px) {
.myclimg,
.maxwidth {
height: 400px !important;
}
}
// preloading images:
@media screen {
div#preloader {
position: absolute;
left: -9999px;
top: -9999px;
}
div#preloader img {
display: block;
}
}
@media print {
div#preloader,
div#preloader img {
visibility: hidden;
display: none;
}
}
.tothebottomfixed {
left: 0;
right: 0;
position: fixed;
z-index: 9999;
box-sizing: border-box;
overflow: hidden;
margin: 0 auto;
bottom: 35px !important;
}
.tothetop {
left: 0;
right: 0;
position: fixed;
z-index: 9999;
box-sizing: border-box;
overflow: hidden;
margin: 0 auto;
top: 20px;
}
.centermydiv {
margin-left: auto;
margin-right: auto;
display: block;
}
.centermydiv2 {
margin-left: auto;
margin-right: auto;
}
.text-verified {
font-size: 1.25rem;
text-shadow: .05rem .05rem .15rem #fff;
background-color: red;
border-radius: 1rem !important;
text-align: center;
margin: 5px;
}
.text-evidente {
font-size: 1.25rem;
color: blue;
line-height: 1.75rem;
letter-spacing: .01em;
}
.text-evidente2 {
font-size: 1.25rem;
color: blue;
line-height: 1.75rem;
letter-spacing: .005em;
}
.shadow-max {
//color: white;
text-shadow: .25rem .25rem .5rem $grayshadow;
}
.myshadow {
//color: white;
text-shadow: .05rem .05rem .1rem $grayshadow;
font-weight: bold;
}
.myh4 {
font-size: 1.25rem;
color: red;
line-height: 125%;
}
.mybtn_sticky {
opacity: 0.6;
}
.mybtn_sticky:hover {
opacity: 1;
}
.imgautosize {
margin-left: auto;
margin-right: auto;
margin-top: auto;
margin-bottom: auto;
display: block;
}
.margin_buttons {
margin: -8px -8px;
}
.margin_buttons>* {
margin: 12px 12px !important;
}
.fa-flag-it:before {
content: url('/svg/flag_it.svg');
}
.fa-flag-us:before {
content: url('/svg/flag_us.svg');
}
.fa-flag-es:before {
content: url('/svg/flag_es.svg');
}
.fa-flag-gb:before {
content: url('/svg/flag_gb.svg');
}
.fa-flag-de:before {
content: url('/svg/flag_de.svg');
}
.animazione {
animation-duration: 2s;
animation-fill-mode: both;
}
.anim1 {
animation-duration: 0.5s;
animation-fill-mode: both;
}
.wrapword {
overflow-wrap: break-word;
}
.clBorderWarning,
.clBorderZoom,
.clBorderTutor {
border: #f69f09 solid 5px;
border-radius: 32px;
font-size: 1rem;
padding: 6px;
}
.clBorderShare {
border-radius: 32px;
font-size: 1rem;
padding: 6px;
border: #666cf6 solid 3px;
}
.clBorderImportant,
.clBorderSteps {
border: red solid 5px;
border-radius: 16px;
font-size: 1rem;
padding: 8px;
}
.clBorderSperator {
background-color: blue;
font-size: 1rem;
padding: 4px;
}
.clBorderZoom {
border: #666cf6 solid 5px;
}
.clBorderService {
border-radius: 16px;
font-size: 1rem;
padding: 6px;
}
.clBorderUser {
border-radius: 16px;
font-size: 1rem;
margin-top: 2px;
padding: 0px !important;
}
.clBorderTutor {
border-radius: 16px;
border: #f634b5 solid 2px;
}
.clBorderSteps {
border-color: green;
}
.text-h5-diff {
@media (max-width: 600px) {
font-size: 1.25rem;
font-weight: 400;
line-height: 1.5rem;
letter-spacing: normal;
}
}
.text-h7-dense {
font-size: 1rem;
font-weight: 400;
line-height: 1.25rem;
letter-spacing: normal;
}
.clBorderSmall {
border: #dfe3f6 solid 1px;
border-radius: 16px;
font-size: 1rem;
padding: 4px;
}
.clBorderxs {
border: #dfe3f6 solid 1px;
border-radius: 16px;
padding-left: 3px;
padding-right: 3px;
padding-top: 0;
padding-bottom: 0;
}
.img {
max-width: 100%;
height: auto;
}
.imgintro {
margin-left: auto;
margin-right: auto;
}
.img2 {
margin-left: auto;
margin-right: auto;
max-height: 550px;
max-width: 550px;
@media (max-width: 718px) {
max-height: 350px;
max-width: 350px;
}
}
.center-150 {
width: 150px;
margin-left: auto;
margin-right: auto;
}
.text-h7 {
font-size: 1rem;
}
.text-h7 {
font-size: 1rem;
}
.text-h8 {
font-size: 0.85rem !important;
}
.text-h9 {
font-size: 0.65rem !important;
}
.bordo_stondato,
.bordo_stondato_blu {
margin: 4px;
border-radius: 3rem;
padding-left: 14px;
padding-right: 14px;
padding-top: 8px;
padding-bottom: 8px;
border: solid 3px #49b502;
}
.bordo_stondato_blu {
border: solid 3px #0f01b5;
}
.bordo_stondato2,
.bordo_stondato_blu2 {
margin: 4px;
border-radius: 3rem;
padding-left: 2px;
padding-right: 2px;
padding-top: 2px;
padding-bottom: 2px;
border: solid 3px #49b502;
}
.bordo_stondato_stretto {
margin: 4px;
border-radius: 3rem;
padding-left: 2px;
padding-right: 2px;
padding-top: 0px;
padding-bottom: 0px;
border: solid 3px #49b502;
}
.bordo_stondato_small {
margin: 0px;
border-radius: 2rem;
padding-left: 4px;
padding-right: 4px;
padding-top: 0px;
padding-bottom: 0px;
border: solid 2px #49b502;
}
.bordo_stondato_pending,
.bordo_quadrato_pending {
margin: 4px;
padding-left: 14px;
padding-right: 14px;
padding-top: 0px;
padding-bottom: 0px;
border: solid 1px #4a6598;
}
.bordo_stondato_pending {
border-radius: 3rem;
}
.bordo_stondato_circuiti {
margin: 4px;
border-radius: 1.15rem;
padding-left: 5px;
padding-right: 5px;
padding-top: 2px;
padding-bottom: 2px;
border: solid 2px #a5aacc;
box-shadow: 0 0 6px rgba(246, 246, 246, 0.2);
}
.bordo_quadrato {
margin: 1px;
border-radius: 0.5rem;
padding-left: 2px;
padding-right: 2px;
padding-top: 4px;
padding-bottom: 4px;
border: solid 2px #2d3e88;
}
.bordo_stondato_blu2 {
border: solid 3px #0f01b5;
}
.my-sticky-header-table .q-table__middle {
max-height: 650px !important;
@media (max-width: 718px) {
// PER VERSIONE MOBILE
max-height: 400px !important;
}
}
/*
.my-sticky-header-table .q-table__top,
.my-sticky-header-table .q-table__bottom,
.my-sticky-header-table thead tr:first-child th {
background-color: #f0ffff;
}
*/
.my-sticky-header-table thead tr th {
position: sticky;
z-index: 1;
}
.my-sticky-header-table thead tr:first-child th {
top: 0;
}
.my-sticky-header-table.q-table--loading thead tr:last-child th {
/* height of all previous header rows */
top: 60px;
}
.my-card-shadow {
width: 100%;
margin-left: auto;
margin-right: auto;
min-width: 0;
/* lascia che si adatti */
padding-bottom: 20px;
margin-top: 1rem;
margin-bottom: 1rem;
border-radius: 30px;
// transition: transform .2s ease-out;
@media (max-width: 1024px) {
max-width: 1024px;
min-width: 300px;
}
}
.my-card-shadow:hover {
// transition: transform .2s ease-in;
// transform: scale(1.03);
@media (max-width: 500px) {
// transform: scale(1);
}
}
.text-small {
font-size: 0.90rem;
@media (max-width: 500px) {
font-size: 0.8rem !important;
}
}
#mycontainer {
min-height: 100%;
position: relative;
}
.myheader {
padding: 5px;
@media (max-width: 500px) {
padding: 1px;
}
}
#mybody {
padding: 5px;
@media (max-width: 500px) {
padding: 1px;
}
}
.iconplusminus {
font-size: 6px;
}
.clpos {
color: #C0C0C0;
}
.clresp {
color: #206d24;
}
.clrespempty {
color: #DDDDDD;
}
@media (max-width: 600px) {
.flex-item {
padding: 1px;
margin: 1px;
}
.flex-container {
margin: 0;
padding: 0;
}
.q-tab-panel {
padding: 4px;
}
.q-item {
padding: 2px 4px;
}
}
.q-item__section--side {
margin-left: 0px !important;
}
.underline {
text-decoration: underline;
color: blue;
}
.underline:hover {
font-weight: bold;
cursor: pointer;
}
.imglink {
cursor: pointer;
}
.centeritems {
place-content: center;
}
.combowidth,
.comboselector {
min-width: 190px;
@media (max-width: 450px) {
min-width: 125px;
white-space: nowrap;
}
}
.comboselector {
font-size: 0.85rem !important;
flex-wrap: nowrap;
white-space: nowrap;
}
.myimg-view {
border-radius: 5px !important;
height: 90px;
}
.dialog_card {
min-width: auto;
width: 100% !important;
margin-left: 2px !important;
margin-right: 2px !important;
@media (max-width: 600px) {
width: auto;
min-width: auto;
}
}
.wrap_anywhere {
overflow-wrap: anywhere;
}
.imgprofile {
border: 0px solid rgb(29, 118, 13);
border-radius: 16px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;
margin: 1px;
object-position: 50% 5% !important;
object-fit: contain !important;
@media (max-width: 600px) {
/* Versione Mobile */
}
}
.imgprofile_small {
border: 0px solid rgb(29, 118, 13);
border-radius: 30px;
box-shadow: 0 0 45px rgba(246, 246, 246, 0.2);
margin: 1px;
transform: scale(1.0);
}
.iconprofile_small {
border-radius: 30px;
}
.fill-all-width {
width: -webkit-fill-available;
}
.small-screen-only {
@media (max-width: $breakpoint-xs-max) {
display: block;
}
@media (min-width: $breakpoint-sm-min) {
display: none;
}
}
.large-screen-only {
@media (max-width: $breakpoint-xs-max) {
display: none;
}
@media (min-width: $breakpoint-sm-min) {
display: block;
}
}
.no-padding {
padding: 0 !important;
}
.popupedit {
border: 1px solid #bbb;
border-radius: $generic-border-radius
}
.dateevent {
border-radius: 16px;
border: red solid 2px;
padding: 3px;
text-align: right;
font-style: italic;
margin-left: 5px;
font-size: 0.85rem;
color: darkblue;
}
.datainizio,
.datafine {
font-weight: bold;
}
.accom_num,
.accom_maxosp {
font-size: 1.25rem;
background-color: green;
font-weight: bold;
color: white;
margin-right: 10px;
padding: 10px;
}
.accom_maxosp {
background-color: blue !important;
}
.img_effetto_3d {
border-radius: 10px !important;
height: 300px;
max-width: 300px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
}
@font-face {
font-family: WalterTurncoat;
src: url(./fonts/walterturncoat.woff);
}
@font-face {
font-family: Baskervville;
src: url(./fonts/Baskervville-Regular.woff);
}
@font-face {
font-family: Baskervville;
src: url(./fonts/Baskervville-Italic.woff);
font-style: italic;
}
.font-Lato {
font-family: 'Lato', 'Helvetica Neue', Arial, sans-serif !important;
}
.font-Montserrat {
font-family: 'Montserrat', 'Lato', 'Helvetica Neue', Arial, sans-serif !important;
}
.font-Verdana {
font-family: 'Verdana', 'Lato', 'Helvetica Neue', Arial, sans-serif !important;
}
.font-Baskervville {
font-family: 'Baskervville', 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif !important;
}
.font-SourceSansPro {
font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif !important;
}
.font-Arial {
font-family: 'Arial Black', 'Helvetica Neue', Arial, sans-serif !important;
}
.title_shadow {
font-family: WalterTurncoat, handwriting, Arial, sans-serif;
font-size: 1.25rem;
color: #8300e9 !important;
font-weight: 500;
text-shadow: .1rem .1rem .1rem $grayshadow;
}
.title_view_shadow {
font-family: WalterTurncoat, handwriting, Arial, sans-serif;
font-size: 1.15rem;
text-shadow: .05rem .05rem .05rem $grayshadow;
letter-spacing: 0px !important;
}
.title_view_small_shadow {
font-family: WalterTurncoat, handwriting, Arial, sans-serif;
font-size: 0.75rem;
text-shadow: .05rem .05rem .05rem $grayshadow;
letter-spacing: 0.25px;
}
.title_view_subtitle_shadow {
font-family: Arial, sans-serif;
font-size: 0.7rem;
text-shadow: .05rem .05rem .05rem $grayshadow;
letter-spacing: 0.15px;
}
.title_view_subtitle {
font-family: Arial, sans-serif;
font-size: 0.7rem;
letter-spacing: 0.15px;
min-height: 27px;
}
.text-normal {
font-family: 'Open Sans', Arial, sans-serif;
font-size: 1rem;
color: #666;
line-height: 1.7em;
font-weight: 500;
-webkit-font-smoothing: antialiased;
}
.q-carousel__slide {
background-size: contain !important;
background-position: 50% center !important;
background-repeat: no-repeat !important;
}
.carousel_img {
//background-image: url(/images/cibo_sano.jpg);
background-size: contain !important;
background-position: 50% center !important;
background-repeat: no-repeat !important;
}
.username {
font-weight: bold;
text-shadow: .25 .25rem .5rem $grayshadow;
letter-spacing: 0.025rem;
font-style: italic;
}
.q-card__section {
@media (max-width: 600px) {
padding: 8px !important;
}
}
.align_elem_right {
margin-left: auto;
}
.text-section {
font-size: 1.15rem;
font-weight: bold;
}
.sezioni {
vertical-align: center;
padding: 4px;
}
.mysmalltabs {
padding-left: 1px !important;
padding-right: 1px !important;
}
.feat-descr {
font-size: 1.15rem;
}
.circuito_abilitato {
background-color: green;
color: green;
margin-right: 4px;
padding: 2px;
font-weight: bold;
}
.circuito_fase_2 {
background-color: orange;
color: white;
margin-right: 4px;
padding: 2px;
font-weight: bold;
}
.circuito_in_creazione {
background-color: blue;
color: white;
margin-right: 4px;
padding: 2px;
font-weight: bold;
}
.q-pa-xxs {
padding: 2px 2px;
}
.q-pa-sm2 {
padding: 12px 12px;
}
.carousel_img_3 {
background-size: cover !important;
background-position: 50% center !important;
background-repeat: no-repeat !important;
}
.poster_shadows {
border-radius: 30px;
background: #1729ea;
background: -webkit-linear-gradient(45deg, #17ead9, #6078ea) !important;
background: linear-gradient(45deg, #17ead9, #6078ea) !important;
}
.chip_shadow {
border-radius: 20px;
background: #1729ea;
background: -webkit-linear-gradient(45deg, #1e90ff, #3742fa) !important;
/* A combination of lighter blues */
background: linear-gradient(45deg, #3a90e7, #8e92e4) !important;
box-shadow: 1px 1px 3px #5f6f8b;
color: #ffffff;
/* Ensure the text is white for better contrast */
}
.last_access {
opacity: 0.7;
margin-top: -10px;
color: white;
z-index: 100;
margin-bottom: 5px;
padding: 5px;
border-radius: 20px;
background: #109d3b;
background: -webkit-linear-gradient(45deg, #0a7e23, #0c28b8) !important;
background: linear-gradient(45deg, #0a7e23, #0c28b8) !important;
}
.duration-2s {
transition-duration: 5s !important;
}
.duration-3s {
transition-duration: 3s !important;
}
.duration-4s {
transition-duration: 4s !important;
}
.duration-5s {
transition-duration: 5s !important;
}
.fade-enter-active,
.fade-leave-active {
transition: opacity 2s ease;
}
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}
.accordion-enter-active,
.accordion-leave-active {
transition: max-height 0.3s ease;
}
.accordion-enter,
.accordion-leave-to
/* .accordion-leave-active nella versione 2.1.8 e precedenti */
{
max-height: 0;
overflow: hidden;
}
.accordion-enter-to,
.accordion-leave {
max-height: 500px;
/* Imposta a quanto vuoi che si espanda */
}
.accordion-content {
overflow: hidden;
}
.fromsky-enter-active,
.fromsky-leave-active {
transition: opacity 2s ease;
}
.fromsky-enter-from {
top: -100px;
}
.fromsky-leave-to {
top: initial;
opacity: 0;
}
.anim_toBottom {
animation: moveToBottom 2s ease-in-out;
}
.anim_toRight {
animation: moveToRight 2s ease-in-out;
}
@keyframes moveToRight {
0% {
transform: translateX(-300px);
}
100% {
transform: translateX(0);
}
}
@keyframes moveToBottom {
0% {
transform: translateY(-100px);
}
100% {
transform: translateY(0);
}
}
.film,
.effect {
width: 100%;
height: 100%;
filter: blur(0.45px) drop-shadow(0px 0px 0px #fff1);
}
.film:after,
.effect:after {
content: '';
width: 120%;
height: 100%;
top: 0;
left: 0;
padding-left: 100px;
opacity: 0.5;
animation: film-scratch 0.45s steps(1) infinite;
background: repeating-linear-gradient(90deg, #0002 0 2px, transparent 4px 37vmin);
}
.effect:after {
left: 30%;
animation: effect-scratch 2s infinite;
}
.grain {
width: 100%;
height: 100%;
}
.grain:after {
content: '';
width: 110%;
height: 110%;
top: -5%;
left: -5%;
opacity: .25;
background-image:
repeating-conic-gradient(var(--black) 0%, transparent .00003%, transparent .0005%, transparent .00095%),
repeating-conic-gradient(var(--black) 0%, transparent .00005%, transparent 0.00015%, transparent 0.0009%);
animation: grain 0.5s steps(1) infinite;
filter: drop-shadow(0px 0px 1px black);
}
@keyframes grain {
0%,
100% {
transform: translate(0, 0);
}
10% {
transform: translate(-1%, -1%);
}
20% {
transform: translate(1%, 1%);
}
30% {
transform: translate(-2%, -2%);
}
40% {
transform: translate(3%, 3%);
}
50% {
transform: translate(-3%, -3%);
}
60% {
transform: translate(4%, 4%);
}
70% {
transform: translate(-4%, -4%);
}
80% {
transform: translate(2%, 2%);
}
90% {
transform: translate(-3%, -3%);
}
}
@keyframes film-scratch {
0%,
100% {
transform: translateX(0);
opacity: 0.5;
}
10% {
transform: translateX(-1%);
}
20% {
transform: translateX(1%);
}
30% {
transform: translateX(-2%);
opacity: 0.75;
}
40% {
transform: translateX(3%);
}
50% {
transform: translateX(-3%);
opacity: 0.5;
}
60% {
transform: translateX(8%);
}
70% {
transform: translateX(-3%);
}
80% {
transform: translateX(10%);
opacity: 0.25;
}
90% {
transform: translateX(-2%);
}
}
@keyframes effect-scratch {
0% {
transform: translateX(0);
opacity: 0.75;
}
10% {
transform: translateX(-1%);
}
20% {
transform: translateX(1%);
}
30% {
transform: translateX(-2%);
}
40% {
transform: translateX(3%);
}
50% {
transform: translateX(-3%);
opacity: 0.5;
}
60% {
transform: translateX(8%);
}
70% {
transform: translateX(-3%);
}
80% {
transform: translateX(10%);
opacity: 0.25;
}
90% {
transform: translateX(20%);
}
100% {
transform: translateX(30%);
}
}
/**** OLD FILM EFFECT END ****/
@keyframes zoomImg {
0% {
transform: translate(-75%, 10%) scale(1.5);
opacity: 0.6;
}
20% {
transform: translate(-15%, 10%) scale(1.5);
opacity: 1;
}
50% {
transform: translate(-15%, 25%) scale(1.4);
opacity: 1;
}
80% {
transform: translate(-65%, 25%) scale(1.4);
opacity: 1;
}
100% {
transform: translate(-75%, 10%) scale(1.5);
opacity: 0.6;
}
}
.zoomImg {
animation: zoomImg 20s linear infinite;
}
.animate__animated.animate__slow3 {
-webkit-animation-duration: calc(1s * 3);
animation-duration: calc(1s * 3);
-webkit-animation-duration: calc(var(--animate-duration) * 3);
animation-duration: calc(var(--animate-duration) * 3);
}
.animate__animated.animate__slow4 {
-webkit-animation-duration: calc(1s * 4);
animation-duration: calc(1s * 4);
-webkit-animation-duration: calc(var(--animate-duration) * 4);
animation-duration: calc(var(--animate-duration) * 4);
}
.animate__animated.animate__slow5 {
-webkit-animation-duration: calc(1s * 5);
animation-duration: calc(1s * 5);
-webkit-animation-duration: calc(var(--animate-duration) * 5);
animation-duration: calc(var(--animate-duration) * 5);
}
.animate__animated.animate__slow10 {
-webkit-animation-duration: calc(1s * 10);
animation-duration: calc(1s * 10);
-webkit-animation-duration: calc(var(--animate-duration) * 10);
animation-duration: calc(var(--animate-duration) * 10);
}
.animate__animated.animate__slow20 {
-webkit-animation-duration: calc(1s * 20);
animation-duration: calc(1s * 20);
-webkit-animation-duration: calc(var(--animate-duration) * 20);
animation-duration: calc(var(--animate-duration) * 20);
}
.animate__animated.animate__slow30 {
-webkit-animation-duration: calc(1s * 30);
animation-duration: calc(1s * 30);
-webkit-animation-duration: calc(var(--animate-duration) * 30);
animation-duration: calc(var(--animate-duration) * 30);
}
.animate__animated.animate__slow50 {
-webkit-animation-duration: calc(1s * 50);
animation-duration: calc(1s * 50);
-webkit-animation-duration: calc(var(--animate-duration) * 50);
animation-duration: calc(var(--animate-duration) * 50);
}
.animate__animated.animate__ease-in-out {
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.animate__animated.animate__linear {
transition-timing-function: linear;
}
.animate__animated.animate__ease-in {
transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.animate__animated.animate__ease-out {
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.animate__animated.animate__ease {
transition-timing-function: ease;
}
.buttreg {
font-weight: bold;
}
.semi-transparent {
opacity: 0.7;
}
.elem {
padding: 0;
}
.small_side {
padding-left: 4px !important;
}
.selectorwide {
min-width: 240px;
font-size: 1rem;
}
.fit_img {
max-width: 100%;
height: auto;
}
.show_province_title {
font-size: 0.85rem;
font-style: italic;
text-align: right;
color: #A0A0A0;
}
.buttons_bottom {
max-width: 700px !important;
margin-left: auto;
justify-content: space-around;
margin-right: auto;
text-align: center;
padding-top: 8px;
padding-bottom: 8px;
@media (max-width: 700px) {
/* Versione Mobile */
max-width: 400px;
}
}
.body--light {
.buttons_bottom {
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(255, 255, 255, .7)));
background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .7) 15%)
}
}
.body--dark {
.buttons_bottom {
background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(15%, rgba(0, 0, 0, .6)));
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6) 15%)
}
}
.fulldiv {
min-height: 100% !important;
max-width: 1024px !important;
min-width: 1024px !important;
@media (max-width: 1024px) {
/* Versione Mobile */
max-width: 1024px !important;
min-width: 300px !important;
}
}
.padding-bott {
padding-bottom: 50px;
}
.visudialog {
else {
width: 700px !important;
max-width: 80vw !important;
color: red;
}
}
.numfav_text {
text-align: center;
color: grey;
font-size: 0.8rem;
}
.butt_rounded {
border-radius: 12px;
}
.body--light {
.butt_rounded {
background-color: rgb(234, 241, 244);
}
}
.body--dark {
.butt_rounded {
background-color: black;
}
}
.q-mx-xxs-left {
margin-left: 2px;
}
.q-mx-xxs {
margin-left: 2px;
margin-right: 2px;
}
.butt_green {
background-color: rgb(202, 232, 202) !important;
}
.ev_dayofweek {
color: grey;
font-size: 0.85rem;
text-transform: uppercase;
text-align: center;
margin-bottom: -4px;
}
.ev_day {
color: black;
font-size: 1.25rem;
font-weight: bold;
text-align: center;
}
.ev_month {
color: black;
font-size: 1rem;
text-align: center;
}
.ev_hour,
.ev_hour_end {
color: black;
font-size: 0.85rem;
text-align: center;
}
.ev_hour {
color: green;
}
.ev_hour_end {
color: red;
}
.col-105 {
height: auto;
width: 90%;
}
.col-15 {
height: auto;
width: 10%;
}
.lineheight-normal {
line-height: normal !important;
}
.clDescrEstesa {
font-size: 1rem;
line-height: normal !important;
}
.aspect-ratio-box {
position: relative;
width: 100%;
padding-top: 56.25%;
max-width: 800px;
/* Limita la larghezza massima */
margin: 0 auto;
/* Centra il video orizzontalmente */
/* 16:9 Aspect Ratio */
}
.aspect-ratio-box iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
/* Rimuovi eventuali bordi */
}
.fake-link {
font-weight: bold;
@media (max-width: 600px) {
color: #1976D2;
text-decoration: underline !important;
cursor: pointer;
}
}
.fake-link:hover {
color: #0D47A1;
}
.fixed-toggle {
position: absolute;
/* Posizionamento fisso */
top: 60px;
/* Distanza dal bordo superiore */
left: 20px;
/* Distanza dal bordo sinistro */
z-index: 1000;
/* Assicurati che sia sopra gli altri elementi */
}
.btn-edit-floating {
position: relative;
top: 4px;
right: 0px;
z-index: 10;
opacity: 0.5;
transition: opacity 0.3s ease;
}
.btn-edit-floating:hover {
opacity: 1;
}
.marker-mini-icon {
position: absolute;
top: 5px;
left: 9px;
font-size: 20px;
}
.marker-circle {
position: absolute;
/* Posizionamento assoluto */
top: 15px;
/* Centra verticalmente */
left: 50%;
/* Centra orizzontalmente */
width: 24px;
/* Dimensione del cerchio */
height: 24px;
/* Dimensione del cerchio */
background-color: white;
/* Colore bianco del cerchio */
border-radius: 50%;
/* Rende il cerchio rotondo */
transform: translate(-50%, -50%);
/* Centra esattamente il cerchio */
z-index: 0;
/* Assicurati che sia sotto l'icona principale */
}
.marker-shadow {
width: 40px;
/* Dimensione dell'ombra, dovrebbe corrispondere all'icona principale */
height: 40px;
/* Dimensione dell'ombra */
position: absolute;
/* Posizionamento assoluto per posizionarla correttamente */
top: 3px;
/* Allineata sopra */
left: 8px;
/* Allineata a sinistra */
z-index: -10;
/* Assicurati che l'ombra sia sotto */
opacity: 1;
/* L'opacità dell'ombra per un effetto realistico */
}
.custom-icon .material-icons {
position: absolute;
/* Posizionamento assoluto per centrare */
top: 50%;
/* Posizionamento verticale */
left: 50%;
/* Posizionamento orizzontale */
transform: translate(-50%, -50%);
/* Centra l'icona */
font-size: 40px;
/* Dimensione dell'icona 20x20 */
color: blue;
/* Colore dell'icona (puoi cambiarlo) */
}
.current-location-icon {
background-color: #4A89F3;
border: 3px solid #FFFFFF;
border-radius: 50%;
box-shadow: 0 0 0 4px #4A89F3;
}
.current-location-icon::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 50%;
height: 50%;
background-color: #FFFFFF;
border-radius: 50%;
opacity: 0.4;
}
.q-dialog-on-top {
align-self: flex-start !important;
}
.no-padding-dialog .q-dialog__inner {
padding: 0 !important;
/* Rimuove il padding dal dialog */
}
.custom-zoom-button {
background-color: white;
border: 2px solid #007bff;
/* Colore del bordo */
border-radius: 4px;
padding: 5px 10px;
cursor: pointer;
margin-top: 10px;
/* Spaziatura dal bordo superiore */
z-index: 1000;
/* Assicurati che appaia sopra altri controlli */
}
.custom-zoom-button:hover {
background-color: #007bff;
/* Colore di sfondo al passaggio del mouse */
color: white;
/* Colore del testo al passaggio del mouse */
}
.barretta-sep {
background-color: #dadce0;
border-radius: 2px;
height: 4px;
width: 100%;
}
.fixed-button {
position: fixed;
bottom: 16px;
/* Distanza dal fondo */
right: 16px;
/* Distanza dal lato */
z-index: 1000;
/* Opzionale: assicura che il bottone sia sopra altri elementi */
}
.fixed-button2 {
position: fixed;
bottom: 16px;
/* Distanza dal fondo */
right: 120px;
/* Distanza dal lato */
z-index: 1000;
/* Opzionale: assicura che il bottone sia sopra altri elementi */
}
.text-blueviolet {
color: blueviolet;
}
$verde: #008000;
$blu: blue;
$rosso: #ff0000;
$trasparenza: 0.15;
$coloreprincipale: lightblue;
.sfondo_gradiente_blu {
background: linear-gradient(180deg, rgba(0, 70, 255, 0.25), rgba(0, 70, 275, 0.55), rgba(0, 70, 255, 0.75)) !important;
}
.sfondo_gradiente_fuchsia {
background: linear-gradient(180deg, rgba(255, 0, 150, 0.25), rgba(255, 0, 150, 0.55), rgba(255, 0, 150, 0.75)) !important;
}
.sfondo_gradiente_verde {
background: linear-gradient(180deg, rgba(12, 181, 12, 0.852)rgba(4, 185, 4, 0.55), rgba(12, 181, 12, 0.852)) !important;
}
.sfondo_trasparente {
background: rgba(0, 0, 0, 0.05) !important;
}
.sfondo_gradiente_arancione {
background: linear-gradient(180deg, rgba(255, 165, 0, 0.25), rgba(255, 165, 0, 0.55), rgba(255, 165, 0, 0.75)) !important;
}
.sfondo_gradiente_giallo {
background: linear-gradient(180deg, rgba(255, 255, 0, 0.25), rgba(255, 255, 0, 0.55), rgba(255, 255, 0, 0.75)) !important;
}
.sfondo_gradiente_rosso {
background: linear-gradient(180deg,
rgba(color.channel($rosso, "red", $space: rgb),
color.channel($rosso, "green", $space: rgb),
color.channel($rosso, "blue", $space: rgb),
$trasparenza ),
$coloreprincipale,
rgba(color.channel($rosso, "red", $space: rgb),
color.channel($rosso, "green", $space: rgb),
color.channel($rosso, "blue", $space: rgb),
$trasparenza )) !important;
}
.card-carousel-container {
width: 100%;
overflow: hidden;
position: relative;
}
.card-carousel {
display: flex;
overflow-x: auto;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
-ms-overflow-style: none;
padding: 1rem 0;
}
.card-carousel .row.no-wrap {
flex-wrap: nowrap !important;
/* solo dentro il carousel */
}
.card-carousel::-webkit-scrollbar {
display: none;
}
.my-card-elem {
flex: 0 0 auto;
margin-right: 1rem;
scroll-snap-align: start;
overflow: hidden;
transition: transform 0.3s ease;
}
.cards-wrapper {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
}
.card-item {
display: flex;
flex-direction: column;
max-width: 200px;
/* Massima larghezza per la card */
margin: 0 10px;
/* Spazio tra le card */
text-align: center;
}
.flex-container {
display: flex;
flex-wrap: nowrap;
flex-direction: row;
height: 100%;
/*padding: 0.5rem;*/
}
.flex-card {
display: flex;
flex-direction: column;
flex: 0 0 auto;
margin: 0 0.5rem;
position: relative;
transition: all 0.3s ease;
}
/* Aggiungi questi stili per gestire lo scroll orizzontale se necessario */
.q-carousel__slide {
overflow-x: auto;
overflow-y: hidden;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
}
.row.no-wrap {
flex-wrap: nowrap;
min-width: 0;
/* consenti ai figli di restringersi */
// gap: 1rem;
}
.card-width-200 {
width: 100%;
max-width: 200px;
}
.card-width-250 {
width: 100%;
max-width: 250px;
}
.my-card-elem:hover {
transform: scale(1.05);
}
.img-container {
/*height: 150px; */
overflow: hidden;
}
.img-container .q-img {
height: 100%;
object-fit: contain;
}
.swipe-indicator {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(0, 0, 0, 0.5);
border-radius: 50%;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: opacity 0.3s ease;
}
.swipe-indicator.left {
left: 10px;
}
.swipe-indicator.right {
right: 10px;
}
.scroll-indicator {
display: flex;
justify-content: center;
margin-top: 1rem;
}
.dot {
width: 8px;
height: 8px;
border-radius: 50%;
background-color: #ccc;
margin: 0 4px;
transition: background-color 0.3s ease;
}
.dot.active {
background-color: #000;
}
.image-circle {
border-radius: 50%;
/* Rende l'immagine rotonda */
object-fit: cover;
/* Mantiene le proporzioni dell'immagine */
overflow: hidden;
/* Nasconde eventuali parti in eccesso */
}
.image-ombra {
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.image-round-bordered {
border-radius: 22px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
object-fit: cover;
border: 2px solid #6b6e68a1;
}
/* Per aggiungere un effetto di transizione al passaggio del mouse */
.image-round-bordered:hover {
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.7);
/* Ombra più marcata al passaggio del mouse */
transform: scale(1.05);
/* Effetto di zoom al passaggio del mouse */
transition: all 0.3s ease;
/* Transizione fluida */
}
.titolo_card:hover {
color: blue;
text-decoration: underline;
cursor: pointer;
}
.mylabfooter img {
border-radius: 50%;
object-fit: cover;
}
:root {
--background-even-light: rgba(211, 211, 211, 0.3);
--background-odd-light: white;
--background-even-dark: rgba(45, 45, 45, 0.7);
/* Aggiustare per il tema dark */
--background-odd-dark: rgba(30, 30, 30, 1);
/* Aggiustare per il tema dark */
--text-color: #555;
--bg-color: #f9f9f9;
}
body.body--dark {
--text-color: #bbb;
--bg-color: #333;
}
.background-even {
background-color: rgba(211, 211, 211, 0.3);
}
.background-odd {
background-color: white;
@media (prefers-color-scheme: dark) {
background-color: rgba(140, 140, 140, 0.3);
}
}
.q-stepper__tab {
padding: 3px 3px !important;
}
.q-stepper--horizontal .q-stepper__step-inner {
padding: 16px !important;
@media (max-width: 600px) {
padding: 8px !important;
}
}
.dialog_class {
max-width: 800px;
width: 100%;
@media (max-width: 600px) {
max-width: 100%;
}
}
.citation {
font-style: italic;
/* Testo in corsivo per indicare una citazione */
border-left: 4px solid #cccccc;
/* Barra verticale per evidenziare la citazione */
margin: 10px 0;
/* Spaziatura verticale */
padding: 10px 20px;
/* Spaziatura interna */
color: #555555;
/* Colore del testo leggermente attenuato */
background-color: #f9f9f9;
/* Sfondo leggero per evidenziare la citazione */
}
.comment {
font-size: 0.9em;
/* Testo leggermente più piccolo */
color: #666666;
/* Colore del testo attenuato */
background-color: #f4f4f4;
/* Sfondo neutro */
padding: 10px;
/* Spaziatura interna */
border-radius: 5px;
/* Angoli arrotondati */
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
/* Leggera ombra per effetto di profondità */
margin: 10px 0;
/* Spaziatura verticale */
}
.flex-container-book {
display: flex;
flex-direction: row;
/* Allineamento orizzontale */
flex-wrap: wrap;
gap: 0px;
/* Spaziatura tra gli elementi */
justify-content: space-evenly;
}
.flex-item-book {
display: flex;
/* Rende il div un container flex per allineare i contenuti */
justify-content: center;
/* Allineamento orizzontale al centro */
align-items: center;
/* Allineamento verticale al centro */
padding: 0px;
flex-grow: 0;
/* Opzionale: permette agli elementi di crescere uniformemente */
}
.card-page {
break-after: page;
page-break-after: always;
}
.card-page::after {
content: '';
display: block;
page-break-after: always;
}
.card-row {
display: flex;
justify-content: center;
flex-direction: column !important;
}
.cards-container {
display: flex;
flex-direction: column !important;
}
.sfondo_print {
background-color: #17ead9;
}
.sfondo_margine {
background-color: #d8f38a;
}
.q-card-section-small {
padding: 0px;
}
.uppercase {
text-transform: uppercase;
}
.custom-z-index {
z-index: 2000 !important;
}
.mybadge {
border-radius: 10px !important;
text-shadow: .05rem .05rem .15rem #878787;
}
.no-print {
// display: none !important;
}
.macro-junior {
font-family: 'Comic Sans MS', cursive, sans-serif;
font-size: 12px;
color: #ccc;
line-height: 1.3;
}
.macro-junior h2 {
font-style: italic;
font-weight: bold;
margin: 0 0 6px 0;
font-size: 16px;
}
.macro-junior p {
margin: 0 0 8px 0;
}
.macro-junior blockquote {
font-style: italic;
font-weight: bold;
margin: 6px 0;
padding-left: 12px;
border-left: 3px solid #333;
color: #ccc;
font-size: 12px;
line-height: 1.3;
}
.overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.7);
/* Sfondo semi-trasparente */
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
}
.text-strike {
text-decoration-line: line-through;
}
.product-price-discount {
font-weight: 500;
line-height: 1.2;
font-size: 1rem;
color: #f60;
margin-bottom: 5px;
}
.ordine_scontato_nuovo {
font-size: 1.1rem;
font-weight: bold;
color: green;
background-image: linear-gradient(to right, #d5ffd5, #dfff06);
/* gradiente di sfondo che va bene con il colore green per il testo */
padding: 6px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.ordine_scritta_sconto {
font-size: 1rem;
color: red;
background-color: #fff5ee;
/* seashell color background */
padding: 2px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
text-align: center;
}
.center-button {
display: flex;
justify-content: center;
}
.sconto-label {
font-weight: bold;
margin-left: 5px;
}
.sconto-text {
font-weight: bold;
font-size: 1rem;
}
.table-price {
margin: auto;
border-collapse: collapse;
}
.table-price td {
padding: 8px;
text-align: right;
vertical-align: middle;
}
.label-price {
font-weight: bold;
}
.value-price {
font-size: 1.2em;
text-align: right;
}
.ordine_scontato {
color: gray;
font-size: 0.85rem;
}
.hero {
position: relative;
border-radius: 20px;
overflow: hidden;
text-align: center;
padding: 40px 20px;
color: white;
// Altezza minima per evitare il collassamento
min-height: 400px;
// Centra il contenuto verticalmente
display: flex;
flex-direction: column;
justify-content: center;
// Background: immagine + overlay
background-size: cover;
background-position: center;
background-repeat: no-repeat;
&::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5); // overlay scuro
z-index: 1;
border-radius: 20px;
}
}
.hero-content {
position: relative;
z-index: 2; // sopra l'overlay
max-width: 800px;
margin: 0 auto;
width: 100%;
}
.intro {
font-size: 1.3rem;
color: #ddd; // testo chiaro, visibile sopra lo sfondo scuro
margin-bottom: 1.5rem;
font-style: italic;
}
.cta {
display: inline-block;
margin-top: 1rem;
padding: 14px 28px;
background-color: #4caf50;
color: white;
border-radius: 50px;
font-weight: 600;
text-decoration: none;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(76, 175, 80, 0.3);
align-self: center; // centrato in flex-column
&:hover {
background-color: #388e3c;
transform: translateY(-2px);
box-shadow: 0 6px 14px rgba(76, 175, 80, 0.4);
}
}
// Stili aggiuntivi per la pagina
.containerhome {
background: white;
border-radius: 18px;
box-shadow: 0 12px 35px rgba(0, 0, 0, 0.09);
padding: 32px;
margin-bottom: 32px;
transition: transform 0.2s ease;
}
.containerhome:hover {
transform: translateY(-4px);
}
.container {
background: white;
border-radius: 12px;
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
transition: transform 0.2s ease;
}
.toggle-enhanced {
/* Per migliorare contrasto dello stato OFF */
--q-toggle-thumb-color: var(--q-color-grey-4);
--q-toggle-track-color: rgba(255, 255, 255, 0.2);
&.q-toggle--dark {
--q-toggle-thumb-color: var(--q-color-grey-5);
--q-toggle-track-color: rgba(255, 255, 255, 0.25);
}
/* Colore quando attivo */
&.q-toggle--truthy {
--q-toggle-thumb-color: var(--q-color-green);
--q-toggle-track-color: rgba(0, 150, 0, 0.5);
}
/* Migliora leggibilità delletichetta */
.q-toggle__label {
font-weight: 500;
font-size: 0.9rem;
color: var(--q-color-grey-10);
margin-left: 0.5rem;
}
/* Hover/focus con leggero bagliore */
&:hover:not(.disabled) .q-toggle__inner {
filter: drop-shadow(0 0 3px rgba(0, 200, 0, 0.4));
}
/* Quando disabilitato */
&.disabled {
opacity: 0.6;
}
}
#q-app,
.q-page,
.q-page-container {
word-break: break-word;
overflow-wrap: anywhere;
}
.card-group-scrollable {
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch; // smooth scroll su iOS
scrollbar-width: none; // nasconde scrollbar su Firefox
-ms-overflow-style: none; // nasconde scrollbar su IE/Edge
}
.card-group-scrollable::-webkit-scrollbar {
display: none; // nasconde scrollbar su WebKit
}
.flex-card {
flex: 0 0 auto !important; // evita che si restringano
margin: 0 0.5rem;
max-width: none;
}
.row.no-wrap {
min-width: fit-content; // permette alla riga di espandersi oltre il container
flex-wrap: nowrap !important;
}
// ==========================================
// AGGIUNTE STILE RISO - Da inserire in fondo a app.scss
// ==========================================
// ==========================================
// MIGLIORAMENTI GLOBALI BOTTONI QUASAR
// ==========================================
.q-btn {
&:not(.q-btn--flat):not(.q-btn--outline) {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.06);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
&:hover:not(.q-btn--disable) {
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.08);
transform: translateY(-2px);
}
&:active:not(.q-btn--disable) {
transform: translateY(0);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}
}
}
// ==========================================
// CARD MODERNE CON HOVER
// ==========================================
.q-card {
border-radius: 16px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.06);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
&:hover {
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.08);
}
}
// ==========================================
// INPUT E FORM MODERNI
// ==========================================
.q-field {
&__control {
border-radius: 10px;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
&:hover {
background: rgba(0, 0, 0, 0.02);
}
}
&--focused {
.q-field__control {
box-shadow: 0 0 0 2px rgba(var(--q-primary-rgb), 0.2);
}
}
}
// ==========================================
// DIALOG CON BACKDROP BLUR
// ==========================================
.q-dialog__backdrop {
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
background: rgba(0, 0, 0, 0.4);
}
.q-dialog .q-card {
border-radius: 0px;
}
// ==========================================
// LISTE CON HOVER MODERNO
// ==========================================
.q-list {
.q-item {
border-radius: 10px;
margin-bottom: 2px;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
&:hover {
background: rgba(0, 0, 0, 0.04);
}
&--active {
background: rgba(var(--q-primary-rgb), 0.1);
color: var(--q-primary);
font-weight: 600;
}
}
}
// ==========================================
// TABS MODERNE
// ==========================================
.q-tabs {
.q-tab {
border-radius: 10px;
font-weight: 600;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
&:hover {
background: rgba(0, 0, 0, 0.04);
}
&--active {
background: rgba(var(--q-primary-rgb), 0.1);
}
}
}
// ==========================================
// BADGE E CHIP MIGLIORATI
// ==========================================
.q-badge {
border-radius: 12px;
font-weight: 700;
letter-spacing: 0.02em;
padding: 4px 8px;
font-size: 0.75rem;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}
.q-chip {
border-radius: 16px;
font-weight: 600;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
&:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
transform: translateY(-1px);
}
}
// ==========================================
// TOOLTIP MIGLIORATI
// ==========================================
.q-tooltip {
border-radius: 8px;
padding: 6px 12px;
font-size: 0.85rem;
font-weight: 500;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
// ==========================================
// NOTIFICHE CON SHADOW
// ==========================================
.q-notification {
border-radius: 12px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.08);
&__message {
font-weight: 500;
}
}
// ==========================================
// AVATAR CON HOVER
// ==========================================
.q-avatar {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
img {
object-fit: cover;
}
&:hover {
transform: scale(1.05);
}
}
// ==========================================
// SEPARATOR PIÙ SOTTILE
// ==========================================
.q-separator {
background: rgba(0, 0, 0, 0.06);
}
// ==========================================
// SCROLLBAR PERSONALIZZATA MODERNA
// ==========================================
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.15);
border-radius: 4px;
transition: background 0.3s ease;
&:hover {
background: rgba(0, 0, 0, 0.25);
}
}
// Firefox
* {
scrollbar-width: thin;
scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}
// ==========================================
// DRAWER CON SCROLLBAR PERSONALIZZATA
// ==========================================
.q-drawer {
.q-drawer__content {
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
&::-webkit-scrollbar {
width: 6px;
}
&::-webkit-scrollbar-track {
background: transparent;
}
&::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.2);
border-radius: 3px;
&:hover {
background: rgba(0, 0, 0, 0.3);
}
}
}
}
// ==========================================
// ANIMAZIONI AGGIUNTIVE
// ==========================================
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideInFromLeft {
from {
opacity: 0;
transform: translateX(-30px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes slideInFromRight {
from {
opacity: 0;
transform: translateX(30px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes scaleIn {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
// Classi utility per animazioni
.fade-in-up {
animation: fadeInUp 0.4s ease;
}
.slide-in-from-left {
animation: slideInFromLeft 0.4s ease;
}
.slide-in-from-right {
animation: slideInFromRight 0.4s ease;
}
.scale-in {
animation: scaleIn 0.3s ease;
}
// ==========================================
// UTILITY CLASSES AGGIUNTIVE
// ==========================================
.cursor-pointer {
cursor: pointer;
}
.smooth-transition {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.text-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.no-select {
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
}
// ==========================================
// FOCUS ACCESSIBILE
// ==========================================
*:focus-visible {
outline: 2px solid var(--q-primary);
outline-offset: 2px;
border-radius: 4px;
}
// ==========================================
// DARK MODE MIGLIORATO
// ==========================================
.body--dark {
.q-card {
background: #2a2a2a;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.q-item:hover {
background: rgba(255, 255, 255, 0.08);
}
.q-field__control {
&:hover {
background: rgba(255, 255, 255, 0.05);
}
}
::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.2);
&:hover {
background: rgba(255, 255, 255, 0.3);
}
}
}
// ==========================================
// RESPONSIVE - Riduzione spazi mobile
// ==========================================
@media (max-width: 600px) {
.q-card {
border-radius: 12px;
}
.q-card__section {
padding: 12px;
}
.q-dialog .q-card {
border-radius: 0px;
}
}
// ==========================================
// PRINT STYLES
// ==========================================
@media print {
.q-header,
.q-footer,
.q-drawer,
.q-fab,
.no-print {
display: none !important;
}
.q-page {
padding: 0;
margin: 0;
}
}