html.lb-disable-scrolling{overflow:hidden;position:fixed;height:100vh;width:100vw}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;opacity:.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;text-align:center;line-height:0;font-weight:400}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{position:absolute;top:43%;left:0;height:25%;width:100%;text-align:center;line-height:0}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(https://www.fastprivatejet.com/public/assets/libs/lightbox2/css/../images/loading.gif) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(https://www.fastprivatejet.com/public/assets/libs/lightbox2/css/../images/prev.png) left 48% no-repeat;opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(https://www.fastprivatejet.com/public/assets/libs/lightbox2/css/../images/next.png) right 48% no-repeat;opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(https://www.fastprivatejet.com/public/assets/libs/lightbox2/css/../images/close.png) top right no-repeat;text-align:right;outline:0;opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;opacity:1}
/* ===================================================== theme-vars.css — variabili colore STATICHE del tema. Sorgente unica condivisa:caricata sia sul front-end (theme_init.php) sia nell'editor pagebuilder (iframe),così style.css / style_pagebuilder.css risolvono ovunque le stesse variabili. I valori DINAMICI (--bs-primary* dal master color,--FONT_FAMILY_*) restano inline in theme_init / iniettati nell'editor. Convenzione nomi:tutto minuscolo,kebab-case,prefisso --color-*. ===================================================== */:root{/* ---- Base / neutri ---- */--color-white:#fff;--color-black:#000;--color-light:#fdfaf3;--color-dark:#031222;/* ---- Brand / primary ---- */--color-btn-bg:var(--bs-primary);--color-on-primary:#0d1117;/* alias alpha del master (dinamico) */--bs-primary-rgb_00:rgba(var(--bs-primary-rgb),0);--bs-primary-rgb_02:rgba(var(--bs-primary-rgb),.2);--bs-primary-rgb_10:rgba(var(--bs-primary-rgb),1);--color-accent:#e3ae4b;/* ---- Superfici ---- */--color-surface:#fdfaf3;--color-surface-input:#fdfaf3;--color-surface-contrast:#faf6ec;--color-surface-contrast-2:#f2ede2;--color-surface-sunken:#031222;--color-surface-raised:#1e2432;--color-surface-raised-2:#363d41;/* superficie/bordo scuro secondario (pagebuilder) */--color-surface-dark:#031222;/* ---- Gold (superficie/gradiente premium) ---- */--color-surface-gold-start:#d6b161;--color-surface-gold-end:#f6d57c;--color-surface-gold-gradient:linear-gradient(135deg,var(--color-surface-gold-start) 0%,var(--color-surface-gold-end) 100%);--color-on-gold:#0a1628;/* ---- Testo / on-surface ---- */--color-on-surface:#031222;--color-on-surface-strong:#031222;--color-on-surface-muted:#606060;--color-on-surface-subtle:#b8b8b8;--color-on-input:#031222;--color-on-surface-dark:var(--color-light);/* ---- Link ---- */--color-link:#906E1F;--color-link-hover:#DEBC6D;/* ---- Bordi ---- */--color-border:#ddd;--color-border-subtle:#dee2e6;--color-border-strong:#e9e4da;--color-border-input:rgba(81,80,80,0.22);--color-border-light:rgba(255,255,255,.1);/* ---- Ombre ---- */--color-shadow-sm:rgba(0,0,0,0.09);--color-shadow-md:rgba(0,0,0,0.1);--color-shadow-lg:rgba(0,0,0,0.22);--color-shadow-xl:rgba(0,0,0,0.42);--shadow-card:0 8px 24px -12px rgba(10,22,40,0.2);/* ---- Overlay ---- */--color-overlay:rgba(0,0,0,0.3);--color-overlay-light:rgba(255,255,255,0.15);--color-overlay-dark:oklch(24% .05 250);/* ---- Accenti decorativi (pagebuilder Novi) — non derivati dal master ---- */--color-accent-orange:#fca15f;--color-accent-purple:#8673c7;--color-accent-slate:#67828d;--color-accent-teal:#698a95;--color-accent-green:#4ac099;/* ---- Stati / alert (semantici,non derivati dal master) ---- */--color-state-success:#3c763d;--color-state-success-bg:#dff0d8;--color-state-info:#31708f;--color-state-info-bg:#d9edf7;--color-state-warning:#8a6d3b;--color-state-warning-bg:#fcf8e3;--color-state-danger:#e35475;--color-state-danger-bg:#f2dede;--color-status-available:#28a745;/* ---- Social & Messaging ---- */--color-social-facebook:#1877f2;--color-social-twitter:#000000;--color-social-linkedin:#0a66c2;--color-social-instagram:#d62976;--gradient-social-instagram:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%);--color-social-youtube:#ff0033;--color-social-whatsapp:#25d366;--color-social-telegram:#229ed9;--gradient-social-telegram:linear-gradient(180deg,#2aabee 0%,#229ed9 100%);--color-social-google:#ea4335;--color-social-pinterest:#bd081c;--color-social-tiktok:#000000;--color-social-snapchat:#fffc00;--color-social-snapchat-on-surface:#000000;--color-social-threads:#000000;--color-social-skype:#00aff0;--color-social-wechat:#07c160;--color-social-messenger:#0866ff;/* ===================================================== Form controls — geometria condivisa (input,select,textarea,button) Sorgente unica:cambiando qui si aggiornano front-end,editor pagebuilder e la pagina di anteprima /typography. Le regole che le consumano stanno nella sezione "FORM CONTROLS" di style.css / pagebuilder.css. Modello Bootstrap:height = line-height*font-size + padding-y*2 + border*2,così input/select/textarea/button in riga hanno la STESSA altezza. Border-radius:DUE variabili dedicate,bottoni separati dagli input. ===================================================== *//* Border radius (3 variabili dedicate) */--form-radius:.75rem;/* input,select,textarea */--btn-radius:.75rem;/* button / .btn (separato dagli input) */--form-check-radius:3px;/* SOLO checkbox:box da ~17px,con --form-radius (.75rem = 12px) gli angoli si toccano e la checkbox diventa indistinguibile da un radio. Valore assoluto e piccolo:qui serve un quadrato appena smussato,non un raggio che scala col resto. *//* Colori & tipografia dei controlli */--form-bg:var(--color-surface-input);/* sfondo input/select/textarea/addon */--form-color:var(--color-on-input);/* testo input/select/textarea */--form-placeholder-color:var(--color-on-surface-muted);/* placeholder + campi vuoti (date/time/select) */--form-accent:var(--bs-primary);/* fill checkbox/radio,accent range */--form-letter-spacing:0px;--btn-color:var(--color-on-primary);/* testo bottoni + segno di check/radio */--btn-letter-spacing:1px;--btn-font-weight:600;/* Geometria base (size default) */--form-font-size:0.9rem;--form-line-height:1.75;--form-padding-y:0.5rem;--form-padding-x:0.9rem;--form-border-width:1px;--form-height:calc(var(--form-line-height) * var(--form-font-size) + var(--form-padding-y) * 2 + var(--form-border-width) * 2);/* Size — Small (.form-control-sm / .btn-sm) */--form-font-size-sm:0.75rem;--form-padding-y-sm:0.35rem;--form-padding-x-sm:0.6rem;--form-radius-sm:var(--form-radius);/* eredita --form-radius:regolarlo vale su tutte le size */--form-height-sm:calc(var(--form-line-height) * var(--form-font-size-sm) + var(--form-padding-y-sm) * 2 + var(--form-border-width) * 2);/* Size — Large (.form-control-lg / .btn-lg) */--form-font-size-lg:1.1rem;--form-padding-y-lg:0.65rem;--form-padding-x-lg:1.1rem;--form-radius-lg:var(--form-radius);--form-height-lg:calc(var(--form-line-height) * var(--form-font-size-lg) + var(--form-padding-y-lg) * 2 + var(--form-border-width) * 2);/* Size — Extra large (.form-control-xl / .btn-xl) — estensione custom (BS4 non ce l'ha) */--form-font-size-xl:1.35rem;--form-padding-y-xl:0.85rem;--form-padding-x-xl:1.35rem;--form-radius-xl:var(--form-radius);--form-height-xl:calc(var(--form-line-height) * var(--form-font-size-xl) + var(--form-padding-y-xl) * 2 + var(--form-border-width) * 2);/* Button — padding orizzontale dedicato (i bottoni sono più larghi degli input) */--btn-padding-x:1.65rem;--btn-padding-x-sm:1rem;--btn-padding-x-lg:2rem;--btn-padding-x-xl:2.5rem;/* ===================================================== Container — larghezze responsive (.container/.container-fluid) --container-max-width-* sono i 4 breakpoint standard Bootstrap 4 (custom-bootstrap.css),--container-fluid-* è la personalizzazione del tema (style.css,sezione layout) sopra i 992px. ===================================================== */--container-max-width-sm:540px;--container-max-width-md:720px;--container-max-width-lg:960px;--container-max-width-xl:1140px;--container-fluid-max-width:1366px;--container-fluid-padding-x:40px;}
/* ===================================================== HOME REDESIGN 2026 (?newhome=1) — home_redesign.php Caricato SOLO dietro il flag (vedi addStyle() in fondo a home_redesign.php),non tramite la convenzione di naming di Document::addTemplateStyle("home") (quella carica home.css su OGNI home,vecchia compresa):tenerlo in un file a parte evita che queste regole,per quanto inerti sul markup vecchio,vengano comunque scaricate e parsate anche li'. Regole esclusive delle sezioni nuove non coperte dai componenti "landing" gia' pronti in style.css §14 (.section-eyebrow,.hero-badge,.booking-form-card,.landing-figure,.stat-number/.stat-label,.benefit-card,.wipy-faq). ===================================================== *//* ancore della nav di header_home.php:compensa l'header fixed (--header-height,definito in style.css §"Landing header/footer") cosi' il titolo di sezione non resta nascosto sotto la barra dopo lo scroll. */.newhome-section{scroll-margin-top:calc(var(--header-height,90px) + 12px);}/* ---- Hero:altezza decisa dal contenuto (py-6 sul <section>),non piu' forzata a min-height:100vh. Foto di sfondo (background-image inline,vedi home-redesign.php) + doppio gradiente qui in ::before per la leggibilita' del testo a sinistra sopra la foto,come nel mockup (due gradient-overlay sovrapposti al video/foto). ---- */#hero{position:relative;background-size:cover;background-position:center 35%;background-repeat:no-repeat;/* header-transparent + position:fixed non riserva spazio (vedi contratto header in docs/conventions/theme-fastprivatejet-3.3.md):senza questo padding extra il contenuto dell'hero parte a ridosso dell'header sovrapposto. --header-height e' misurata via JS sul reale contorno dell'header (ora piu' alto dopo il py-4 di header_redesign.php). */padding-top:calc(var(--header-height) + 2rem)!important;}#hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(3,18,34,0.92) 0%,rgba(3,18,34,0.78) 45%,rgba(3,18,34,0.42) 100%),linear-gradient(to top,rgba(3,18,34,0.55) 0%,rgba(3,18,34,0.1) 35%,rgba(3,18,34,0.4) 100%);pointer-events:none;}#hero>.container-fluid{width:100%;position:relative;z-index:1;}/* ---- Hero con video di sfondo (#slider:markup e regole base della vecchia home,in home.css/style.css) riallineata al nuovo stile:stessi valori tipografici e di colore dell'hero redesign (titolo Cormorant 600 a 48/60/72px,sottotitolo serif,oro gradiente sul CTA). #home-redesign batte gli ID nudi di home.css,che viene registrato dopo questo file. ":is(#home-redesign,.home-redesign)":the same rules for the hero built in the pagebuilder,whose [home-hero-media] shortcode adds body.home-redesign;:is() takes the specificity of its id argument,so the cascade is unchanged. ---- *//* home.css ha "#slider{overflow:hidden}" per ritagliare il video (piu' grande del contenitore):un contenitore overflow:hidden resta pero' scrollabile da codice,e scrollIntoView di un'ancora interna (#hero-form,dalle card Routes) lo faceva scorrere di qualche decina di px,staccando video e overlay dal fondo della sezione. "clip" ritaglia allo stesso modo ma non e' scrollabile;dove non supportato resta l'hidden di home.css. */:is(#home-redesign,.home-redesign) #slider{overflow:clip;}:is(#home-redesign,.home-redesign) #slider-overlayer{background-image:linear-gradient(to top,rgba(3,18,34,0.85) 0%,rgba(3,18,34,0.62) 50%,rgba(3,18,34,0.75) 100%);}/* Sotto i 576px il pulsante audio (top:header+1rem,a destra) finirebbe sopra il titolo,che parte subito sotto l'header:si abbassa il contenuto oltre il pulsante. */@media (max-width:575.98px){:is(#home-redesign,.home-redesign) #slider-overlayer{padding-top:calc(var(--header-height,100px) + 4.5rem);}}/*!important su tutti e tre i breakpoint,stesso motivo di "#hero h2.h1" sopra:home.css ha un "font-size:3.5em!important" fra 654 e 854px e style.css un "2em!important" sotto i 576px;a parita' di!important vince la specificita' (due ID qui),ma un solo breakpoint!important batterebbe sempre gli altri. */:is(#home-redesign,.home-redesign) #slider-overlayer h2{font-size:3rem!important;font-weight:600;line-height:1.05;margin-bottom:0;}@media (min-width:576px){:is(#home-redesign,.home-redesign) #slider-overlayer h2{font-size:3.75rem!important;}}@media (min-width:992px){:is(#home-redesign,.home-redesign) #slider-overlayer h2{font-size:4.5rem!important;}}/* Nella home attuale il form dell'hero eredita la larghezza dal paragrafo sotto il titolo:senza vincoli propri,il suo max-content width (larghezza su una riga sola) e' il piu' ampio tra i figli di #slider-overlayer-text (flex item a shrink-to-fit di #slider-overlayer,vedi markup .d-flex.justify-content-center/ .align-self-center),quindi e' lui a decidere la larghezza del box - il form (width:auto,100% del suo contenitore) eredita quella larghezza. Qui il paragrafo visibile e' volutamente limitato (max-width sotto,per leggibilita'),quindi non puo' piu' fare da "driver" della larghezza:un primo tentativo (width:100% qui sopra) sostituiva il canale "il piu' largo tra i figli,fino a un massimo intrinseco fisso" con "sempre tutto lo spazio disponibile,senza tetto" - coincide quando lo spazio disponibile resta sotto quel massimo intrinseco (schermi normali),ma su schermi molto larghi lo spazio disponibile lo supera (verificato:il box smette di crescere nella home attuale anche forzando lo spazio disponibile a diverse migliaia di px) e i due smettono di coincidere:il form restava piu' stretto nella home attuale,ma continuava a crescere qui,risultando molto piu' largo (feedback 2026-09-22). Il fix corretto e' ridare al box lo stesso "driver" della home attuale,non sostituirlo:un elemento gemello del paragrafo,stesso testo/font ma SENZA il max-width (vedi .hero-width-sizer sotto),a larghezza zero e invisibile (non deve comparire ne' essere letto due volte da uno screen reader) ma ancora "in flow" - fuori flusso (es. position:absolute) non contribuirebbe piu' al calcolo shrink-to-fit del genitore,che e' esattamente cio' che serve qui. */:is(#home-redesign,.home-redesign) #slider-overlayer-text .hero-width-sizer{height:0;overflow:hidden;margin:0;font-size:1.2em;font-weight:300;}:is(#home-redesign,.home-redesign) #slider-overlayer-text>p{font-family:var(--FONT_FAMILY_SERIF),serif;font-size:1.25rem;font-weight:400;line-height:1.5;color:rgba(253,250,243,0.88);max-width:44rem;margin:1.5rem auto 0;}@media (min-width:576px){:is(#home-redesign,.home-redesign) #slider-overlayer-text>p{font-size:1.375rem;}}:is(#home-redesign,.home-redesign) #hero-form{margin-top:2.5rem;}/* Colonne del form originale (col-md-4/4/2/2,e col-md-3 quando si aggiunge il ritorno):il campo data a 2/12 di larghezza tagliava "2026/09/22 08:00". Da md in su Da/A si dividono lo spazio libero,data e passeggeri hanno larghezza propria;vale anche per la data di ritorno (stessa classe .booking-form__date). */@media (min-width:768px){:is(#home-redesign,.home-redesign) #hero-form .booking-form__leg>.booking-form__from,:is(#home-redesign,.home-redesign) #hero-form .booking-form__leg>.booking-form__to{flex:1 1 0;max-width:none;}:is(#home-redesign,.home-redesign) #hero-form .booking-form__leg>.booking-form__date{flex:0 0 13.5rem;max-width:13.5rem;}:is(#home-redesign,.home-redesign) #hero-form .booking-form__leg>.booking-form__pax{flex:0 0 9rem;max-width:9rem;}}/* Mobile,tratte aggiunte:le .booking-form__leg impilate si toccavano e la X di rimozione (sotto i campi,in flusso fino a 766px) stava a ~2px dal select dei passeggeri. Sopra i 767px la X e' assoluta a lato (style.css) e non serve nulla. */@media (max-width:766.98px){:is(#home-redesign,.home-redesign) #hero-form .booking-form__leg.new-leg{margin-top:2rem;}:is(#home-redesign,.home-redesign) #hero-form .booking-form__leg .booking-form__remove{height:auto;padding-top:1rem;}}/* Da 767px la X e' assoluta a destra della tratta (style.css,right:-20px = 6px dal campo passeggeri). Qui a 30px dal campo,come lo spazio tra le colonne (15px + 15px di padding):colonna pax (15px) + 30px + 30px di X = -45px dal bordo della tratta. */@media (min-width:767px){:is(#home-redesign,.home-redesign) #hero-form .booking-form__leg .booking-form__remove{right:-45px;}}/* Pulsante Cerca della stessa larghezza del campo passeggeri (l'ultima colonna della riga bottoni ricalca la colonna .booking-form__pax:stessa larghezza e stesso padding,quindi stessi bordi). Sotto i 768px il campo passeggeri e' a tutta larghezza:la riga bottoni si impila e Cerca fa lo stesso. */:is(#home-redesign,.home-redesign) #hero-form .buttons-row>div:last-child{padding-left:15px!important;}@media (min-width:768px){:is(#home-redesign,.home-redesign) #hero-form .buttons-row>div:last-child{flex:0 0 9rem;max-width:9rem;}}@media (max-width:767.98px){:is(#home-redesign,.home-redesign) #hero-form .buttons-row>div{flex:0 0 100%;max-width:100%;}:is(#home-redesign,.home-redesign) #hero-form .buttons-row>div:last-child{margin-top:1rem!important;}}:is(#home-redesign,.home-redesign) #hero-form .buttons-row .search-btn{width:100%;}/* Ritorno / Volo:all'hover (fondo oro) il testo e' scuro,come su Cerca,invece del bianco di btn-outline-primary. */:is(#home-redesign,.home-redesign) #hero-form .btn-outline-primary:hover,:is(#home-redesign,.home-redesign) #hero-form .btn-outline-primary:not(:disabled):not(.disabled):active{color:var(--color-on-gold);}:is(#home-redesign,.home-redesign) #hero-form .search-btn{background:var(--color-surface-gold-gradient);color:var(--color-on-gold);box-shadow:var(--shadow-card);transition:filter 0.15s ease;}:is(#home-redesign,.home-redesign) #hero-form .search-btn:hover{filter:brightness(1.05);color:var(--color-on-gold);}/* Pulsante audio:vetro navy come il form,oro all'hover. Il top base (170px) di home.css e' calibrato sull'header a due righe della vecchia home;qui l'header e' piu' basso,quindi ci si aggancia alla sua altezza reale. *//* margin-top:the 15px it gets inside #slider-overlayer (home.css "#slider-overlayer .btn"),stated here because in the pagebuilder hero the button sits next to the video instead,where style_pagebuilder.css "* + .btn" gives it 50px. *//* right:il bordo destro del pulsante sta sul bordo del contenuto (come header e sezioni),non a 30px dal bordo della finestra come in home.css:15px sotto i 992px,dove .container-fluid e' a tutta larghezza,e oltre la colonna centrata del container (max-width + padding),con 40px come minimo. */:is(#home-redesign,.home-redesign) #header-video-tag-audio{--hero-edge:15px;right:var(--hero-edge);top:calc(var(--header-height,100px) + 1rem);margin-top:15px;width:40px;height:40px;font-size:1rem;color:var(--color-light);background-color:rgba(3,18,34,0.55);border:1px solid var(--color-border-light);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:color 0.2s ease,border-color 0.2s ease,background-color 0.2s ease;}@media (min-width:992px){:is(#home-redesign,.home-redesign) #header-video-tag-audio{--hero-edge:max(var(--container-fluid-padding-x),calc((100% - var(--container-fluid-max-width)) / 2 + var(--container-fluid-padding-x)));}}:is(#home-redesign,.home-redesign) #header-video-tag-audio:hover{color:var(--color-accent);background-color:rgba(3,18,34,0.75);border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);}/* Sections built in the pagebuilder:the post template loads style_pagebuilder.css,whose generic "* + p{margin-top:20px}" (0,0,1) adds 20px above every paragraph that follows a sibling,absent on the PHP home. Zeroed here on the paragraphs of the redesign sections (class selectors beat it,so no!important). */.benefit-card__text,.why-card__text,.fleet-card__text,.row>[class*="col-"]>p.text-muted-foreground,.row>[class*="col-"]>p.section-lead{margin-top:0;}/* ---- Override scoped a #home-redesign di due componenti "landing" §14 gia' in style.css (.section-eyebrow,.btn-gold),riusati anche da altre pagine del sito (es. il blocco pagebuilder FAQ):NON toccare le regole base in style.css,altrimenti si altera l'aspetto di pagine gia' esistenti che non fanno parte di questo restyle. ---- *//* section-eyebrow leggermente piu' piccolo/tracciato qui per aderire al mockup (11px/tracking 0.2em) senza cambiare le altre pagine che usano .section-eyebrow. */:is(#home-redesign,.home-redesign) .section-eyebrow{font-size:0.6875rem;letter-spacing:0.2em;}/* .btn-gold usato su <a> (CTA "Explore the Jet Card Programme","Call ..."):la libreria condivisa public/assets/libs/bootstrap-4/custom-bootstrap-vars.min.css applica "a:hover{color:var(--color-link-hover)}" non scoped (0,1,1) che batte ".btn-gold{color:var(--color-on-gold)}" da solo (0,1,0) sull'hover,girando il testo dorato-chiaro su sfondo dorato (illeggibile). Riafferma il colore scuro qui,scoped a #home-redesign (1,2,0) per non toccare eventuali altri usi di .btn-gold altrove nel sito. */:is(#home-redesign,.home-redesign) .btn-gold:hover{color:var(--color-on-gold);}/* Variante outline-on-hover (mockup:solo il CTA "Explore the Jet Card Programme" la usa — bg-gold border-gold/50 a riposo,hover:bg-transparent hover:text-gold. Gli altri pulsanti .btn-gold,es. "Call ...",restano pieni,vedi override sopra). Selettore con entrambe le classi (1,3,0) per battere di proposito ":is(#home-redesign,.home-redesign) .btn-gold:hover" (1,2,0) qui sopra,che altrimenti vince sull'ID a parita' di contesto e riporta il testo al navy scuro. */:is(#home-redesign,.home-redesign) .btn-gold.btn-gold--outline-hover{border:1px solid color-mix(in oklab,var(--color-accent) 50%,transparent);}:is(#home-redesign,.home-redesign) .btn-gold.btn-gold--outline-hover:hover{background:transparent;filter:none;border-color:var(--color-accent);color:var(--color-accent);}/* ---- Hero:le due statistiche accanto al form ("24/7 Mission Support","20,000+ airports") sono testo con icona,senza pillola/bordo (a differenza di .hero-badge,riservato al badge in alto "Private Jet Company · Worldwide"). ---- */.hero-stat{display:inline-flex;align-items:center;gap:8px;font-size:0.72rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.6);}.hero-stat .ic{color:var(--color-accent);font-size:1.3em;}/* ---- Testo leggermente attenuato invece di nero/bianco pieno,come nel mockup (var(--color-on-surface-muted)/"text-muted-foreground" sui paragrafi intro di sezione a sfondo chiaro,rgba di --color-light/"text-primary-foreground/NN" sui paragrafi introduttivi a sfondo scuro es. hero/clients/cta-final). ---- */.text-muted-foreground{color:var(--color-on-surface-muted);}.section-lead{color:rgba(253,250,243,0.7);}#hero .section-lead{color:rgba(253,250,243,0.75);}/* Hero:titolo/sottotitolo allineati al mockup (design-reference/"Private Jet Charter..."),stesso schema gia' applicato alla hero di jet-card-test. - badge -> titolo:il markup usa .mt-2 (8px,!important nel subset Bootstrap),il mockup vuole mt-6 (24px,Tailwind). Serve!important per pareggiare quello gia' presente su .mt-2,non basta la sola specificita' del combinatore. - titolo:la clamp() globale di h1/.h1 (style.css "01. BASE STYLES",pensata per gli altri titoli del sito) a queste larghezze resta piu' piccola del mockup (es. 32px invece di 48px sotto i 576px) — qui riallineata a 48/60/72px (mockup:text-5xl sm:text-6xl lg:text-7xl) con line-height 1.05 (mockup:leading-[1.05],contro l'~1.2 ereditato altrimenti). */.hero-badge + h2.h1{margin-top:1.5rem!important;}#hero h2.h1{/*!important su tutti e tre i breakpoint (non solo il primo):il titolo usa .h1 come classe (non il tag <h1>),e sotto i 576px esiste una regola generica di style.css "@media(max-width:576px){.h1,.special-title{font-size:2em!important}}" (pensata per titoli di post/pagina lunghi,non per questa hero) che altrimenti vince a prescindere dalla specificita'. Serve pareggiare!important su TUTTI i breakpoint:tra regole ugualmente!important vince l'ordine sorgente/media query come da cascata normale,ma un solo breakpoint!important batterebbe sempre gli altri due (senza),qualunque sia la larghezza. */font-size:3rem!important;line-height:1.05;}@media (min-width:576px){#hero h2.h1{font-size:3.75rem!important;}}@media (min-width:992px){#hero h2.h1{font-size:4.5rem!important;}}/* Sottotitolo:.lead e' 24px/300 (utility condivisa),il mockup vuole 18/20px (text-lg/sm:text-xl),peso 500 e confinato a max-w-xl (576px) invece di tutta la larghezza della colonna — gia' serif via .text-serif nel markup,qui manca solo la dimensione/peso/larghezza per allinearsi al riferimento. Leggermente piu' grande del mockup (1.25/1.375rem invece di 1.125/1.25rem) su richiesta esplicita,senza tornare ai 24px originali. */#hero .lead.section-lead{font-size:1.25rem;font-weight:400;max-width:36rem;margin-top:1rem;margin-bottom:1rem;}@media (min-width:576px){#hero .lead.section-lead{font-size:1.375rem;}}/* ---- Services ("A complete aviation framework."):a differenza delle altre sezioni con .benefit-card (es. Why-Us,bordo neutro),il mockup vuole qui un bordo dorato sempre visibile ("border-gold/50" + "ring-gold/20") — var(-- color-border-strong) di default e' un beige neutro,non oro,da cui la scarsa visibilita' segnalata. Scope a #services per non toccare le altre card che riusano .benefit-card. Il link "Learn more" e' invece nero fisso con hover dorato (mockup:"text-navy-deep group-hover:text-gold"),diverso da .text-accent (dorato fisso) usato per lo stesso link nella sezione Fleet. ---- */#services .benefit-card{border-color:color-mix(in oklab,var(--color-accent) 50%,transparent);box-shadow:0 0 0 1px color-mix(in oklab,var(--color-accent) 20%,transparent),0 22px 45px -28px var(--color-shadow-lg);text-decoration:none;color:inherit;transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease;}/* Riga rimossa da .spacing-30 (row-gap) nel markup:lo spazio verticale tra le righe di card veniva da mb-4 (24px) sommato al row-gap (30px) di .spacing-30 -> 54px,molto piu' del gap orizzontale (30px,dal padding 15px+15px delle colonne). Sotto i 768px (col-md-6/col-lg-3 non ancora attive,una card per riga,nessun gap orizzontale da pareggiare) resta un valore piu' compatto (1rem);da 768px in su sale a 1.875rem,identico al gap orizzontale tra colonne.!important necessario:".mb-4{margin-bottom:1.5rem!important}" nel subset Bootstrap e' gia'!important. */#services>.container-fluid>.row:last-child>[class*="col-"]{margin-bottom:1rem!important;}@media (min-width:768px){#services>.container-fluid>.row:last-child>[class*="col-"]{margin-bottom:1.875rem!important;}}/* La card e' un link SOLO se la pagina collegata esiste per la lingua corrente (altrimenti resta un <div>,senza CTA "Learn more",vedi home-redesign.php):l'hover che suggerisce interattivita' (bordo piu' acceso,sollevamento) si applica quindi solo alla variante <a>,non al <div> statico (mockup:l'intero <a> ha classe "group",il testo "Learn more" e' un semplice <span> dentro che diventa oro via "group-hover:text-gold" quando si passa sopra la card,non solo sopra il testo). Stesso sollevamento translateY(-4px) di .fleet-card/ .route-card,per coerenza tra le sezioni con card cliccabili. */#services a.benefit-card:hover{transform:translateY(-4px);border-color:color-mix(in oklab,var(--color-accent) 80%,transparent);box-shadow:0 0 0 1px color-mix(in oklab,var(--color-accent) 30%,transparent),0 30px 55px -25px var(--color-shadow-lg);text-decoration:none;}#services div.benefit-card{cursor:default;}/* Bootstrap ha "a:hover{text-decoration:underline}" (reboot):senza queste regole di hover dedicate la sottolineatura ricompare al passaggio del mouse,visto che a:hover (0,1,1) batte ".benefit-card"/".route-card" da soli (0,1,0) sul tipo "a". Stessa dimensione del mockup per "Learn more" / "Get a quote" (text-xs font-semibold tracking-[0.16em] uppercase). */.benefit-card__link{color:var(--color-on-surface-strong);font-size:0.75rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:color 0.15s ease;}.benefit-card__link:hover{text-decoration:none;}#services .benefit-card:hover .benefit-card__link{color:var(--color-accent);}/* ---- Clients / Jet Card:due card in vetro scuro (Financial Framework / Mission Management),fedeli al mockup ("rounded-2xl border border-white/10 bg-white/5 backdrop-blur p-8",icona in badge "border-gold/40 text-gold h-12 w-12",elenco a pallini invece che a spunta). ---- */.jet-card-panel{height:100%;border:1px solid var(--color-border-light);background-color:rgba(255,255,255,0.05);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:2rem;transition:border-color 0.2s ease;}.jet-card-panel:hover{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);}.jet-card-panel__head{display:flex;align-items:center;gap:0.75rem;}.jet-card-panel__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:12px;border:1px solid color-mix(in oklab,var(--color-accent) 40%,transparent);color:var(--color-accent);font-size:1.2rem;}/* mockup:"font-display text-3xl",non il clamp(1.5rem,2.28vw,2rem) dell'h3 di default */.jet-card-panel h3{margin-top:1.5rem;font-size:1.875rem;}/* mockup:"text-primary-foreground/70" + "text-sm" (14px),non bianco pieno a 1rem */.jet-card-panel>p{margin-top:0.75rem;color:rgba(253,250,243,0.7);font-size:0.875rem;}.check-list{list-style:none;margin:1.5rem 0 0;padding:0;}.check-list li,.check-list__item{display:flex;align-items:flex-start;gap:0.75rem;margin-top:0.75rem;/* mockup:"text-primary-foreground/80" + "text-sm" ereditato dall'ul,non 1rem */color:rgba(253,250,243,0.8);font-size:0.875rem;}.check-list li:first-child,.check-list__item:first-child{margin-top:0;}/* voci del preset (div .wipy-feature-list__item):il selettore piu' specifico batte ".wipy-feature-list__item + .wipy-feature-list__item{margin-top:10px}" di style.css */.jet-card-panel .check-list__item + .check-list__item{margin-top:0.75rem;}.check-list__dot{width:6px;height:6px;margin-top:0.5em;border-radius:50%;background-color:var(--color-accent);flex-shrink:0;}/* ---- Fleet:card foto + capacita'/range come prima riga (section-eyebrow),non piu' badge sovrapposto all'immagine. Bordo dorato solo all'hover (mockup:"border border-border ... hover:border-gold/40"),a differenza delle card Services che lo hanno sempre visibile — vedi hover con leggero zoom immagine e sollevamento card,stesso pattern di .benefit-card. ---- */.fleet-card{background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;overflow:hidden;box-shadow:0 22px 45px -28px var(--color-shadow-lg);display:flex;flex-direction:column;transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease;}.fleet-card:hover{transform:translateY(-4px);border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);box-shadow:0 30px 55px -25px var(--color-shadow-lg);}/* Whole card as a link (pagebuilder preset):neutralise the anchor colour and underline so the content keeps the same look as the <div> variant. */a.fleet-card,a.fleet-card:hover{color:inherit;text-decoration:none;}.fleet-card__media{position:relative;aspect-ratio:4 / 3;overflow:hidden;}.fleet-card__img{width:100%;height:100%;object-fit:cover;max-width:100%!important;transition:transform 0.5s ease;}.fleet-card:hover .fleet-card__img{transform:scale(1.05);}.fleet-card__body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column;}/* Nel mockup la riga pax/nm della card ("4–7 pax · 1,500 nm") e' un filo piu' piccola (text-[10px]) dei veri eyebrow di sezione (text-[11px],vedi .section-eyebrow in style.css) pur riusando lo stesso stile dorato/maiuscolo. */.fleet-card__body .section-eyebrow{font-size:0.625rem;}/* mockup:"font-display text-2xl",non il clamp(1.5rem,2.28vw,2rem) dell'h3 di default */.fleet-card__body h3{font-size:1.5rem;}/* mockup:"text-sm" (14px);il tag <small> da solo lo porterebbe a 80% del contesto (12.8px),troppo piccolo,quindi valore esplicito */.fleet-card__text{color:var(--color-on-surface-muted);flex-grow:1;font-size:0.875rem;}.fleet-card:hover .benefit-card__link{color:var(--color-accent);}/* ---- Routes:card rotta intera cliccabile (tag stagionale + durata,tratta con icona aereo,prezzo/CTA sulla stessa riga),stesso pattern hover di .benefit-card/.fleet-card (bordo dorato + sollevamento). ---- */.route-card{background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;padding:1.5rem;box-shadow:0 22px 45px -28px var(--color-shadow-lg);text-decoration:none;color:inherit;transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease;}.route-card:hover{transform:translateY(-4px);border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);box-shadow:0 30px 55px -25px var(--color-shadow-lg);text-decoration:none;}.route-card:hover .benefit-card__link{color:var(--color-accent);}.route-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}.route-card__tag{color:var(--color-accent);text-transform:uppercase;font-weight:600;font-size:0.68rem;letter-spacing:0.1em;}.route-card__duration{color:var(--color-on-surface-muted);text-transform:uppercase;font-weight:600;font-size:0.68rem;letter-spacing:0.1em;}.route-card__route{display:flex;align-items:center;gap:0.6rem;font-family:var(--FONT_FAMILY_SERIF),serif;font-size:1.5rem;font-weight:600;color:var(--color-on-surface-strong);}.route-card__plane{color:var(--color-accent);font-size:0.9rem;flex-shrink:0;transform:rotate(-12deg);}.route-card__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-strong);font-size:0.85rem;}.route-card__price{color:var(--color-on-surface-muted);}/* ---- Header redesign (header_redesign.php):riga unica logo + nav ad ancore + contatti,fedele al mockup. isHomePage() forza sempre body.header- transparent (vedi theme_init.php),quindi qui basta distinguere lo stato "ancora in overlay sulla hero" da ".header-scrolled" (aggiunta via JS,vedi script.js) senza bisogno delle regole :not(.header-transparent) usate altrove per le pagine non-home. ---- */.header-redesign__logo{height:46px;width:auto;display:block;}.header-redesign__nav{gap:1.75rem;}/* Menu centrato nello spazio LIBERO tra logo e blocco contatti (non rispetto all'header intero:con logo e contatti di larghezza diversa i due centri non coincidono). Grid a 3 colonne:le due laterali sono "auto" (larghe quanto il loro contenuto,non 1fr),cosi' tutto lo spazio restante finisce nella colonna centrale,dove il menu si centra con justify-self. Solo da xl in su:sotto resta il layout flex nativo di .navbar con l'hamburger. Al posto di .navbar-expand-xl (assente nel subset custom-bootstrap) le stesse regole sono replicate qui:collapse sempre visibile,toggler nascosto,voci in riga. grid-row:1 esplicito:con il solo grid-column il collapse (colonna 2,ultimo nel DOM) verrebbe auto-piazzato nella riga successiva,dato che il cursore di placement e' gia' oltre la colonna 2. */@media (min-width:1200px){.header-redesign nav.navbar{display:grid;grid-template-columns:auto 1fr auto;column-gap:1.5rem;align-items:center;}.header-redesign nav.navbar>.navbar-brand{grid-column:1;grid-row:1;justify-self:start;}.header-redesign nav.navbar>.navbar-collapse{display:flex!important;flex-basis:auto;grid-column:2;grid-row:1;justify-self:center;}.header-redesign nav.navbar>.d-flex{grid-column:3;grid-row:1;justify-self:end;}.header-redesign .header-redesign__toggler{display:none;}#header ul.header-redesign__nav{flex-direction:row!important;justify-content:center;margin-top:0!important;}#header a.btn-whatsapp.btn-rounded{margin-right:0!important;}#header ul.header-redesign__nav>li>a{white-space:nowrap;}}/* Appena sopra il breakpoint lo spazio e' al limite (logo + 5 voci + telefono + WhatsApp):voci leggermente piu' vicine fino a 1399px. */@media (min-width:1200px) and (max-width:1399.98px){.header-redesign__nav{gap:1.25rem;}}/* ---- Prenav (UID.001.39/40):riga sopra #bar con FAQ,Contattaci e selettore lingua con bandierina,nello stesso ordine del vecchio #top-bar di header_default.php ma con la grammatica del redesign:etichette maiuscole 0.68rem/0.1em come .route-card__tag ma con il peso 400 delle voci della nav,stessa logica colore della nav (testo scuro su chiaro,--color-light all'85% in overlay,accent in hover),bordo inferiore come quello di #header.header-landing in overlay,allineamento a sinistra con il logo (nessun margine negativo). Altezza fissa in --prenav-height:serve sia al layout sia allo scorrimento allo scroll qui sotto. Niente background dedicato:sta dentro #header.header-landing,che transiziona gia' da transparent a var(--color-surface) per l'header intero (style.css). Selettori con #header:sulla home header_default.css e' caricato e la sua "#header li a" / "#header li a:link" (1,1,2) batterebbe una regola a sole classi. ---- *//* .header-landing in piu':"#header.header-landing{transition:...}" di style.css ha la stessa specificita' e viene caricata dopo questo foglio. */#header.header-landing.header-redesign--with-topbar{--prenav-height:2.5rem;transition:background-color 0.3s ease-in-out,box-shadow 0.3s ease-in-out,transform 0.3s ease-in-out;}/* Stesso comportamento del vecchio header (script.js:header.style.top = -altezza di #top-bar oltre i 50px di scroll):una volta scrollato il prenav esce dall'alto e resta visibile solo #bar,tornando giu' quando l'header torna trasparente. Qui con transform + transition invece dello "top" inline (che script.js riporta comunque a 0px,non trovando #top-bar):lo scorrimento e' fluido e non ricalcola il layout. */body.header-scrolled #header.header-redesign--with-topbar{transform:translateY(calc(-1 * var(--prenav-height)));}@media (prefers-reduced-motion:reduce){#header.header-landing.header-redesign--with-topbar{transition:none;}}.header-redesign__topbar{height:var(--prenav-height);border-bottom:1px solid var(--color-border-light);transition:border-color 0.3s ease-in-out;}.header-redesign__topbar>.container-fluid,#header ul.header-redesign__topbar-links{height:100%;}#header ul.header-redesign__topbar-links{gap:1.75rem;text-transform:uppercase;}#header ul.header-redesign__topbar-links>li{height:100%;}#header ul.header-redesign__topbar-links>li>a{display:flex;align-items:center;height:100%;padding:0;margin:0;font-size:0.68rem;font-weight:400;letter-spacing:0.1em;color:var(--color-on-surface-muted);opacity:1;text-decoration:none;transition:opacity 0.15s ease,color 0.15s ease;}#header ul.header-redesign__topbar-links>li>a:hover{color:var(--color-accent);opacity:1;}body.header-transparent:not(.header-scrolled) .header-redesign__topbar{border-bottom-color:rgba(255,255,255,0.1);}body.header-transparent:not(.header-scrolled) #header ul.header-redesign__topbar-links>li>a{color:var(--color-light);opacity:0.85;}body.header-transparent:not(.header-scrolled) #header ul.header-redesign__topbar-links>li>a:hover{color:var(--color-accent);opacity:1;}.header-redesign__topbar-item--hideable{display:none;}@media (min-width:576px){.header-redesign__topbar-item--hideable{display:block;}}.header-redesign__topbar-lang{position:relative;}#header ul.header-redesign__topbar-links>li>a.header-redesign__topbar-lang-toggle{gap:0.4em;}.header-redesign__topbar-lang-toggle svg{width:1.333em;height:1em;border-radius:2px;}.header-redesign__topbar-lang-toggle .ic{font-size:1.1em;border-radius:0;}.header-redesign__topbar-lang .header-redesign__sub-menu{position:absolute;top:100%;left:0;min-width:190px;padding:0.5rem 0;margin-top:0;border-radius:8px;box-shadow:0 12px 30px -10px var(--color-shadow-lg);background-color:var(--color-surface);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity 0.15s ease,transform 0.15s ease,visibility 0.15s;z-index:10;}.header-redesign__topbar-lang:hover .header-redesign__sub-menu,.header-redesign__topbar-lang:focus-within .header-redesign__sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}/* Fondo scuro in overlay a TUTTE le larghezze:la regola equivalente del sub-menu principale vive solo da lg in su (sotto e' in flusso nel pannello collapse),ma questo flyout resta assoluto anche su mobile. */body.header-transparent:not(.header-scrolled) .header-redesign__topbar-lang .header-redesign__sub-menu{background-color:var(--color-surface-dark);}/* #header + ul + li:deve battere sia "#header li a" di header_default.css sia "#header ul.header-redesign__sub-menu li a" del menu principale qui sotto. Stessa resa delle voci del sub-menu principale (padding/size/colori). */#header .header-redesign__topbar-lang ul.header-redesign__sub-menu li a{display:flex;align-items:center;gap:0.6em;margin:0;padding:0.5rem 1.25rem;font-size:0.85rem;font-weight:normal;letter-spacing:normal;text-transform:none;color:var(--color-on-surface-strong);opacity:1;text-decoration:none;white-space:nowrap;transition:opacity 0.15s ease,color 0.15s ease;}body.header-transparent:not(.header-scrolled) #header .header-redesign__topbar-lang ul.header-redesign__sub-menu li a{color:var(--color-light);opacity:0.85;}#header .header-redesign__topbar-lang ul.header-redesign__sub-menu li a:hover,#header .header-redesign__topbar-lang ul.header-redesign__sub-menu li a[aria-current="true"],body.header-transparent:not(.header-scrolled) #header .header-redesign__topbar-lang ul.header-redesign__sub-menu li a:hover,body.header-transparent:not(.header-scrolled) #header .header-redesign__topbar-lang ul.header-redesign__sub-menu li a[aria-current="true"]{color:var(--color-accent);opacity:1;}.header-redesign__topbar-lang .header-redesign__sub-menu li a svg{width:1.333em;height:1em;flex-shrink:0;border-radius:2px;}/* header_default.css e' caricato dal framework su OGNI pagina per convenzione di naming (Document::getThemeHeader() -> addTemplateStyle("header_default")),non solo quando il suo markup e' incluso:qui vale ancora,visto che header_default.php e' sempre il "template" risolto anche quando il body arriva da header-redesign.php. La sua regola "#header li a,#header li a:link,..." (id + pseudo-classe :link/:visited = specificita' 1,1,2) e "#header ul{text-transform:uppercase}" battono ".header-redesign__nav a" (0,1,1):serve un selettore con lo stesso #header per garantire la priorita',non solo dichiarare le proprieta' una volta. *//* Default = testo scuro su sfondo chiaro:e' il caso comune a QUALUNQUE pagina non-home (nessuna foto/gradiente dietro l'header,solo lo sfondo chiaro di #header da header_default.css) e alla home stessa una volta scrollata. Il testo chiaro serve SOLO quando l'header e' davvero in overlay su una foto scura (home,prima dello scroll):scoped a body.header-transparent:not(.header-scrolled) qui sotto,non il default — altrimenti su un post agganciato standalone (header_redesign.php via Posts.php,senza mai la classe header-transparent) il testo chiaro risultava invisibile su sfondo altrettanto chiaro. */#header ul.header-redesign__nav li a,.header-redesign__phone{display:inline-flex;align-items:center;margin:0;padding:0;text-transform:none;letter-spacing:normal;color:var(--color-on-surface-strong);opacity:1;font-size:0.88rem;text-decoration:none;transition:opacity 0.15s ease,color 0.15s ease;}body.header-transparent:not(.header-scrolled) #header ul.header-redesign__nav li a,body.header-transparent:not(.header-scrolled) .header-redesign__phone{color:var(--color-light);opacity:0.85;}/* Hover dorato come la nav della vecchia home (--color-link-hover,non --color-accent),in entrambi gli stati:la variante overlay va ripetuta,altrimenti la regola body.header-transparent:not(.header-scrolled) qui sopra (specificita' maggiore) annulla l'hover finche' si e' sulla hero. */#header ul.header-redesign__nav li a:hover,.header-redesign__phone:hover,body.header-transparent:not(.header-scrolled) #header ul.header-redesign__nav li a:hover,body.header-transparent:not(.header-scrolled) .header-redesign__phone:hover{color:var(--color-link-hover);opacity:1;}/* mockup:icona telefono h-4/w-4 (16px) vs testo text-sm (14px) — leggermente piu' grande del testo che l'accompagna,non alla sua stessa dimensione (stesso approccio em di .hero-stat .ic qui sopra). */.header-redesign__phone .ic{color:var(--color-accent);font-size:1.15em;}/* Pillola con testo "WhatsApp" (d-sm-inline-flex) sotto sm diventa questo cerchio con la sola icona (mockup:stesso pattern,due <a> separati invece di un solo pulsante con testo nascosto via CSS,per non lasciare un pulsante largo quanto la pillola ma con un padding orizzontale sprecato). */.header-redesign__whatsapp-icon{width:40px;height:40px;padding:0;border-radius:50%;font-size:1.1rem;}/* .btn ha "display:inline-flex!important" (style.css,generico per tutti i pulsanti) che batte ".d-none"/".d-sm-inline-flex" quando presenti sullo stesso elemento:stessa specificita' di classe (0,1,0) e stesso!important,ma .btn e' dichiarato dopo nella cascata (style.css carica dopo custom-bootstrap.min.css),quindi vince lui e i due pulsanti WhatsApp restavano visibili insieme a ogni larghezza. Serve l'id #header per garantire la priorita' a prescindere dall'ordine di caricamento. */#header .header-redesign__whatsapp-icon{display:inline-flex!important;}#header a.btn-whatsapp.btn-rounded{display:none!important;}/* style_pagebuilder.css (caricata da no-title.php sulle pagine con contenuto pagebuilder,es. jet-card-test,ma non dalla home) definisce una regola globale non scoped "* + .btn{margin-top:30px/50px}" per la spaziatura verticale dei blocchi Novi:essendo entrambi i pulsanti WhatsApp .btn preceduti da un sibling nel markup,matcha anche qui e gonfiava l'header di ~50px SOLO sulle pagine interne (la home non carica quel file). Stessa priorita' #header delle regole sopra per battere la cascata a prescindere dall'ordine di caricamento. */#header .header-redesign__whatsapp-icon,#header a.btn-whatsapp.btn-rounded{margin-top:0!important;}@media (min-width:576px){#header .header-redesign__whatsapp-icon{display:none!important;}#header a.btn-whatsapp.btn-rounded{display:inline-flex!important;}}/* Hamburger sotto lg:stesso trattamento colore chiaro/scuro di nav e telefono qui sopra (icona "bars" con currentColor) — stesso ragionamento sul default scuro/scoped-chiaro. */.header-redesign__toggler{border:none;background:transparent;color:var(--color-on-surface-strong);opacity:1;font-size:1.3rem;transition:opacity 0.15s ease,color 0.15s ease;}body.header-transparent:not(.header-scrolled) .header-redesign__toggler{color:var(--color-light);opacity:0.85;}.header-redesign__toggler:hover,.header-redesign__toggler:focus{opacity:1;color:var(--color-accent);}@media (max-width:1199.98px){.header-redesign__nav{gap:0;}#header ul.header-redesign__nav li a{width:100%;padding:0.75rem 0;}.header-redesign__nav li{border-bottom:1px solid var(--color-border-light);}.header-redesign__nav li:last-child{border-bottom:none;}/* Il pannello a tendina eredita lo sfondo di #header.header-landing (bianco da scrollato,vedi style.css §"Landing header/footer"):resta leggibile di suo una volta scrollato. Finche' l'header e' ancora trasparente sulla hero pero' serve un fondo scuro dedicato,altrimenti il menu aperto galleggia senza contrasto sopra il video/gradiente della hero. */body.header-transparent:not(.header-scrolled) #header-redesign-nav{background-color:rgba(3,18,34,0.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:0.25rem 1.25rem;}}/* ---- Sottovoci di menu (nav ad ancore a piatto oggi,ma pronte a ospitare un item con "children" — stesso concetto del sub-menu generato da generateNav() in header_default.php). Da lg in su e' un flyout in hover,con lo stesso doppio stato chiaro/scuro (overlay sulla hero vs scrollato) gia' usato da "#header .sub-menu" nell'header vecchio (header_default.css):sfondo scuro finche' l'header e' trasparente,chiaro una volta scrollato,cosi' il pannello resta leggibile in entrambi i casi. Sotto lg non c'e' hover ne' JS di toggle dedicato (come nel vecchio nav):le sottovoci restano semplicemente in flusso,rientrate,sempre visibili dentro il pannello .navbar-collapse gia' aperto — piu' accessibile su mobile del vecchio ".sub-menu{display:none}" mai riaperto senza hover. ---- */.header-redesign__sub-menu{list-style:none;margin:0;padding:0;}.header-redesign__nav-item.dropdown>a .ic{font-size:0.7em;margin-left:0.3em;}@media (min-width:1200px){.header-redesign__nav-item.dropdown{position:relative;}.header-redesign__sub-menu{position:absolute;top:100%;left:50%;min-width:190px;padding:0.5rem 0;margin-top:0.5rem;border-radius:8px;box-shadow:0 12px 30px -10px var(--color-shadow-lg);background-color:var(--color-surface);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,4px);transition:opacity 0.15s ease,transform 0.15s ease,visibility 0.15s;z-index:10;}.header-redesign__nav-item.dropdown:hover .header-redesign__sub-menu,.header-redesign__nav-item.dropdown:focus-within .header-redesign__sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}/* Hover bridge:covers the margin-top gap so the pointer can travel from the nav item to the panel without losing :hover. */.header-redesign__sub-menu::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:0.5rem;}body.header-transparent:not(.header-scrolled) .header-redesign__sub-menu{background-color:var(--color-surface-dark);}/* Stessa "#header ul...li a" di riga 426 qui sopra,applicata al sub-menu:serve a battere quella regola (id + 3 tipi = pari specificita',vince per ordine nel foglio) che altrimenti resta l'unica a decidere display/ padding/font-size di QUALSIASI "li a" discendente di ul.header-redesign__ nav,sub-menu incluso,forzandolo a inline-flex e padding:0. */#header ul.header-redesign__sub-menu li a{display:block;align-items:initial;padding:0.5rem 1.25rem;margin:0;white-space:nowrap;font-size:0.85rem;text-transform:none;letter-spacing:normal;text-decoration:none;color:var(--color-on-surface-strong);opacity:1;}body.header-transparent:not(.header-scrolled) #header ul.header-redesign__sub-menu li a{color:var(--color-light);opacity:0.85;}#header ul.header-redesign__sub-menu li a:hover,body.header-transparent:not(.header-scrolled) #header ul.header-redesign__sub-menu li a:hover{color:var(--color-link-hover);opacity:1;}}@media (max-width:1199.98px){.header-redesign__sub-menu{padding-left:1rem;}#header ul.header-redesign__sub-menu li a{display:block;align-items:initial;padding:0.5rem 0;font-size:0.82rem;}}/* ---- Footer redesign (footer_redesign.php) ---- *//* style.css ha una regola generica "footer{border-top:1px solid var(--color- border-strong)}" (chiara) pensata per il footer di sempre su sfondo chiaro:su #footer-landing,sempre scuro (qui e anche nel footer_landing.php gia' esistente),risultava in una riga bianca indesiderata in cima. */#footer-landing{border-top:none;}/* Il mockup distribuisce le 4 colonne su una grid a 5 frazioni (brand 2fr,ogni colonna di link 1fr:"grid lg:grid-cols-5" + brand "lg:col-span-2"),che il grid a 12 colonne di Bootstrap non riproduce esattamente:col-lg-4 (33.33%) + 3x col-lg-2 (16.67%) sommano solo a 83.33%,lasciando un vuoto di 2/12 a destra invece di riempire la riga come nel mockup. Si sovrascrivono le percentuali stock di Bootstrap solo in questo contesto (40%/20%,stessa proporzione 2:1:1:1 del mockup) mantenendo le classi col-lg-4/col-lg-2 per il resto del comportamento (gutter,ecc.). */@media (min-width:992px){.footer-redesign__top.row>.col-lg-4{-ms-flex:0 0 40%;flex:0 0 40%;max-width:40%;}.footer-redesign__top.row>.col-lg-2{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%;}}.text-white-70{color:rgba(255,255,255,0.7);}.footer-redesign__logo{height:46px;width:auto;display:block;}/* Il footer e' sempre scuro (niente stato "scrollato" da gestire come per l'header):le lettere del logo SVG restano sempre chiare,senza bisogno della regola condizionata su body.header-transparent/.header-scrolled usata in style.css per l'header. */#footer-landing .svg-logo-letters{fill:var(--color-light);}.footer-redesign__top,.footer-redesign__mid{border-bottom:1px solid var(--color-border-light);}.footer-redesign__heading{color:var(--color-accent);text-transform:uppercase;font-weight:600;font-size:0.72rem;letter-spacing:0.15em;}/* The footer headings are h3 for a correct outline (no h2 -> h4 skip),but they must look like the former h4:the global h3 rules (serif font with!important,".bg-dark h3" colour) would otherwise change font and colour. */.bg-dark h3.footer-redesign__heading{color:var(--color-accent);font-family:inherit!important;}.footer-redesign__social{width:36px;height:36px;border-radius:50%;border:1px solid var(--color-border-light);display:inline-flex;align-items:center;justify-content:center;color:var(--color-light);transition:border-color 0.15s ease,color 0.15s ease;}.footer-redesign__social:hover{border-color:var(--color-accent);color:var(--color-accent);}.footer-redesign__label{font-size:0.68rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-accent);}.footer-redesign__lang-btn{border:1px solid rgba(255,255,255,0.2);border-radius:6px;padding:3px 10px;font-size:0.68rem;font-weight:600;letter-spacing:0.08em;color:rgba(255,255,255,0.8);text-decoration:none;transition:border-color 0.15s ease,color 0.15s ease;}.footer-redesign__lang-btn:hover,.footer-redesign__lang-btn.is-current{border-color:var(--color-accent);color:var(--color-accent);}.footer-redesign__badge{border:1px solid rgba(255,255,255,0.2);border-radius:4px;padding:3px 8px;font-size:0.62rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.8);text-decoration:none;}.footer-redesign__badge:hover{border-color:var(--color-accent);color:var(--color-accent);}.footer-redesign__payment-text{font-size:0.72rem;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.05em;}.footer-redesign__legal{color:rgba(255,255,255,0.5);line-height:1.7;font-size:0.78rem;}.footer-redesign__legal a{color:rgba(255,255,255,0.7);text-decoration:underline;}.footer-redesign__legal a:hover{color:var(--color-accent);}.footer-redesign__text{color:rgba(255,255,255,0.65);font-size:0.85rem;line-height:1.6;}.footer-redesign__contact{color:rgba(255,255,255,0.75);font-size:0.85rem;text-decoration:none;margin-bottom:0.6rem;/* style.css gives every <a> "gap:0.4em":phone and email rows are links but the address row is a div,so its text started 0.4em earlier. Same gap on all rows. */column-gap:0.4em;}.footer-redesign__contact:last-child{margin-bottom:0;}.footer-redesign__contact:hover{color:var(--color-accent);}.footer-redesign__links{margin:0.9rem 0 0;padding:0;}.footer-redesign__links li{margin-bottom:0.55rem;line-height:1.3;}.footer-redesign__links li:last-child{margin-bottom:0;}/* footer_default.css e' caricato dal framework su OGNI pagina per la stessa convenzione di naming di header_default.css (vedi commento su .header-redesign__nav sopra). "footer li a:link/:visited{color:var(--color- link)}" (0 id,1 classe dalla pseudo-classe,3 tipi) e "footer li a{... margin:0 20px;padding:14px 6px;display:block...}" (header_default.css,0,0,3) battono ".footer-redesign__links a" (0,1,1) sul numero di selettori di tipo:serve l'id #footer-landing per avere priorita' garantita a prescindere dall'ordine di caricamento dei file. */#footer-landing .footer-redesign__links a{display:inline-block;margin:0;padding:0;text-transform:none;letter-spacing:normal;color:rgba(255,255,255,0.65);font-size:0.85rem;text-decoration:none;}#footer-landing .footer-redesign__links a:hover{color:var(--color-accent);}/* ---- Why-Us ("What sets FastPrivateJet apart."):card orizzontale (icona a fianco del titolo,non sopra),niente sollevamento all'hover — solo bordo dorato,a differenza di .benefit-card (Services) che si solleva e ha gia' il bordo dorato statico. Classe dedicata invece di riusare .benefit-card per non dover gestire override diversi sullo stesso componente condiviso. ---- */.why-card{display:flex;align-items:flex-start;gap:1rem;background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;padding:1.25rem;box-shadow:0 22px 45px -28px var(--color-shadow-lg);transition:border-color 0.2s ease;}.why-card:hover{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);}.why-card__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;font-size:1rem;}/* font-size volutamente non impostato qui:eredita il clamp() di .h5 (vedi markup home_redesign.php,<h3 class="why-card__title h5">) — un tempo qui c'era un font-size fisso a 1.125rem,ma .h5 (style.css) carica dopo home-redesign.css a parita' di specificita' e vinceva comunque:dichiararlo di nuovo qui sarebbe stato codice morto. */.why-card__title{margin-bottom:0.25rem;}.why-card__text{color:var(--color-on-surface-muted);font-size:0.9em;margin-bottom:0;}/* ---- Utility di gutter verticale usate dai blocchi pagebuilder landing-page- section-01/03 (row spacing-30/40),riusate qui per coerenza visiva ma mai definite in style.css/style_pagebuilder.css:le aggiungo qui perche' servono solo in home. ---- */.spacing-30{row-gap:1.875rem;}.spacing-40{row-gap:2.5rem;}/* nei post del pagebuilder style_pagebuilder.css da' a .spacing-40 un modello a margini negativi (translate -40px + margin-top:40px sui figli) che,sommato al row-gap qui sopra,raddoppia il distacco tra le colonne quando vanno una sopra l'altra (mobile) */:is(#home-redesign,.home-redesign) .spacing-40{transform:none;margin-bottom:0;pointer-events:auto;}:is(#home-redesign,.home-redesign) .spacing-40>*{margin-top:0;}/* ---- Form di preventivo dell'hero (views/booking-form-htmlform-redesign.php,copia dedicata di booking-form-htmlform.php):mockup e campo Da/A + Data/ Passeggeri su due righe separate,non tutto sulla stessa riga a 4 colonne com'era nell'originale (troppo stretto nella colonna dell'hero). ---- */.booking-form-redesign__leg{position:relative;}.booking-form-redesign__row{display:flex;flex-wrap:wrap;gap:0.75rem;}.booking-form-redesign__row--details{margin-top:0.75rem;}.booking-form-redesign__field{flex:1 1 160px;min-width:0;}.booking-form-redesign__field--sm{flex-basis:130px;}/* feedback di ricerca aeroporti:lo spinner di style.css eredita il colore del testo chiaro dell'hero e sul campo crema risulta invisibile */:is(#home-redesign,.home-redesign) form.booking-form .spinner{color:var(--color-accent);pointer-events:none;}/* leggibilita' di un volo aggiunto ("Add Flight"):etichetta "Leg N" + riquadro,mostrati solo quando c'e' piu' di un volo (booking-form.js aggiunge #hero-quote.booking-form-redesign--multi-leg via home-redesign.php). Il riquadro si applica a TUTTI i voli,incluso il primo,cosi' restano coerenti tra loro invece di avere solo i voli aggiunti "incorniciati". */.booking-form-redesign__leg-num{display:none;color:var(--color-accent);text-transform:uppercase;font-weight:600;font-size:0.68rem;letter-spacing:0.1em;margin-bottom:0.5rem;}#hero-quote.booking-form-redesign--multi-leg .booking-form-redesign__leg-num{display:block;}#hero-quote.booking-form-redesign--multi-leg .booking-form-redesign__leg{margin-top:1rem;padding:1rem;border:1px solid var(--color-border-strong);border-radius:12px;background-color:var(--color-surface-contrast);}#hero-quote.booking-form-redesign--multi-leg .booking-form-redesign__leg:first-of-type{margin-top:0;}.booking-form-redesign__leg-remove{position:absolute;top:0;right:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--color-on-surface-muted);cursor:pointer;transition:color 0.15s ease,background-color 0.15s ease;}.booking-form-redesign__leg-remove:hover{color:var(--color-on-surface-strong);background-color:var(--color-border-light);}.booking-form-redesign__leg-remove a{color:inherit;text-decoration:none;}/* Il tema definisce .btn{display:inline-flex!important}:stessa specificita' e stesso!important di .d-none{display:none!important},quindi nel CSS combinato vince chi compare dopo nel file e .d-none smette di nascondere i bottoni .btn (qui .addFlight/.addReturn,che booking-form.php nasconde/mostra a vicenda via classe d-none). Serve una regola piu' specifica,scoperta alla sola hero della redesign,per garantire che l'esclusione reciproca funzioni sempre a prescindere dall'ordine del CSS globale. */#hero-quote .addFlight.d-none,#hero-quote .addReturn.d-none{display:none!important;}/* Mobile-first:impilati a piena larghezza (come btn-block),testo centrato e libero di andare a capo (.btn ha white-space:nowrap di base) — altrimenti "Get a Quote" non ci sta su una riga alle larghezze piu' strette. La riga affiancata originale si applica dal breakpoint Bootstrap md in su (768px,stesso valore di custom-bootstrap.min.css);sotto resta impilato. */.booking-form-redesign__buttons{display:flex;flex-direction:column;align-items:stretch;gap:0.75rem;margin-top:1.1rem;}.booking-form-redesign__buttons-left{display:flex;flex-direction:column;width:100%;gap:0.5rem;}#hero-quote .addFlight,#hero-quote .addReturn,#hero-quote .booking-form-redesign__submit{width:100%;white-space:normal;text-align:center;justify-content:center;}/* style.css ".booking-form-card button{margin-top:18px}" (pensata per un CTA singolo) qui si applica solo al submit — addFlight/addReturn hanno gia' .m-0 (!important) che la azzera — disallineando la riga:lo spazio si sposta come margin-bottom sui due bottoni secondari,che gia' battono .m-0 solo su questa proprieta'. */#hero-quote .booking-form-redesign__submit{margin-top:0;}#hero-quote .addFlight,#hero-quote .addReturn{margin-bottom:18px!important;}@media (min-width:768px){#hero-quote .booking-form-redesign__buttons{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;}#hero-quote .booking-form-redesign__buttons-left{flex-direction:row;flex-wrap:wrap;width:auto;}#hero-quote .addFlight,#hero-quote .addReturn{width:auto;white-space:nowrap;/* il margin-bottom serve solo per staccare le righe quando i bottoni sono impilati (sotto md):qui sono affiancati,quindi va azzerato,altrimenti allunga la loro margin box e align-items:center li sposta in alto rispetto al submit,disallineando la riga. */margin-bottom:0!important;}#hero-quote .booking-form-redesign__submit{width:auto;white-space:nowrap;flex-grow:0;}}/* ---- Recensioni ([reviews-average] + [reviews-carousel],views/home-reviews.php) ---- Slider slick con card bianche in stile benefit-card,solo frecce (i puntini sono nascosti globalmente da theme_init.php). ---- */:is(#home-redesign,.home-redesign) .reviews-average{display:inline-flex;align-items:center;gap:0.75rem;margin-top:1rem;}:is(#home-redesign,.home-redesign) .reviews-average__stars{display:inline-flex;gap:0.15rem;font-size:1.5rem;line-height:1;color:var(--color-accent);}:is(#home-redesign,.home-redesign) .reviews-average__value{font-size:1.25rem;}.reviews-cta{padding-top:2rem;text-align:center;}:is(#home-redesign,.home-redesign) .reviews-slider{margin:0 -0.75rem;padding-bottom:3.5rem;}:is(#home-redesign,.home-redesign) .reviews-slider .slick-track{display:flex;}:is(#home-redesign,.home-redesign) .reviews-slider .slick-slide{height:auto;padding:0 0.75rem;}:is(#home-redesign,.home-redesign) .reviews-slider .slick-slide>div{height:100%;}:is(#home-redesign,.home-redesign) .reviews-slider__slide{height:100%;}.review-card{display:flex;flex-direction:column;height:100%;padding:1.75rem;background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;box-shadow:0 22px 45px -28px var(--color-shadow-lg);}.review-card__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;}.review-card__stars{display:inline-flex;gap:0.1rem;color:var(--color-accent);}.review-card__source{height:16px;width:auto;}.review-card__text{flex-grow:1;margin-top:1rem;font-size:0.9rem;line-height:1.6;color:var(--color-on-surface-muted);}.review-card__author{display:flex;align-items:center;gap:0.75rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border-strong);}.review-card__avatar{width:44px;height:44px;flex-shrink:0;border-radius:50%;object-fit:cover;}.review-card__name{font-size:0.8rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-on-surface);}.review-card__name a{color:inherit;}.review-card__date{margin-top:0.15rem;font-size:0.75rem;color:var(--color-on-surface-muted);}:is(#home-redesign,.home-redesign) .reviews-slider .slick-prev,:is(#home-redesign,.home-redesign) .reviews-slider .slick-next{top:auto;bottom:-0.25rem;z-index:1;width:2.25rem;height:2.25rem;border-radius:50%;background-color:var(--color-white);border:1px solid var(--color-border-strong);transform:none;}/* theme_init.php ridefinisce le frecce di slick globalmente con!important (grigio,a 10px dal bordo):qui servono!important per riposizionarle sotto lo slider */:is(#home-redesign,.home-redesign) .reviews-slider .slick-arrow{color:var(--color-on-surface)!important;}:is(#home-redesign,.home-redesign) .reviews-slider .slick-prev{left:calc(50% - 2.5rem)!important;}:is(#home-redesign,.home-redesign) .reviews-slider .slick-next{right:calc(50% - 2.5rem)!important;}:is(#home-redesign,.home-redesign) .reviews-slider .slick-prev::before,:is(#home-redesign,.home-redesign) .reviews-slider .slick-next::before{content:none;}:is(#home-redesign,.home-redesign) .reviews-slider .slick-arrow:hover{border-color:var(--color-accent);color:var(--color-accent)!important;}/* ---- Partner ([partners-slider],views/home-partners.php) ---- */:is(#home-redesign,.home-redesign) .partners-slider .slick-slide{padding:0 1rem;}.partners-slider__logo{display:flex;align-items:center;justify-content:center;height:140px;opacity:0.8;filter:grayscale(1);transition:opacity 0.2s ease,filter 0.2s ease;}.partners-slider__logo:hover{opacity:1;filter:none;}/* altezza dei loghi come nella vecchia home (200px scalati a 0.6 = 120px):width al 100% con object-fit evita che i loghi larghi escano dalla slide */.partners-slider__logo img{width:100%;height:120px;object-fit:contain;}/* ---- RTL (arabo):la griglia flex si specchia da sola con dir="rtl",ma restano da girare le cose a direzione fissa:frecce e aereo (puntano verso la fine della riga),il badge dell'immagine e il pulsante audio (posizionati con right),il margine delle icone (.ml-1) e il padding della colonna immagine (.pr-lg-5),che nel layout specchiato finirebbero sul lato esterno invece che tra le colonne. ---- */[dir="rtl"] :is(#home-redesign,.home-redesign) .ic-long-arrow-alt-right,[dir="rtl"] :is(#home-redesign,.home-redesign) .ic-arrow-right{transform:scaleX(-1);}[dir="rtl"] :is(#home-redesign,.home-redesign) .route-card__plane{transform:scaleX(-1) rotate(-12deg);}[dir="rtl"] :is(#home-redesign,.home-redesign) .ml-1{margin-left:0!important;margin-right:0.25rem!important;}@media (min-width:992px){[dir="rtl"] :is(#home-redesign,.home-redesign) .pr-lg-5{padding-right:15px!important;padding-left:3rem!important;}}[dir="rtl"] :is(#home-redesign,.home-redesign) .landing-figure__badge{right:auto;left:50px;}@media (max-width:575px){[dir="rtl"] :is(#home-redesign,.home-redesign) .landing-figure__badge{left:20px;}}[dir="rtl"] :is(#home-redesign,.home-redesign) #header-video-tag-audio{right:auto;left:var(--hero-edge);}/* slider recensioni in RTL:slick-theme.css specchia prev/next con [dir="rtl"] e il resto del posizionamento (sotto lo slider,al centro) va specchiato a mano;le chevron restano disegnate nel verso LTR e vanno girate */[dir="rtl"] :is(#home-redesign,.home-redesign) .reviews-slider .slick-prev{left:auto!important;right:calc(50% - 2.5rem)!important;}[dir="rtl"] :is(#home-redesign,.home-redesign) .reviews-slider .slick-next{right:auto!important;left:calc(50% - 2.5rem)!important;}[dir="rtl"] :is(#home-redesign,.home-redesign) .reviews-slider .slick-arrow .ic{transform:scaleX(-1);}/* header e footer redesign in RTL:la distanza tra telefono e WhatsApp (mr-4) e tra icona e indirizzo nel footer (ml-2) e' scritta con margini fisici,che nel layout specchiato finiscono sul lato sbagliato e lasciano gli elementi attaccati. */[dir="rtl"] #header .header-redesign__phone.mr-4{margin-right:0!important;margin-left:1.5rem!important;}[dir="rtl"] .footer-redesign__contact .ml-2{margin-left:0!important;margin-right:0.5rem!important;}/* selettore lingua in RTL:il flyout e' ancorato a left:0 del toggle,che in arabo sta sul bordo destro dello schermo,quindi il pannello si apre verso destra e esce dalla finestra. Ancorandolo a right:0 si apre verso l'interno. Stesso discorso per il margine della freccia dei menu a tendina (margin-left fisso). */[dir="rtl"] .header-redesign__topbar-lang .header-redesign__sub-menu{left:auto;right:0;}[dir="rtl"] .header-redesign__nav-item.dropdown>a .ic{margin-left:0;margin-right:0.3em;}/* gruppo telefono/WhatsApp/hamburger:ml-auto lo spinge a destra,ma in RTL il logo sta gia' a destra e il gruppo resterebbe attaccato a lui (header "schiacciato" sotto i 1200px) */[dir="rtl"] .header-redesign .ml-auto{margin-left:0!important;margin-right:auto!important;}/* Sotto-menu a fisarmonica sotto 1200px:pulsante freccia separato dal link */.header-redesign__sub-toggle{display:none;}@media (max-width:1199.98px){.header-redesign__nav-item.dropdown{display:flex;flex-wrap:wrap;align-items:center;}#header ul.header-redesign__nav li.dropdown>a{width:auto;}.header-redesign__nav-item.dropdown>a .ic{display:none;}.header-redesign__sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:44px;margin-left:auto;padding:0;border:0;background:transparent;color:inherit;font-size:0.8rem;cursor:pointer;}.header-redesign__sub-toggle .ic{transition:transform 0.15s ease;}.header-redesign__nav-item.dropdown.is-open>.header-redesign__sub-toggle .ic{transform:rotate(180deg);}.header-redesign__nav-item.dropdown>.header-redesign__sub-menu{display:none;flex-basis:100%;}.header-redesign__nav-item.dropdown.is-open>.header-redesign__sub-menu{display:block;}}/* RTL:il margine WhatsApp-hamburger va sul lato del toggler */@media (max-width:1199.98px){[dir="rtl"] #header .btn-whatsapp.mr-3{margin-right:0!important;margin-left:1rem!important;}}/* RTL:la X di rimozione tratta sul lato sinistro (specchio) */@media (min-width:767px){[dir="rtl"] :is(#home-redesign,.home-redesign) #hero-form .booking-form__leg .booking-form__remove{right:auto;left:-45px;}}/* Pulsante freccia:colore come i link,padding lista in RTL */.header-redesign__sub-toggle{color:var(--color-on-surface-strong);}body.header-transparent:not(.header-scrolled) .header-redesign__sub-toggle{color:var(--color-light);}@media (max-width:1199.98px){[dir="rtl"] .header-redesign__nav,[dir="rtl"] .header-redesign__sub-menu{padding-right:0;}[dir="rtl"] .header-redesign__sub-menu{padding-right:1rem;padding-left:0;}[dir="rtl"] .header-redesign__sub-toggle{margin-left:0;margin-right:auto;}}/* Freccia dropdown:hover dorato come i link */.header-redesign__sub-toggle:hover,.header-redesign__sub-toggle:focus,.header-redesign__nav-item.dropdown:hover>.header-redesign__sub-toggle,body.header-transparent:not(.header-scrolled) .header-redesign__sub-toggle:hover,body.header-transparent:not(.header-scrolled) .header-redesign__sub-toggle:focus,body.header-transparent:not(.header-scrolled) .header-redesign__nav-item.dropdown:hover>.header-redesign__sub-toggle{color:var(--color-link-hover);outline:none;}/* WhatsApp pill with text:white on #25d366 is 1.98:1,dark text is 9.5:1. The icon-only variants keep the white icon. */.btn-whatsapp.text-white:not(.header-redesign__whatsapp-icon):not(.floating-whatsapp),.btn-whatsapp.text-white:not(.header-redesign__whatsapp-icon):not(.floating-whatsapp):hover{color:var(--color-on-primary)!important;}/* Indentazione sottovoci su mobile */@media (max-width:1199.98px){.header-redesign__nav-item.dropdown>ul.header-redesign__sub-menu{padding-left:1.25rem;padding-right:0;margin-bottom:0.5rem;}[dir="rtl"] .header-redesign__nav-item.dropdown>ul.header-redesign__sub-menu{padding-left:0;padding-right:1.25rem;}}
/*! * Bootstrap v4.1.1 (https://getbootstrap.com/) * Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2018 Twitter,Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figure,footer,header,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,pre{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.blockquote{margin-bottom:1rem;font-size:1.25rem}.img-fluid{max-width:100%;height:auto}.figure{display:inline-block}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:var(--container-max-width-sm)}}@media (min-width:768px){.container{max-width:var(--container-max-width-md)}}@media (min-width:992px){.container{max-width:var(--container-max-width-lg)}}@media (min-width:1200px){.container{max-width:var(--container-max-width-xl)}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col,.col-10,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-9,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-6,.col-lg-7,.col-lg-8,.col-md-10,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-6,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl-12,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}@media (min-width:576px){.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media (min-width:768px){.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-last{-ms-flex-order:13;order:13}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}}@media (min-width:992px){.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}}@media (min-width:1200px){.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.btn-group-toggle>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-prepend .btn+.btn{margin-left:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-text:last-child{margin-bottom:0}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top{margin-bottom:.5rem}.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-right{margin-left:.5rem}.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-bottom{margin-top:.5rem}.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left{margin-right:.5rem}.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}@media screen and (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-bottom-0{border-bottom:0!important}.border-primary{border-color:#007bff!important}.rounded{border-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-block{display:block!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-block{display:block!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}}@media (min-width:992px){.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}}@media (min-width:1200px){.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}}.position-relative{position:relative!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.w-25{width:25%!important}.w-100{width:100%!important}.h-100{height:100%!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mx-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.mt-1{margin-top:.25rem!important}.mx-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pr-0,.px-0{padding-right:0!important}.pl-0,.px-0{padding-left:0!important}.pt-1{padding-top:.25rem!important}.px-1{padding-right:.25rem!important}.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.mt-sm-0{margin-top:0!important}.mb-sm-0{margin-bottom:0!important}.p-sm-0{padding:0!important}.px-sm-3{padding-right:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}}@media (min-width:768px){.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.mt-md-0,.my-md-0{margin-top:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-1{margin-left:.25rem!important}.mb-md-3{margin-bottom:1rem!important}.mr-md-5{margin-right:3rem!important}.ml-md-5{margin-left:3rem!important}.pr-md-1{padding-right:.25rem!important}.pl-md-1{padding-left:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-3{padding-right:1rem!important}.px-md-3{padding-left:1rem!important}.p-md-5{padding:3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}}@media (min-width:992px){.ml-lg-5{margin-left:3rem!important}.py-lg-3{padding-top:1rem!important}.py-lg-3{padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important}.py-lg-4{padding-bottom:1.5rem!important}.p-lg-5{padding:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.px-lg-5{padding-left:3rem!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}}@media (min-width:768px){.text-md-left{text-align:left!important}}@media (min-width:992px){.text-lg-right{text-align:right!important}}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-white-50{color:rgba(255,255,255,.5)!important}.visible{visibility:visible!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.list-unstyled{padding-left:0;list-style:none}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.dropdown-menu{display:block}.col-auto{position:relative;width:auto;max-width:100%;padding-right:15px;padding-left:15px;flex:0 0 auto}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.flex-grow-1{flex-grow:1!important}.mt-5{margin-top:3rem!important}.mb-5{margin-bottom:3rem!important}@media (min-width:576px){.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}}@media (min-width:768px){.d-md-inline-flex{display:inline-flex!important}.text-md-right{text-align:right!important}.justify-content-md-end{justify-content:flex-end!important}}@media (min-width:992px){.d-lg-flex{display:flex!important}.mt-lg-0{margin-top:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mr-lg-0{margin-right:0!important}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.flex-lg-row{flex-direction:row!important}.justify-content-lg-center{justify-content:center!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}}
/*! * Custom Bootstrap (CSS variables version) * It will overwrite bootstrap defaults * Colors point to --bs-primary/--bs-primary-hover/--bs-primary-active (see bootstrap_color_vars()) */html[dir=rtl] body{text-align:right}a{color:var(--color-link)}a:focus,a:hover{color:var(--color-link-hover)}.btn{max-width:100%!important;overflow:hidden}.btn.focus,.btn:focus{-webkit-box-shadow:0 0 0 2px rgba(var(--bs-primary-rgb),.25);box-shadow:0 0 0 2px rgba(var(--bs-primary-rgb),.25)}.btn-primary{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:var(--bs-primary)}.btn-primary:hover{color:#fff;background-color:var(--bs-primary-hover);border-color:var(--bs-primary-active)}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(var(--bs-primary-rgb),.5);box-shadow:0 0 0 2px rgba(var(--bs-primary-rgb),.5)}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.5);box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.5)}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.5);box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:var(--bs-primary);border-color:var(--bs-primary)}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{background-color:var(--bs-primary-hover);border-color:var(--bs-primary-active)}.btn-outline-primary{color:var(--bs-primary);border-color:var(--bs-primary)}.btn-outline-primary:hover{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(var(--bs-primary-rgb),.5);box-shadow:0 0 0 2px rgba(var(--bs-primary-rgb),.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:var(--bs-primary)}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.btn-link{color:var(--bs-primary)}.btn-link:focus,.btn-link:hover{color:var(--bs-primary-active)}.dropdown-item.active,.dropdown-item:active{color:#fff;background-color:var(--bs-primary)}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:var(--bs-primary)}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px var(--bs-primary);box-shadow:0 0 0 1px #fff,0 0 0 3px var(--bs-primary)}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:var(--bs-primary)}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;background-color:var(--bs-primary)}.card-primary{background-color:var(--bs-primary);border-color:var(--bs-primary)}.card-outline-primary{border-color:var(--bs-primary)}.page-item.active .page-link{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.page-link{color:var(--bs-primary);background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:var(--bs-primary-active);background-color:#eceeef;border-color:#ddd}.badge-primary{background-color:var(--bs-primary)}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:var(--bs-primary-hover)}.progress-bar{color:#fff;background-color:var(--bs-primary)}.list-group-item.active{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.bg-primary{background-color:var(--bs-primary)!important}a.bg-primary:focus,a.bg-primary:hover{background-color:var(--bs-primary-hover)!important}.bg-dark .btn-primary,.bg-primary .btn-primary{border-color:#ccc}.bg-dark{background-color:var(--color-surface-dark)!important;color:var(--color-on-surface-dark)}a.bg-dark:focus,a.bg-dark:hover{background-color:var(--bs-primary-active)!important}.text-primary{color:var(--bs-primary)!important}a.text-primary:focus,a.text-primary:hover{color:var(--bs-primary-hover)!important}.form-control:focus{border-color:var(--bs-primary);-webkit-box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.25);box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.25)}.custom-select:focus{border-color:var(--bs-primary)}form .form-group:last-child{margin-bottom:0}::-moz-selection{background:var(--bs-primary);color:#fff}::selection{background:var(--bs-primary);color:#fff}.input-group .form-control[type=date],.input-group .form-control[type=datetime-local],.input-group .form-control[type=time]{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.input-group .form-control[type=date].form-control-lg,.input-group .form-control[type=datetime-local].form-control-lg,.input-group .form-control[type=time].form-control-lg{height:51px}.btn-toolbar .btn-group label{margin-top:0}.navbar{padding-left:0;padding-right:0}.navbar-brand{margin-right:0}.navbar-toggler-right{height:40px;right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}@media(max-width:519px){.dropdown-menu{border:none}}@media(max-width:767px){.btn-toolbar .btn-group{display:block!important}}@media print{h1::first-letter,h2::first-letter,h3::first-letter,h4::first-letter,h5::first-letter{margin-top:0}}.card{color:#444}.bg-white{background-color:#fff}.bg-primary a:not(.btn):not(.bg-primary){color:#fff}.bg-primary .card a:not(.btn):not(.bg-primary){color:var(--bs-primary)}.dropdown-item:focus,.dropdown-item:hover{background-color:rgba(255,255,255,.2)}.border-primary{border-color:var(--bs-primary)!important}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:var(--bs-primary-active);border-color:var(--bs-primary-active)}.custom-control-input:checked~.custom-control-label::before{border-color:var(--bs-primary)!important;background-color:var(--bs-primary)!important}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.25)!important}.s2-to-tree.select2-container .select2-results__option--highlighted[aria-selected]>span.item-label{background-color:var(--bs-primary)!important}.page-link:focus{box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.25)}html[dir=rtl] .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-top-right-radius:.286rem;border-bottom-right-radius:.286rem;border-bottom-left-radius:0}html[dir=rtl] .btn-group>.btn:last-child:not(:first-child),html[dir=rtl] .btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:.286rem;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:.286rem}html[dir=rtl] .dropdown-menu{text-align:initial}.btn-social{position:relative}
.input-group .twitter-typeahead{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.input-group .twitter-typeahead,.input-group .twitter-typeahead .form-control{width:100%}.input-group .twitter-typeahead{display:table-cell!important}.input-group .twitter-typeahead+.input-group-addon{border-left:0}.twitter-typeahead .tt-menu{width:100%;border:1px solid #ddd;background:#fff;color:#444}.twitter-typeahead .tt-suggestion{padding:7px 20px;cursor:pointer}.twitter-typeahead .empty-message{padding:7px 20px}.twitter-typeahead .tt-cursor,.twitter-typeahead .tt-suggestion:hover{background:#eee}.airport-tt-value{display:none}.airport-tt-city{text-transform:uppercase}.airport-tt-iata{float:right}.airport-tt-distance{float:right}.airport-tt-name{display:block}
.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08)}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9)}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{/* /*rtl:begin:ignore*/left:0/* /*rtl:end:ignore*/}/* /*rtl:begin:ignore*/ /* /*rtl:end:ignore*/ .flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{/* /*rtl:begin:ignore*/right:0/* /*rtl:end:ignore*/}/* /*rtl:begin:ignore*/ /* /*rtl:end:ignore*/ .flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,0.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,0.1)}.numInputWrapper span:active{background:rgba(0,0,0,0.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,0.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,0.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,0.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,0.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,0.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,0.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,0.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,0.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,0.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
/* * Note that this is toastr v2.1.3,the "latest" version in url has no more maintenance,* please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use,* make sure you copy the url from the website since the url may change between versions. * */ .toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#FFF}.toast-message a:hover{color:#CCC;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#FFF;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#FFF;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303!important;}.toast-success{background-color:#51A351!important;}.toast-error{background-color:#BD362F!important;}.toast-info{background-color:#2F96B4!important;}.toast-warning{background-color:#F89406!important;}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}
/* ===================================================== 01. BASE STYLES & RESETS ===================================================== */html[dir=rtl] *{letter-spacing:0px!important;}html[dir=rtl] body{font-size:1.2em;}body.header-transparent:not(.header-scrolled) header .svg-logo-letters{fill:var(--color-light);}body{background-color:var(--color-surface);color:var(--color-on-surface);font-size:1rem;;}h1,h2,h3,.h1,.h2,.h3{color:var(--color-on-surface-strong);}.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark .h1,.bg-dark .h2,.bg-dark .h3.bg-dark{color:var(--color-on-surface-dark);}h1,.h1{font-size:clamp(3rem,5vw,4.4rem);font-weight:600;}h2,.h2{font-size:clamp(3rem,3.4vw,3.5rem);font-weight:600;}h3,.h3{font-size:clamp(1.5rem,2.28vw,2rem);font-weight:600;}h4,.h4{font-size:clamp(1.35rem,1.7vw,1.5rem);font-weight:500;}h5,.h5{font-size:clamp(1.25rem,1.37vw,1.3rem);font-weight:500;}h6,.h6{font-size:clamp(1rem,1.25vw,1.25rem);font-weight:500;}/* ACC.001.03:.sidebar-title (gallery.php/related-pages.php/docs.php/ related-sources.php) and .blog-card__title (category.php/ related-pages.php card grids) moved from h3 to h2 on the pages where they used to be the first heading after an h1 with nothing in between (WCAG 1.3.1/2.4.6 skip) - pinned here to their original h3-scale size/ weight so only the semantic level changes,not the look. Where a card grid is legitimately nested under a .sidebar-title section (e.g. related-pages.php:h2 "Related pages" containing h3 card titles) the card titles are untouched h3 - already correctly one level deeper. */.sidebar-title,.blog-card__title{font-size:clamp(1.5rem,2.28vw,2rem);font-weight:600;}a{gap:0.4em;}/* line after titlesh1:not(:has(+ h2))::after,h2:not(:has(+ h3))::after,.h1:not(:has(+ .h2))::after,.h2:not(:has(+ .h3))::after{content:'';display:block;width:48px;height:1px;background-color:var(--bs-primary);margin-top:12px;}.text-center h1:not(:has(+ h2))::after,.text-center h2:not(:has(+ h3))::after,.text-center .h1:not(:has(+ .h2))::after,.text-center .h2:not(:has(+ .h3))::after,.text-center:is(h1,h2,.h1,.h2)::after{margin-inline:auto;}.text-right h1:not(:has(+ h2))::after,.text-right h2:not(:has(+ h3))::after,.text-right .h1:not(:has(+ .h2))::after,.text-right .h2:not(:has(+ .h3))::after,.text-right:is(h1,h2,.h1,.h2)::after{margin-left:auto;}*/img{max-width:100%!important;object-fit:contain;overflow:hidden;}@media(min-width:992px){.container-fluid{padding:0px var(--container-fluid-padding-x);max-width:var(--container-fluid-max-width);}}/* ===================================================== 02. FORM CONTROLS (input,select,textarea,button) Sorgente UNICA delle regole form:geometria guidata dalle variabili di theme-vars.css (--form-* / --btn-*). Vale sul front-end e — via style.min.css caricato nell'iframe — anche nell'editor pagebuilder. Notazione Bootstrap (.form-control,.btn,-sm/-lg) sovrascritta con le variabili;-xl è un'estensione custom (BS4 non ce l'ha). ===================================================== *//* Border radius:2 variabili dedicate,input separati dai bottoni. NIENTE!important:così le regole di Bootstrap per gli input-group (che azzerano gli angoli interni) restano valide e i miei valori restano solo sugli angoli esterni. */input,select,textarea,.form-control{border-radius:var(--form-radius);}.btn,button,input[type="submit"],input[type="button"],input[type="reset"]{border-radius:var(--btn-radius);}input[type="datetime-local"],input[type="date"],input[type="time"]{-webkit-appearance:none;appearance:none;display:block;width:100%;min-width:0;box-sizing:border-box;text-align:left;font:inherit;}/* Geometria base condivisa:height/padding/font/line-height uguali per tutti i controlli → in riga combaciano in altezza */.form-control{height:var(--form-height);padding:var(--form-padding-y) var(--form-padding-x);font-size:var(--form-font-size);line-height:var(--form-line-height);letter-spacing:var(--form-letter-spacing);color:var(--form-color);}textarea.form-control{height:auto;min-height:var(--form-height);}.btn{padding:var(--form-padding-y) var(--btn-padding-x);font-size:var(--form-font-size);line-height:var(--form-line-height);letter-spacing:var(--btn-letter-spacing);font-weight:var(--btn-font-weight);transition:all .2s;display:inline-flex!important;align-items:center;justify-content:center;gap:0.4em;}/* CMS.043:.btn-link uses the brand gold (--bs-primary,defined globally in public/assets/libs/bootstrap-4/custom-bootstrap-vars.min.css - shared across accounts/themes,not touched here) by design,which reads fine on the white backgrounds it's normally used against. On a page using the Bootstrap bg-primary/text-white utility pair (e.g. the OTP login step,users/login) that same gold text sits on a gold background and is effectively invisible until :hover/:focus repaint it darker. Inherit the page's own white text color here instead - hover/focus keep the existing brand-color feedback untouched. */body.bg-primary .btn-link{color:inherit;}/* CMS.043 follow-up:6-box split OTP input (replaces the single #auth_otp text field the same rule used to target) - one square box per digit,centered as a compact group instead of a full-width text field. */.otp-digits{gap:.5em;max-width:22em;width:100%;margin-left:auto;margin-right:auto;}.otp-digit{flex:1 1 0;min-width:0;max-width:3.5em;width:auto;padding-left:0;padding-right:0;text-align:center;font-size:1.4em;}/* CMS.043 follow-up:plain arrow entity (not a Font Awesome <i>,this page loads no icon font - see page-users_login.php) needs a bump to read as a real back button,not stray punctuation. */.otp-back-link{font-size:1.5em;line-height:1;text-decoration:none;}label:not(input[type="checkbox"] + label):not(input[type="radio"] + label){font-size:.7em;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;margin:0 0 0 .8em!important;}/* Colori superficie/testo/bordo degli input (il colore testo vale anche per la select) */input.form-control,select.form-control,textarea.form-control{background-color:var(--form-bg);color:var(--form-color);border:var(--form-border-width) solid var(--color-border-input);}/* Campi date/time/select VUOTI (marcati .is-empty via JS del tema):testo/segnaposto con il colore del placeholder. Pieni → --form-color (regola sopra). Es. time vuoto mostra "--:--" nel colore del placeholder. */.form-control.is-empty,.form-control.is-empty::-webkit-datetime-edit{color:var(--form-placeholder-color);}/* select:freccia disegnata con 2 gradienti,così il colore è una variabile (--arrow-color):--form-color se pieno,--form-placeholder-color se vuoto. */select.form-control{--arrow-color:var(--form-color);-moz-appearance:none;-webkit-appearance:none;appearance:none;padding-right:2rem;background-image:linear-gradient(45deg,transparent 50%,var(--arrow-color) 50%),linear-gradient(135deg,var(--arrow-color) 50%,transparent 50%);background-position:calc(100% - 17px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;}select.form-control.is-empty{--arrow-color:var(--form-placeholder-color);}/* Icona nativa di date/time (WebKit ::-webkit-calendar-picker-indicator):colorata con una maschera → --form-color se pieno,placeholder se vuoto. (Firefox non espone lo pseudo-elemento:resta l'icona nativa.) */.form-control::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;background-color:var(--form-color);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zM5 8h14v11H5V8z'/></svg>") center / contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zM5 8h14v11H5V8z'/></svg>") center / contain no-repeat;}input[type="time"].form-control::-webkit-calendar-picker-indicator{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm1-13h-2v6l4.9 2.9.9-1.6-3.8-2.3z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm1-13h-2v6l4.9 2.9.9-1.6-3.8-2.3z'/></svg>");}.form-control.is-empty::-webkit-calendar-picker-indicator{background-color:var(--form-placeholder-color);}/* select:BS4 forza l'height con selettore ad alta specificità (select.form-control:not([size]):not([multiple]) → 0,3,1),che vincerebbe su .form-control. Riscrivo con la stessa specificità:caricato dopo Bootstrap,vince e l'altezza torna a seguire --form-height (quindi padding-y e line-height). */select.form-control:not([size]):not([multiple]){height:var(--form-height);}select.form-control-sm:not([size]):not([multiple]){height:var(--form-height-sm);}select.form-control-lg:not([size]):not([multiple]){height:var(--form-height-lg);}select.form-control-xl:not([size]):not([multiple]){height:var(--form-height-xl);}/* Size — Small */.form-control-sm{height:var(--form-height-sm);padding:var(--form-padding-y-sm) var(--form-padding-x-sm);font-size:var(--form-font-size-sm);border-radius:var(--form-radius-sm);}textarea.form-control-sm{height:auto;min-height:var(--form-height-sm);}.btn-sm{padding:var(--form-padding-y-sm) var(--btn-padding-x-sm);font-size:var(--form-font-size-sm);border-radius:var(--btn-radius);/* BS4 forza .2rem su .btn-sm:sovrascrivo con la var */}/* Size — Large */.form-control-lg{height:var(--form-height-lg);padding:var(--form-padding-y-lg) var(--form-padding-x-lg);font-size:var(--form-font-size-lg);border-radius:var(--form-radius-lg);}textarea.form-control-lg{height:auto;min-height:var(--form-height-lg);}.btn-lg{padding:var(--form-padding-y-lg) var(--btn-padding-x-lg);font-size:var(--form-font-size-lg);border-radius:var(--btn-radius);/* BS4 forza .3rem su .btn-lg:sovrascrivo con la var */}/* Size — Extra large (custom) */.form-control-xl{height:var(--form-height-xl);padding:var(--form-padding-y-xl) var(--form-padding-x-xl);font-size:var(--form-font-size-xl);border-radius:var(--form-radius-xl);}textarea.form-control-xl{height:auto;min-height:var(--form-height-xl);}.btn-xl{padding:var(--form-padding-y-xl) var(--btn-padding-x-xl);font-size:var(--form-font-size-xl);line-height:var(--form-line-height);border-radius:var(--btn-radius);}/* Variante colore — Gold (gradiente premium) */.btn-gold{background:var(--color-surface-gold-gradient);color:var(--color-on-gold);box-shadow:var(--shadow-card);transition:filter .15s ease;}.btn svg{width:1em;height:1em;transition:transform .15s ease;}/* the subset's plain `a:hover{color:#0056b3}` (custom-bootstrap.css) outranks .btn-gold's own color by specificity (element+pseudo-class beats a lone class),so on hover the label was silently repainted blue-ish instead of staying on --color-on-gold — illegible either way against the gold fill. */.btn-gold:hover{filter:brightness(1.05);color:var(--color-on-gold);}.btn:hover svg{transform:translateX(1px);}/* Input group:BS4 hardcoda padding/font/line-height degli addon (~38px fissi),quindi .input-group-text teneva "bloccata" l'altezza del gruppo e i .btn dentro append/prepend non scendevano sotto quel minimo. Riallineo gli addon alla stessa geometria degli input,così tutto il gruppo segue le variabili --form-*. (Non tocco border-radius:la gestione degli angoli del gruppo resta a Bootstrap.) */.input-group-text{padding:var(--form-padding-y) var(--form-padding-x);font-size:var(--form-font-size);line-height:var(--form-line-height);letter-spacing:var(--form-letter-spacing);border:var(--form-border-width) solid var(--color-border-input);border-radius:var(--form-radius);/* angoli esterni;Bootstrap azzera gli interni */background-color:var(--form-bg);/* si accorda con lo sfondo dell'input */color:var(--form-color);/* campo adiacente pieno → --form-color */}/* addon accanto a un campo VUOTO → colore del placeholder (text via :placeholder-shown,date/time/select via .is-empty). Richiede :has() (browser moderni). */.input-group-prepend:has(+ .form-control:placeholder-shown) .input-group-text,.input-group-prepend:has(+ .form-control.is-empty) .input-group-text,.form-control:placeholder-shown ~ .input-group-append .input-group-text,.form-control.is-empty ~ .input-group-append .input-group-text{color:var(--form-placeholder-color);}/* addon (testo/bottoni) allineati all'altezza degli input del gruppo base */.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-append>.btn{height:var(--form-height);}/* Size del gruppo sul wrapper (.input-group-sm/-lg/-xl):altezza coerente su input interno,testo e bottoni. BS4 dimensiona sm/lg ma non l'height via var,e non ha l'xl → lo aggiungo qui. */.input-group-sm>.form-control,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{height:var(--form-height-sm);font-size:var(--form-font-size-sm);}.input-group-lg>.form-control,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{height:var(--form-height-lg);font-size:var(--form-font-size-lg);}.input-group-xl>.form-control,.input-group-xl>.input-group-prepend>.input-group-text,.input-group-xl>.input-group-append>.input-group-text,.input-group-xl>.input-group-prepend>.btn,.input-group-xl>.input-group-append>.btn{height:var(--form-height-xl);padding:var(--form-padding-y-xl) var(--form-padding-x-xl);font-size:var(--form-font-size-xl);line-height:var(--form-line-height);}/* Addon di TESTO (non bottone) adiacente all'input:dimezzo il padding sul lato che tocca il campo,per avvicinare simboli come €/% al valore ("€ 1000","200 %"). I bottoni in prepend/append restano invariati:i selettori mirano solo a .input-group-text. padding-inline-start/-end (non left/right):seguono da soli la resa LTR/RTL — il tema imposta la direction via html[dir=rtl] — senza bisogno di regole [dir=rtl] duplicate. */.input-group-prepend>.input-group-text{padding-inline-end:calc(var(--form-padding-x) / 2);}.input-group-append>.input-group-text{padding-inline-start:calc(var(--form-padding-x) / 2);}.input-group-prepend:has(> .input-group-text) + .form-control{padding-inline-start:calc(var(--form-padding-x) / 2);}.form-control:has(+ .input-group-append>.input-group-text){padding-inline-end:calc(var(--form-padding-x) / 2);}.input-group-xl>.input-group-prepend>.input-group-text{padding-inline-end:calc(var(--form-padding-x-xl) / 2);}.input-group-xl>.input-group-append>.input-group-text{padding-inline-start:calc(var(--form-padding-x-xl) / 2);}.input-group-xl>.input-group-prepend:has(> .input-group-text) + .form-control{padding-inline-start:calc(var(--form-padding-x-xl) / 2);}.input-group-xl>.form-control:has(+ .input-group-append>.input-group-text){padding-inline-end:calc(var(--form-padding-x-xl) / 2);}/* Bottoni negli input-group DIMENSIONATI:BS4 forza .2/.3rem con specificità (0,3,0) che batte il mio .btn (0,1,0). Sovrascrivo SOLO l'angolo esterno con --btn-radius (l'interno resta azzerato dalle regole di flatten di Bootstrap). */.input-group-sm>.input-group-append>.btn,.input-group-lg>.input-group-append>.btn,.input-group-xl>.input-group-append>.btn{border-top-right-radius:var(--btn-radius);border-bottom-right-radius:var(--btn-radius);}.input-group-sm>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.btn,.input-group-xl>.input-group-prepend>.btn{border-top-left-radius:var(--btn-radius);border-bottom-left-radius:var(--btn-radius);}/* Stesso problema per input e addon di testo negli input-group DIMENSIONATI:BS forza .2/.3rem → sovrascrivo l'angolo esterno con --form-radius. */.input-group-sm>.form-control:first-child,.input-group-lg>.form-control:first-child,.input-group-xl>.form-control:first-child,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-xl>.input-group-prepend>.input-group-text{border-top-left-radius:var(--form-radius);border-bottom-left-radius:var(--form-radius);}.input-group-sm>.form-control:last-child,.input-group-lg>.form-control:last-child,.input-group-xl>.form-control:last-child,.input-group-sm>.input-group-append>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-xl>.input-group-append>.input-group-text{border-top-right-radius:var(--form-radius);border-bottom-right-radius:var(--form-radius);}/* Input-group senza DIVISORI interni:i bordi sui lati che si toccano diventano trasparenti → mostrano il --form-bg dell'elemento (background-clip:border-box),quindi il gruppo appare come un'unica superficie continua. Larghezza del bordo invariata:nessuno shift di layout. Il perimetro esterno resta visibile. */.input-group-prepend>.input-group-text{border-right:none;}.input-group-append>.input-group-text{border-left:none;}.input-group>.form-control:not(:first-child){border-left:none;}.input-group>.form-control:not(:last-child){border-right:none;}.input-group-prepend{margin-right:0px;}.input-group-append{margin-left:0px;}/* Focus:mantiene lo sfondo/testo impostati (BS4 li forza a #fff/#495057). Il ring di focus (border-color/box-shadow) di Bootstrap resta. */.form-control:focus{background-color:var(--form-bg);color:var(--form-color);}.form-control.is-empty:focus{color:var(--form-placeholder-color);}/* Placeholder degli input via variabile (opacity:1 per Firefox) */.form-control::placeholder{color:var(--form-placeholder-color);opacity:1;}.form-control::-webkit-input-placeholder{color:var(--form-placeholder-color);}.form-control:-ms-input-placeholder{color:var(--form-placeholder-color);}.form-control::-ms-input-placeholder{color:var(--form-placeholder-color);}/* Input file:il selettore di file è del sistema operativo e non si sostituisce,ma i due pezzi stilabili sì — il box esterno e ::file-selector-button. Il box resta un .form-control come gli altri (height/padding/font/superficie già dalle --form-*):qui si aggiunge solo il cursore e il clip dei nomi lunghi. Il bottone diventa un mini-.btn che riempie ESATTAMENTE il content box (line-height * font-size,niente padding verticale né bordo),così il campo non cresce e resta in riga con input/select/button. Il testo di stato ("Nessun file selezionato") è del browser e non ha uno pseudo-elemento:eredita il color dell'input,quindi lo colora .is-empty come per select/date/time (script wipy-form-empty-state in theme_init.php). Unità em (non rem) sul bottone:il font-size lo eredita dal campo,quindi padding e gronda scalano da soli con .form-control-sm/-lg/-xl,senza bisogno di regole per-size. Proprietà logiche (margin-inline-end) per la resa RTL. Niente outline dedicato:il ring da tastiera arriva dalla regola globale :focus-visible della sezione 15,uguale a tutti gli altri controlli. ::-webkit-file-upload-button (prefisso legacy) non serve:i browser che supportano :has(),già usato sopra per gli input-group,hanno lo standard. */input[type="file"].form-control{cursor:pointer;overflow:hidden;/* un nome file lungo non allarga il campo */}input[type="file"].form-control::file-selector-button{padding:0 1em;margin-inline-end:1em;border:0;border-radius:var(--btn-radius);background-color:var(--color-surface-contrast-2);color:var(--form-color);font:inherit;/* family/size dal campo:è ciò che fa scalare gli em */line-height:var(--form-line-height);/* dopo font:inherit,che azzera la shorthand */letter-spacing:var(--btn-letter-spacing);font-weight:var(--btn-font-weight);cursor:pointer;transition:background-color .15s,color .15s;}/* Hover:un click ovunque sul campo apre il selettore,quindi l'evidenza va data anche passando sul campo,non solo sul bottone. */input[type="file"].form-control:not(:disabled):hover::file-selector-button,input[type="file"].form-control:not(:disabled)::file-selector-button:hover{background-color:var(--form-accent);color:var(--btn-color);}input[type="file"].form-control:disabled{cursor:not-allowed;}input[type="file"].form-control:disabled::file-selector-button{cursor:not-allowed;color:var(--form-placeholder-color);}/* Range:accent-color del tema */input[type="range"]{accent-color:var(--form-accent);}/* Checkbox & radio (Bootstrap .form-check-input):custom via appearance:none per controllare sia il fill (--form-accent) sia il segno/pallino (--btn-color) — cosa che accent-color da solo non permette (il segno lo sceglie il browser). Scoped a .form-check-input per non toccare i .checkbox-custom/.radio-custom del tema. */.form-check-input[type="checkbox"],.form-check-input[type="radio"]{-webkit-appearance:none;appearance:none;width:1.1em;height:1.1em;margin-top:0.15em;border:var(--form-border-width) solid var(--color-border-input);background:var(--form-bg);display:inline-grid;place-content:center;cursor:pointer;transition:background-color .15s,border-color .15s;}.form-check-input[type="checkbox"]{border-radius:var(--form-check-radius);}.form-check-input[type="radio"]{border-radius:50%;}.form-check-input[type="checkbox"]:checked,.form-check-input[type="radio"]:checked{background:var(--form-accent);border-color:var(--form-accent);}/* segno di spunta / pallino,colorati con --btn-color (come il testo dei bottoni) */.form-check-input[type="checkbox"]::before{content:"";width:0.7em;height:0.7em;transform:scale(0);background-color:var(--btn-color);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);}.form-check-input[type="radio"]::before{content:"";width:0.55em;height:0.55em;border-radius:50%;transform:scale(0);background-color:var(--btn-color);}.form-check-input[type="checkbox"]:checked::before,.form-check-input[type="radio"]:checked::before{transform:scale(1);}/* Posizionamento del controllo rispetto al testo. BS4 usa padding-left/margin-left FISICI e àncora l'input alla static position (position:absolute senza offset):in RTL il padding resta a sinistra mentre il controllo va a destra → il testo gli finisce sotto. Passo a proprietà logiche,che si ribaltano da sole con la direction (niente blocco [dir=rtl] speculare da tenere allineato a mano — è la stessa scelta fatta per il padding degli input-group). L'offset esplicito inset-inline-start sostituisce il trucco "static position + margine negativo":stesso risultato ma deterministico,senza dipendere da come il browser risolve la static position di un abspos in RTL. Resa LTR identica a prima:padding 1.25em a sinistra,controllo a filo del bordo. Unità in em,non rem:il controllo è già dimensionato in em (width/height:1.1em sopra) e l'input eredita il font-size,quindi la gronda che gli riserva spazio deve scalare con lo stesso riferimento. Con rem si scollegavano:in RTL il tema porta il body a 1.2em → controllo 1.32rem contro una gronda ferma a 1.25rem,cioè più stretta del controllo stesso → testo sotto al controllo. In em il rapporto gronda/controllo resta costante a qualsiasi font-size (e in LTR a 1rem em e rem coincidono:resa invariata). */.form-check{padding-left:0;padding-inline-start:1.25em;}.form-check-input{margin-left:0;inset-inline-start:0;}.img-to-animate{visibility:hidden;}.reverse{transform:rotate(180deg);}/* flatpickr (sostituisce bootstrap-datetimepicker) porta il proprio sfondo bianco fisso:lo riallineiamo ai token tema come il resto dei popup del sito,invece di lasciare il bianco hard-coded della libreria. */.flatpickr-calendar{background-color:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-border);border-radius:var(--form-radius);box-shadow:0 6px 12px var(--color-shadow-lg);}.flatpickr-calendar.arrowTop:before{border-bottom-color:var(--color-border);}.flatpickr-calendar.arrowTop:after{border-bottom-color:var(--color-surface);}.flatpickr-calendar.arrowBottom:before{border-top-color:var(--color-border);}.flatpickr-calendar.arrowBottom:after{border-top-color:var(--color-surface);}.flatpickr-months,.flatpickr-weekdays,.flatpickr-time{background-color:var(--color-surface);}.flatpickr-day.today{border-color:var(--bs-primary);}.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.today.selected{background-color:var(--bs-primary);border-color:var(--bs-primary);}/* flatpickr non gestisce l'RTL da solo:la locale araba non imposta alcun flag "rtl" e le frecce prev/next sono ancorate a left/right per classe fissa,non per ordine nel DOM,quindi direction:rtl da solo non le sposta. Sfruttiamo il dir="rtl" che il tema scrive già su <html> per le lingue RTL (vedi Document.php) per ribaltare frecce e griglia dei giorni. */html[dir=rtl] .flatpickr-months .flatpickr-prev-month{left:auto;right:0;}html[dir=rtl] .flatpickr-months .flatpickr-next-month{right:auto;left:0;}html[dir=rtl] .flatpickr-prev-month svg,html[dir=rtl] .flatpickr-next-month svg{transform:scaleX(-1);}html[dir=rtl] .flatpickr-weekdaycontainer,html[dir=rtl] .dayContainer{direction:rtl;}/* ===================================================== 03. BOOKING FORM ===================================================== */#booking-form.booking-form-opened{-webkit-box-shadow:12.25rem 1.375rem 24.75rem 0 var(--color-shadow-xl)!important;box-shadow:12.25rem 1.375rem 24.75rem 0 var(--color-shadow-xl)!important;}.booking-form-opened{right:0%!important;}#booking-form input[name*=pax]{/*font-size:1.1rem;*/}@media(max-width:991px){.booking-form-opened{top:0px!important;}#booking-form.absolute-form form{align-self:center;height:100%;overflow:auto;padding-right:20px;padding-left:20px;}footer nav{display:none;}}@media(min-width:1217px){.booking-form-opened{right:calc(100vw - 1200px)!important;}html[dir=rtl] .booking-form-opened{right:inherit!important;left:calc(100vw - 1200px)!important;}}/*.booking-form input{border:1px solid var(--color-border-input);padding:0.5rem 0.75rem;line-height:1.25;min-height:3rem;}*/.clear-airport,.airports-list{cursor:pointer;display:none;}.booking-form .buttons-row{margin-top:1.1rem;}/* .btn{display:inline-flex!important}(riga 167) e .d-none{display:none!important}hanno la stessa specificita':nel CSS combinato vince chi compare dopo,quindi .d-none smette di nascondere .addFlight/.addReturn (che booking-form.php nasconde/mostra a vicenda via questa classe,vedi views/booking-form.php ".addReturn").click). Stesso problema gia' risolto per #hero-quote in home-redesign.css:qui la stessa regola piu' specifica,su .booking-form (la classe del <form>,non #booking-form:quel wrapper esiste solo per il widget laterale — home.php include booking-form-htmlform.php direttamente nella hero,senza wrapper,quindi va coperta anche quell'istanza). */.booking-form .addFlight.d-none,.booking-form .addReturn.d-none{display:none!important;}/* ---- Airport autocomplete (typeahead) ---- */.twitter-typeahead .tt-menu{width:100%;/* Feedback 2026-08-25:con 6 risultati (il caso normale) la scrollbar scattava per una differenza di pochi px dovuta alla riga divisoria intermedia aggiunta tra i risultati - 400px da margine a 6 righe piene senza scroll,restando comunque un limite per liste piu' lunghe (fino a 12 risultati configurati). */max-height:400px;overflow-y:auto;background-color:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--form-radius);box-shadow:var(--shadow-card);padding:.5rem;/* Feedback 2026-08-25:la scrollbar nativa del browser stonava col resto del pannello (arrotondato,senza altri elementi "di sistema" a vista) - sottile e nei toni del tema invece della grigia/larga di default. scrollbar-width/scrollbar-color coprono Firefox,le regole ::-webkit-scrollbar coprono Chrome/Safari/Edge. */scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;}.twitter-typeahead .tt-menu::-webkit-scrollbar{width:6px;}.twitter-typeahead .tt-menu::-webkit-scrollbar-track{background:transparent;}.twitter-typeahead .tt-menu::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px;}.twitter-typeahead .tt-suggestion{padding:0;cursor:pointer;border-radius:var(--form-radius);}.twitter-typeahead .tt-cursor,.twitter-typeahead .tt-suggestion:hover{background-color:var(--color-surface-contrast);}.airport-suggestion{display:flex;align-items:center;gap:.75rem;padding:.5rem!important;position:relative;}/* Feedback 2026-08-25:un border-bottom pieno su un elemento dentro un .tt-suggestion con gli angoli arrotondati (var(--form-radius)) arriva fino al bordo,dove la riga dritta "stona" contro la curva dell'hover dell'elemento adiacente. Riga inset di --form-radius su entrambi i lati (stesso raggio del contenitore):resta sempre dritta,mai dentro la zona curva - stesso pattern dei separatori "inset" nelle liste iOS. */.airport-suggestion::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:0;height:1px;background-color:var(--color-border);}/* Feedback 2026-08-25:la riga deve separare i risultati tra loro,non chiudere l'ultimo - .airport-suggestion e .tt-suggestion sono lo STESSO elemento (il template diventa la riga di typeahead.js,non viene avvolto in un wrapper extra),quindi :last-child seleziona già correttamente l'ultimo risultato del dropdown. */.airport-suggestion:last-child::after{content:none;}.airport-suggestion__icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background-color:var(--color-border);color:var(--color-on-gold);font-size:1rem;}.airport-suggestion__body{flex:1 1 auto;min-width:0;}.airport-suggestion__name{font-family:inherit;font-size:.9rem;font-weight:500;line-height:1.3;color:var(--color-on-surface-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.airport-suggestion__meta{font-size:.7rem;font-weight:300;line-height:1.3;color:var(--color-on-surface-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.airport-suggestion__code{color:var(--bs-primary);}.airport-suggestion__flag{flex:0 0 auto;width:1.125rem;height:.84375rem;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px var(--color-border-subtle);}/*.addReturn,.addReturn label,.addFlight,.addRequirements,.search{padding:.65rem 1.5rem;font-size:1rem;text-transform:uppercase;}*//* ===================================================== 04. PAGE SECTIONS ===================================================== */.special-title{font-size:3.1rem;line-height:1.4;}.bg-contrast{background-color:var(--color-surface-contrast);}.bg-contrast-2{background-color:var(--color-surface-contrast-2);}.bg-light-brown{background-color:var(--color-surface-contrast-2)!important;}.secondary-title{font-weight:600;text-transform:uppercase;font-size:1.4375rem;letter-spacing:0.02em;line-height:1.4;}.secondary-title-light{font-weight:600;text-transform:uppercase;font-size:.9375rem;letter-spacing:.02em;line-height:1.4;}.h-slide-img img{-webkit-box-shadow:1.25rem 1.375rem 4.75rem 0 var(--color-shadow-lg)!important;box-shadow:1.25rem 1.375rem 4.75rem 0 var(--color-shadow-lg)!important;min-width:100%;}/*.h-slide-img-1{margin-top:2.9rem;margin-left:4.5rem;}.h-slide-img-2{margin-right:4.5rem;}*/@media(min-width:1400px){#section-2{padding-left:6rem;padding-right:6rem;}}#section-2 .h2{min-width:100%;}@media(min-width:1200px){#section-2 .h2,#section-3 .h2,#section-5 h2{/*min-width:850px!important;max-width:850px!important;*/}}#section-2 p,#section-3 p{line-height:1.75;}#section-2 p a{letter-spacing:1px;}@media(max-width:768px){#section-2>.row>div.col-md-4:nth-child(1){margin-bottom:3rem;}#section-2>.row>div.col-md-4:nth-child(2){margin-top:5.4rem;}}@media(min-width:769px){#section-2>.row:nth-child(2){max-height:400px;}#section-2>.row>div.col-md-4:nth-child(1){margin-top:5%;}}@media(min-width:767px){#booking-form.absolute-form .booking-form__leg.row>div,#booking-form.bottom-booking-form .booking-form__leg.row>div{padding-left:0px;padding-right:10px;}#booking-form.absolute-form .buttons-row,#booking-form.bottom-booking-form .buttons-row{padding-right:25px;}#booking-form.absolute-form .buttons-row>div:first-child,#booking-form.bottom-booking-form .buttons-row>div:first-child{padding-left:0px;}/* UID.016 (2026-09-15):.booking-form__remove (the "a"'s parent) also carries Bootstrap's .col-12,which is position:relative sitewide - being the "a"'s DIRECT parent it wins over .booking-form__leg below as the containing block for "bottom:12px",so the offset resolved against ITS OWN in-flow position/near-zero height (its only child is pulled out via position:absolute) instead of the leg's actual box. The two heights happen to be close enough that this usually looked passable,but it's fragile - anything that shifts the wrapper's own flow position (leg height changing with content/viewport) throws it off unpredictably. position:static below removes it as a candidate so .booking-form__leg (explicitly position:relative) is the one that actually applies. */#booking-form.absolute-form .booking-form__remove,#booking-form.bottom-booking-form .booking-form__remove{position:static;}/* right:0 (not -30px) now that .booking-form__leg is the real containing block (fixed above):the leg already reserves padding-right:30px below for exactly this button,so right:0 sits the button flush inside that reserved gap. -30px pushed it a full width further out,past the leg's own box - on the sidebar panel (#booking-form.absolute-form) that landed it on top of the gold "FREE QUOTE" toggler tab bolted to the panel's right edge,same gold-on-gold color,effectively invisible/glitching against it. */#booking-form.absolute-form .booking-form__remove a,#booking-form.absolute-form .booking-form__remove a:hover,#booking-form.bottom-booking-form .booking-form__remove a,#booking-form.bottom-booking-form .booking-form__remove a:hover{position:absolute;right:0;bottom:14px;}#booking-form.absolute-form .booking-form__leg,#booking-form.bottom-booking-form .booking-form__leg{padding-right:30px;position:relative;}}@media(min-width:1000px){#section-2>.row>div.col-md-4:nth-child(2){margin-top:15%;}}@media(min-width:1300px){#section-2>.row>div.col-md-4:nth-child(2){margin-top:20%;}}#section-3 h5{text-transform:uppercase;font-size:0.9375rem;letter-spacing:0.02em;font-weight:500;margin-bottom:15px;line-height:1.4;}#section-3 .next-row-text{margin-top:6rem;}#section-3 .col-sm-3:first-child{padding-right:32px;}#section-3 .col-sm-3:last-child{padding-left:32px;}#section-3 img{padding:50px 0px;}@media(max-width:575px){#section-3 img{padding-top:0px;padding-bottom:40px;}#section-3{padding-bottom:0px!important;}#booking-form.absolute-form .buttons-row button,#booking-form.absolute-form .buttons-row label,#booking-form.bottom-booking-form .buttons-row button,#booking-form.bottom-booking-form .buttons-row label{width:100%;}}#section-4{background-repeat:no-repeat;background-size:cover;background-position:center;background-color:var(--color-surface-sunken);min-height:100vh;}#section-4.h-100,#section-4 .h-100{height:auto!important;min-height:100vh!important;}#section-4 .h1{font-size:3.9em;line-height:1.1;font-weight:normal;}@media(min-width:768px){#section-5-carousel{position:relative;left:35%;z-index:10;top:50%;-webkit-transform:translate(0%,-50%) scale(1.2);transform:translate(0%,-50%) scale(1.2);}}#section-5-carousel li{width:10px;height:10px;border-radius:50%;border:1px solid grey;background-color:grey;}#section-5-carousel li.active{background-color:transparent!important;}#section-5 .carousel.slide,#section-5 .carousel-inner,#section-5 .carousel-item{height:auto!important;min-height:auto!important;}#section-5 .carousel-inner{-webkit-box-shadow:1.25rem 1.375rem 4.75rem 0 var(--color-shadow-lg)!important;box-shadow:1.25rem 1.375rem 4.75rem 0 var(--color-shadow-lg)!important;}#section-5 .figure-wrapper{width:4rem;margin-bottom:35px;}#section-5 .figure-wrapper.exception{width:2.7rem;}#section-5 .bg-light-brown{padding:100px 75px 40px 10%;}@media(min-width:768px){#section-5 .bg-light-brown{padding:100px 75px 40px 20%;}}#section-5 .bg-light-brown .row>div{padding-right:65px;}#section-5 .bg-light-brown .row>div h5{margin-bottom:15px;font-weight:600;text-transform:uppercase;font-size:0.9375rem;letter-spacing:0.02em;line-height:1.4;}#section-5 .bg-light-brown .row>div p{line-height:1.75;}#section-6 h5{text-transform:uppercase;font-size:0.975rem;margin-top:30px;margin-bottom:20px;}#section-6 h6{font-size:0.8rem;}#section-6 .jet-side-img{margin-top:100px;}/*footer{background-color:var(--color-black);color:rgba(255,255,255,0.8);}*//* ===================================================== 06. PAGEBUILDER BLOCKS ===================================================== */.side-image-block .col-md-8,.aircraft-specs .col-md-8{border:10px solid var(--color-surface-contrast-2);padding-left:28%;padding-top:2.3rem;padding-bottom:2.3rem;padding-right:4rem;}@media(min-width:1200px){.aircraft-specs .col-md-8{padding-left:20%;padding-right:6rem;}}.side-image-block .col-md-4 img{-webkit-box-shadow:1.25rem 1.375rem 4.75rem 0 var(--color-shadow-lg)!important;box-shadow:1.25rem 1.375rem 4.75rem 0 var(--color-shadow-lg)!important;}.side-image-block .col-md-4 img,.aircraft-specs .col-md-4 img{width:50vw!important;max-width:550px!important;max-height:550px;position:relative;z-index:1;}@media(min-width:767px) and (max-width:991px){.side-image-block .col-md-4 img,.aircraft-specs .col-md-4 img{max-width:380px;}}@media(max-width:766px){.side-image-block .col-md-8,.aircraft-specs .col-md-8{padding-left:1rem;padding-right:1rem;margin-top:4rem;}.side-image-block .col-md-4 img,.aircraft-specs .col-md-4 img{width:100%!important;height:auto!important;}}.headings-group h2{font-weight:600;line-height:1.4;}.headings-group h2,.headings-group .special-title{font-size:3rem;letter-spacing:1px;}.headings-group .special-title::before{display:none;}.headings-group h6{letter-spacing:1px;font-size:0.91rem;opacity:0.7;}.headings-group::after{content:'';display:inline-block;width:4rem;border-bottom:3px solid var(--bs-primary);color:var(--bs-primary);}.half-page-image-block>.row{min-height:100vh;}/*.half-page-image-block .image-container{background-image:url(https://picsum.photos/1000/1000/?random);background-position:center;background-size:cover;}*/.half-page-image-block .image-container img{height:100%;width:100%;object-fit:cover;}.half-page-image-block .special-title{padding-bottom:2.2rem;margin-bottom:2rem;}.half-page-image-block .text-section{padding:50px;}@media(min-width:767px){.half-page-image-block .text-section{padding:100px;}}.half-page-image-block p{font-size:1.1rem;}.half-page-image-block .special-title::before{left:0;-webkit-transform:none;transform:none;}@media(min-width:767px){.two-columns-text-img .r-col p{padding-right:40%;}.two-columns-text-img .r-col{padding-left:4rem;}}@media(min-width:991px){.two-columns-text-img .l-col{padding-right:4rem;}}.two-columns-text-img p{line-height:1.75;font-size:1.075rem;}.center-square-image{padding:4rem 5rem;}.center-square-image .text-wrapper h5{line-height:1.75;font-size:1.15rem;}.center-square-image .image-wrapper{margin-top:-170px;}.center-square-image .image-wrapper img{object-fit:cover;height:100%;width:100%;}.center-square-image .image-wrapper>div{width:240px;height:240px;}.half-page-image-3 .lead{font-size:1.1rem;}.half-page-image-3 p,.timeline p,.meet-the-team p,.informations p,.overlay-img-left p,.overlay-img-right p{line-height:1.75;}.timeline .timeline-title{font-weight:600;}.timeline.timeline-left .timeline-image,.timeline.timeline-right .timeline-date{border-right:1px solid lightgrey;}.timeline.timeline-left .timeline-date::after,.timeline.timeline-right .timeline-date::after{content:'';display:block;position:absolute;top:30px;height:30px;width:4px;background-color:var(--color-black);}.timeline.timeline-left .timeline-date::after{left:0px;}.timeline.timeline-right .timeline-date{text-align:right;}.timeline.timeline-right .timeline-date::after{right:-1px;}.timeline .timeline-date>div{font-size:1.2rem;position:relative;top:30px;}@media(max-width:767px){.timeline .timeline-date>div{top:0px;}.timeline.timeline-left .timeline-image,.timeline.timeline-right .timeline-image{border-right:0px;border-left:1px solid lightgrey;}.timeline.timeline-right .timeline-date{border-right:0px;}.timeline.timeline-left .timeline-date::after,.timeline.timeline-right .timeline-date::after{top:0px;}.timeline.timeline-left .timeline-date::after{left:0px;}.timeline.timeline-right .timeline-date{text-align:left;}.timeline.timeline-right .timeline-image{border-right:0px;border-left:1px solid lightgrey;}.timeline.timeline-right .timeline-date::after{left:0px;}}.meet-the-team .image-wrapper{height:250px;width:250px;}.meet-the-team .image-wrapper img{height:100%;width:100%;object-fit:cover;}.meet-the-team .headings-group::after,.informations .headings-group::after{display:none;}.meet-the-team .mtt-title{font-weight:600;}/* Image height follows the text column instead of the column width:the old "padding:50%" resolved against the width,so the box was always a square as wide as the column (huge on mobile,taller than short texts). Stacked (<768px):fixed ratio clamped between min and max. Side by side (>=768px):exactly the row height (flex stretch),never shorter than the min. The image is taller than the text because the text column has vertical padding,not because it overflows:no negative margins,so images of adjacent sections can never overlap. */.overlay-img-left .image-wrapper,.overlay-img-right .image-wrapper{padding:0;aspect-ratio:16 / 10;min-height:220px;max-height:320px;background-repeat:no-repeat;background-size:cover;background-position:center;}@media (min-width:768px){.overlay-img-left .image-wrapper,.overlay-img-right .image-wrapper{aspect-ratio:auto;height:100%;min-height:280px;max-height:none;}.overlay-img-left .row>[class*="col-"]:not(:has(.image-wrapper)),.overlay-img-right .row>[class*="col-"]:not(:has(.image-wrapper)){padding-top:3rem;padding-bottom:3rem;}}/* also defined (same value) in home-redesign.css,which the pagebuilder editor does not load:replicated here so presets using it look the same in the editor. */.text-muted-foreground{color:var(--color-on-surface-muted);}/* Pagebuilder preset "Image + text":same 6/6 split,image height driven by the text column between a min and a max. The <img> is absolutely positioned so its intrinsic height never inflates the row;the box gets its height from the stretched column. */.wipy-media-text__media{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 22px 45px -28px var(--color-shadow-lg);aspect-ratio:16 / 10;min-height:220px;max-height:320px;}/*!important:the editor writes inline width/height on resized images;the photo must always fill the box (cover),never letterbox. */.wipy-media-text__media img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:100%!important;max-height:none!important;object-fit:cover!important;object-position:center;}@media (min-width:768px){.wipy-media-text__media{aspect-ratio:auto;height:100%;min-height:280px;max-height:none;}/* vertical padding on the text column makes the image (= column height) taller than the text itself,without any overlap */.wipy-media-text__body{padding-top:3rem;padding-bottom:3rem;}}/* Pagebuilder preset "Specifications panel" (jet detail pages):photo on the left (reuses .wipy-media-text__media,cover,fills the row height) and a white panel on the right with a 2-column grid of label + value. The panel sets the row height. */.wipy-specs__panel{height:100%;background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;box-shadow:0 22px 45px -28px var(--color-shadow-lg);padding:2rem;}.wipy-specs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.75rem;border-bottom:1px solid var(--color-border-strong);}.wipy-specs__item{padding:1rem 0;border-top:1px solid var(--color-border-strong);}.wipy-specs__item:nth-child(odd){padding-right:1rem;}.wipy-specs__label{display:block;font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--color-on-surface-muted);}.wipy-specs__value{display:block;margin-top:0.35rem;font-family:var(--FONT_FAMILY_SERIF),serif;font-size:1.9rem;font-weight:600;line-height:1;font-variant-numeric:lining-nums;color:var(--color-on-surface);}.wipy-specs__value small{margin-left:4px;font-family:var(--FONT_FAMILY_SANSS),sans-serif;font-size:0.75rem;font-weight:400;color:var(--color-on-surface-muted);}@media (max-width:575.98px){.wipy-specs__panel{padding:1.5rem;}.wipy-specs__value{font-size:1.6rem;}}.overlay-img-left .special-title::before,.overlay-img-right .special-title::before{bottom:-20px;left:35px;}.minh-100{min-height:100vh;}/* ===================================================== 07. COMPONENTS (carousel,reviews,tabs,buttons) ===================================================== */@media (min-width:768px){/* show 3 items */#myCarousel .carousel-inner .active,#myCarousel .carousel-inner .active + .carousel-item{display:block;}#myCarousel .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left),#myCarousel .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item{transition:none;}#myCarousel .carousel-inner .carousel-item-next,#myCarousel .carousel-inner .carousel-item-prev{position:relative;transform:translate3d(0,0,0);}#myCarousel .carousel-inner .active.carousel-item + .carousel-item + .carousel-item{position:absolute;top:0;right:-50%;z-index:-1;display:block;visibility:visible;}/* left or forward direction */#myCarousel .active.carousel-item-left + .carousel-item-next.carousel-item-left,#myCarousel .carousel-item-next.carousel-item-left + .carousel-item,#myCarousel .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item{position:relative;transform:translate3d(-100%,0,0);visibility:visible;}/* farthest right hidden item must be abso position for animations */#myCarousel .carousel-inner .carousel-item-prev.carousel-item-right{position:absolute;top:0;left:0;z-index:-1;display:block;visibility:visible;}/* right or prev direction */#myCarousel .active.carousel-item-right + .carousel-item-prev.carousel-item-right,#myCarousel .carousel-item-prev.carousel-item-right + .carousel-item,#myCarousel .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item{position:relative;transform:translate3d(100%,0,0);visibility:visible;display:block;visibility:visible;}}#myCarousel .carousel-item .card{background-color:var(--color-surface);}.carousel.slide,.carousel-inner,.carousel-item{min-height:unset!important;}.review-image{float:left;margin-right:14px;}.review-date{font-size:0.75rem;color:var(--color-on-surface-muted);}.carousel-control{width:50px;color:#444;}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:var(--color-on-surface-muted);}.card-body-message{background-color:#efefef;position:relative;border-radius:10px;}.card-body-message::after{content:'';position:absolute;top:100%;left:32px;width:0;height:0;border-style:solid;border-width:10px 10px 0 10px;border-color:#efefef transparent transparent transparent;}html:not([data-x-mode]) .animated-box-wrap.hover .animated-box{transform:rotateX(180deg);}.animated-box-wrap .animated-box-front,.animated-box-wrap:hover .animated-box-back,.animated-box-wrap.hover .animated-box-back{z-index:1;}.animated-box-wrap:hover .animated-box-front,.animated-box-wrap.hover .animated-box-front,.animated-box-wrap .animated-box-back{z-index:0;}.white-partner{display:block;}.grey-partner{display:none;}.nav-tabs-li li{font-size:1.55rem!important;}@media (max-width:771px){.nav-tabs-li li{font-size:1rem!important;}}@media (max-width:450px){.nav-tabs-li li{font-size:.8rem!important;}}.btn-rounded{-moz-border-radius:500px!important;-webkit-border-radius:500px!important;border-radius:500px!important;}.btn-circle{-moz-border-radius:500px!important;-webkit-border-radius:500px!important;border-radius:500px!important;padding:0px!important;}.btn-circle-lg{height:60px;width:60px;line-height:60px;vertical-align:baseline;}.btn-circle-xl{height:80px;width:80px;line-height:80px;vertical-align:baseline;font-size:1.3em;}.btn-circle-sm{height:30px;width:30px;line-height:30px;vertical-align:baseline;font-size:0.8em;}.video-cover{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);min-width:100%;min-height:100%;width:auto;height:auto;}@media (min-width:992px){.ww-border-article{border-left:1px solid var(--color-border);}}.ww-border-article{line-height:2.1em!important;}#footer-nav .sub-menu{background-color:var(--color-surface);box-shadow:0 0.1em 0.2em rgba(145,145,145,0.5);}footer{border-top:1px solid var(--color-border-strong);}footer nav{border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border-strong);}@media (max-width:991px){.navbar-nav li:last-child{border-bottom:none!important;}}.navbar-toggler{color:var(--color-on-surface);}#header nav,#header .navbar-brand{padding:2px 0 0 0!important;}/*.special-title::after{display:none!important;}*/.payment-logo{max-width:60px;}html[dir=rtl] #mc_embed_signup_scroll>div:last-child{left:auto!important;right:-5000px;}/* input-group:bootstrap 4 non inverte gli angoli arrotondati quando l'ordine visivo viene invertito da dir=rtl. Stessi token della geometria LTR (sezione "02. FORM CONTROLS"):--form-radius per campi e addon di testo,--btn-radius per i bottoni. Nessun valore letterale qui dentro:regolare i token da theme-vars.css deve valere anche in RTL. */[dir=rtl] .input-group>.form-control:not(:first-child):not(:last-child),[dir=rtl] .input-group>.custom-select:not(:first-child):not(:last-child){border-radius:0;}[dir=rtl] .input-group>.form-control:not(:last-child),[dir=rtl] .input-group>.custom-select:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--form-radius);border-bottom-right-radius:var(--form-radius);}/* Il border-right che stava qui sopra voleva essere il bordo ESTERNO destro in RTL,ma :not(:last-child) match-a ANCHE il campo che ha un prepend (caso prepend+append):lì il lato destro è INTERNO,e il suo!important batteva i base rule dei divisori disegnando la linea verticale tra addon e valore ("€ | 0.00"). Ristretto al caso senza prepend (:first-child) e lasciato solo a .custom-select,che le regole dei divisori non coprono (mirano a .form-control/.input-group-text) — per .form-control il bordo esterno lo ripristina la regola themed poco sotto. Niente!important:il selettore è (0,4,0) e batte da solo il .custom-select (0,1,0) di Bootstrap. */[dir=rtl] .input-group>.custom-select:first-child:not(:last-child){border-right:var(--form-border-width) solid var(--color-border-input);}[dir=rtl] .input-group>.form-control:not(:first-child),[dir=rtl] .input-group>.custom-select:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--form-radius);border-bottom-left-radius:var(--form-radius);}/* Divisori (vedi ".input-group senza DIVISORI interni" sopra):in RTL il lato che tocca l'addon si inverte,quindi il form-control con SOLO prepend o SOLO append deve mostrare il bordo sul lato opposto a quello LTR. Selettori esclusivi (:last-child/:first-child) per non toccare il caso con ENTRAMBI prepend+append,già corretto dai base rule (righe ~433-436):lì i due lati sono entrambi "interni" indipendentemente dalla direction. */[dir=rtl] .input-group>.form-control:not(:first-child):last-child{border-right:none;border-left:var(--form-border-width) solid var(--color-border-input);}[dir=rtl] .input-group>.form-control:first-child:not(:last-child){border-left:none;border-right:var(--form-border-width) solid var(--color-border-input);}/* Nessuna regola di margine per prepend/append in RTL:le regole base (righe ~437-442) li azzerano già su entrambi i lati e non sono direzionali. Il -1px di Bootstrap serve a collassare due bordi adiacenti,ma qui il bordo sul lato del giunto è tolto (vedi "Input-group senza DIVISORI interni"):reintrodurlo in RTL faceva sovrapporre addon e campo di 1px,cioè un disallineamento che in LTR non c'è. *//* Addon:token separati per bottoni (--btn-radius) e addon di testo (--form-radius). Bootstrap li tiene nella stessa lista perché ha un raggio unico;qui i due token possono divergere,quindi i selettori vanno tenuti distinti. */[dir=rtl] .input-group>.input-group-prepend>.btn,[dir=rtl] .input-group>.input-group-append:not(:last-child)>.btn,[dir=rtl] .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--btn-radius);border-bottom-right-radius:var(--btn-radius);}[dir=rtl] .input-group>.input-group-prepend>.input-group-text,[dir=rtl] .input-group>.input-group-append:not(:last-child)>.input-group-text,[dir=rtl] .input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--form-radius);border-bottom-right-radius:var(--form-radius);}[dir=rtl] .input-group>.input-group-append>.btn,[dir=rtl] .input-group>.input-group-prepend:not(:first-child)>.btn,[dir=rtl] .input-group>.input-group-prepend:first-child>.btn:not(:first-child){border-top-left-radius:var(--btn-radius);border-bottom-left-radius:var(--btn-radius);border-top-right-radius:0;border-bottom-right-radius:0;}[dir=rtl] .input-group>.input-group-append>.input-group-text,[dir=rtl] .input-group>.input-group-prepend:not(:first-child)>.input-group-text,[dir=rtl] .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:var(--form-radius);border-bottom-left-radius:var(--form-radius);border-top-right-radius:0;border-bottom-right-radius:0;}/* Stesso ribaltamento dei divisori (vedi sopra) per l'addon stesso:in LTR .input-group-prepend>.input-group-text ha border-right:none (lato che tocca l'input);in RTL è il lato SINISTRO a toccare l'input. */[dir=rtl] .input-group-prepend>.input-group-text{border-right:var(--form-border-width) solid var(--color-border-input);border-left:none;}[dir=rtl] .input-group-append>.input-group-text{border-left:var(--form-border-width) solid var(--color-border-input);border-right:none;}.e-fast-title{font-family:'Montserrat',sans-serif!important;text-transform:initial;font-weight:800;font-style:italic;}.quote-classic{border-radius:var(--btn-radius);overflow:hidden;}.quote-classic .unit{margin-bottom:20px;}.quote-classic .unit-body *{margin:0px;}.quote-classic .quote-classic-subcite{font-size:0.9em;}.box-minimal-icon .novi-icon.icon-success{margin-right:-10px;}[dir=rtl] .box-minimal-icon .novi-icon.icon-success{margin-right:0px;margin-left:-10px;}[dir=rtl] .box-minimal[class*=unit-]{text-align:start!important;}[dir=rtl] sm.unit-xs-horizontal>.unit-body+.unit-right,.unit-spacing-sm.unit-xs-horizontal>.unit-left+.unit-body,.unit-spacing-sm.unit-xs-horizontal>.unit-left+.unit-right{padding-left:0px;padding-right:19px;}[dir=rtl] .row-custom-bordered-modern .col-lg-4{border-left:none;border-right:1px solid var(--color-border-subtle);}[dir=rtl] .row-custom-bordered-modern .col-lg-4:nth-child(1),.row-custom-bordered-modern .col-lg-4:nth-child(3n+4){border-right:none;}/* ===================================================== 08. FORMS,ACCORDION & FAQ ===================================================== */.accordion .card{background-color:inherit!important;color:inherit!important;}.accordion-section .panel-default>.panel-heading{border:0;padding:0;}.accordion-section .panel-default .panel-title a{display:block;font-style:normal;font-size:1rem;cursor:pointer;padding-left:10px;padding-right:10px;}.accordion-section .panel-default .panel-body{font-size:1rem;}.faq .panel-title i{float:right;font-size:1.5rem;margin-top:-0.5rem;margin-right:-36px;}[dir=rtl] .faq .panel-title i{float:left!important;}.faq [data-toggle="collapse"] i:before{background-color:var(--bs-primary);color:var(--color-white);padding:2px 0 2px 2px;}.faq [data-toggle="collapse"].collapsed i:before{background-color:transparent;color:var(--bs-primary);padding:2px 0 2px 2px;}.faq .panel .panel-body{background-color:var(--color-surface-contrast);padding:1rem 0;}.emptylegs-bottom-section .img-icon{width:120px;}.faq ul{list-style:disc;padding-left:3rem;}.faq ul li{display:list-item;margin-bottom:0.5rem;}.faq table{margin:1rem 0;}.faq table td{padding:10px;}.faq .accordion-section .panel-default .panel-title a{text-transform:lowercase;padding-right:36px;}.faq .accordion-section .panel-default .panel-title a:first-letter{text-transform:uppercase;}.appointments .form-group+.form-group{margin-top:0;}.appointments label{text-transform:uppercase;font-weight:500;}.appointments .form-group{margin-bottom:30px;}.checkbox-custom,.radio-custom{position:relative;display:block;margin-top:10px;margin-bottom:10px;}.checkbox-custom label,.radio-custom label{min-height:22px;margin-bottom:0;font-weight:300;cursor:pointer;}.checkbox-custom:empty,.radio-custom:empty{min-height:auto;margin-top:-22px;}.checkbox-custom input[type="checkbox"],.radio-custom input[type="radio"]{position:absolute;margin-top:0;margin-bottom:0;margin-left:-20px;}.checkbox-custom.disabled label,.radio-custom.disabled label,fieldset[disabled] .checkbox-custom label,fieldset[disabled] .radio-custom label{cursor:not-allowed;}.input-group-addon .checkbox-custom,.input-group-addon .radio-custom{margin:0;}.checkbox-custom{padding-left:20px;}.checkbox-custom label{position:relative;display:inline-block;padding-left:10px;vertical-align:middle;}.checkbox-custom label:empty{padding-left:0;}.checkbox-custom label::before{position:absolute;left:0;display:inline-block;width:20px;height:20px;margin-left:-20px;content:"";background-color:var(--color-white);border:1px solid var(--color-border-subtle);border-radius:0.215rem;transition:0.3s ease-in-out;}.checkbox-custom label::after{position:absolute;top:0;left:0;display:inline-block;width:20px;height:20px;padding-top:1px;margin-left:-20px;font-size:12px;line-height:20px;color:var(--color-on-surface-muted);text-align:center;}.checkbox-custom input[type="checkbox"],.checkbox-custom input[type="radio"]{z-index:1;width:20px;height:20px;cursor:pointer;opacity:0;}.checkbox-custom input[type="checkbox"]:checked + input[type="hidden"] + label::before,.checkbox-custom input[type="checkbox"]:checked + label::before,.checkbox-custom input[type="radio"]:checked + input[type="hidden"] + label::before,.checkbox-custom input[type="radio"]:checked + label::before{border-color:var(--color-border-subtle);border-width:10px;transition:0.3s ease-in-out;}.checkbox-custom input[type="checkbox"]:checked + input[type="hidden"] + label::after,.checkbox-custom input[type="checkbox"]:checked + label::after,.checkbox-custom input[type="radio"]:checked + input[type="hidden"] + label::after,.checkbox-custom input[type="radio"]:checked + label::after{font-family:"Material Design Iconic";content:"\f26b";}.checkbox-custom input[type="checkbox"]:disabled,.checkbox-custom input[type="radio"]:disabled{cursor:not-allowed;}.checkbox-custom input[type="checkbox"]:disabled + input[type="hidden"] + label,.checkbox-custom input[type="checkbox"]:disabled + label,.checkbox-custom input[type="radio"]:disabled + input[type="hidden"] + label,.checkbox-custom input[type="radio"]:disabled + label{opacity:0.65;}.checkbox-custom input[type="checkbox"]:disabled + input[type="hidden"] + label::before,.checkbox-custom input[type="checkbox"]:disabled + label::before,.checkbox-custom input[type="radio"]:disabled + input[type="hidden"] + label::before,.checkbox-custom input[type="radio"]:disabled + label::before{cursor:not-allowed;background-color:#eee;border-color:var(--color-border-subtle);border-width:1px;}.checkbox-custom.checkbox-circle label::before{border-radius:50%;}.checkbox-custom.checkbox-inline{display:inline-block;margin-top:0;margin-bottom:0;}.checkbox-inline + .checkbox-inline{margin-left:20px;}.checkbox-default input[type="checkbox"]:checked + input[type="hidden"] + label::before,.checkbox-default input[type="checkbox"]:checked + label::before,.checkbox-default input[type="radio"]:checked + input[type="hidden"] + label::before,.checkbox-default input[type="radio"]:checked + label::before{background-color:var(--color-white);border-color:var(--color-border-subtle);border-width:1px;}.checkbox-default input[type="checkbox"]:checked + input[type="hidden"] + label::after,.checkbox-default input[type="checkbox"]:checked + label::after,.checkbox-default input[type="radio"]:checked + input[type="hidden"] + label::after,.checkbox-default input[type="radio"]:checked + label::after{color:#3f51b5;}.checkbox-primary input[type="checkbox"]:checked + input[type="hidden"] + label::before,.checkbox-primary input[type="checkbox"]:checked + label::before,.checkbox-primary input[type="radio"]:checked + input[type="hidden"] + label::before,.checkbox-primary input[type="radio"]:checked + label::before{background-color:#3f51b5;border-color:#3f51b5;}.checkbox-primary input[type="checkbox"]:checked + input[type="hidden"] + label::after,.checkbox-primary input[type="checkbox"]:checked + label::after,.checkbox-primary input[type="radio"]:checked + input[type="hidden"] + label::after,.checkbox-primary input[type="radio"]:checked + label::after{color:var(--color-white);}.radio-custom{padding-left:20px;}.radio-custom label{position:relative;display:inline-block;padding-left:10px;vertical-align:middle;}.radio-custom label:empty{padding-left:0;}.radio-custom label::before{position:absolute;left:0;display:inline-block;width:20px;height:20px;margin-left:-20px;content:"";background-color:var(--color-white);border:1px solid var(--color-border-subtle);border-radius:50%;transition:border 0.3s ease-in-out,color 0.3s ease-in-out;}.radio-custom label::after{position:absolute;top:7px;left:7px;display:inline-block;width:6px;height:6px;margin-left:-20px;content:" ";background-color:transparent;border:2px solid var(--color-on-surface-muted);border-radius:50%;transition:0.1s cubic-bezier(0.8,-0.33,0.2,1.33);-webkit-transform:scale(0,0);transform:scale(0,0);}.radio-custom input[type="radio"]{z-index:1;width:20px;height:20px;cursor:pointer;opacity:0;}.radio-custom input[type="radio"]:checked + input[type="hidden"] + label::before,.radio-custom input[type="radio"]:checked + label::before{border-color:var(--color-border-subtle);border-width:10px;}.radio-custom input[type="radio"]:checked + input[type="hidden"] + label::after,.radio-custom input[type="radio"]:checked + label::after{-webkit-transform:scale(1,1);transform:scale(1,1);}.radio-custom input[type="radio"]:disabled{cursor:not-allowed;}.radio-custom input[type="radio"]:disabled + input[type="hidden"] + label,.radio-custom input[type="radio"]:disabled + label{opacity:0.65;}.radio-custom input[type="radio"]:disabled + input[type="hidden"] + label::before,.radio-custom input[type="radio"]:disabled + label::before{cursor:not-allowed;}.radio-custom.radio-inline{display:inline-block;margin-top:0;margin-bottom:0;}.radio-inline + .radio-inline{margin-left:20px;}.radio-default input[type="radio"]:checked + input[type="hidden"] + label::before,.radio-default input[type="radio"]:checked + label::before{background-color:var(--color-white);border-color:var(--color-border-subtle);border-width:1px;}.radio-default input[type="radio"]:checked + input[type="hidden"] + label::after,.radio-default input[type="radio"]:checked + label::after,.radio-primary input[type="radio"]:checked + input[type="hidden"] + label::before,.radio-primary input[type="radio"]:checked + label::before{border-color:var(--bs-primary);}.radio-primary input[type="radio"]:checked + input[type="hidden"] + label::after,.radio-primary input[type="radio"]:checked + label::after{border-color:var(--color-white);}.appointments .form-control,.appointments input.form-control,.appointments textarea.form-control,.appointments select.form-control{background-color:var(--color-surface-contrast);}.appointments select + i.fa{background-color:var(--color-surface-contrast);}.appointments select.form-control{padding-right:25px;-moz-appearance:none;-webkit-appearance:none;appearance:none;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important;background-image:url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");background-repeat:no-repeat;background-position-x:97%;background-position-y:50%;}/* ===================================================== 09. CARDS & INTERACTIVE (flight cards,tabs,timeline) ===================================================== */.flight-card{background-color:var(--color-surface-raised);color:var(--color-white);display:flex;-webkit-border-radius:var(--btn-radius);-moz-border-radius:var(--btn-radius);border-radius:var(--btn-radius);}.flight-card-img{background-position:center center;background-repeat:no-repeat;background-size:cover;width:20%;min-height:150px;min-width:70px;-webkit-border-top-left-radius:var(--btn-radius);-webkit-border-bottom-left-radius:var(--btn-radius);-moz-border-top-left-radius:var(--btn-radius);-moz-border-bottom-left-radius:var(--btn-radius);border-top-left-radius:var(--btn-radius);border-bottom-left-radius:var(--btn-radius);}.flight-card-body-w{width:80%;position:relative;padding-bottom:35px;}.flight-card-body{padding:15px 20px;}.flight-card-title{font-size:1.2em;}.flight-card-subtitle{font-size:0.8em;opacity:.9;}.flight-card-price{font-size:1.2em;font-weight:bold;margin:10px 0px 1px 0px;}.flight-card-cta{position:absolute;width:100%;bottom:0px;}.flight-card-cta a{display:block!important;color:var(--color-surface-raised)!important;text-transform:uppercase;font-weight:600;padding:5px 18px;text-align:left;/*-webkit-border-bottom-right-radius:10px!important;-moz-border-bottom-right-radius:10px!important;border-bottom-right-radius:10px!important;*/border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-left-radius:0px;border-bottom-right-radius:var(--btn-radius);}#user-menu:hover ul{position:absolute;min-width:100px;display:block;z-index:999;}[data-novi-id]{font-weight:bold;}[dir=rtl] .modal-header .close{padding:0px;margin:0px;}.custom-vertical-tabs .tab-content{display:flex;}.custom-vertical-tabs .tab-content>.tab-pane{display:block;/* undo "display:none;" */ visibility:hidden;margin-right:-100%;width:100%;}.custom-vertical-tabs .tab-content>.active{visibility:visible;}.hori-timeline .events{border-top:3px solid var(--bs-primary);}.hori-timeline .events .event-list{display:block;position:relative;text-align:center;margin-right:0;}.hori-timeline .events .event-list:before{content:"";position:absolute;height:36px;border-right:2px dashed var(--color-border-subtle);top:0;}.hori-timeline .events .event-list .event-date{position:absolute;top:-15px;left:0;right:0;width:120px;margin:0 auto;border-radius:4px;padding:2px 4px;}@media (min-width:1140px){.hori-timeline .events .event-list{display:inline-block;width:33%;}.hori-timeline .events .event-list .event-date{top:-15px;}}.bg-timeline-text{background-color:var(--bs-primary)!important;color:var(--color-white)!important;}.destinations.card{border:none;margin-bottom:24px;box-shadow:none;background-color:transparent;}.btn-pulse{-moz-box-shadow:0 0 0 var(--bs-primary-rgb_10);-webkit-box-shadow:0 0 0 var(--bs-primary-rgb_10);box-shadow:0 0 0 var(--bs-primary-rgb_10);animation:btn-pulse 1.5s infinite;}.btn-available{position:relative;}.btn-available::before{position:absolute;content:' ';display:block;width:15px;height:15px;border-radius:50%;background-color:var(--color-status-available);top:0px;right:0px;}@-webkit-keyframes btn-pulse{0%{-webkit-box-shadow:0 0 0 0 var(--bs-primary-rgb_10);}70%{-webkit-box-shadow:0 0 0 10px var(--bs-primary-rgb_00);}100%{-webkit-box-shadow:0 0 0 0 var(--bs-primary-rgb_00);}}@keyframes btn-pulse{0%{-moz-box-shadow:0 0 0 0 var(--bs-primary-rgb_10);box-shadow:0 0 0 0 var(--bs-primary-rgb_10);}70%{-moz-box-shadow:0 0 0 10px var(--bs-primary-rgb_00);box-shadow:0 0 0 10px var(--bs-primary-rgb_00);}100%{-moz-box-shadow:0 0 0 0 var(--bs-primary-rgb_00);box-shadow:0 0 0 0 var(--bs-primary-rgb_00);}}/* ===================================================== 10. ANIMATED BOXES & 3D EFFECTS ===================================================== */.animated-box-wrap{perspective:1000px;position:relative;max-width:700px;}.animated-box-wrap * + h4{margin-top:15px;}html:not([data-x-mode]) .animated-box-wrap:hover .animated-box{transform:rotateY(180deg);}html:not([data-x-mode]) .animated-box-wrap:hover .animated-box .animated-box-back .animated-box-inner{transform:translate3d(0,0,0);}html:not([data-x-mode]) .animated-box-wrap:hover .animated-box .animated-box-front .animated-box-inner{transform:translate3d(0,0,90px);}html:not([data-x-mode]) .animated-box-wrap-vertical:hover .animated-box{transform:rotateX(180deg);}.animated-box-wrap.active .animated-box{transform:rotateY(180deg);}.animated-box-wrap.active .animated-box .animated-box-back .animated-box-inner{transform:translate3d(0,0,0);}.animated-box-wrap.active .animated-box .animated-box-front .animated-box-inner{transform:translate3d(0,0,90px);}.animated-box-wrap.active.animated-box-wrap-vertical .animated-box{transform:rotateX(180deg);}.animated-box-wrap-vertical .animated-box-back{transform:rotateX(-180deg);}.animated-box{transform-style:preserve-3d;border:1px solid #f2f3f8;box-shadow:0 1px 7px 0 var(--color-shadow-sm);text-align:center;transition:all 0.7s cubic-bezier(0.5,0.12,0.46,0.88);}.animated-box-inner{transition:all 0.5s cubic-bezier(0.5,0.12,0.46,0.88);}.animated-box-front,.animated-box-back{display:flex;justify-content:center;align-items:center;transform-style:preserve-3d;min-height:250px;padding:25px;transition:all 0.1s 0.25s cubic-bezier(0.5,0.12,0.46,0.88);}.animated-box-front.bg-image,.animated-box-back.bg-image{background-size:cover;}.animated-box-front.bg-image:before,.animated-box-back.bg-image:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:var(--color-overlay);}@media (min-width:768px){.animated-box-front,.animated-box-back{min-height:350px;}}.animated-box-front{background-color:var(--color-white);backface-visibility:hidden;z-index:1;transform:translate3d(0,0,1px);}.animated-box-front .animated-box-inner{transform:translate3d(0,0,0);}.animated-box-back{position:absolute;top:0;bottom:0;left:0;right:0;z-index:0;transform:rotateY(180deg) translate3d(0,0,1px);background-color:var(--bs-primary);}.animated-box-back .animated-box-inner{transform:translate3d(0,0,110px);}.animated-box-back .btn-white-outline,.animated-box-back .btn-white-outline:active,.animated-box-back .btn-white-outline:focus{color:var(--color-white);background:transparent;border-color:var(--color-white);}.animated-box-back .btn-white-outline:hover{color:var(--color-white);background:#67828d;border-color:#67828d;}.ie-10 .animated-box-wrap .animated-box-back,.ie-11 .animated-box-wrap .animated-box-back,.ie-edge .animated-box-wrap .animated-box-back{opacity:0;}.ie-10 .animated-box-wrap:hover .animated-box-front,.ie-11 .animated-box-wrap:hover .animated-box-front,.ie-edge .animated-box-wrap:hover .animated-box-front{opacity:0;pointer-events:none;}.ie-10 .animated-box-wrap:hover .animated-box-back,.ie-11 .animated-box-wrap:hover .animated-box-back,.ie-edge .animated-box-wrap:hover .animated-box-back{opacity:1;}.ie-10 .animated-box-front,.ie-10 .animated-box-back,.ie-11 .animated-box-front,.ie-11 .animated-box-back,.ie-edge .animated-box-front,.ie-edge .animated-box-back{height:250px;}@media (min-width:768px){.ie-10 .animated-box-front,.ie-10 .animated-box-back,.ie-11 .animated-box-front,.ie-11 .animated-box-back,.ie-edge .animated-box-front,.ie-edge .animated-box-back{height:350px;}}.animated-box-skyscraper .animated-box-front,.animated-box-skyscraper .animated-box-back{min-height:350px;justify-content:space-between;flex-flow:row wrap;}@media (min-width:768px){.animated-box-skyscraper .animated-box-front,.animated-box-skyscraper .animated-box-back{min-height:400px;}}.animated-box-skyscraper .animated-box-inner{flex-grow:1;width:100%;}.animated-box-skyscraper-left .animated-box{text-align:left;}.animated-box-skyscraper-left hr{margin-left:0;}.animated-box-skyscraper-left .animated-box-front,.animated-box-skyscraper-left .animated-box-back{align-items:flex-start;}.animated-box-skyscraper-right .animated-box{text-align:right;}.animated-box-skyscraper-right hr{margin-right:0;}.animated-box-skyscraper-right .animated-box-front,.animated-box-skyscraper-right .animated-box-back{align-items:flex-end;}.animated-box-skyscraper-center .animated-box-front,.animated-box-skyscraper-center .animated-box-back{justify-content:center;}.animated-box-skyscraper-center .animated-box-back{transform:rotateX(-180deg);}.animated-box-skyscraper.active.animated-box-skyscraper-right .animated-box{transform:rotateY(-180deg);}.animated-box-skyscraper.active.animated-box-skyscraper-center .animated-box{transform:rotateX(180deg);}html:not([data-x-mode]) .animated-box-skyscraper-right:hover .animated-box{transform:rotateY(-180deg);}html:not([data-x-mode]) .animated-box-skyscraper-center:hover .animated-box{transform:rotateX(180deg);}.ie-10 .animated-box-skyscraper .animated-box-front,.ie-10 .animated-box-skyscraper .animated-box-back,.ie-11 .animated-box-skyscraper .animated-box-front,.ie-11 .animated-box-skyscraper .animated-box-back,.ie-edge .animated-box-skyscraper .animated-box-front,.ie-edge .animated-box-skyscraper .animated-box-back{height:300px;}@media (min-width:768px){.ie-10 .animated-box-skyscraper .animated-box-front,.ie-10 .animated-box-skyscraper .animated-box-back,.ie-11 .animated-box-skyscraper .animated-box-front,.ie-11 .animated-box-skyscraper .animated-box-back,.ie-edge .animated-box-skyscraper .animated-box-front,.ie-edge .animated-box-skyscraper .animated-box-back{height:400px;}}.animated-box-transparent .animated-box{border-radius:15px;border-color:var(--bs-primary);}.animated-box-transparent .animated-box-back{opacity:0;}html:not([data-x-mode]) .animated-box-transparent:hover .animated-box-front{opacity:0;pointer-events:none;}html:not([data-x-mode]) .animated-box-transparent:hover .animated-box-back{opacity:1;}.animated-box-transparent.active .animated-box-front{opacity:0;pointer-events:none;}.animated-box-transparent.active .animated-box-back{opacity:1;}.animated-box-transparent .animated-box-front,.animated-box-transparent .animated-box-back{background:transparent;}.animated-box-ordered{counter-reset:div;}.animated-box-ordered .animated-box-title:before{display:block;content:counter(div,decimal-leading-zero) "";counter-increment:div;font-size:36px;}.animated-box-ordered .animated-box{border-radius:15px;border-color:var(--bs-primary);}.animated-box-ordered .animated-box-ordered-item .animated-box-front,.animated-box-ordered .animated-box-ordered-item .animated-box-back{border-radius:15px;min-height:220px;}@media (min-width:768px){.animated-box-ordered .animated-box-ordered-item .animated-box-front,.animated-box-ordered .animated-box-ordered-item .animated-box-back{min-height:260px;}}.animated-box-ordered * + .btn{margin-top:30px;}.animated-box-wrap-product .animated-box-back{background-color:var(--color-white);align-items:stretch;}.animated-box-wrap-product .animated-box-back>*{flex-grow:1;width:100%;}.animated-box-wrap-product .animated-box-back .animated-box-inner>*{position:absolute;top:0;bottom:0;left:0;right:0;}.ie-10 .animated-box-wrap-product .animated-box-front,.ie-10 .animated-box-wrap-product .animated-box-back,.ie-11 .animated-box-wrap-product .animated-box-front,.ie-11 .animated-box-wrap-product .animated-box-back,.ie-edge .animated-box-wrap-product .animated-box-front,.ie-edge .animated-box-wrap-product .animated-box-back{height:auto;}/* ===================================================== 11. UTILITIES ===================================================== */.select2-selection{min-height:50px;-moz-border-radius:0px!important;-webkit-border-radius:0px!important;border-radius:0px!important;display:flex!important;align-content:center;flex-wrap:wrap;}.select2-dropdown{min-width:200px!important;}html{scroll-behavior:smooth;}.anchor-margin{position:relative;top:-69px;}@media(min-width:992px){.anchor-margin{top:-102px;}}/* ===================================================== 12. THEME GLOBALS (migrate da theme_init.php inline) ===================================================== */body{position:relative;min-height:100vh;margin:0px;overflow-x:hidden;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-repeat:no-repeat;background-position:center center;}*,::after,::before{box-sizing:border-box;}body,.secondary-title,.btn{font-family:var(--FONT_FAMILY_SANSS),sans-serif!important;}.special-title,.headings-group h2,.prata{font-family:var(--FONT_FAMILY_SERIF),serif!important;}h1,h2,h3,.h1,.h2,.h3{font-family:var(--FONT_FAMILY_SERIF),serif!important;}h1 em,h2 em,h3 em,.h1 em,.h2 em,.h3 em{color:var(--color-accent);}.img-wrapper{display:block;position:relative;}.img-wrapper img{display:block;position:absolute;width:100%;height:100%;left:0px;top:0px;overflow:hidden;object-fit:fill;}.dropdown-menu,#top-social{display:none;}.clearfix:after{content:'.';display:block;clear:both;visibility:hidden;line-height:0;height:0;}html[xmlns] .clearfix{display:block;}* html .clearfix{height:1%;}.cover{-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-repeat:no-repeat;background-position:center center;}.cover h1,.cover h2{color:var(--color-on-surface-dark);}#booking-form.absolute-form{display:flex;flex-direction:row;align-items:stretch;position:fixed;right:calc(100% - 31px);width:100%;max-width:1200px;top:50%;transition:all 0.6s cubic-bezier(0.7,0,0.3,1);/* Must stay below Bootstrap's modal layer (.modal-backdrop 1040,.modal 1050):the quote request modal is a sibling of this panel,so a higher value here made the modal open underneath it. 999 keeps the panel on top of the page (and of #header,same value but later in document order) while the modal still wins. */z-index:999;-webkit-transform:translate(0%,-50%);transform:translate(0%,-50%);}html[dir=rtl] #booking-form.absolute-form{right:auto;left:calc(100% - 31px);}@media(max-width:991px){/*#header{position:absolute;}*/#booking-form.absolute-form:not(.booking-form-opened){/*" . (!empty($_GET["dev"]) ? '' :'display:none!important;') . "*/}#booking-form.absolute-form{max-width:100%;height:100%;left:0px!important;top:calc(100% - 50px);right:auto;-webkit-transform:translate(0%,0%)!important;transform:translate(0%,0%)!important;}.booking-form-v-toggler{position:absolute!important;display:block!important;width:100%!important;}.booking-form-h-toggler{display:none;}.d-form-vertical{float:right;margin-right:15px;}}.align-self-center{max-width:100%!important;-ms-flex-item-align:center!important;align-self:center!important;}button{border:none;}.btn{/* bordo trasparente (non "none") così l'altezza combacia con gli input,che includono un bordo di --form-border-width in --form-height */border:var(--form-border-width) solid transparent;cursor:pointer;}a.btn{text-decoration:none;display:inline-block;}.btn-primary,.hov-primary:hover{border-color:var(--color-btn-bg)!important;background-color:var(--color-btn-bg)!important;/*color:var(--color-white)!important;*/color:var(--btn-color)!important;}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa;}.btn-opposite{border-color:var(--bs-primary)!important;color:var(--bs-primary)!important;background-color:transparent!important;}.booking-form-v-toggler{display:none;position:absolute;top:0px;left:0px;width:100%;height:50px;padding:13px 0px 13px 15px;z-index:1;}#booking-form form{background-color:var(--color-surface);color:var(--color-on-surface);padding-top:60px;padding-bottom:30px;flex-grow:1;}@media(min-width:767px){#booking-form form{padding:60px 1.5rem 2rem 3.8rem;}}@media(min-width:992px){#booking-form form{padding:3rem 1.5rem 3rem 4rem;}}.booking-form-toggler{background-color:var(--color-btn-bg)!important;color:var(--color-on-primary);width:32px;cursor:pointer;position:relative;letter-spacing:1.5px;}.booking-form-toggler:hover{background-color:var(--bs-primary-active)!important;}.booking-form-v-text{transform:rotate(-90deg);transform-origin:bottom right;text-orientation:mixed;position:absolute;right:7px;top:16px;font-size:0.82em;white-space:nowrap;}.booking-form-v-text strong{margin-bottom:1rem;}form.booking-form .spinner,#booking-form .clear-airport,#booking-form .airports-list{position:absolute;}form.booking-form .spinner{right:8px;top:0px;height:100%;display:flex;align-items:center;}#booking-form .clear-airport{right:30px;top:14px;}#booking-form .airports-list{right:11px;top:14px;}/* UID.016:was scoped only to #booking-form (the sidebar/absolute/bottom widget wrapper),never to #slider-overlayer (the homepage hero embeds booking-form-htmlform.php directly,no #booking-form ancestor) - the remove-leg X there fell back to an unstyled bare link,"quasi invisibile" against the page. Same circular/primary style now applies in both places. *//* UID.016 (2026-09-15):flex-shrink:0 + min-width/min-height added - this "a" is itself a flex item of its parent .booking-form__remove (also flex,see the unscoped rule below),and a flex item's default min-width/min-height is "auto",not 0 - the browser can still shrink it below its own specified width/height when it decides content needs less. Confirmed live on the hero (#slider-overlayer):rendered 20x30 instead of 30x30 (an oval,not a circle) even though width/ height:30px were already set and winning in the cascade - only pinning flex-shrink and min-* stopped the shrink. */#booking-form .booking-form__remove a,#booking-form .booking-form__remove a:hover,#slider-overlayer .booking-form__remove a,#slider-overlayer .booking-form__remove a:hover{border:2px solid var(--bs-primary);color:var(--bs-primary)!important;border-radius:50%;height:30px;width:30px;min-width:30px;min-height:30px;flex-shrink:0;text-decoration:none;display:flex!important;align-items:center;justify-content:center;}#booking-form select,#slider-overlayer select{height:auto;}#slider-overlayer .booking-form__leg{position:relative;}/* UID.016 (2026-09-15):the previous fix here removed an explicit width,reasoning position:absolute only needs right/top - true for a plain block,but this wrapper also carries Bootstrap's .col-12,whose width:100% still applies once absolutely positioned (against the nearest positioned ancestor,.booking-form__leg) instead of being overridden by the browser's shrink-to-fit default. The wrapper was stretching to the full leg width (confirmed live:~910px instead of ~30px) - invisible (no background/border of its own) but still capturing clicks/hover across the entire row,so the From/To/ Departure/Passengers fields underneath became unclickable. Explicit width/height matching the circular button's own size neutralizes the inherited 100%. */#slider-overlayer .booking-form__leg .booking-form__remove{width:30px;height:30px;}@media (min-width:767px){#slider-overlayer .booking-form__leg .booking-form__remove{position:absolute;right:-20px;top:43%!important;}}.booking-form__remove{display:flex;justify-content:center;align-items:center;padding-top:5px;}.swal-button.swal-button--confirm{background-color:var(--bs-primary);}.flatpickr-day.today{border-color:var(--bs-primary)!important;}.flatpickr-day.selected{background-color:var(--bs-primary)!important;border-color:var(--bs-primary)!important;}.btn{text-transform:uppercase;}.btn-primary:hover{background-color:var(--bs-primary-active)!important;border-color:var(--bs-primary-active)!important;}@media(max-width:576px){.h1,.special-title{font-size:2em!important;}}#sidebar .title-border,#sidebar .recent-posts,#sidebar .categories .col-9{border-bottom:1px solid var(--bs-primary-rgb_02);}#sidebar .categories .col-3{border-bottom:1px solid var(--bs-primary-active);}#sidebar .categories .ic-folder-open{font-size:1.5em;}#sidebar li::before{content:'—';position:absolute;left:20px;font-size:11px;padding-top:3px;}#sidebar ul{position:relative;list-style:none;}/*#sidebar .search-btn{text-transform:none!important;font-size:0.8em!important;padding:0.5rem 0.75rem!important;}*/.animated-box-inner h3{font-size:0.95em!important;color:rgba(255,255,255,0.5)!important;}.bg-whatsapp,.hov-whatsapp:hover{background-color:var(--color-social-whatsapp)!important;color:var(--color-white)!important;border-color:rgba(255,255,255,0)!important;}.btn-whatsapp{border-color:var(--color-social-whatsapp)!important;background-color:var(--color-social-whatsapp)!important;color:var(--color-white)!important;}.btn-whatsapp:hover{border-color:color-mix(in srgb,var(--color-social-whatsapp),#000000 15%)!important;background-color:color-mix(in srgb,var(--color-social-whatsapp),#000000 15%)!important;color:var(--color-white)!important;}.ltr{direction:ltr;unicode-bidi:embed;}.containerlogo{height:auto;width:auto;position:relative;}.wing1{animation:bounceIn 1s;transition:all 0.4s;cursor:pointer;}.wing1:hover{-ms-transform:skew(-5deg);-ms-transform-origin:40% 40%;-webkit-transform:skew(-5deg);-webkit-transform-origin:40% 40%;transform:skew(-5deg);transform-origin:40% 40%;opacity:0.75;}.wing2{animation:bounceIn 1.5s;transition:all 0.4s;cursor:pointer;}.wing2:hover{-ms-transform:skew(-5deg);-ms-transform-origin:40% 40%;-webkit-transform:skew(-5deg);-webkit-transform-origin:40% 40%;transform:skew(-5deg);transform-origin:40% 40%;opacity:0.75;}.wing3{animation:bounceIn 2s;transition:all 0.4s;cursor:pointer;}.wing3:hover{-ms-transform:skew(-5deg);-ms-transform-origin:40% 40%;-webkit-transform:skew(-5deg);-webkit-transform-origin:40% 40%;transform:skew(-5deg);transform-origin:40% 40%;opacity:0.75;}.letters{animation:lettersIn 1s;cursor:pointer;}.letters:hover{opacity:0.5;}@keyframes bounceIn{0%{opacity:0.2;-ms-transform:rotate(90deg);-ms-transform-origin:40% 40%;-webkit-transform:rotate(90deg);-webkit-transform-origin:40% 40%;transform:scale(1) rotate(90deg) skewx(-15deg);transform-origin:40% 40%;}50%{opacity:0.7;-ms-transform:rotate(0deg);-ms-transform-origin:40% 40%;-webkit-transform:rotate(0deg);-webkit-transform-origin:40% 40%;transform:rotate(0deg) skewx(0deg);transform-origin:40% 40%;}100%{opacity:1;}}@keyframes lettersIn{0%{opacity:0.3;transform:scale(.95);}50%{opacity:0.5;}70%{opacity:0.9;}100%{opacity:1;}}.chart-title{line-height:1.4!important;}.canvas-pie-wrapper{height:250px;}.chart-legend-color{height:12px;width:40px;}.overflow-scroll,.overflow-scroll::-webkit-scrollbar,.overflow-scroll::-webkit-scrollbar-track,.overflow-scroll::-webkit-scrollbar-thumb{-webkit-transition-property:background-color;-moz-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-transition-duration:0.5s;-moz-transition-duration:0.5s;-o-transition-duration:0.5s;transition-duration:0.5s;}.overflow-scroll::-webkit-scrollbar{width:11px;}.overflow-scroll::-webkit-scrollbar-track{background-color:rbga(255,255,255,0);}.overflow-scroll::-webkit-scrollbar-thumb{border-radius:100px;border:3px solid var(--color-white);background-color:rbga(255,255,255,0);}.overflow-scroll{scrollbar-width:thin;scrollbar-color:var(--color-white) var(--color-white);}.overflow-scroll:hover::-webkit-scrollbar-track{background-color:var(--color-white);}.overflow-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--bs-primary);}.overflow-scroll:hover{scrollbar-color:var(--bs-primary) var(--color-white);}.overflow-visible{overflow:visible!important;}/* ===================================================== 14. LANDING PAGE SECTIONS (pagebuilder elements 01-03) ===================================================== *//* ---- Utilities shared across the 3 landing sections ---- */.text-serif{font-family:var(--FONT_FAMILY_SERIF),serif!important;}/* small gold uppercase eyebrow above section titles */.section-eyebrow{color:var(--color-accent);text-transform:uppercase;font-weight:600;font-size:0.78rem;letter-spacing:0.14em;margin-bottom:0.75rem;}/* supporting paragraph below a section heading — deliberately NOT .lead:.lead is a 24px display-size utility,this is body-copy sized and muted so it doesn't compete with the headline. .text-white-50 (already used elsewhere) overrides the color on the dark heading variant. */.section-subtitle{font-size:1rem;line-height:1.6;color:var(--color-on-surface-muted);}/* variante chiara della stessa idea,per il testo di supporto sulle sezioni scure. Era definita SOLO in home-redesign.min.css,che il front-end carica ma il pagebuilder no (vedi la lista addCss() in modules/posts/.../admin/pagebuilder.php):nell'editor la regola mancava del tutto e il paragrafo ereditava il colore scuro di default,risultando invisibile sul fondo scuro — anteprima non corrispondente al front-end. Replicata qui,nella fonte unica caricata da entrambi i contesti,con lo stesso identico valore:sul front-end style.min.css e' registrato dopo home-redesign.min.css,quindi la regola coincide e non cambia nulla;nell'editor e' l'unica presente e finalmente si applica. */.section-lead{color:rgba(253,250,243,.7);}/* stessa storia di .section-lead:.spacing-30 (row-gap tra le righe di una .row che va a capo) vive solo in home-redesign.min.css. Le griglie di card sono gia' migrate su .wipy-card-grid,ma la classe resta usata dai layout a due colonne (how-it-works,consult-form),dove senza questa regola l'editor mostra le colonne impilate senza stacco. Valore identico all'originale,stesso ragionamento sull'ordine di caricamento. */.spacing-30{row-gap:1.875rem;}/* ---- 01. HERO ---- */.section.section-lg.wipy-hero{padding:120px 0 48px;box-shadow:inset 0 -1px 0 var(--color-border-light);}/* Bordo/box-shadow solo da md in su (richiesta esplicita:rimuoverlo su mobile);padding-bottom ridotto per uno stacco piu' contenuto dalla stat strip. margin-bottom:-1px:nessuna regola di bordo/ombra risultava responsabile della riga chiara segnalata al confine con la strip (verificato su tutte le stylesheet,pseudo-elementi e sfondi calcolati pixel per pixel — tutti identici). Causa confermata sperimentalmente forzando Chromium a un device-pixel-ratio frazionario (--force-device-scale-factor=2.75,comune su Android):il confine (727.125px logici) cade a meta' di un pixel fisico e il compositor arrotonda i due layer (hero/strip) su righe fisiche diverse,producendo una banda di 1 pixel piu' chiara (misurato rgb(17-18,31-32,46) contro il navy rgb(3,18,34) circostante) — invisibile a DPR intero,per questo mai vista in locale da desktop. L'overlap di 1px la elimina indipendentemente dalla frazione esatta di DPR del device. */@media (max-width:767px){.section.section-lg.wipy-hero{box-shadow:none;padding-bottom:0;margin-bottom:-1px;}}@media (min-width:768px){.section.section-lg.wipy-hero{padding-top:140px;}}@media (min-width:992px){.section.section-lg.wipy-hero{padding-top:170px;padding-bottom:64px;}}/* Spazio tra il badge ("Jet Card Programme" ecc.) e il titolo sottostante:il markup porta la propria classe di spaziatura (.mt-3,dal preset),ma il riferimento del mockup (jet_card_programme) vuole 24px (Tailwind mt-6).!important necessario:".mt-3,.my-3{margin-top:1rem!important}" nel subset Bootstrap e' gia'!important,quindi anche battendola per specificita' col combinatore non basterebbe senza pareggiare anche quello. */.hero-badge + h1{margin-top:1.5rem!important;}/* Dimensioni titolo hero allineate al mockup (48/60/72px),piu' aggressive della clamp() globale h1 (style.css "01. BASE STYLES",pensata per gli altri titoli del sito) che a queste larghezze resterebbe piu' piccola. line-height:il mockup usa leading-[1.05] (compatto,tipico di un titolo display),qui il default ereditato resta il line-height "normale" del browser (~1.2) — su un h1 di piu' righe la differenza si accumula riga dopo riga e il titolo finisce per occupare piu' spazio verticale senza guadagnare presenza,leggendo visivamente "piu' piccolo" del riferimento. */.wipy-hero h1{font-size:3rem;line-height:1.05;}@media (min-width:576px){.wipy-hero h1{font-size:3.75rem;}}@media (min-width:992px){.wipy-hero h1{font-size:4.5rem;}}.wipy-hero .btn{min-height:var(--form-height);}/* .lead e' 24px/300 (vedi utility condivisa in "14. LANDING PAGE SECTIONS"),piu' grande dei 18px/20px (text-lg/sm:text-xl) del sottotitolo nel mockup. Scoped all'hero e non sull'utility globale:.lead resta 24px altrove (landing-page-section-01),dove il rapporto con il titolo e' diverso. font-family/max-width:nel mockup il sottotitolo eredita lo stesso serif display del titolo (stesso font-family di h1,solo peso 500) ed e' confinato a max-w-xl (576px):a parita' di font-size in px,un sans-serif (qui .lead arriva da Inter via body) ha uno x-height molto maggiore di un serif e,su tutta la larghezza della colonna hero invece che su 576px,legge visivamente "piu' grande/pesante" del riferimento pur essendo lo stesso numero di px. */.wipy-hero .lead{font-size:1.125rem;font-family:var(--FONT_FAMILY_SERIF),serif;font-weight:400;max-width:36rem;}@media (min-width:576px){.wipy-hero .lead{font-size:1.25rem;}}/* the CTA row used mr-3 (column gap) + mb-2 (used only as wrap-line gap) on each button — fine on one line,but on narrower viewports the two .btn (WhatsApp text is long) don't fit side by side,flex-wrap drops the gold button to a 2nd line,and mb-2 (8px) reads as barely any gap under a button that tall — looks like the pair is misaligned/overlapping rather than wrapped. A real flex gap keeps both a comfortable line-gap when wrapped and the same column-gap when not. */.wipy-hero__cta-row{gap:12px 16px;}/* full-width,stacked buttons solo su xs (< 576px);da sm in su tornano affiancati alla larghezza del contenuto — nessun cambio a flex-direction:con .btn al 100% ciascuno va gia' a riga propria dentro flex-wrap. Non si usa il .btn-block di Bootstrap:il subset non ha una variante responsive (niente d-sm-inline-block/d-grid in questo bundle),quindi andrebbe comunque annullato a mano sopra il breakpoint con una regola scoped come questa — a quel punto e' piu' diretto partire da zero. */@media (max-width:575px){.wipy-hero__cta-row .btn{width:100%;}}/* Righe di bottoni affiancati (hero,cta-final) con spaziatura via flex "gap":il bundle CSS combinato include una regola generica del template ("*+.btn") che assegna margin-top:50px a qualunque .btn preceduto da un fratello — pensata per bottoni impilati verticalmente in un blocco di testo,ma qui i due bottoni sono fratelli nella stessa riga flex e quel margine sposta in basso il secondo bottone. Azzerato solo in questi due contesti,non globalmente. */.wipy-hero__cta-row .btn,#cta-final .btn{margin-top:0;}/* rounded pill badge with a leading gold dot */.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px 7px 14px;border-radius:40px;background-color:color-mix(in oklab,var(--color-overlay-dark) 60%,transparent);border:1px solid var(--color-accent);color:var(--color-accent);font-size:0.72rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;}.hero-badge::before{content:"";width:7px;height:7px;border-radius:50%;background-color:var(--color-accent);}@supports (color:color-mix(in lab,red,red)){.hero-badge{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);}}/* white rounded card wrapping the booking form */.booking-form-card{background-color:var(--color-white);color:var(--color-on-surface);border-radius:18px;padding:2rem;box-shadow:0 30px 70px -25px var(--color-shadow-xl);}/* keep card content readable even inside a .bg-dark section */.booking-form-card h1,.booking-form-card h2,.booking-form-card h3,.booking-form-card .h1,.booking-form-card .h2,.booking-form-card .h3,.booking-form-card label,.booking-form-card small{color:var(--color-on-surface-strong);}.booking-form-card .booking-form__header{text-align:left;}.booking-form-card .booking-form__header p{color:var(--color-on-surface-muted);}.booking-form-card .booking-form__from,.booking-form-card .booking-form__to,.booking-form-card .booking-form__date,.booking-form-card .booking-form__pax{margin-top:10px;}.booking-form-card button{margin-top:18px;}/* Marcatore dei campi obbligatori. Il colore resta quello ereditato dalla label di proposito:l'oro del brand (--color-accent) su una card bianca sta a 2.02:1 e il rosso di stato (--color-state-danger) a 3.63:1,entrambi sotto il 4.5:1 che WCAG chiede a un testo — e questo asterisco e' testo,non decorazione. Se si vuole comunque colorarlo,e' l'unico punto da toccare. L'informazione non passa mai dal solo colore:c'e' il carattere "*",la nota che lo spiega e l'attributo required sull'input (che i lettori di schermo annunciano gia' da soli — per questo gli asterischi nelle label sono aria-hidden,altrimenti verrebbe letto due volte). */.wipy-required{color:inherit;}.wipy-required-note{color:var(--color-on-surface-muted);}/* ---- 02. THE DIFFERENCE / FRAMED FIGURE ---- *//* framed image:white padding,rounded corners,soft shadow */.landing-figure{position:relative;display:block;background-color:var(--color-white);border-radius:20px;box-shadow:0 35px 70px -30px var(--color-shadow-xl);}.landing-figure__img{display:block;width:100%;border-radius:12px;max-width:100%!important;aspect-ratio:4 / 5;object-fit:cover;overflow:hidden;}/* round "+20 years of experience" badge overlapping the image */.landing-figure__badge{position:absolute;right:50px;bottom:-40px;width:140px;height:140px;border-radius:50%;background:var(--color-surface-gold-gradient);color:var(--color-on-gold);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:5px solid var(--color-white);box-shadow:0 12px 28px -10px var(--color-shadow-lg);padding:25px 30px 35px 30px;}.landing-figure__badge-num{font-family:var(--FONT_FAMILY_SERIF),serif;font-size:1.9rem;font-weight:600;line-height:1;}.landing-figure__badge-label{font-size:0.6rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;line-height:1.2;margin-top:5px;}@media (max-width:575px){/* the badge's size/offsets are fixed px,not viewport-relative — scale it down below sm so it doesn't dominate a narrow phone-width figure. */.landing-figure__badge{right:20px;bottom:-24px;width:96px;height:96px;padding:14px 16px 20px 16px;}.landing-figure__badge-num{font-size:1.3rem;}.landing-figure__badge-label{font-size:0.5rem;}}/* left-aligned stat blocks */.stat-divider{border:0;border-top:1px solid var(--color-border-strong);margin:1.75rem 0 1.5rem;}.stat-number{font-family:var(--FONT_FAMILY_SERIF),serif;font-size:1.9rem;font-weight:600;line-height:1;color:var(--color-on-surface-strong);}.stat-label{font-size:0.75rem;font-weight:400;letter-spacing:0.01em;color:var(--color-on-surface-muted);margin-top:4px;}/* ---- 03. BENEFIT CARDS ---- */.benefit-card{background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;padding:1.75rem;box-shadow:0 22px 45px -28px var(--color-shadow-lg);}.benefit-card__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;border-radius:12px;font-size:1.1rem;margin-bottom:1.1rem;}.benefit-card__title{margin-bottom:0.5rem;}.benefit-card__text{color:var(--color-on-surface-muted);font-size:0.9em;margin-bottom:0;}/* ---- Componenti usati dai preset pagebuilder della home redesign,definiti SOLO in home-redesign.min.css (non caricato nell'editor Novi,vedi pagebuilder.php appendCssLink()):replicati qui,valore identico all'originale,stessa fonte unica gia' usata per .section-lead/.spacing-30 qualche riga sopra,cosi' anteprima editor e front-end coincidono. ---- */.check-list{list-style:none;margin:1.5rem 0 0;padding:0;}.check-list li{display:flex;align-items:flex-start;gap:0.75rem;margin-top:0.75rem;color:rgba(253,250,243,0.8);font-size:0.875rem;}.check-list li:first-child{margin-top:0;}.check-list__dot{width:6px;height:6px;margin-top:0.5em;border-radius:50%;background-color:var(--color-accent);flex-shrink:0;}.jet-card-panel{height:100%;border:1px solid var(--color-border-light);background-color:rgba(255,255,255,0.05);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:2rem;transition:border-color 0.2s ease;}.jet-card-panel:hover{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);}.jet-card-panel__head{display:flex;align-items:center;gap:0.75rem;}.jet-card-panel__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:12px;border:1px solid color-mix(in oklab,var(--color-accent) 40%,transparent);color:var(--color-accent);font-size:1.2rem;}.jet-card-panel h3{margin-top:1.5rem;font-size:1.875rem;}.jet-card-panel>p{margin-top:0.75rem;color:rgba(253,250,243,0.7);font-size:0.875rem;}.fleet-card{background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;overflow:hidden;box-shadow:0 22px 45px -28px var(--color-shadow-lg);display:flex;flex-direction:column;transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease;}.fleet-card:hover{transform:translateY(-4px);border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);box-shadow:0 30px 55px -25px var(--color-shadow-lg);}.fleet-card__media{position:relative;aspect-ratio:4 / 3;overflow:hidden;}.fleet-card__img{width:100%;height:100%;object-fit:cover;max-width:100%!important;transition:transform 0.5s ease;}.fleet-card:hover .fleet-card__img{transform:scale(1.05);}.fleet-card__body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column;}.fleet-card__body .section-eyebrow{font-size:0.625rem;}.fleet-card__body h3{font-size:1.5rem;}.fleet-card__text{color:var(--color-on-surface-muted);flex-grow:1;font-size:0.875rem;}.fleet-card:hover .benefit-card__link{color:var(--color-accent);}.route-card{background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;padding:1.5rem;box-shadow:0 22px 45px -28px var(--color-shadow-lg);text-decoration:none;color:inherit;transition:transform 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease;}.route-card:hover{transform:translateY(-4px);border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);box-shadow:0 30px 55px -25px var(--color-shadow-lg);text-decoration:none;}.route-card:hover .benefit-card__link{color:var(--color-accent);}.route-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}.route-card__tag{color:var(--color-accent);text-transform:uppercase;font-weight:600;font-size:0.68rem;letter-spacing:0.1em;}.route-card__duration{color:var(--color-on-surface-muted);text-transform:uppercase;font-weight:600;font-size:0.68rem;letter-spacing:0.1em;}.route-card__route{display:flex;align-items:center;gap:0.6rem;font-family:var(--FONT_FAMILY_SERIF),serif;font-size:1.5rem;font-weight:600;color:var(--color-on-surface-strong);}.route-card__plane{color:var(--color-accent);font-size:0.9rem;flex-shrink:0;transform:rotate(-12deg);}.route-card__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-strong);font-size:0.85rem;}.route-card__price{color:var(--color-on-surface-muted);}.why-card{display:flex;align-items:flex-start;gap:1rem;background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;padding:1.25rem;box-shadow:0 22px 45px -28px var(--color-shadow-lg);transition:border-color 0.2s ease;}.why-card:hover{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);}.why-card__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;font-size:1rem;}.why-card__title{margin-bottom:0.25rem;}.why-card__text{color:var(--color-on-surface-muted);font-size:0.9em;margin-bottom:0;}.spacing-40{row-gap:2.5rem;}/* ---- 04. BLOG ARTICLE CARD (category.php) ---- Stessa geometria/ombra di .benefit-card (border-radius 16px,box-shadow var(--color-shadow-lg)) applicata a una card con immagine di copertina. */.blog-card{position:relative;display:flex;flex-direction:column;height:100%;background-color:var(--color-white);border:1px solid var(--color-border-strong);border-radius:16px;box-shadow:0 22px 45px -28px var(--color-shadow-lg);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;}.blog-card:hover{transform:translateY(-4px);box-shadow:0 30px 55px -25px var(--color-shadow-lg);}.blog-card__cover{position:relative;display:block;}.blog-card__cover .img-wrapper img,.blog-card__cover .video-cover{object-fit:cover;}/* UID.012:.video-cover di base si centra con transform+min-width/height sull'ancestor posizionato piu' vicino (pensato per video hero a piena altezza gia' esistenti nel tema) - qui invece .video-box ha la stessa box ad aspect-ratio fisso di .img-wrapper (classe aggiunta in markup + padding-top:56% inline,stesso trucco usato per le immagini),quindi il video va riempito per inset come .gallery-video-tile video,non centrato per transform. Scoped a .blog-card,non tocca la regola base .video-cover condivisa altrove nel tema. */.blog-card__cover .video-box .video-cover{position:absolute;top:0;left:0;width:100%;height:100%;transform:none;min-width:0;min-height:0;}.blog-card__badges{position:absolute;top:.75rem;left:.75rem;right:.75rem;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;}.blog-card__categories{display:flex;flex-wrap:wrap;gap:.375rem;}.blog-card__badge{display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .75rem;border-radius:var(--btn-radius);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1.4;white-space:nowrap;}.blog-card__badge--category{background-color:var(--bs-primary);color:var(--color-on-primary);}.blog-card__badge--time{background-color:var(--color-white);color:var(--color-on-surface-strong);box-shadow:0 4px 10px -4px var(--color-shadow-md);}.blog-card__badge--time .ic{font-size:.85em;}.blog-card__body{display:flex;flex:1 1 auto;flex-direction:column;padding:1.25rem 1.5rem 1.5rem;}.blog-card__date{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-on-surface-muted);margin-bottom:.5rem;}.blog-card__title{margin:0 0 1rem;}.blog-card__title a{color:var(--color-on-surface-strong);}.blog-card__more{display:inline-flex;align-items:center;margin-top:auto;color:var(--bs-primary);font-size:.875rem;font-weight:600;}/* ---- 05. GALLERY GRID (views/gallery.php) ---- Griglia omogenea auto-adattiva per immagini + video del post (Post::getImages() + getVideos(),UID.012) - sostituisce la vecchia griglia Bootstrap .col-3/.col-sm-2 con padding pr-md-1/pl-md-1 manuale (gap disomogenei,colonne fisse non davvero responsive). CSS grid con gap uniforme,tile quadrato (stesso trucco padding-top:100% gia' usato per il tile video),stessa regola di riempimento per img e video. */.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;}.gallery-grid__tile{position:relative;padding-top:100%;overflow:hidden;border-radius:8px;}.gallery-grid__media{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}/* ---- 06. RELATED SOURCES (views/related-sources.php) ---- Righe cliccabili per i link esterni del post (Post::getLinks(),UID.012):favicon del dominio (scaricata e cacheata localmente,vedi commento in related-sources.php) con fallback all'icona "globe" quando il dominio non e' ricavabile dal link o il download fallisce. */.related-sources__list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;}.related-sources__link{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;border:1px solid var(--color-border-strong);border-radius:10px;background-color:var(--color-white);transition:border-color .2s ease,box-shadow .2s ease;}.related-sources__link:hover{border-color:var(--bs-primary);box-shadow:0 10px 25px -18px var(--color-shadow-lg);text-decoration:none;}.related-sources__favicon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:6px;overflow:hidden;background-color:var(--color-surface);}.related-sources__favicon img{width:20px;height:20px;object-fit:contain;}.related-sources__favicon .ic{font-size:1rem;color:var(--color-on-surface-muted);}.related-sources__text{display:flex;flex-direction:column;min-width:0;}.related-sources__title{color:var(--color-on-surface-strong);font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.related-sources__url{color:var(--color-on-surface-muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}/* Docs (views/docs.php,UID.012) riusa queste stesse classi .related-sources__* invece di un componente dedicato - stesso layout a righe piene larghezza,richiesto esplicitamente da Matteo perche' "tutto deve coincidere" con Related sources (scartata una prima versione a griglia di card). Icona tipo-file (icon_file()) al posto della favicon,stessa dimensione/posizione (.related-sources__favicon .ic gia' generico,non serve una regola nuova). Riga 1 = titolo file,riga 2 = estensione + dimensione. */.lead{font-size:24px;font-weight:300;}/* ---- 03b. .section-lg RESPONSIVE PADDING ---- .section-lg is used by several pagebuilder presets (landing-hero-cta and the pre-existing landing-page-section-01/02/03) but only has real rules inside Novi's own editor stylesheet (style_pagebuilder.css,loaded in the builder iframe only — theme_init.php never enqueues it on the front-end). Without this,those sections render with zero vertical padding outside the editor. Mobile-first,matching the values the editor preview already shows so the published page stays true to what the editor renders. */.section-lg{padding:60px 0;}@media (min-width:768px){.section-lg{padding:80px 0;}}@media (min-width:992px){.section-lg{padding:100px 0;}}/* ---- 04. STAT STRIP (pagebuilder element:landing-stat-strip) ---- Divider color:Bootstrap's .border-left already draws the line,but its "border-left:1px solid #dee2e6!important" (custom-bootstrap.min.css) is!important — same insidia gia' vista su .wipy-callout/.btn-gold:hover,senza!important qui il grigio opaco del subset vince sempre sul rgba(255,255,255,.1) pensato per uno sfondo scuro (piu' sottile e diverso "spessore" percepito). */.stat-strip .border-left{border-color:var(--color-border-light)!important;}@media (max-width:767px){/* Sotto .col-md-3 la strip passa da 1x4 a 2x2. Un bordo per colonna (border-left sulle singole .col-6) lascerebbe un buco nel punto in cui i due bordi dovrebbero incrociarsi,per via del gutter Bootstrap tra le colonne — niente vera "croce" continua. Si disattivano quindi i bordi per-colonna e si disegna la croce con due pseudo-elementi sul contenitore,indipendenti dal gutter. */.stat-strip{position:relative;}.stat-strip .col-6{border-left:0!important;padding-top:1rem;padding-bottom:1rem;}.stat-strip::before,.stat-strip::after{content:"";position:absolute;background-color:var(--color-border-light);}.stat-strip::before{top:0;bottom:0;left:50%;width:1px;}.stat-strip::after{top:50%;left:0;right:0;height:1px;}}/* ---- 05. CALLOUT (pagebuilder element:landing-callout) ---- Shape/spacing come from Bootstrap's .border/.rounded/.p-4;solo il bordo oro non ha equivalente nel subset.!important d'obbligo:.border del subset e' definita con "border:1px solid #dee2e6!important" (custom-bootstrap.min.css),stessa insidia gia' documentata su .btn-gold:hover — senza!important qui il grigio del subset vince sempre,a prescindere dall'ordine dei fogli di stile. */.wipy-callout{background-color:color-mix(in oklab,var(--color-accent) 6%,transparent);border-color:var(--color-accent)!important;/* .rounded del subset (.25rem) e' molto piu' stretto del raggio 16px usato dalle card della pagina (route-card/why-card/jet-card-panel):qui uniformato allo stesso valore,stesso!important gia' in uso sopra per battere .border del subset a prescindere dall'ordine dei fogli. */border-radius:16px!important;}/* ---- 06. PERSONA CARDS (pagebuilder element:landing-persona-cards) ---- Fixed-ratio photo crop and the checklist's dot bullet have no Bootstrap 4 utility (no object-fit/aspect-ratio helpers,no list bullet utility in this subset);everything else (divider,spacing,layout) uses .border-top/.d-flex. */.wipy-persona-card__photo{aspect-ratio:4 / 3;overflow:hidden;border-radius:15px 15px 0 0;}.wipy-persona-card__photo img{width:100%;height:100%;object-fit:cover;display:block;}.wipy-dot::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background-color:var(--color-accent);margin-right:8px;}/* Elenchi puntati ripetibili (Persona Cards e Feature List):la spaziatura appartiene al CONTENITORE,non a una .mb-* sui singoli item. Cosi' il numero di voci puo' cambiare liberamente dall'editor senza lasciare un margine appeso in fondo — con le utility serviva invece un ultimo item "speciale" (mb-2 su tutti tranne l'ultimo,piu' mb-sm-0 sul terzo),schema che si rompe appena si aggiunge o si riordina una voce. Persona:la .row e' gia' flex,quindi row-gap spaziatura solo TRA le righe (0.5rem = la .mb-2 che avevano gli item). Feature List:NIENTE flex/gap qui. Gli item hanno .small e style_pagebuilder.css applica "* + .small{margin-top:10px}":in block flow quel margine COLLASSA con quello sotto e la distanza reale e' 10px,mentre in un contenitore flex i margini non collassano e si sommerebbero al gap (10+8=18px,card piu' alta di 8px). Restando in block flow si mantiene il collasso e la distanza si dichiara qui una volta sola,valida per qualsiasi numero di voci. */.wipy-persona-card__features{row-gap:0.5rem;}.wipy-feature-list__item + .wipy-feature-list__item{margin-top:10px;}/* ---- 07. PROCESS STEPS (pagebuilder element:landing-process-steps) ---- Translucent panel-on-dark has no Bootstrap utility,so it's fully custom rather than layered on .border/.rounded — the subset's .border ships `border:1px solid #dee2e6!important`,which was silently overriding the intended border-color (and its!important radius fights our own). body copy uses the existing .text-white-50. --color-overlay-light (15% white,shared token used elsewhere e.g. footer_default.css) reads much brighter than the mockup's near-invisible glass tint (5% white) — use a dedicated lower value here instead of reusing/redefining that token. */.wipy-glass-panel{background-color:color-mix(in oklab,white 5%,transparent);border:1px solid var(--color-border-light);border-radius:16px;padding:1.75rem;backdrop-filter:blur(6px);transition:border-color .2s ease;}.wipy-glass-panel:hover{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent);}/* ---- 08. COMPARISON TABLE (pagebuilder element:landing-comparison-table) ---- A real Bootstrap <table class="table"> handles rows/padding/striping;this subset just doesn't ship .table-bordered,so the vertical column dividers are the only bit added here. Column/header tint uses .bg-light/.bg-dark. */.wipy-compare{overflow:hidden;border-radius:14px;}.wipy-compare th,.wipy-compare td{border-left:1px solid var(--color-border-strong);}.wipy-compare th:first-child,.wipy-compare td:first-child{border-left:0;}/* Sotto i 576px il padding di default di Bootstrap (.75rem per lato,su 3 colonne) porta la tabella a superare di qualche px la larghezza disponibile dentro .benefit-card.p-0 (nessun respiro laterale):il bordo destro dell'ultima colonna finisce a ridosso/oltre il bordo dello schermo invece di rispettare il padding del container. Ridotto solo qui,non su .table in generale (altre tabelle del tema non hanno questo stesso vincolo). */@media (max-width:575.98px){.wipy-compare th,.wipy-compare td{padding:0.5rem;}}/* ---- 09. CONSULT FORM (pagebuilder element:landing-consult-form) ---- Geometria di input/label/textarea/bottone:arriva tutta dal blocco "02. FORM CONTROLS" e dal subset Bootstrap del tema. Qui servono tre cose. 1) I link della lista contatti (telefono/WhatsApp/email):grigio come il resto del testo muto sul pannello scuro,oro all'hover. Il subset Bootstrap ha un semplice "a:hover{color:#0056b3}" che altrimenti li ridipingerebbe di blu — stessa identica insidia gia' vista su .btn-gold:hover qui sopra,stesso rimedio (!important) per lo stesso motivo. */.wipy-consult-form__contacts a{color:rgba(255,255,255,.5)!important;transition:color .15s ease;}.wipy-consult-form__contacts a:hover{color:var(--color-accent)!important;}/* 2) Riprendersi la spaziatura dei campi. style_pagebuilder.css (il CSS del template Novi,caricato DOPO style.css sulle pagine pagebuilder anche sul front-end) impone la sua:.form-group{margin-bottom:0 }.form-group + .form-group{margin-top:20px }Dichiarare quel margine col selettore adiacente funziona in block flow,ma la .form-row e' un contenitore FLEX:li' i margini non collassano e quei 20px,invece di spaziare le righe,sfalsano in verticale il SECONDO campo della coppia (nome e cognome affiancati partivano a 20px di distanza l'uno dall'altro). Si riscrive quindi qui,con selettori piu' specifici e senza!important — e si riscrive in style.css,non in pagebuilder.css:quest'ultimo vale solo dentro l'iframe dell'editor e farebbe divergere anteprima e pagina pubblicata. */.wipy-consult-form .form-group{margin-bottom:1rem;}/* (0,3,0):serve per battere .form-group + .form-group,che ha la stessa specificita' della regola base ma arriva dopo nella cascata. */.wipy-consult-form .form-group + .form-group{margin-top:0;}.wipy-consult-form button[type="submit"]{margin-top:0.5rem;}/* Below lg the two columns stack:the form column gets both the row-gap of .spacing-30 (above) and the "margin-top:30px" of style_pagebuilder.css's ".spacing-30>*" editor trick,~76px between the subtitle and the form. Drop the extra margin on the form column only,keeping the row-gap. */@media (max-width:991.98px){.spacing-30>div:has(> .wipy-consult-form){margin-top:0;}}/* 3) Il campo-esca antispam,l'unica cosa senza equivalente nel tema. Fuori schermo e non display:none,perche' i bot che compilano tutto ignorano i campi nascosti col display ma non quelli spostati:se arriva valorizzato,la richiesta e' automatica. Nell'editor sparisce allo stesso modo (style.min.css e' caricato anche nell'iframe),cosi' non ingombra il pagebuilder. */.wipy-consult-form__trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}/* ---- 10. SURFACE CONTRAST (pagebuilder elements:landing-programme-glance,landing-jetcard-comparison) ---- Sezioni chiare "a corredo" (es. "Programme at a Glance","Jet Card vs Ad-Hoc Charter"):un fondo leggermente piu' caldo del bianco base (--color-surface,usato anche da sezioni semplici come la FAQ) per staccarle visivamente senza scurirle quanto un bg-dark — stessa distinzione bg-secondary/bg-background del mockup. */.bg-surface-contrast{background-color:var(--color-surface-contrast);}/* ===== Landing header/footer (pagebuilder sections landing-header / landing-footer) ===== Rules moved from header_landing.css + footer_landing.css so they apply also when the post uses header=none / footer=none and the header/footer live as pagebuilder blocks. */:root{--header-height:90px;}@media (max-width:991px){:root{--header-height:76px;}}body:not(.header-transparent){padding-top:var(--header-height);}.header-landing #top-social{list-style:none;}.header-landing #top-social .si-whatsapp{background-color:var(--color-social-whatsapp);}#header.header-landing{position:fixed;top:0;width:100%;z-index:999;transition:background-color 0.3s ease-in-out,box-shadow 0.3s ease-in-out;background-color:var(--color-surface);box-shadow:0 1px 3px 1px rgba(0,0,0,.1);}body.header-transparent:not(.header-scrolled) #header.header-landing{background-color:transparent!important;box-shadow:none!important;border-bottom:1px solid rgba(255,255,255,.1);}body.header-transparent:not(.header-scrolled) #header.header-landing #top-social a,body.header-transparent:not(.header-scrolled) #header.header-landing #top-social a:link,body.header-transparent:not(.header-scrolled) #header.header-landing #top-social a:visited{color:var(--color-white);}.floating-whatsapp{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1050;background-color:#25D366;border-radius:50rem;}/* Su mobile il pill icona+testo risultava troppo largo:.btn-lg qui non e' la nostra regola (padding:var(--form-padding-y-lg) var(--btn-padding-x-lg),cioe' 2rem/lato) ma quella di style_pagebuilder.min.css (padding:15px 40px;min-width:170px),che sul front-end delle pagine pagebuilder carica dopo questo foglio e vince a parita' di specificita' (0,1,0). Serve quindi un selettore piu' specifico (0,2,0),non solo scoped al breakpoint,per batterla a prescindere dall'ordine. */@media (max-width:575px){.floating-whatsapp.btn-lg{padding-left:var(--btn-padding-x-sm);padding-right:var(--btn-padding-x-sm);min-width:auto;}}/* ===================================================== 15. ACCESSIBILITY ===================================================== *//* Indicatore di focus da tastiera:nessuna regola del tema lo definiva (i vari outline:none del pagebuilder restavano senza sostituto) e la navigazione da tastiera era priva di indicatore visibile (WCAG 2.4.7). :focus-visible mostra il ring solo per navigazione da tastiera,non al click. */a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,.btn:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px;}/* Link testuali del footer (indirizzo/contatti in <address>,lista "Info") erano <a> inline nudi separati da <br>/wrapping <div>:l'area cliccabile coincideva col solo line-height del testo (~15px),sotto il minimo di 24px raccomandato per i target touch (WCAG 2.5.8 / Lighthouse target-size). Non tocca le righe di icone social (dirette in .aside-body,niente <div> di wrapping) né il form Mailchimp,già dimensionati diversamente. */address.aside-body a,.aside-body>div>a{display:inline-block;padding:5px 0;}.text-accent{color:var(--color-accent)!important;}a.text-accent:focus,a.text-accent:hover{color:var(--color-link-hover)!important;}/* ===== end Landing header/footer ===== */.thumbnail-modern-control:hover{background:none!important;}@media (min-width:992px){html[dir=rtl] .thumbnail-modern-control:after{left:-50px;right:0px;}html[dir=rtl] .thumbnail-modern-control:hover:after{background:var(--bs-primary);right:-530px;}}/* ===== Spacing utilities — estensione della scala Bootstrap ===== La scala di Bootstrap 4 si ferma a *-5 (3rem). py-6 = 6rem,cioè l'equivalente di py-24 di Tailwind (24 × 0.25rem). Serve un'utility custom perché non esiste uno step nativo oltre py-5. Segue la naming convention di Bootstrap,quindi è riutilizzabile da qualsiasi blocco. */.py-6{padding-top:6rem!important;padding-bottom:6rem!important;}.pt-6{padding-top:6rem!important;}/* mt-14/pb-14:stessa nomenclatura di Tailwind (14 = 3.5rem),per replicare fedelmente lo spazio del mockup attorno al pulsante "Request consultation" — mt-14 sul wrapper del pulsante e pb-14 sulla sezione danno lo stesso respiro (56px) sopra e sotto il pulsante,invece del padding uniforme e piu' grande di py-6. */.mt-14{margin-top:3.5rem!important;}.pb-14{padding-bottom:3.5rem!important;}/* Meno spazio morto su mobile:le utility sopra danno lo stacco verticale tra le sezioni di tutta la pagina. Ai valori desktop (96/96/56px) su schermi piccoli il contenuto utile si riduce troppo rispetto allo spazio vuoto — dimezzati (circa) qui,.mt-14 esclusa perche' non spazia tra sezioni ma tra un titolo e un bottone dentro la stessa sezione (cta-final). .py-5 non c'e':e' nativa di Bootstrap,quindi per lei stesso mobile-first di Bootstrap basta usare py-3 nel markup e py-md-5 per il valore desktop (aggiunta al subset in custom-bootstrap.min.css),invece di un override qui. */@media (max-width:767px){.py-6{padding-top:3rem!important;padding-bottom:3rem!important;}.pt-6{padding-top:3rem!important;}.pb-14{padding-bottom:2rem!important;}}/* ---- CARD GRID (griglie di card che vanno a capo:feature-list,persona-cards) ---- .row.spacing-30 non va usato per griglie che possono andare a capo su piu' righe:sulla pagina .spacing-30 riceve DUE regole in conflitto dal bundle CSS combinato — home-redesign.min.css ("row-gap:1.875rem") e style_pagebuilder.min.css (un trick con transform/margin negativo pensato per l'editor Novi,non per il front-end) — che si sommano invece di sostituirsi,raddoppiando lo spazio verticale tra le righe (~60px invece di 30px) e sfalsando lo spazio sopra la prima riga. Questa classe applica solo row-gap,in isolamento,per uno spazio verticale uguale a quello orizzontale (dato dal gutter nativo delle colonne Bootstrap). */.wipy-card-grid{row-gap:1.875rem;}@media (max-width:767px){.wipy-card-grid{row-gap:1rem;}}/* Un'altra regola generica del template nel bundle CSS combinato,"p+.row",assegna margin-top:75px a qualunque .row preceduto da un <p> fratello (spaziatura pensata per paragrafo+riga in un blocco di testo generico). Quando la griglia segue direttamente l'eyebrow/sottotitolo di sezione (es. "Beyond the standard jetcard service") questo la stacca dal titolo con uno spazio molto piu' grande di quello usato altrove (es. sopra la tabella comparativa,che non e' un .row e non la riceve). .row.wipy-card-grid (due classi) batte "p+.row" per specificita' senza bisogno di!important,restando comunque sovrascrivibile da un mt-* esplicito quando serve. */.row.wipy-card-grid{margin-top:0;}/* ===== end Spacing utilities ===== *//* ===== FAQ accordion (blocco pagebuilder faq-accordion) ===== Queste regole DEVONO stare qui e non in un <style> dentro il blocco:Novi scansiona ogni <style> del documento (getElementStyle) e ne cerca il virtualStyleSheet tra i file CSS del progetto;per uno <style> inline non lo trova e va in "Cannot read properties of undefined (reading 'rules')",facendo fallire l'inserimento del blocco. Il blocco usa utility Bootstrap SOLO dove esistono in custom-bootstrap.min.css (container,card,d-flex,align-items-center,justify-content-between,mb-0,py-6,small). NON usare list-group*,shadow-sm,text-muted,text-warning,flex-shrink-0:mancano nella build ridotta del tema e ci sono solo nel Bootstrap completo caricato dall'iframe del pagebuilder,quindi renderizzerebbero diversamente tra editor e sito pubblicato. RTL:la spaziatura dell'icona sta QUI e non su mr-3 di Bootstrap. Le utility di margine di BS4 sono fisiche e!important,e il tema non ha un flip globale per dir=rtl,quindi mr-3 resterebbe a destra anche in arabo. Tenendo il margine in una classe nostra basta ribaltarlo sotto html[dir=rtl],senza guerre di!important. Flexbox (d-flex/justify-content-between) si inverte da solo con dir=rtl,e il chevron punta in basso quindi non va specchiato. */.wipy-faq{background:var(--color-surface);border-color:var(--color-border);border-radius:1rem;box-shadow:var(--shadow-card);overflow:hidden;}.wipy-faq__item{border-top:1px solid var(--color-border);}.wipy-faq__item:first-child{border-top:none;}.wipy-faq__summary{padding:20px 24px;cursor:pointer;list-style:none;}.wipy-faq__summary::-webkit-details-marker{display:none;}.wipy-faq__icon{width:20px;height:20px;flex-shrink:0;margin-right:1rem;color:var(--color-accent);}/* era <span><strong>:passata a <h3> per la struttura semantica della pagina. Il tema definisce regole globali per h1-h3 (font-weight,margin del browser) pensate per titoli di sezione,non per una domanda dentro una riga flex — vanno azzerate/sovrascritte qui per mantenere l'aspetto identico a prima. */.wipy-faq__title{color:var(--color-dark);font-size:1.1rem;font-weight:700;margin:0;/* Distanza minima dal chevron con una domanda lunga:il chevron e' spinto a fondo riga da un margine auto,che a riga piena si azzera. Proprieta' logica,cosi' si ribalta da sola in RTL senza una regola gemella da tenere allineata a mano. */margin-inline-end:24px;}.wipy-faq__chevron{width:20px;height:20px;flex-shrink:0;/* Spinge il chevron a fondo riga. Prima l'allineamento veniva da "justify-content-between" sul <summary>,che pero' regge solo finche' i figli sono esattamente due (icona+titolo in uno <span>,chevron). CKEditor sfila sempre l'<h3> da quello <span> — la sua DTD non ammette un blocco dentro un inline — e con tre figli space-between distribuiva il titolo al centro. Con il margine auto l'allineamento non dipende piu' da quanti figli ha il summary. */margin-inline-start:auto;color:var(--color-on-surface-muted);transition:transform .2s ease;}.wipy-faq__item[open] .wipy-faq__chevron{transform:rotate(180deg);}.wipy-faq__answer{margin:-4px 24px 20px 60px;color:var(--color-on-surface-muted);line-height:1.6;}/* RTL (arabo):ribalta le sole proprietà direzionali. Il rientro di 60px della risposta = 24px di padding del summary + 20px di icona + 1rem di gap,così resta allineata al titolo anche a destra. */html[dir=rtl] .wipy-faq__icon{/*!important necessario:le pagine salvate PRIMA della rimozione di mr-3 dal blocco contengono ancora quella utility nello snapshot HTML,e mr-3 è margin-right:1rem!important. Senza!important qui l'icona si ritroverebbe 1rem su entrambi i lati in RTL. Così anche le pagine già pubblicate renderizzano correttamente senza doverle re-inserire dal builder. */margin-right:0!important;margin-left:1rem;}/* .wipy-faq__chevron e .wipy-faq__title non compaiono qui:usano margin-inline-*,che si ribalta gia' da solo in RTL. Una regola gemella con le proprieta' fisiche vincerebbe su quella logica e andrebbe tenuta allineata a mano. */html[dir=rtl] .wipy-faq__answer{margin-left:24px;margin-right:60px;}/* ===== end FAQ accordion ===== *//* ===== WIPY TABLE (pagebuilder element:wipy-table) ===== Tabella generica per il pagebuilder. Righe e celle si aggiungono/rimuovono coi controlli nativi di duplicazione su <tr>/<td> (regole in layers.json);sfondo,colore testo e bordi si personalizzano dal pannello Novi selezionando il wrap,la riga o la singola cella (.novi-background già nel markup abilita il tool sfondo nativo su wrap e celle). */.wipy-table-wrap{border-radius:14px;}.wipy-table th,.wipy-table td{border-left:1px solid var(--color-border-strong);vertical-align:middle;}.wipy-table th:first-child,.wipy-table td:first-child{border-left:0;}.wipy-table thead th{text-transform:uppercase;font-weight:400;font-size:.85rem;color:var(--color-on-surface-muted);}/* Angoli arrotondati sulle celle d'angolo reali,non via overflow:hidden sul wrap:un overflow:hidden lì sopra il <thead> taglia il popup di formattazione testo (colore/bold/corsivo) quando si apre sopra la prima riga,rendendolo introvabile. */.wipy-table thead tr:first-child th:first-child{border-top-left-radius:14px;}.wipy-table thead tr:first-child th:last-child{border-top-right-radius:14px;}.wipy-table tbody tr:last-child td:first-child{border-bottom-left-radius:14px;}.wipy-table tbody tr:last-child td:last-child{border-bottom-right-radius:14px;}/* ===== end WIPY TABLE ===== *//* ===== Ancore pagina "Access fleet" coperte dall'header fisso ===== */#lightjet,#midsizejet,#supermidsizejet,#heavyjet,#ultralongrange,#vipairliner{scroll-margin-top:calc(var(--header-height,90px));}/* ===== end Ancore Access fleet ===== *//* Cookie bar links:the global link gold (#906E1F) is 3.36:1 on the #222 bar,the light gold is 8.7:1. The lib's own :hover/:focus rule (white) still wins. */#cookiebar-big a{color:var(--color-link-hover);}
/* Font default (it/en/fr) — generato da Google Fonts,self-hosted. Vedi theme_config.php */ /* ===== inter ===== */ /* latin-ext */ @font-face{font-family:'Inter';font-style:normal;font-weight:300 800;font-display:swap;src:url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/fonts/./inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}/* latin */ @font-face{font-family:'Inter';font-style:normal;font-weight:300 800;font-display:swap;src:url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/fonts/./inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}/* ===== cormorant-garamond ===== */ /* latin-ext */ @font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/fonts/./cormorant-garamond/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}/* latin */ @font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/fonts/./cormorant-garamond/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}/* latin-ext */ @font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/fonts/./cormorant-garamond/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}/* latin */ @font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/fonts/./cormorant-garamond/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}
@charset 'UTF-8';.slick-loading .slick-list{background:url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/lib/slick/./ajax-loader.gif) center center no-repeat #fff}@font-face{font-family:slick;font-weight:400;font-style:normal;src:url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/lib/slick/./fonts/slick.eot);src:url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/lib/slick/./fonts/slick.eot?#iefix) format('embedded-opentype'),url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/lib/slick/./fonts/slick.woff) format('woff'),url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/lib/slick/./fonts/slick.ttf) format('truetype'),url(https://www.fastprivatejet.com/public/fast4d574672ff500ca459c85d932ef839b73f0cf/themes/fastprivatejet-3.3/src/lib/slick/./fonts/slick.svg#slick) format('svg')}.slick-next,.slick-prev{font-size:0;line-height:0;position:absolute;top:50%;display:block;width:20px;height:20px;padding:0;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:0;background:0 0}.slick-next:focus,.slick-next:hover,.slick-prev:focus,.slick-prev:hover{color:transparent;outline:0;background:0 0}.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1}.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25}.slick-next:before,.slick-prev:before{font-family:slick;font-size:20px;line-height:1;opacity:.75;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev{left:-25px}[dir=rtl] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:'←'}[dir=rtl] .slick-prev:before{content:'→'}.slick-next{right:-25px}[dir=rtl] .slick-next{right:auto;left:-25px}.slick-next:before{content:'→'}[dir=rtl] .slick-next:before{content:'←'}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{position:absolute;bottom:-25px;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:0;background:0 0}.slick-dots li button:focus,.slick-dots li button:hover{outline:0}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{font-family:slick;font-size:6px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:.75;color:#000}
/*! * mkCookies 2.0.2 - consent banner. Colours and font come from the Wipy UI tokens of the theme * (--wipy-*,docs/conventions/wipy-ui-tokens.md);--mk-cookies-* override them for the banner * only (set them on :root or .mk-cookies). */.mk-cookies{--mk-bg:var(--mk-cookies-bg,var(--wipy-surface,#ffffff));--mk-fg:var(--mk-cookies-fg,var(--wipy-text,#1f2430));--mk-muted:var(--mk-cookies-muted,var(--wipy-muted,#5b6472));--mk-line:var(--mk-cookies-line,var(--wipy-line,#dce3eb));--mk-btn-bg:var(--mk-cookies-btn-bg,var(--wipy-primary,#15203a));--mk-btn-fg:var(--mk-cookies-btn-fg,var(--wipy-on-primary,#ffffff));--mk-accent:var(--mk-cookies-accent,var(--wipy-primary,#15203a));--mk-radius:var(--mk-cookies-radius,var(--wipy-radius,16px));--mk-font:var(--mk-cookies-font,var(--wipy-font-text,inherit));position:fixed;left:16px;right:16px;bottom:16px;z-index:2147483000;display:flex;justify-content:center;pointer-events:none;font-family:var(--mk-font)}.mk-cookies__box{position:relative;width:100%;max-width:720px;max-height:calc(100vh - 32px);overflow:auto;padding:22px 24px 20px;border:1px solid var(--mk-line);border-radius:var(--mk-radius);background:var(--mk-bg);color:var(--mk-fg);box-shadow:0 20px 50px rgba(10,16,32,.22);pointer-events:auto;animation:mk-cookies-in .35s cubic-bezier(.2,.7,.2,1)}@keyframes mk-cookies-in{from{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.mk-cookies__box{animation:none}}.mk-cookies__title{margin:0 32px 6px 0;font-size:17px;font-weight:700;line-height:1.3}.mk-cookies__text{margin:0 0 16px;font-size:14.5px;line-height:1.55;color:var(--mk-muted)}.mk-cookies__text a{color:inherit;font-weight:600;text-decoration:underline}.mk-cookies__close{position:absolute;top:12px;right:12px;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--mk-muted);font:400 24px/34px Arial,sans-serif;cursor:pointer}.mk-cookies__close:hover{background:var(--mk-line);color:var(--mk-fg)}.mk-cookies__categories{margin:0 0 16px;padding:0;list-style:none;border-top:1px solid var(--mk-line)}.mk-cookies__categories[hidden]{display:none}.mk-cookies__category{padding:12px 0;border-bottom:1px solid var(--mk-line)}.mk-cookies__category label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:15px}.mk-cookies__category small{margin-left:auto;font-size:12.5px;color:var(--mk-muted)}.mk-cookies__category p{margin:4px 0 0 56px;font-size:13.5px;line-height:1.5;color:var(--mk-muted)}.mk-cookies__switch{position:relative;flex:none;width:44px;height:24px}.mk-cookies__switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.mk-cookies__switch i{position:absolute;inset:0;border-radius:999px;background:var(--mk-line);transition:background-color .2s ease;pointer-events:none}.mk-cookies__switch i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s ease}.mk-cookies__switch input:checked + i{background:var(--mk-accent)}.mk-cookies__switch input:checked + i::after{transform:translateX(20px)}.mk-cookies__switch input:focus-visible + i{outline:3px solid var(--mk-accent);outline-offset:2px}.mk-cookies__switch.is-locked{opacity:.55}.mk-cookies__switch.is-locked input{cursor:not-allowed}.mk-cookies__actions{display:flex;flex-wrap:wrap;gap:10px}.mk-cookies__btn{flex:1 1 140px;padding:12px 16px;border:1.5px solid var(--mk-btn-bg);border-radius:var(--wipy-radius-control,10px);background:var(--mk-btn-bg);color:var(--mk-btn-fg);font:600 14.5px/1.2 var(--mk-font);cursor:pointer}.mk-cookies__btn[hidden]{display:none}.mk-cookies__btn:hover{filter:brightness(1.15)}.mk-cookies__btn:focus-visible,.mk-cookies__close:focus-visible{outline:3px solid var(--mk-accent);outline-offset:2px}[dir="rtl"] .mk-cookies__close{right:auto;left:12px}[dir="rtl"] .mk-cookies__title{margin:0 0 6px 32px}[dir="rtl"] .mk-cookies__category small{margin-left:0;margin-right:auto}[dir="rtl"] .mk-cookies__category p{margin:4px 56px 0 0}[dir="rtl"] .mk-cookies__switch i::after{left:auto;right:3px}[dir="rtl"] .mk-cookies__switch input:checked + i::after{transform:translateX(-20px)}@media (max-width:560px){.mk-cookies{left:8px;right:8px;bottom:8px}.mk-cookies__box{padding:18px 16px 16px}.mk-cookies__btn{flex-basis:100%}}
