﻿/*#||###############################################*/
/*# STILI MULTISCHERMO #############################*/
/*#||###############################################*/
/*#|Caratteri sito web|#############################*/
/**/
/*#||###############################################*/
/*# Proprietà base generiche #######################*/
html { font-size: 10px; /*Impostazione carattere a 10px*/ line-height: 1.5; }
body { overflow-x: hidden; color: #000; background-color: #fff; box-sizing: border-box; margin: 0; font-size: 1.5rem; }
    html, html *, body, body *, body *:before, body *:after { transition: .5s ease-in-out; scroll-behavior: smooth !important; scroll-margin-top: 8rem; box-sizing: border-box; }
/*#||###############################################*/
/*#|Impostazione Font del sito web|##################*/
body, input[type=submit], select, input[type=text], input[type=password], input[type=date], input[type="number"], input[type="tel"], textarea { font-family: Arial, sans-serif; }
/*#||###############################################*/
/*# ELIMINAZIONE ASPETTI DI DEFAULT ################*/
select, input[type=text], input[type=password], input[type=date], textarea { -webkit-appearance: none; text-decoration: unset; color: unset; box-shadow: none; border: none; }
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
button { -webkit-appearance: none; border: none; background-color: transparent; font-size: unset; }
input[type=number] { }
a { text-decoration: unset; color: unset; }
h1, h2, h3, h4, h5, p { margin: unset; font-weight: unset; }
description { visibility: hidden; }
summary { list-style-type: none; /* Firefox */ }
    summary::-webkit-details-marker { display: none; /* Chrome */ }
label { cursor: pointer; }
/*#||###############################################*/
/*#||###############################################*/
/*# Classi Generiche ###############################*/
.dd { clear: both; }
.d_none { display: none !important; }
.d_block { display: block !important; }
.d_inl_block { display: inline-block !important; }
.contained { width: 100%; max-width: 1600px; padding: 0 2rem; margin: auto; }
.margin_auto { margin: auto; }
.pos_rel { position: relative; }
.w_100 { width: 100%; }
.w_50 { width: 50%; }
.w_30 { width: 30%; }
.brdr_rad_std { border-radius: 0.2rem; overflow: hidden; }
    .brdr_rad_std.items_out { overflow: visible; }
.box_shdw_std { box-shadow: 0 0 1rem rgba(0,0,0,0.25); }
.txt_shdw_std { text-shadow: 0 0 0.6rem rgba(0,0,0,0.35); }
.absolut_cntr { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.fit_contain { width: 100%; height: 100%; object-fit: contain; }
.fit_cover { width: 100%; height: 100%; object-fit: cover; }
.cpointer { cursor: pointer; }
input.functional_switch { display: none !important; }
/*#||###############################################*/
/*# VARIABILI TESTUALI #############################*/
/*# Grandezza Caratteri ############################*/
.font_sz_var_01 { font-size: 1rem; }
.font_sz_var_02 { font-size: 1.5rem; }
.font_sz_var_03 { font-size: 2rem; }
.font_sz_var_04 { font-size: 2.5rem; }
.font_sz_var_05 { font-size: 3.2rem; }
.font_sz_var_06 { font-size: 5rem; }
/*#||###############################################*/
/*# Variabili testuali / grafiche ##################*/
/*Allineamenti*/
.align_center, .tac { text-align: center; }
.align_left, .tal { text-align: left; }
.align_right, .tar { text-align: right; }
/*Variazioni di forma - Decorazioni testuali*/
.text_uppercase, .uppercase { text-transform: uppercase; }
.text_lowercase, .lowercase { text-transform: none; }
.text_underline, .underline { text-decoration: underline; }
.text_linetrhough, .linetrhough { text-decoration: line-through; }
/*Testo su più colonne*/
.column_txt_2 { column-count: 2; }
.column_txt_3 { column-count: 3; }
/*Variazioni di peso*/
.font_wgt_light, .light { }
.font_wgt_normal, .normal { }
.font_wgt_bold, .bold, strong, b, .paginazione .flx_itm.active span a, .btn_01, input[type=submit].btn_01, input[type=button].btn_01 { }
/*#||###############################################*/
/*# Limitatori Righe di Testo ######################*/
.text_clamp { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
    .text_clamp.line_1 { -webkit-line-clamp: 1; }
    .text_clamp.line_2 { -webkit-line-clamp: 2; }
    .text_clamp.line_3 { -webkit-line-clamp: 3; }
    .text_clamp.line_4 { -webkit-line-clamp: 4; }
    .text_clamp.line_5 { -webkit-line-clamp: 5; }
    .text_clamp.line_6 { -webkit-line-clamp: 6; }
/*#||###############################################*/
/*# Colore Caratteri ###############################*/
/*Scala di grigi*/
.font_clr_bw_000 { color: #000; }
.font_clr_bw_fff { color: #fff; }
.font_clr_gry_01 { color: #eee; }
.font_clr_gry_02 { color: #ccc; }
.font_clr_gry_03 { color: #666; }
.font_clr_gry_04 { color: #222; }
/*Colori*/
.font_clr_col_01 /**/ { color: red; }
.font_clr_col_02 /**/ { color: blue; }
/*#||###############################################*/
/*# COLORI SFONDI ##################################*/
.bkg_clr_trasp { background-color: transparent; }
/*Scala di grigi*/
.bkg_clr_bw_000 { background-color: #000; }
.bkg_clr_bw_fff { background-color: #fff; }
.bkg_clr_gry_01 { background-color: #eee; }
.bkg_clr_gry_02 { background-color: #ccc; }
.bkg_clr_gry_03 { background-color: #666; }
.bkg_clr_gry_04 { background-color: #222; }
/*Colori*/
.bkg_clr_col_01 /**/ { background-color: red; }
.bkg_clr_col_02 /**/ { background-color: blue; }
/*#||###############################################*/
/*# PULSANTI #######################################*/
/*Proprietà di base di pulsanti & elementi interattivi*/
.btn_01, input[type=submit], input[type=button], /*Allineamento stili degli altri elementi interattivi*/ select, input[type=text], input[type=email], input[type=password], input[type=date], input[type=number], input[type=tel], textarea { display: flex; justify-content: center; align-items: center; position: relative; text-transform: uppercase;text-align: center; cursor: pointer; border-radius: 0; }
    /*Proprietà specifiche per i pulsanti*/
    .btn_01, input[type=button].btn_01, input[type=submit].btn_01 { font-size: 2.5rem; padding: 1rem 1.5rem; }
        .btn_01 span, .btn_01 p, .btn_01 b, .btn_01 * { vertical-align: middle; }
        .btn_01 img { max-height: 3rem; margin: 0 1rem; }
        /*Varianti cromatiche*/
        .btn_01.btn_var_01 { color: #fff; background-color: red; }
            .btn_01.btn_var_01:hover { background-color: orangered; }
        .btn_01.btn_var_02 { color: #252525; background-color: #fff; box-shadow: 0 0 6px rgba(0,0,0,0.35); }
            .btn_01.btn_var_02:hover { box-shadow: 0 3px 9px rgba(0,0,0,0.25); transform: translateY(-1px); }
        /*PULSANTE SPECIALE PER PAYPAL*/
        .btn_01.btn_var_pypl { color: #003087; background-color: #FDCF3F; box-shadow: 0 0 6px rgba(0,0,0,0.35); }
            .btn_01.btn_var_pypl img { width: unset !important; }
            .btn_01.btn_var_pypl:hover { box-shadow: 0 3px 9px rgba(0,0,0,0.25); transform: translateY(-1px); }
/*#||###############################################*/
/*Link testuali*/
.text_link { color: #000; text-decoration: underline; cursor: pointer; }
    .text_link:hover { color: #333; }
    .text_link.font_clr_bw_fff, .font_clr_bw_fff .text_link { color: #fff; }
        .text_link.font_clr_bw_fff:hover, .font_clr_bw_fff .text_link:hover { color: #fff; opacity: 0.7; }
/*Select, Inputs e Textarea*/
select, input[type=text], input[type=password], input[type=date], input[type=email], input[type=number], input[type=tel], textarea { text-transform: none; background-color: #fff; color: #000; border: solid 1px #000; text-align: left; font-size: 1.5rem; width: 100%; padding: 1.5rem; }
.font_clr_bw_fff input[type=text], .font_clr_bw_fff input[type=password], .font_clr_bw_fff input[type=date], .font_clr_bw_fff input[type=email], .font_clr_bw_fff input[type=number], .font_clr_bw_fff textarea { color: #fff; border-color: #f2f2f2; }
.font_clr_bw_fff input::placeholder { color: #ddd; }
.font_clr_bw_fff input[type=text], .font_clr_bw_fff input[type=password], .font_clr_bw_fff input[type=date], .font_clr_bw_fff input[type=email], .font_clr_bw_fff input[type=number], .font_clr_bw_fff input[type=tel], .font_clr_bw_fff textarea { color: #000; }
input[type=text], input[type=date], input[type=password], input[type=date], textarea, input[type=number], input[type=tel] { cursor: text; }
input[type=checkbox]:checked { background-color: #ccc; }
input[type=date] { min-height: 5rem; }
select { background-image: url('../img/Icone/arrow_down.svg'); background-position: center right 10px; background-repeat: no-repeat; background-size: 1.5rem auto; -webkit-appearance: none; -moz-appearance: none; text-indent: 1px; }
textarea { min-height: 10rem; }
/*Stile Generico Diciture + Select, Inputs e Textarea*/
.input_container { font-size: 2rem; }
    .input_container.inactive { opacity: 0.4; }
        .input_container.inactive select, .input_container.inactive input { cursor: default; }
    .input_container p, .input_container b { display: block; width: 100%; margin-bottom: 5px; }
.checkbox_container { display: flex; align-items: center; }
    .checkbox_container input { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: solid 1px #666; background-color: #fff; cursor: pointer; height: 22px; aspect-ratio: 1/1; border-radius: 6px; margin-right: 8px; vertical-align: middle; }
    .checkbox_container p, .checkbox_container label p, .checkbox_container label p b, .checkbox_container span   { display: inline-block; vertical-align: middle; }
/*Variante a doppio input*/
.input_container.double { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: stretch; }
    .input_container.double b { flex: 1 1 100%; }
    .input_container.double select, .input_container.double input { flex: 0 1 49%; }
/*Mostrare le frecce in un input number*/
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; }
/*Input text per TARGA*/
.input_container input.inserimento_targa { text-align: center; text-transform: uppercase; font-family: lato_bold, sans-serif; border-right-width: 3rem; border-left-width: 3rem; border-right-color: #141F7F; border-left-color: #141F7F; }
/*#||###############################################*/
/*# SEPARATORI #####################################*/
/*# Separatore Linea ###############################*/
.sep_line { display: block; position: relative; width: 100%; height: 1px; }
/*# Separatore Ombra ###############################*/
.sep_shadow { width: 100%; height: 2rem; mix-blend-mode: multiply; background: linear-gradient(to bottom, rgba(0,0,0,0.15) 0%,rgba(0,0,0,0) 100%); }
    .sep_shadow.white_sep { mix-blend-mode: screen; background: linear-gradient(to bottom, rgba(255,255,255,0.25) 0%,rgba(255,255,255,0) 100%); }
    .sep_shadow.invert { transform: scaleY(-100%); }
/*#||###############################################*/
/*# STILI MULTIPAGINA ##############################*/
/*#||###############################################*/
.no_slider { display: block; position: relative; width: 100vw; height: 13rem; }
/*#||###############################################*/
.body_container { min-height: 100vh; }
/*#||###############################################*/
.white_space_pre { white-space: pre-line; }
/*#||###############################################*/
/*#|Sfondo chiusura fullscreen|#####################*/
.background_closing_label { cursor: pointer; height: 100%; width: 100%; position: absolute; top: 0; left: 0; z-index: 0; }
.item_closing_label { cursor: pointer; position: absolute; z-index: 3; top: 10rem; right: 50%; transform: translateX(50%); }
/*#||###############################################*/
/*#|DETAILS - Elemento a comparsa|##################*/
details { width: 100%; position: relative; padding: 2rem 0; margin-top: 2.5rem; border-top: solid 1px #bbb; }
    details summary { width: inherit; text-transform: uppercase; font-size: 2.2rem; text-align: center; margin-bottom: 1.5rem; position: relative; cursor: pointer;}
        details summary:after { content: url('../img/icone/arrow_down.svg'); display: block; position: absolute; left: 50%; bottom: 0; transform: translate(-50,110%); height: 2rem; width: 2rem; }
    details:open summary:after { transform: translate(-50%,80%) rotate(180deg); }
    details summary:hover { text-decoration: underline; }
    details p { padding-bottom: 2rem; border-bottom: solid 1px #bbb; }
/*#||###############################################*/
/*#|BREADCRUMBS|####################################*/
.breadcrumbs { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; padding: 1rem 0; }
    .breadcrumbs a { display: block; position: relative; margin: 0 0.5rem 0.5rem 0; padding-right: 1rem; }
        .breadcrumbs a:last-child { color: #999; cursor: default; }
            .breadcrumbs a:last-child:hover span { border-bottom-color: transparent; }
        .breadcrumbs a span { vertical-align: middle; border-bottom: solid 1px transparent; }
        .breadcrumbs a:hover span { border-bottom-color: #bbb; }
        .breadcrumbs a:after { content: ''; display: block; position: absolute; top: 50%; right: 0; transform: translate(0, -25%); height: 0.8rem; aspect-ratio: 1/1; background: url('../img/icone/chevron-right-solid.svg') center no-repeat; background-size: contain; }
        .breadcrumbs a:last-child:after { content: ''; display: none; }
/*#||###############################################*/
/*# G - Recaptcha ##################################*/
.g-recaptcha { display: flex; justify-content: center; align-items: center; width: 100%; }
.grecaptcha-badge { width: 70px !important; overflow: hidden !important; transition: all 0.3s ease !important; left: 4px !important; }
    .grecaptcha-badge:hover { width: 256px !important; }
/*#||###############################################*/
/*# Paginazione ####################################*/
.paginazione { }
    .paginazione * { vertical-align: middle; }
    .paginazione .flx_itm { cursor: pointer; border-radius: 6px; overflow: hidden; }
        .paginazione .flx_itm:hover { background-color: #fff; box-shadow: 0 0 6px rgba(0,0,0,0.25); }
        .paginazione .flx_itm span { }
        .paginazione .flx_itm.active span { text-decoration: underline; color: #000; }
/*#||###############################################*/
/*# IUBENDA ########################################*/
body a.iubenda-tp-btn.iubenda-cs-preferences-link { margin: 0; }
.iubenda-tp-btn[data-tp-float][data-tp-anchored] { margin: 0; }
/*#||###############################################*/
/*#|Sparare fuori il SEO|###########################*/
.seo_section_shootout { position: absolute; top: 0; left: 0; transform: translateY(-150%); }
/*#||###############################################*/
/*#|TITOLI SEZIONI|#################################*/
.title_section_01 { padding: 2rem 0; }
    .title_section_01 .title { display: block; font-size: 4rem; font-family: lato_light, sans-serif; text-transform: uppercase; }
    .title_section_01 .subtitle { display: block; margin-top: 0.5rem; }
/*#||###############################################*/
/*#|SFONDI FISSI|###################################*/
.fixed_bkg { display: block; position: fixed; z-index: -1; top: 0; left: 0; width: 100%; height: 50%; background-position: center; background-repeat: no-repeat; background-size: cover; }
    /*Variabile bianca*/
    .fixed_bkg.var_01 { background-image: url('#'); }
        .fixed_bkg.var_01:after { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; /**/ background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 75%,rgba(255,255,255,1) 100%); }
        .fixed_bkg.var_01:before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; /**/ background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); }
/*#||###############################################*/
/*#|Colori social per Fontawesom|###################*/
i.fa-whatsapp { color: #2cd46b; }
i.fa-facebook { color: #106aff; }
i.fa-instagram { background: -webkit-linear-gradient(#f9ce34, #ee2a7b, #6228d7); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
i.fa-youtube { color: #fe080a; }
i.fa-tiktok { color: #13131d; }
i.fa-linkedin { color: #0077b5; }
i.fa-x-twitter { color: #000; }
/*#||###############################################*/
    /*Colorazione Bianca forzata sulle icone*/
    i.fa-whatsapp.font_clr_bw_fff, i.fa-facebook.font_clr_bw_fff, i.fa-instagram.font_clr_bw_fff, i.fa-youtube.font_clr_bw_fff, i.fa-tiktok.font_clr_bw_fff, i.fa-linkedin.font_clr_bw_fff, i.fa-x-twitter.font_clr_bw_fff, .font_clr_bw_fff i.fa-whatsapp, .font_clr_bw_fff i.fa-facebook, .font_clr_bw_fff i.fa-instagram, .font_clr_bw_fff i.fa-youtube, .font_clr_bw_fff i.fa-tiktok, .font_clr_bw_fff i.fa-linkedin, .font_clr_bw_fff i.fa-x-twitter { color: #fff; background: #fff; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
    /*Colorazione Nera forzata sulle icone*/
    i.fa-whatsapp.font_clr_bw_000, i.fa-facebook.font_clr_bw_000, i.fa-instagram.font_clr_bw_000, i.fa-youtube.font_clr_bw_000, i.fa-tiktok.font_clr_bw_000, i.fa-linkedin.font_clr_bw_000, i.fa-x-twitter.font_clr_bw_000, .font_clr_bw_000 i.fa-whatsapp, .font_clr_bw_000 i.fa-facebook, .font_clr_bw_000 i.fa-instagram, .font_clr_bw_000 i.fa-youtube, .font_clr_bw_000 i.fa-tiktok, .font_clr_bw_000 i.fa-linkedin, .font_clr_bw_000 i.fa-x-twitter { color: #1e1e1e; background: #1e1e1e; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
/*#||###############################################*/

/*#||###############################################*/
/*--------------------------------------------------*/
/*#||###############################################*/
/*- STILI Comuni: tutti gli schermi DESKTOP --------*/
@media (min-width: 769px) {
    /*#||###############################################*/
}
/*#||###############################################*/
/*- STILI Comuni: tutti gli schermi PORTABLE -------*/
@media (max-width: 768px) {
    /*#||###############################################*/
}
/*#||###############################################*/
/*--------------------------------------------------*/
/*#||###############################################*/
/*- STILI Comuni: tutti gli schermi DESKTOP --------*/
@media (min-width: 769px) {
    /*#||###############################################*/
}
/*#||###############################################*/
/*- STILI Comuni: tutti gli schermi PORTABLE -------*/
@media (max-width: 768px) {
    /*#||###############################################*/
}
/*#||###############################################*/
/*- STILI ESCLUSIVI GRANDI SCHERMI -----------------*/
@media (min-width: 1281px) {
    /*##############################################*/
    /*# ESCLUSIONI DEVICE DIPENDENT ####################*/
    .d_none_desktop_L { display: none !important; }
    .d_none_desktop_M { }
    .d_none_desktop_S { }
    .d_none_desktop_all { display: none !important; }
    .d_none_portable { }
    .d_none_tablet { }
    .d_none_mobile { }
    /*Esclusione compensata per i tablet grandi*/
    .d_none_screens_big { display: none !important; }
    .d_none_screens_small { }
    /*##############################################*/
    .contact_bar { border-radius: 8px; }
    /*##############################################*/
}

/*#||###############################################*/
/*- STILI SCHERMI MEDI --------------------------*/
@media (min-width: 1025px) and (max-width: 1280px) {
    /*#||###############################################*/
    /*# ESCLUSIONI DEVICE DIPENDENT ####################*/
    .d_none_desktop_L { }
    .d_none_desktop_M { display: none !important; }
    .d_none_desktop_S { }
    .d_none_desktop_all { display: none !important; }
    .d_none_portable { }
    .d_none_tablet { }
    .d_none_mobile { }
    /*Esclusione compensata per i tablet grandi*/
    .d_none_screens_big { display: none !important; }
    .d_none_screens_small { }
    /*##############################################*/
    .contact_bar { border-radius: 8px; }
    /*##############################################*/
    html { font-size: 52%; }
    /*Riduzione caratteri per schermi a bassa definizione*/
}


/*#||###############################################*/
/*- STILI PICCOLI SCHERMI --------------------------*/
@media (min-width: 769px) and (max-width: 1024px) {
    /*#||###############################################*/
    /*# ESCLUSIONI DEVICE DIPENDENT ####################*/
    .d_none_desktop_L { }
    .d_none_desktop_M { }
    .d_none_desktop_S { display: none !important; }
    .d_none_desktop_all { display: none !important; }
    .d_none_portable { }
    .d_none_tablet { }
    .d_none_mobile { }
    /*Esclusione compensata per i tablet grandi*/
    .d_none_screens_big { }
    .d_none_screens_small { display: none !important; }
    /*##############################################*/
    .contact_bar { border-radius: 8px; }
    /*##############################################*/
}
/*#||###############################################*/
/*- STILI TABLET -----------------------------------*/
@media (min-width: 481px) and (max-width: 768px) {
    /*#||###############################################*/
    /*# ESCLUSIONI DEVICE DIPENDENT ####################*/
    .d_none_desktop_L { }
    .d_none_desktop_M { }
    .d_none_desktop_S { }
    .d_none_desktop_all { }
    .d_none_portable { display: none !important; }
    .d_none_tablet { display: none !important; }
    .d_none_mobile { }
    /*Esclusione compensata per i tablet grandi*/
    .d_none_screens_big { }
    .d_none_screens_small { display: none !important; }
    /*##############################################*/
    /*# VARIABILI TESTUALI #############################*/
    /*# Variabili testuali / grafiche ##################*/
    /*Testo su più colonne*/
    .column_txt_3 { column-count: 2; }
    /*#||###############################################*/
    .no_slider { height: 6rem; }
    /*#||###############################################*/
}

/*#||###############################################*/
/*- STILI MOBILE -----------------------------------*/
@media (max-width: 480px) {
    /*#||###############################################*/
    /*# ESCLUSIONI DEVICE DIPENDENT ####################*/
    .d_none_desktop_L { }
    .d_none_desktop_M { }
    .d_none_desktop_S { }
    .d_none_desktop_all { }
    .d_none_portable { display: none !important; }
    .d_none_tablet { }
    .d_none_mobile { display: none !important; }
    /*##############################################*/
    /*# Classi Generiche ###############################*/
    .w_100, .w_50, .w_30 { width: 100%; }
    /*#||###############################################*/
    /*# VARIABILI TESTUALI #############################*/
    /*# Variabili testuali / grafiche ##################*/
    /*Testo su più colonne*/
    .column_txt_2, .column_txt_3 { column-count: 1; }
    /*#||###############################################*/
    .checkbox_container input, .checkbox_container label span, .checkbox_container label b { padding: 0.5rem 0; }
    /*#||###############################################*/
    .no_slider { height: 6rem; }
    /*#||###############################################*/
    /*#|TITOLI SEZIONI|#################################*/
    .title_section_01 .title { font-size: 3rem; }
    /*#||###############################################*/
}
