html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }

q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }

a img { border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

/*** COLORI ***/
/*** DECLINAZIONE COLORI ***/
/* CSS Document */
/* Lista delle famiglie di font, per ogni famiglia inserisco la variabile e la sua posizione */
@font-face { font-family: "CenturyOldStyleStd-Bold"; src: url("../font/CenturyOldStyleStd-Bold.eot"); src: url("../font/CenturyOldStyleStd-Bold.ttf") format("truetype"), url("../font/CenturyOldStyleStd-Bold.eot?#iefix") format("embedded-opentype"), url("../font/CenturyOldStyleStd-Bold.svg#CenturyOldStyleStd-Bold") format("svg"), url("../font/CenturyOldStyleStd-Bold.woff") format("woff"); }
@font-face { font-family: "CenturyOldStyleStd-Italic"; src: url("../font/CenturyOldStyleStd-Italic.eot"); src: url("../font/CenturyOldStyleStd-Italic.ttf") format("truetype"), url("../font/CenturyOldStyleStd-Italic.eot?#iefix") format("embedded-opentype"), url("../font/CenturyOldStyleStd-Italic.svg#CenturyOldStyleStd-Italic") format("svg"), url("../font/CenturyOldStyleStd-Italic.woff") format("woff"); }
@font-face { font-family: "CenturyOldStyleStd-Regular"; src: url("../font/CenturyOldStyleStd-Regular.eot"); src: url("../font/CenturyOldStyleStd-Regular.ttf") format("truetype"), url("../font/CenturyOldStyleStd-Regular.eot?#iefix") format("embedded-opentype"), url("../font/CenturyOldStyleStd-Regular.svg#CenturyOldStyleStd-Regular") format("svg"), url("../font/CenturyOldStyleStd-Regular.woff") format("woff"); }
@font-face { font-family: "Montserrat-Black"; src: url("../font/Montserrat-Black.eot"); src: url("../font/Montserrat-Black.ttf") format("truetype"), url("../font/Montserrat-Black.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-Black.svg#Montserrat-Black") format("svg"), url("../font/Montserrat-Black.woff") format("woff"); }
@font-face { font-family: "Montserrat-BlackItalic"; src: url("../font/Montserrat-BlackItalic.eot"); src: url("../font/Montserrat-BlackItalic.ttf") format("truetype"), url("../font/Montserrat-BlackItalic.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-BlackItalic.svg#Montserrat-BlackItalic") format("svg"), url("../font/Montserrat-BlackItalic.woff") format("woff"); }
@font-face { font-family: "Montserrat-Bold"; src: url("../font/Montserrat-Bold.eot"); src: url("../font/Montserrat-Bold.ttf") format("truetype"), url("../font/Montserrat-Bold.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-Bold.svg#Montserrat-Bold") format("svg"), url("../font/Montserrat-Bold.woff") format("woff"); }
@font-face { font-family: "Montserrat-BoldItalic"; src: url("../font/Montserrat-BoldItalic.eot"); src: url("../font/Montserrat-BoldItalic.ttf") format("truetype"), url("../font/Montserrat-BoldItalic.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-BoldItalic.svg#Montserrat-BoldItalic") format("svg"), url("../font/Montserrat-BoldItalic.woff") format("woff"); }
@font-face { font-family: "Montserrat-ExtraBold"; src: url("../font/Montserrat-ExtraBold.eot"); src: url("../font/Montserrat-ExtraBold.ttf") format("truetype"), url("../font/Montserrat-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-ExtraBold.svg#Montserrat-ExtraBold") format("svg"), url("../font/Montserrat-ExtraBold.woff") format("woff"); }
@font-face { font-family: "Montserrat-ExtraBoldItalic"; src: url("../font/Montserrat-ExtraBoldItalic.eot"); src: url("../font/Montserrat-ExtraBoldItalic.ttf") format("truetype"), url("../font/Montserrat-ExtraBoldItalic.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-ExtraBoldItalic.svg#Montserrat-ExtraBoldItalic") format("svg"), url("../font/Montserrat-ExtraBoldItalic.woff") format("woff"); }
@font-face { font-family: "Montserrat-ExtraLight"; src: url("../font/Montserrat-ExtraLight.eot"); src: url("../font/Montserrat-ExtraLight.ttf") format("truetype"), url("../font/Montserrat-ExtraLight.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-ExtraLight.svg#Montserrat-ExtraLight") format("svg"), url("../font/Montserrat-ExtraLight.woff") format("woff"); }
@font-face { font-family: "Montserrat-ExtraLightItalic"; src: url("../font/Montserrat-ExtraLightItalic.eot"); src: url("../font/Montserrat-ExtraLightItalic.ttf") format("truetype"), url("../font/Montserrat-ExtraLightItalic.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-ExtraLightItalic.svg#Montserrat-ExtraLightItalic") format("svg"), url("../font/Montserrat-ExtraLightItalic.woff") format("woff"); }
@font-face { font-family: "Montserrat-Italic"; src: url("../font/Montserrat-Italic.eot"); src: url("../font/Montserrat-Italic.ttf") format("truetype"), url("../font/Montserrat-Italic.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-Italic.svg#Montserrat-Italic") format("svg"), url("../font/Montserrat-Italic.woff") format("woff"); }
@font-face { font-family: "Montserrat-Light"; src: url("../font/Montserrat-Light.eot"); src: url("../font/Montserrat-Light.ttf") format("truetype"), url("../font/Montserrat-Light.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-Light.svg#Montserrat-Light") format("svg"), url("../font/Montserrat-Light.woff") format("woff"); }
@font-face { font-family: "Montserrat-LightItalic"; src: url("../font/Montserrat-LightItalic.eot"); src: url("../font/Montserrat-LightItalic.ttf") format("truetype"), url("../font/Montserrat-LightItalic.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-LightItalic.svg#Montserrat-LightItalic") format("svg"), url("../font/Montserrat-LightItalic.woff") format("woff"); }
@font-face { font-family: "Montserrat-Medium"; src: url("../font/Montserrat-Medium.eot"); src: url("../font/Montserrat-Medium.ttf") format("truetype"), url("../font/Montserrat-Medium.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-Medium.svg#Montserrat-Medium") format("svg"), url("../font/Montserrat-Medium.woff") format("woff"); }
@font-face { font-family: "Montserrat-MediumItalic"; src: url("../font/Montserrat-MediumItalic.eot"); src: url("../font/Montserrat-MediumItalic.ttf") format("truetype"), url("../font/Montserrat-MediumItalic.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-MediumItalic.svg#Montserrat-MediumItalic") format("svg"), url("../font/Montserrat-MediumItalic.woff") format("woff"); }
@font-face { font-family: "Montserrat-Regular"; src: url("../font/Montserrat-Regular.eot"); src: url("../font/Montserrat-Regular.ttf") format("truetype"), url("../font/Montserrat-Regular.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-Regular.svg#Montserrat-Regular") format("svg"), url("../font/Montserrat-Regular.woff") format("woff"); }
@font-face { font-family: "Montserrat-SemiBold"; src: url("../font/Montserrat-SemiBold.eot"); src: url("../font/Montserrat-SemiBold.ttf") format("truetype"), url("../font/Montserrat-SemiBold.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-SemiBold.svg#Montserrat-SemiBold") format("svg"), url("../font/Montserrat-SemiBold.woff") format("woff"); }
@font-face { font-family: "Montserrat-SemiBoldItalic"; src: url("../font/Montserrat-SemiBoldItalic.eot"); src: url("../font/Montserrat-SemiBoldItalic.ttf") format("truetype"), url("../font/Montserrat-SemiBoldItalic.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-SemiBoldItalic.svg#Montserrat-SemiBoldItalic") format("svg"), url("../font/Montserrat-SemiBoldItalic.woff") format("woff"); }
@font-face { font-family: "Montserrat-Thin"; src: url("../font/Montserrat-Thin.eot"); src: url("../font/Montserrat-Thin.ttf") format("truetype"), url("../font/Montserrat-Thin.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-Thin.svg#Montserrat-Thin") format("svg"), url("../font/Montserrat-Thin.woff") format("woff"); }
@font-face { font-family: "Montserrat-ThinItalic"; src: url("../font/Montserrat-ThinItalic.eot"); src: url("../font/Montserrat-ThinItalic.ttf") format("truetype"), url("../font/Montserrat-ThinItalic.eot?#iefix") format("embedded-opentype"), url("../font/Montserrat-ThinItalic.svg#Montserrat-ThinItalic") format("svg"), url("../font/Montserrat-ThinItalic.woff") format("woff"); }
* { margin: 0; padding: 0; -webkit-font-smoothing: antialiased; transition: opacity 0.5s; user-select: none; }
* a:active { opacity: 0.5; }

::-webkit-scrollbar { width: 5px; height: 5px; }

::-webkit-scrollbar-track { background: transparent; }

::-webkit-scrollbar-button { width: 5px; height: 30px; }

::-webkit-scrollbar-thumb { background: #1d6482; border-radius: 50px; }

::-webkit-scrollbar-track-piece { background: rgba(255, 255, 255, 0.3); }

html { display: block; width: 100%; height: 100%; overscroll-behavior: none; }
html body { width: 100%; height: 100dvh; min-width: 370px; background-color: #1d6482; overscroll-behavior: none; display: flex; flex-direction: column; }
html body header { flex: 0 0 100px; /* Assegna 10% dell'altezza totale */ display: flex; flex-direction: column; justify-content: center; }
@media (min-width: 1650px) { html body header .container { max-width: 1570px !important; } }
html body header .container h1 { color: #a3bd1e; }
html body header .container #info-btn { background-color: #fff; border-radius: 50%; padding: 10px; height: 30px; width: 30px; font-family: "CenturyOldStyleStd-Italic"; font-weight: 700; font-size: 1.5rem; color: #1d6482; }
@media (min-width: 992px) { html body header .container #info-btn { display: none !important; } }
html body header .container #lang-btn { background-color: #fff; border-radius: 50%; border: 2px solid #fff; padding: 20px; height: 30px; width: 30px; overflow: hidden; }
html body header .container #lang-btn img { width: 50px; height: 50px; }
html body header .container #close-btn { background-color: #a3bd1e; border-radius: 50%; padding: 20px; height: 30px; width: 30px; border: 2px solid #fff; overflow: hidden; }
html body header .container #close-btn img { width: 20px; height: 20px; }
html body header .container #close-info { background-color: #a3bd1e; border-radius: 50%; padding: 20px; height: 30px; width: 30px; border: 2px solid #fff; overflow: hidden; }
html body header .container #close-info img { width: 20px; height: 20px; }
@media (min-width: 992px) { html body header .container #close-info { display: none !important; } }
html body main { flex: 1; display: flex; flex-direction: column; }
html body main #cardsWindow { display: flex; flex-direction: column; height: 100%; max-width: none !important; }
@media (min-width: 768px) { html body main #cardsWindow { max-width: 720px !important; } }
@media (min-width: 992px) { html body main #cardsWindow { max-width: 960px !important; } }
@media (min-width: 1200px) { html body main #cardsWindow { max-width: 1140px !important; } }
@media (min-width: 1400px) { html body main #cardsWindow { max-width: 1320px !important; } }
@media (min-width: 1650px) { html body main #cardsWindow { max-width: 1570px !important; }
  html body main #cardsWindow .intro p { font-size: 1.1rem !important; line-height: 1.85rem !important; } }
html body main #cardsWindow .row { display: flex; }
html body main #cardsWindow .row.cards { flex: 1; }
@media (min-width: 992px) { html body main #cardsWindow .row.cards { max-height: 35rem; } }
@media (min-width: 1200px) { html body main #cardsWindow .row.cards { max-height: 45rem; }
  html body main #cardsWindow .row.cards #scrollCard { flex-wrap: wrap !important; } }
html body main #cardsWindow .row p { color: #fff; }
html body main #cardsWindow .row img { width: 100%; }
html body main #cardsWindow .row.intro div:nth-child(1) { margin-bottom: 4rem; }
html body main #cardsWindow .row.intro img { width: 90%; }
html body main #cardsWindow .row.intro a { color: #a3bd1e !important; font-weight: 700; }
html body main #cardsWindow .row .col-12 { display: flex; flex-direction: column; align-items: center; gap: 10px; }
html body main #cardsWindow .row .col-12 #scrollCard { height: 90%; overflow-x: scroll; overflow-y: hidden; scroll-snap-type: inline mandatory; scroll-behavior: smooth; }
html body main #cardsWindow .row .col-12 #scrollCard::-webkit-scrollbar { display: none; }
html body main #cardsWindow .row .col-12 #scrollCard .col { scroll-snap-align: start; scroll-snap-stop: always; }
html body main #cardsWindow .row .col-12 #scrollCard .col .card { height: 100%; overflow: auto; border-radius: 20px; border: 2px solid #fff; overflow: hidden; }
html body main #cardsWindow .row .col-12 #scrollCard .col .card::after { content: ''; position: absolute; bottom: 0; lefT: 0; right: 0; height: 20px; background: linear-gradient(rgba(255, 255, 255, 0), #ffffff); pointer-events: none; }
html body main #cardsWindow .row .col-12 #scrollCard .col .card a { height: 100%; position: relative; overflow: auto; }
html body main #cardsWindow .row .col-12 #scrollCard .col .card a img { max-height: 40%; object-fit: cover; }
html body main #cardsWindow .row .col-12 #scrollCard .col .card a .card-body { background-color: #fff; position: absolute; padding: 20px; }
html body main #cardsWindow .row .col-12 #scrollCard .col .card a .card-body span { font-family: "CenturyOldStyleStd-Bold"; }
html body main #cardsWindow .row .col-12 #scrollCard .col .card a .card-body h3 { color: #a3bd1e; text-decoration: underline; }
html body main #cardsWindow .row .col-12 #scrollCard .col .card a .card-body .card-text { color: #000; }
@media (min-width: 992px) { html body main #cardsWindow .row .col-12 #scrollCard .col .card a .card-body .card-text { font-size: 0.9rem; line-height: 1.2rem; } }
html body main #cardsWindow .row div.scroll-dots { -webkit-font-smoothing: antialiased; transition: all 0.5s; display: flex; align-items: center; text-align: left; width: 100%; height: 10%; }
html body main #cardsWindow .row div.scroll-dots .dot { height: 9px; width: 9px; /* 1vh */ border-radius: 5px; margin-right: 18px; /* 2vh */ display: inline-block; background-color: rgba(255, 255, 255, 0.5); }
html body main #cardsWindow .row div.scroll-dots .dot.selected { width: 54px; /* 6vh */ background-color: #a3bd1e; }
html body main #matterportWindow { height: 100%; }
html body main #matterportWindow .row { height: 100%; }
html body main #matterportWindow .row [class*="col-"] #matterport { height: 100%; width: 100%; }
html body footer { flex: 0 0 80px; /* Assegna 10% dell'altezza totale */ display: flex; flex-direction: column; justify-content: center; }
html body footer .container img { height: 50px; width: 100%; }
@media (min-width: 1650px) { html body footer .container { max-width: 1570px !important; } }
@media screen and (min-width: 585px) { html body footer .container img { width: auto; } }
@media (orientation: landscape) { html body { opacity: 0; pointer-events: none; background-color: #000; background-image: url(../layout/rotate.gif); background-repeat: no-repeat; background-position: center center; background-size: 120px auto; } }
@media (min-width: 768px) and (min-height: 700px) and (orientation: landscape) { html body { opacity: 1; pointer-events: all; background: #1d6482; } }

html body #cardsWindow, html body #lang-btn { display: flex; }
html body #matterportWindow, html body #close-btn, html body #close-info { display: none !important; }
html body .intro { display: none !important; }
@media (min-width: 768px) { html body .intro, html body #lang-btn, html body .cards { display: flex !important; }
  html body #close-info, html body #info-btn, html body #close-btn { display: none !important; } }
html body.info .intro { display: flex !important; border: 2px solid #fff; box-shadow: 0 0 30px #fff; padding: 1rem; border-radius: 20px; background: rgba(0, 0, 0, 0.35); }
html body.info #close-info { display: flex !important; }
html body.info #info-btn, html body.info #lang-btn, html body.info #close-btn, html body.info .cards { display: none !important; }
@media (min-width: 768px) { html body.info .intro { box-shadow: none; border: 0; padding: 0; background: transparent; }
  html body.info .intro, html body.info #lang-btn, html body.info .cards { display: flex !important; }
  html body.info #close-info, html body.info #info-btn, html body.info #close-btn { display: none !important; } }
html body.matterport #cardsWindow, html body.matterport #lang-btn, html body.matterport #info-btn, html body.matterport #close-info { display: none !important; }
html body.matterport #close-btn { display: flex !important; }
html body.matterport #matterportWindow { display: block !important; }

a { text-decoration: none !important; color: black !important; }

sup { font-size: 0.7em; line-height: 1em; vertical-align: top; }

i, em { font-style: italic; }

b, strong { font-weight: 600; }

h1 { font-family: "CenturyOldStyleStd-Bold"; color: #a3bd1e; font-size: 1.3rem !important; }
@media (min-width: 650px) { h1 { font-size: 1.5rem !important; } }
@media (min-width: 1200px) { h1 { font-size: 2rem !important; } }

h2 { font-family: "CenturyOldStyleStd-Bold"; color: #a3bd1e; }

h3 { font-family: "CenturyOldStyleStd-Bold"; color: #fff; font-size: 1.4rem !important; line-height: 1.6rem !important; }
h3 span { color: #a3bd1e; }
@media (min-width: 650px) { h3 { font-size: 1.4rem !important; } }

p { margin-bottom: 0 !important; line-height: 1.45; }
