body {
	--font-small: 8px;
	--font-toolbar: 20px;
	--font-img: 16px;
	--font-titolo: 18px;
	--font-testo: 14px;
	--font-tab: 12px;
	--font-cell-titolo: 18px;
	--font-cell-descrizione: 12px;
	--font-cell-data: 12px;
	--font-data: 12px;
	--font-banner-data: 14px;
	--font-banner-titolo: 20px;
	--font-ordine: 16px;
	--font-giorno: 9px;
	--font-sconto-titolo: 30px;
	--font-sconto-descrizione: 14px;
	--font-button: 12px;
}
body.device-ios {
	--font-testo: 14px;
	--font-tab: 14px;
	--font-cell-titolo: 22px;
	--font-cell-descrizione: 14px;
	--font-button: 14px;
}
* {
	font-family: 'Helvetica', sans-serif;
}
body,
html {
	height: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
	-webkit-overflow-scrolling: touch;
}

::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-track {
	background: transparent;
}
::-webkit-scrollbar-thumb {
	background-color: #cdcdcd;
	border-radius: 3px;
	border: none
}
* {
	scrollbar-width: thin;
}
img {
	border: none;
}
a {
	color: #941E1A;
}
.j-field-image-toolbar .j-button svg, 
.j-field-light-button svg,
.j-button.j-field-light-button:hover svg,
.j-button:hover .j-button-icon svg {
	fill: #941E1A;
}
#content {
	max-width: 640px;
	margin: auto;
}

button {
	border: none;
	box-shadow: none;
    background-color: transparent;
    margin: 0;
    min-width: 0;
    outline: medium none;
    padding: 0;
	position: relative;
}

p {
	line-height: 1.5em;
}

.test li {
	margin-bottom: 10px;
}

#content {
	border-bottom: 44px solid transparent;
}

footer {
	border-top: 1px solid #efefef;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	height: 44px;
	display: flex;
	background: #fff;
	justify-content: center;
	z-index: 100000;
}

.window,
.window *:not(input,textarea),
footer,
footer *:not(input,textarea) {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
input, textarea {
  -webkit-user-select: text;
  -khtml-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

footer svg {
	width: 24px;
	height: 24px;
	fill: #787878;
}
footer strong {
	text-transform: uppercase;
	font-weight: normal;
	color: #787878;
	display: block;
	font-size: var(--font-small);
}
footer button.selected:before {
	left: 50%;
	margin-left: -20px;
	position: absolute;
	top: 0px;
	height: 2px;
	font-size: 0;
	overflow: hidden;
	width: 40px;
	background: #941E1A;
	content: ' ';
}
footer button.selected strong {
	color: #941E1A;
}
footer button.selected svg {
	fill: #941E1A;
}
footer button {
	padding-top: 2px;
	position: relative;
	background: transparent;
	width: 20%;
	text-align: center;
}
body.modal-fix {
	overflow: hidden;
}
.hide-bottombar footer {
	display: none;
}
.hide-bottombar #content {
	border-bottom: none;
}
.window-modal-fix header svg {
	fill: #fff;
	width: 30px;
	height: 30px;
	margin: 5px;
}
main img {
	max-width: 100%;
}
.window-modal-fix main {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.gmnoprint,
.gm-fullscreen-control {
	display: none;
}
.window-modal-fix header {
	position: fixed;
	z-index: 10;
	top: 10px;
	right: 10px;
	width: 40px;
	height: 40px;
	background: #000;
	border-radius: 20px;
}
.window-modal-fix {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	bottom: 0;
	right: 0;
	overflow: hidden;
}
.window-modal-form header {
	text-align: center;
	margin: 10px;
}
.window-modal-form header img {
	width: 70px;
	height: 70px;
}

.window-modal-form header strong {
	font-weight: normal;
	flex: 1;
}
.window-modal-form header h1 svg {
	width: 24px;
	height: 24px;
}
.window-modal-form header h1 span {
	width: 44px;
}
.window-modal-form header h1 {
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: var(--font-toolbar);
	display: flex;
	align-items: center;
	margin-right: 44px;
}

.j-field-box {
	border: 1px solid #d4d4d4;
	border-radius: 20px;
	height: 40px;
}
.j-field label {
	bottom: 9px;
	left: 20px;
}
[id^="_view_id_"] input,
[id^="_view_id_"] input[type="text"],
[id^="_view_id_"] input[type="password"],
[id^="_view_id_"] textarea {
	height: 40px;
	line-height: 40px;
	padding: 0 20px;
}
header [id^="_view_id_"] input[type="text"] {
	height: 30px;
	line-height: 30px; 
}
[data-password-visibility] {
	right: 20px;
}
.window-toolbar header .j-field.j-field-fill label,
.window-toolbar header .j-field .j-field-elem:focus ~ label {
	display: none;
}

.j-field.j-field-fill label,
.j-field .j-field-elem:focus ~ label {
	left: 20px;
}
.j-field-error-text {
	top: 38px;
	left: 20px;
}

.btn-base .j-button-label,
.btn-submit .j-button-label { 
	height: 40px;
	line-height: 40px;
	text-transform: uppercase;
	text-align: center;
}

.btn-base {
	width: 100%;
	color: #941E1A;
}
.j-button.btn-base:hover label,
.j-button.btn-base label {
	color: #941E1A;
}

.btn-submit {
	color: #fff;
	background: #941E1A;
	width: 100%;
	border-radius: 20px;
}

.j-button.btn-submit:hover label,
.j-button.btn-submit label {
	color: #fff;
	text-transform: uppercase;
}


.window-myarea header div {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.window-myarea header h1 {
	font-size: var(--font-toolbar);
	color: #fff;
	margin-top: 10px;
}
.window-myarea header svg {
	fill: #fff;
	width: 80px;
	height: 80px;
}
.window-myarea header {
	text-align: center;
	height: 180px;
	position: relative;
	background: #941E1A;
}
main form {
	overflow-x: hidden;
}
main {
	margin: 10px;
}

.cell-item-audio-player svg {
	width: 36px;
	height: 36px;
	fill: #787878;
}
.cell-item-audio-player .play svg {
	fill: #941E1A;
}
.cell-item-audio-player span {
	width: 60px;
}
.cell-item-audio-player strong {
	flex: 1;
}
.cell-item-audio-player {
	padding: 10px;
	display: flex;
	border-bottom: 1px solid #efefef;
	align-items: center;	
}
.cell-item-base {
	padding: 10px 0;
	display: flex;
	border-bottom: 1px solid #efefef;
	align-items: center;
}
.cell-item-base span img {
	width: 40px;
	height: 40px;	
	border-radius: 20px;
	background: #efefef;
}
.cell-item-base em svg,
.cell-item-base span svg {
	width: 24px;
	height: 24px;
}
.cell-item-base span svg {
	fill: #787878;
	margin: 8px;
}
.cell-item-base em svg {
	fill: #941E1A;
}
.cell-item-base span {
	width: 40px;
	height: 40px;
}
.cell-item-base em {
	width: 24px;
	height: 24px;
}
.cell-item-base strong {
	flex: 1;
	font-size: var(--font-cell-titolo);
	padding-left: 10px;
	font-weight: normal;
}
.window-toolbar header [data-navigation] img {
	border-radius: 5px;
}
.window-toolbar header [data-navigation] img,
.window-toolbar header [data-navigation] svg {
	width: 30px;
	height: 30px;
	margin: 10px;
}
.window-toolbar header [data-navigation] svg {
	fill: #941E1A;
}
.window-toolbar header form .j-field-box {
	border: none;
	background: transparent;
	height: 30px;
	border-radius: 15px;
}
.window-toolbar header form .j-field-light-button {
	margin-bottom: 0;
	margin-top: 3px;
	margin-right: 5px;
}
.window-toolbar header form textarea {
	height: 30px;
	line-height: 30px;
}
.window-toolbar header form .j-field label {
	bottom: 5px;
}
.window-toolbar header form {
	width: 100%;
}
.window-toolbar header form,
.window-toolbar header form .j-form-field,
.window-toolbar header form .j-form-group,
.window-toolbar header form .j-form-line {
	height: 30px;
}
.window-toolbar header form .j-form-group {
	margin-bottom: 0;
}
.window-toolbar header form .j-form-line {
	background: #efefef;
	border-radius: 20px;
	margin-bottom: 0;
	gap: 0;
}
.window-toolbar header [data-navigation] {
	width: 50px;
	height: 50px;
}
.window-toolbar header form {
	margin-left: 10px;
	margin-right: 10px;
}

.window-toolbar header.window-toolbar-with-back h1 {
	margin-right: 50px;
}
.window-toolbar header h1 {
	flex: 1;
	font-size: var(--font-toolbar);
	font-weight: normal;
	text-align: center;
	color: #941E1A;
}
.window-toolbar header {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	background: #fff;
	z-index: 1;
	height: 50px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #efefef;
	z-index: 100000;
}

.window-toolbar main {
	margin-top: 50px;
}
.window-home main {
	margin-left: 0;
	margin-right: 0;
}

.ellipsis {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.maps-layer {
	width: 150px;
	display: flex;
	align-items: center;
}
.maps-layer span svg {
	margin: 3px;
	width: 24px;
	height: 24px;
	fill: #941E1A;
}
.maps-layer span {
	width: 30px;
}
.maps-layer strong {
	flex: 1;
}

.cell-item-img {
	display: flex;
	padding: 10px 0;
	border-bottom: 1px solid #efefef;
	align-items: center;
	position: relative;
}
[data-tipo="percorso_900_copertura"] .cell-item-img-image-ordine,
[data-tipo="percorso_900_primo_piano"] .cell-item-img-image-ordine,
[data-tipo="percorso_900_piano_terra"] .cell-item-img-image-ordine,
[data-tipo="percorso_le_origini"] .cell-item-img-image-ordine {
	display: block;
}
.cell-item-img-image-ordine {
	display: none;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 30px;
	height: 30px;
	border-radius: 15px;
	text-align: center;
	line-height: 30px;
	color: #fff;
	background: #941E1A;
	font-weight: bold;
	font-size: var(--font-ordine);
}
.cell-item-img-image {
	position: relative;
}
.cell-item-img-image img {
	background: #efefef;
	border-radius: 5px;
	object-fit: contain;
}
.cell-item-img-data-data {
	color: #941E1A;
	font-size: var(--font-data);
	font-weight: bold;
}
.cell-item-img-data-giorno,
.cell-item-img-data-mese {
	font-size: var(--font-giorno);
	text-transform: uppercase;
}

.cell-item-img-image img,
.cell-item-img-image {
	width: 100px;
	height: 75px;
}
.cell-item-img-data {
	width: 70px;
	text-align: center;
}
.cell-item-img-cont {
	flex: 1;
	padding-left: 10px;
}
.cell-item-img[data-tipo="evento"] .cell-item-img-cont {
	padding-left: 0;
}
.cell-item-img-cont-data,
.cell-item-img-data {
	display: none;
}
.cell-item-img[data-tipo="evento"] .cell-item-img-data,
.cell-item-img[data-tipo="evento"] .cell-item-img-cont-data {
	display: block;
}
.cell-item-img-arrow {
	width: 24px;
}
.cell-item-img-arrow svg {
	fill: #941E1A;
	width: 24px;
	height: 24px;
}

.cell-item-img strong {
	font-size: var(--font-cell-titolo);
	margin-bottom: 5px;
	color: #941E1A;
}
.cell-item-img p {
	color: #787878;
	font-size: var(--font-cell-descrizione);
	padding: 0;
	margin: 0;
}
.cell-item-img-cont-data {
	margin-top: 5px;
	font-size: var(--font-cell-data);
}

.ellipsis-descrizione {
	display: -webkit-box;
	-webkit-box-orient: vertical;  
	overflow: hidden;
}
.ellipsis-descrizione[linee="1"] {
	-webkit-line-clamp: 1;
}
.ellipsis-descrizione[linee="2"] {
	-webkit-line-clamp: 2;
}
.ellipsis-descrizione[linee="3"] {
	-webkit-line-clamp: 3;
}
.ellipsis-descrizione[linee="4"] {
	-webkit-line-clamp: 4;
}
.ellipsis-descrizione[linee="5"] {
	-webkit-line-clamp: 5;
}
.ellipsis-descrizione[linee="6"] {
	-webkit-line-clamp: 6;
}
.block-list-all {
	margin-top: 10px;
	display: flex;
	color: #941E1A;
	font-size: var(--font-cell-descrizione);
	height: 30px;
	align-items: center;
	justify-content: center;
}
.block-list-all svg {
	fill: #941E1A;
	width: 24px;
	height: 24px;
}
.block-list {
	margin-top: 20px;
}
.block-list-wrap {
	margin: 0 10px;
}
.block-list h2 {
	text-transform: uppercase;
	font-size: var(--font-cell-titolo);
	color: #fff;
	padding: 3px 10px;
	background: #941E1A;
}

.cell-item-banner img {
	width: 100%;
}
.cell-item-banner strong {
	font-size: var(--font-banner-titolo);
}
.cell-item-banner {
	position: relative;
	min-height: 100px;
}
.cell-item-banner-cont-data {
	display: none;
	font-size: var(--font-banner-data);
}
.cell-item-banner[data-tipo="evento"] .cell-item-banner-cont-data {
	display: block;
}
.cell-item-banner-cont {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	color: #fff;
	background: linear-gradient(0deg, rgba(0,0,0,0.6) 25%, rgba(255,255,255,0) 100%);
	padding: 20px 10px;
}

.block-list-h .block-list-wrap {
	margin: 0;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	width: 100%;
}
.block-list-h .block-list-wrap-inner {
	display: flex;
	align-items: center;
}
.block-list-h .block-list-items {
	flex: 1;
	display: flex;
}
.block-list-h .block-list-all strong {
	display: none;
}
.block-list-h .cell-item-img-arrow {
	display: none;
}
.block-list-h .cell-item-img {
	flex-direction: column;
	border: none;
}
.block-list-h .cell-item-img-image,
.block-list-h .cell-item-img-image img {
	width: 180px;
	height: 120px;	
}
.block-list-h .cell-item-img-cont {
	flex: none;
	width: 100%;
	padding: 0;
	margin-top: 5px;
	margin-bottom: 0;
}
.block-list-h .cell-item-img {
	width: 180px;
	height: 180px;
	margin-left: 10px;
}
.block-list-h .block-list-all svg {
	width: 40px;
	height: 40px;
}
.block-list-h .block-list-all {
	width: 60px;
	text-align: center;
}

.no-find-result {
	text-align: center;
	padding: 50px 20px;
}
.window-contenuto main {
	margin-left: 0;
	margin-right: 0;
}
.window-contenuto .cell-item-banner-cont-data {
	font-size: var(--font-banner-data);
	font-weight: bold;
}
.window-contenuto h1.titolo-numero {
	display: flex;
	align-items: center;
	justify-content: center;
}
.window-contenuto h1 {
	padding: 15px;
	font-size: var(--font-titolo);
	color: #941E1A;
}

.window-contenuto h1.titolo-numero strong {
	background: #941E1A;
	color: #fff;
	width: 24px;
	height: 24px;
	line-height: 24px;
	text-align: center;
	margin-right: 10px;
	font-size: 12px;
	border-radius: 50%;
	flex: 0 0 25px;
}
.window-contenuto h1.titolo-numero span {
	
}

.contenuto-qrcode {
	margin-top: 20px;
	text-align: center;
}
.contenuto-qrcode strong {
	display: block;
}
.contenuto-qrcode img {
	width: 100%;
}
.contenuto-data {
	font-size: var(--font-data);
	color: #787878;
	margin: 10px;
}
.contenuto-line {
	display: flex;
	margin: 15px 10px;
	align-items: center;
}
.contenuto-line span svg {
	fill: #941E1A;
}
.contenuto-line span svg,
.contenuto-line span {
	width: 24px;
	height: 24px;
}

.contenuto-line strong {
	flex: 1;
	font-weight: normal;
	padding-left: 10px;
}
.contenuto-testo {
	margin: 10px 15px;
}

.j-field-fixedtext-description {
	margin: 0 10px;
}
.no-pull-to-refresh .pull-to-refresh {
	display: none;
}
.pull-to-refresh {
	position: absolute;
	top: -70px;
	left: 50%;
	transform: translateX(-50%);
}
.pull-to-refresh svg {
	width: 24px;
	height: 24px;
	fill: #941E1A;
	animation: rotation 2s infinite linear;
}
@keyframes rotation {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(359deg);
	}
}

.google-map {
	margin: 20px 0;
	width: 100%;
	height: 300px;
}

[data-user] {
	display: none;
}
[data-login="-"] [data-user="no"],
[data-login^="user:"].test [data-user="login:test"],
[data-login="user:esercente"] [data-user="login:esercente"],
[data-login^="user:"] [data-user="login"] {
	display: flex;
}

.codice-sconto-title {
	margin: 20px auto;
	font-size: var(--font-sconto-titolo);
	font-weight: bold;
	text-align: center;
}
.codice-sconto-icon {
	text-align: center;
}
.codice-sconto-icon svg {
	margin: 20px auto;
	width: 150px;
	height: 150px;
}
.codice-sconto-text {
	font-size: var(--font-sconto-descrizione);
}

.form-conferma-button,
.codice-sconto-button {
	margin-top: 50px;
	height: 40px;
	line-height: 40px;
	border-radius: 20px;
	text-align: center;
	color: #fff;
	background: #787878;
	text-transform: uppercase;
	font-weight: bold;
	font-size: var(--font-button);
}

.form-conferma-messaggio,
[data-stato="ok"] .codice-sconto-title {
	color: #04b300;
}
.form-conferma svg,
[data-stato="ok"] .codice-sconto-icon svg {
	fill: #04b300;
}

.form-conferma[data-tipo-messaggio="ko"] .form-conferma-messaggio,
[data-stato="ko"] .codice-sconto-title {
	color: #e30000;
}
.form-conferma[data-tipo-messaggio="ko"] svg,
[data-stato="ko"] .codice-sconto-icon svg {
	fill: #e30000;
}

.form-conferma {
	text-align: center;
	margin-top: 20px;
	margin-bottom: 20px;
}

.form-conferma svg {
	margin: auto;
	width: 150px;
	height: 150px;
}
.form-conferma-messaggio {
	font-weight: bold;
	margin: 10px 0;
	text-align: center;
	font-size: var(--font-testo);
}
.form {
	margin: 10px;
}

.tab-content .tab-header {
	display: flex;
	justify-content: center;
	align-items: stretch;
	height: 40px;
}
.tab-content .tab-header [tab].tab-selected {
	color: #941E1A;
	border-color: #941E1A;
}
.tab-content .tab-header [tab] {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-grow: 1;
	text-transform: uppercase;
	border-bottom: 3px solid #ccc;
	color: #999;
	text-transform: uppercase;
	font-size: var(--font-tab);
	text-align: center;
	font-weight: bold;
}
.tab-content .tab-body [tab] {
	display: none;
}
.tab-content .tab-body [tab].tab-selected {
	display: block;
}
.percorso-mappa img {
	max-width: 100%;
}


.item-gallery-wrapper {
	display: flex;
	align-items: center;
	justify-content: stretch;
	flex-wrap: wrap;
	border: 1px solid #fff;
}
.window-zoom img {
	width: 100%;
}
.window-zoom span {
	display: block;
	text-align: center;
	font-size: var(--font-descrizione);
}
.cell-item-gallery {
	display: flex;
	width: 50%;
	border: 5px solid #fff;
}
.cell-item-gallery img {
	width: 100%;
}

.mappa-dropdown .mappa-titolo svg {
	width: 24px;
	height: 24px;
	fill: #941E1A;
}
.mappa-dropdown .mappa-titolo strong {
	flex: 1;
	padding-left: 10px;
}
.mappa-dropdown .mappa-titolo {
	font-size: var(--font-cell-titolo);
	color: #941E1A;
	display: flex;
	height: 50px;
	padding: 0 10px;
}
.mappa-dropdown .mappa-image {
	display: none;
}
.pinch-zoom-image-container img {
	max-width: none;
}
.pinch-zoom-image-container {
	position: relative;
}

.percorso-mappa-wrapper {
	position: relative;
}
.percorso-mappa-wrapper *,
.percorso-mappa-wrapper {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}
.percorso-mappa-wrapper img {
	width: 100%;
	position: relative;
	top: 0;
	left: 0;
}

.percorso-mappa-wrapper .scheda-marker {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	cursor: pointer;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	background: #941E1A;
}