*,:before,:after {
	box-sizing: border-box;
	outline: none;
	-webkit-tap-highStandard-color: transparent;
}

html {
	scroll-behavior: smooth;
}
html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	position: relative;
	display: grid;
	align-content: start;
	font-family: 'Font1 Standard';
	font-size: 1.1rem;
	line-height: 1.4;
	color: rgba(0, 0, 0, 0.8);
	background-color: #F4EDE750;
	background-color: hsl(28, 30%, 96%);
	background-color: #f7f5f5;
}

input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=checkbox], input[type=radio], input[type=file], textarea, select {
	font-family: inherit;
	font-size: inherit;
	padding: 0.5rem;
	border: solid 1px rgba(0,0,0,0.4);
	background-color: #fff;
	margin: 0;
}
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=file], select {
	padding-top: 0.7rem;
	padding-bottom: 0.7rem;
}

form input, form select, form textarea {
	width: 100%;
}
input[type="radio"], input[type="checkbox"] {
	width: 1.1em;
	height: 1.1rem;
	accent-color: #000;
	margin: 0;
	padding: 0;
}
input[type=checkbox], input[type=radio] {
	margin: 0;
}
input[type=number] {
	appearance: textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    appearance: none;
    margin: 0;
}
input[name=h] {
	display: none;
}
input::placeholder, textarea::placeholder {
	opacity: 0.65;
}
label:not(.nolabel ) {
	display: grid;
	grid-auto-flow: column;
	justify-self: left;
	align-items: start;
	font-size: 0.85rem;
	margin-bottom: 0.5rem;
	color: #000;
}

button {
	cursor: pointer;
}
.button {
	display: grid;
	font-family: 'Font1 Standard';
	letter-spacing: .5px;
	color: #000;
	font-size: 1.1rem;
	padding: .9rem;
	padding-top: 1rem;
	align-content: center;
	border: solid 1px #000;
	background-color: #fff;
	transition: all .2s;
	word-break: break-all;
	border-radius: .5rem;
	border: solid 2px transparent;
}
.button2 {
	color: #fff;
	background-color: #000;
	padding-left: 2rem;
	padding-right: 2rem;
}

.button:disabled {
	opacity: 0.3;
}
.button:not(select):not(:disabled):hover {
	cursor: pointer;
	border-color: #de3163;
}
.button-ico {
	padding-right: 4rem;
	background-position: center right 1.3rem;
	background-repeat: no-repeat;
	background-size: auto 0.9rem;
}
.button-arrow {
	background-image: url(../ico/arrow-right-2.svg);
}
.button-send {
	background-image: url(../ico/send.svg);
	background-size: auto 1.3rem;
}
.button-folder {
	background-image: url(../ico/open-folder.svg);
	background-size: auto 1.6rem;
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.075);
}
.button-ai {
	background-image: url(../ico/ai.svg);
	background-size: auto 1.5rem;
}
.button-indd {
	background-image: url(../ico/indd.svg);
	background-size: auto 1.5rem;
}
.button-pdf {
	background-image: url(../ico/pdf.svg);
	background-size: auto 1.5rem;
}
.button-ppt {
	background-image: url(../ico/ppt.svg);
	background-size: auto 1.5rem;
}
.button-xlsx {
	background-image: url(../ico/xlsx.svg);
	background-size: auto 1.5rem;
}

.button-modal {
	padding: 0.5rem 1rem;
	font-size: .9rem;
	font-family: 'Font1 Bold';
	/*font-weight: bold;*/
	border: solid 2px;
}
.button-select {
	-moz-appearance: none;
	-webkit-appearance: none;
	font-family: 'Font1 Standard';
	font-weight: bold;
	appearance: none;
	background-color: #fff;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnN2Z2pzPSJodHRwOi8vc3ZnanMuY29tL3N2Z2pzIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgeD0iMCIgeT0iMCIgdmlld0JveD0iMCAwIDQ1MS44NDcgNDUxLjg0NyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PHBhdGggZD0iTTIyNS45MjMgMzU0LjcwNmMtOC4wOTggMC0xNi4xOTUtMy4wOTItMjIuMzY5LTkuMjYzTDkuMjcgMTUxLjE1N2MtMTIuMzU5LTEyLjM1OS0xMi4zNTktMzIuMzk3IDAtNDQuNzUxIDEyLjM1NC0xMi4zNTQgMzIuMzg4LTEyLjM1NCA0NC43NDggMGwxNzEuOTA1IDE3MS45MTUgMTcxLjkwNi0xNzEuOTA5YzEyLjM1OS0xMi4zNTQgMzIuMzkxLTEyLjM1NCA0NC43NDQgMCAxMi4zNjUgMTIuMzU0IDEyLjM2NSAzMi4zOTIgMCA0NC43NTFMMjQ4LjI5MiAzNDUuNDQ5Yy02LjE3NyA2LjE3Mi0xNC4yNzQgOS4yNTctMjIuMzY5IDkuMjU3eiIgZmlsbD0iIzAwMDAwMCIgZGF0YS1vcmlnaW5hbD0iIzAwMDAwMCI+PC9wYXRoPjwvZz48L3N2Zz4=);
	background-position: center right 0.6rem;
	background-size: auto 0.7rem;
	background-repeat: no-repeat;
	padding-right: 2.5rem;
	min-width: 4rem;
	padding-left: 1rem;
	padding-right: 1.5rem;
}

.form-info {
	border: solid 1px rgba(0,0,0,0.1);
	padding: 1.5rem;	
}
.form-info p {
	margin: 0;
}

img {
	display: grid;
	max-width: 100%;
}
strong, b {
	xxxxxxfont-family: 'Font1 Bold';
}
h1, h2, h3, h4 {
	color: #000;
	font-family: 'Font1 Bold';
	font-weight: none;
	margin: 0;
}
h1 {
	font-size: 4rem;
	letter-spacing: -2px;
	line-height: 0.95;
	margin-left: -.2rem; /* FIX font kerning */
}
h2 {
	font-size: 2.5rem;
	line-height: 1;
}
h3 {
	font-size: 1.4rem;
	letter-spacing: 0;
	line-height: .9;
}
h4 {
	font-family: 'Font1 Standard';
	font-weight: normal;
}


p {
	margin: 0;
	margin-bottom: 1rem;
}
p:last-child {
	margin-bottom: 0;
}
p sup {
	font-size: 1rem;
}
a {
	color: #000;
	text-decoration: none;
}
p a {
	text-decoration: underline;
}

.hp {
	position: absolute;
	top: -300%;
	left: -300%;
}

.video-embed {
	width: 100%;
	aspect-ratio: 16/9;
}

.pop {
	position: fixed;
	z-index: 100;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	box-shadow: 0 0 2rem rgba(0,0,0,0.7);
}
.pop img {
	display: grid;
	xborder: solid 1px #fff;
	max-width: 90vw;
	max-height: 90vh;
}


.top-nologin {
	position: fixed;
	z-index: 100;
	display: grid;
	top: 0;
	left: 0;
	width: 100%;
	padding: 1rem;
	background-color: rgba(255, 255, 255, .8);
	backdrop-filter: blur(.5rem);
}

.main {
	display: grid;
	position: relative;
	justify-self: center;
	width: 100%;
	max-width: 1200px;
}

nav {
	display: grid;
	grid-auto-flow: column;
	align-items: center;
	grid-gap: 1.5rem;
}
nav > a, 
nav > span {
	position: relative;
	display: grid;
	text-decoration: none;
	color: #000;
	font-weight: bold;
	line-height: 1;
	font-size: .95rem;
	text-transform: uppercase;
	cursor: pointer;
	transition: 0.2s all;
}
.nav-ico {
	height: 1.2rem;
	margin-top: -0.3rem;
}
nav > a:hover {
	color: var(--c-2);
}
.nav-links .nav-active {
	color: var(--c-2);
}
.nav-links .nav-active-link {
	color: var(--c-2);
}

.nav-links nav > a:hover,
.nav-links nav > span:hover,
.nav-dropdown a:hover {
	cursor: pointer;
}

.nav-dropdown-trigger {
	position: relative;
}
.nav-dropdown {
	position: absolute;
	z-index: 100;
	visibility: hidden;
	opacity: 0;
	display: grid;
	grid-gap: 1rem;
	left: 50%;
	translate: -50% 1rem;
	background-color: rgba(255, 255, 255, .8);
	backdrop-filter: blur(.5rem);
	font-size: 1rem;
	white-space: nowrap;
	font-weight: normal;
	padding: 2rem 1.5rem;
	box-shadow: 0 0 2rem rgba(0,0,0,0.15);
	text-transform: none;
	line-height: 1;
	transition: all 0.3s;
	backface-visibility: hidden;
	min-width: 15rem;
	transform: translateZ(0);
}
.nav-dropdown-on {
	translate: -50% 1.5rem;
	visibility: visible;
	opacity: 1;
}
.top-menu .nav-dropdown a,
.top-menu .nav-dropdown span {
	line-height: 1;
	transition: all .1s;
	padding-left: .95rem;
	background: url(../ico/chev.svg) center left no-repeat;
	background-size: auto .5rem;
}
.nav-dropdown a:hover {
	line-height: 1;
	color: var(--c-2);
}
.nav-dropdown sup {
	position: relative;
	top: 0.1rem;
	font-size: .8rem;
}
.nav-dropdown b {
	text-transform: uppercase;
	font-family: 'Font1 Bold';
	font-size: 1rem;
}
.nav-dropdown2 {
	top: .6rem;
	grid-gap: 1.2rem;
}

.top {
	display: grid;
	position: fixed;
	z-index: 10;
	width: 100%;
	transition: all 1s;
}
.top:before {
	position: absolute;
	z-index: 0;
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, .75);
	backdrop-filter: blur(.7rem);
}
.top-scroll {
	box-shadow: 0 0 1rem rgba(0,0,0,0.20);
}
		@keyframes topScroll {
			from { opacity: 1; xtranslate: 0 -50% }
			to   { opacity: 1; xtranslate: 0 0 }
		}
.top-search {
	position: relative;
}
.top-search-campo {
	font-size: 1rem !important;
	padding: 0.3rem .5rem !important;
	padding-right: 3rem !important;
	background: #fff url(../ico/search.svg) center right .5rem no-repeat;
	background-size: auto 70%;
	border-radius: 0.3rem;
}
.top-search-risultati {
	position: absolute;
	z-index: 20;
	display: grid;
	align-items: center;
	top: 2rem;
	right: 0;
	width: 30rem;
	max-height: 30rem;
	background-color: #fff;
	box-shadow: 0 0 2rem rgba(0,0,0,0.25);
	overflow: auto;
	overscroll-behavior: contain;
}

.top-search-header {
	position: sticky;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	background: url(../ico/arrow-right-2.svg) center right 1rem no-repeat;
	background-size: 1rem;
	background-color: rgba(255, 255, 255, .5);
	backdrop-filter: blur(.5rem);
	padding: 1rem;
	border-bottom: solid 1px rgba(0, 0, 0, 0.1);
}
.top-search-risultato {
	display: grid;
	font-size: 1rem;
	padding: 1rem;
	border-bottom: solid 1px rgba(0,0,0,0.1);
	transition: all .5s;
}
.top-search-risultati a:nth-child(1) {
	font-weight: bold;
	margin-bottom: 0.3rem;
}
.top-search-risultati a:nth-child(2) {
	font-size: 0.9rem;
	opacity: 0.6;
	line-height: 1.2;
}

.top-lingue {
	display: grid;
	grid-gap: 1rem;
}
.top-lingue > a {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	grid-gap: 1.2rem;
	text-align: left;
}
.top-lingue img {
	align-self: center;
	height: .95rem;
	max-width: inherit;
	border: solid 1px rgba(0,0,0,0.1);
}
.top-shop {
	display: grid;
	z-index: 1;
	border-width: 1px;
	border-style: solid;
	border-image: linear-gradient(to left, rgba(0,0,0,0.1) 40%, transparent 70%) 0 0 100% 0;
	padding-top: 1.2rem;
	padding-bottom: 1.2rem;
	transition: all .2s;
}
.top-shop-scroll {
	padding-top: .6rem;
	padding-bottom: .6rem;
}
.top-shop a {
	border: none;
	line-height: 1;
}
.top-shop-bottoni {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.top-shop-bottoni a {
	padding: 1rem 2rem;
	padding-top: 1.2rem;
	line-height: 1;
	font-size: 1rem;
	text-transform: uppercase;
	text-align: center;
	border: none;
	margin: 0;
}
.top-shop-bottone-offerte {
	background-color: #F8DA86;
	olor: #000;
}
.top-shop-bottone-shop {
	background-color: #000;
	color: #fff;
	xxxfont-family: 'Font1 Standard';
}

.top-ico {
	height: 1.6rem;
}

.top-menu {
	padding-top: 1.8rem;
	padding-bottom: 1.8rem;
	transition: all .2s;
}
.top-menu-scroll {
	padding-top: .9rem;
	padding-bottom: .9rem;
	box-shadow: 0 0 1rem rgba(0,0,0,0.1);
}
.top-logo {
	position: absolute;
	top: 1.1rem;
	left: 0;
	height: 4rem;
	transition: all .2s;
}
.top-logo-scroll {
	height: 2.5rem;
}

footer {
	display: grid;
	background-color: #EEEEF2;
}
footer, footer a {
	font-size: 1rem;
	line-height: 1.4;
}

.menu-fab {
	position: fixed;
	z-index: 1000;
	display: grid;
	grid-auto-flow: column;
	bottom: 2rem;
	right: 2rem;
}
.menu-fab > div {
	display: grid;
	width: 3.5rem;
	aspect-ratio: 1;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 50%;
	box-shadow: 0 0 1rem rgba(0,0,0,0.2);
	border: solid 2px #fff;
	cursor: pointer;
}
.menu-fab-edit {
	background-color: tomato;
	background-image: url(../ico/edit.svg);
	background-size: 1.3rem;
}
.menu-fab-new-folder {
	background-color: tomato;
	background-image: url(../ico/new-folder.svg);
	background-size: 1.6rem;
}
.menu-fab-file-upload {
	background-color: tomato;
	background-image: url(../ico/cloud-upload-fff.svg);
	background-size: 1.7rem;
}
.menu-fab-file-request-list-recap {
	background-color: tomato;
	background-image: url(../ico/cloud-download-fff.svg);
	background-size: 1.7rem;
}

.menu-fab-file-container {
	position: relative;
	display: grid;
}
.menu-fab-file-container:hover .menu-fab-file{
	display: grid;
}
.menu-fab-file {
	display: none;
	position: absolute;
	grid-gap: 0.2rem;
	grid-auto-flow: column;
	top: -1.5rem;
	right: 0;
}
.menu-fab-file > div,
.menu-fab-file > a {
	display: grid;
	align-items: center;
	align-content: center;
	border-radius: 0.4rem;
	font-size: 1rem;
	padding: 1.1rem 1.6rem;
	background-position: center center;
	background-repeat: no-repeat;
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
	color: #000;
	background-color: #fff;
	border: solid 1px rgba(0, 0, 0, 0.2);
	border-bottom: solid 3px rgba(0,0,0,0.3);
	cursor: pointer;
}
.menu-fab-file-edit {
	background-image: url(../ico/edit.svg?1);
	background-size: 1rem;
}
.menu-fab-file-delete {
	background-image: url(../ico/x.svg);
	background-size: .9rem;
}
.menu-fab-file-download {
	background-image: url(../ico/download.svg);
	background-size: 1.05rem;
}
.menu-fab-file-request {
	background-image: url(../ico/mail.svg);
	background-size: 1rem;
	background-position: center left 1rem !important;
	padding: 0.5rem 1rem !important;
	padding-left: 3rem !important;
}
.menu-fab-file-download2 {
	background-image: url(../ico/download.svg);
	background-size: 1rem;
	background-position: center left 1rem !important;
	padding: 0.5rem 1rem !important;
	padding-left: 3rem !important;
}

.home-foto {
	display: grid;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	background-image: url(../images/home.webp?2);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.home-foto-rhea {
	background-image: url(../images/home-rhea.webp?2);
}
.home-foto-research {
	background-image: url(../images/home-research.webp?2);
}
.home-foto-rhea-research {
	background-image: url(../images/home-rhea-research.webp?2);
}
		@media ( max-width: 800px ) {
			.home-foto {
				background: none;
			}
		}

.tablla-contatti tr:first-child {
	font-weight: bold;
	font-size: 1rem;
	color: var(--c-2)
}
.tablla-contatti tr:nth-child(even) {
	background-color: #EAE0D7;
}
.tablla-contatti td {
	padding: 1rem .5rem;
}
.tablla-contatti td:first-child {
	font-weight: bold;
}
.tablla-contatti tr:first-child td {
	padding-bottom: 1rem;
}

.file-thumbnail {
	display: grid;
	align-self: start;
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	padding: 1rem;
	background-color: #fff;
	background-color: rgba(0,0,0,0.05);
	border-radius: 0.3rem;
}
.file-thumbnail-video {
	display: grid;
	align-content: center;
	width: 100%;
	aspect-ratio: 1;
	padding: 1rem;
	background-color: #fff;
	background-color: rgba(0,0,0,0.05);
	border-radius: 0.3rem;
}
.file-thumbnail-video video {
	aspect-ratio: 1;
	width: 100%;
}
.file-thumbnail-ico {
	padding: 7rem;
}
.file-thumbnail-ico2 {
	padding: 5rem;
}
.file-filename {
	display: grid;
	justify-self: center;
	text-align: center;
	font-size: 0.9rem;
	padding: 0.3rem 1rem;
	background-color: #fff;
	border-radius: 2rem;
	box-shadow: 0 0 1rem rgba(0,0,0,0.1);
	word-break: break-all;
}

.upzone-container {
	position: fixed;
	top: 1rem;
	left: 0;
	width: 100%;
	height: calc(100% + 2rem);
	padding: 10rem;
}
#upzone {
	display: grid;
	place-content: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: dashed 2px black;
	border-radius: 0.5rem;
	background-color: rgba(255, 255, 255, 0.9);
	background-image: url(../ico/cloud-upload-traspa.svg?1);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 8rem;	
}
.upzone-loader {
	background-image: url(ico/loader.svg?1);
}

.contacts-card-foto {
	object-fit: cover;
	object-position: center -2rem;
	aspect-ratio: 1;
	margin-bottom: 2rem;
	border: solid 2px #fff;
	box-shadow: 0 0 1rem rgba(0,0,0,0.2);
	xborder-radius: .5rem;
}
.contacts-card h2 {
	font-size: 1.7rem;
	margin-bottom: 0.5rem;
}
.contacts-card-ico {
	height: 1.3rem;
}

.log-table tr:nth-child(odd) {
	background-color: rgba(0,0,0,0.05);
}
.log-table td {
	padding: 0.5rem;
}
.log-table td:nth-child(1) {
	white-space: nowrap;
}


/*
======================================================================
*/

:root {
	--collapse-speed: 0.4s;
}

.collapsable {
	height: auto;
	transition: all var(--collapse-speed);
}

.collapsed {
	height: 0;
	overflow: hidden;
}

.collapsable-trigger {
	cursor: pointer;
}

.collapsable {
	display: grid;
	grid-template-rows: 0fr;
	transition: all .2s;
}

.collapsable-open {
	grid-template-rows: 1fr;
}

/* This element enables the full collapse */
.collapsable>div {
	xdisplay: grid;
	xbackground: salmon;
	overflow: hidden;
}

/* This element can contain paddings and stuff */
.collapsable>div>div {
	xpadding: 1rem;
}

.b          { font-weight: bold }

.pointer    { cursor: pointer }
.default    { cursor: default }
.block		{ display: block }
.posf		{ position: fixed }
.posa		{ position: absolute }
.posr		{ position: relative }
.hidden		{ display: none !important }
.tuc        { text-transform: uppercase;}
.tal        { text-align: left }
.tar        { text-align: right }
.tac        { text-align: center }
.wnw         { white-space: nowrap;}
@media ( min-width: 800px ) {
		.d-tar      { text-align: right }
		.d-tac      { text-align: center }
		.d-tal      { text-align: left }
}
@media (max-width: 800px ) {
		.m-tar      { text-align: right }
		.m-tac      { text-align: center }
		.m-tal      { text-align: left }
}
.clamp-3    {display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 3 }
.clamp-4    {display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 4 }
.clamp-5    {display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 5 }
.clamp-6    {display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; -webkit-line-clamp: 6 }
.z-1        { z-index: 1; }
.z-100      { z-index: 100; }
.ar-1       { aspect-ratio: 1 }
.ar-16-9 { aspect-ratio: 16/9 }
@media (max-width: 800px ) {
			.m-ar-a    { aspect-ratio: auto }
		}

.w-100    { width: 100% }

@media (max-width: 800px ) {
	.m-fullw {
		margin-left: -1rem;
		width: calc(100% + 2rem);
	}
}
.of-a     { overflow: auto; }
.of-h     { overflow: hidden; }
.of-h     { overflow: hidden; }

.sha-1 { filter:drop-shadow(0 0 0.5rem rgba(0,0,0,0.15)) }

@media (max-width: 800px ) {
	.h-m-10  { height: 10% }
	.h-m-20  { height: 20% }
	.h-m-30  { height: 30% }
	.h-m-40  { height: 40% }
	.h-m-50  { height: 50% }
	.h-m-60  { height: 60% }
	.h-m-70  { height: 70% }
	.h-m-80  { height: 80% }
	.h-m-85  { height: 85% }
	.h-m-90  { height: 90% }
	.h-m-95  { height: 95% }
	.h-m-100 { height: 100% }
	.w-m-10  { width: 10% }
	.w-m-20  { width: 20% }
	.w-m-30  { width: 30% }
	.w-m-40  { width: 40% }
	.w-m-50  { width: 50% }
	.w-m-60  { width: 60% }
	.w-m-70  { width: 70% }
	.w-m-80  { width: 80% }
	.w-m-85  { width: 85% }
	.w-m-90  { width: 90% }
	.w-m-95  { width: 95% }
	.w-m-100 { width: 100% }
	.mw-m-10  { max-width: 10% }
	.mw-m-20  { max-width: 20% }
	.mw-m-30  { max-width: 30% }
	.mw-m-40  { max-width: 40% }
	.mw-m-50  { max-width: 50% }
	.mw-m-60  { max-width: 60% }
	.mw-m-70  { max-width: 70% }
	.mw-m-80  { max-width: 80% }
	.mw-m-85  { max-width: 85% }
	.mw-m-90  { max-width: 90% }
	.mw-m-95  { max-width: 95% }
	.mw-m-100 { max-width: 100% }
}
@media ( min-width: 800px ) {
	.h-d-10  { height: 10% }
	.h-d-20  { height: 20% }
	.h-d-30  { height: 30% }
	.h-d-40  { height: 40% }
	.h-d-50  { height: 50% }
	.h-d-60  { height: 60% }
	.h-d-70  { height: 70% }
	.h-d-80  { height: 80% }
	.h-d-85  { height: 85% }
	.h-d-90  { height: 90% }
	.h-d-95  { height: 95% }
	.h-d-100 { height: 100% }
	.w-d-10  { width: 10% }
	.w-d-20  { width: 20% }
	.w-d-30  { width: 30% }
	.w-d-40  { width: 40% }
	.w-d-50  { width: 50% }
	.w-d-60  { width: 60% }
	.w-d-70  { width: 70% }
	.w-d-80  { width: 80% }
	.w-d-85  { width: 85% }
	.w-d-90  { width: 90% }
	.w-d-95  { width: 95% }
	.w-d-100 { width: 100% }
	.mw-d-10  { max-width: 10% }
	.mw-d-20  { max-width: 20% }
	.mw-d-25  { max-width: 25% }
	.mw-d-30  { max-width: 30% }
	.mw-d-40  { max-width: 40% }
	.mw-d-50  { max-width: 50% }
	.mw-d-60  { max-width: 60% }
	.mw-d-70  { max-width: 70% }
	.mw-d-80  { max-width: 80% }
	.mw-d-85  { max-width: 85% }
	.mw-d-90  { max-width: 90% }
	.mw-d-95  { max-width: 95% }
	.mw-d-100 { max-width: 100% }
}


@media (max-width: 800px ) {
	.m-block		{ display: block }
	.m-fixed		{ position: fixed }
	.m-absolute	{ position: absolute }
	.m-relative	{ position: relative }
	.m-hidden		{ display: none }
}
@media ( min-width: 800px ) {
	.d-block		{ display: block }
	.d-fixed		{ position: fixed }
	.d-absolute	{ position: absolute }
	.d-relative	{ position: relative }
	.d-hidden		{ display: none }
}

.fs-0_9 { font-size: .9rem }
.fs-1   { font-size: 1rem }
.fs-1_1 { font-size: 1.1rem }
.fs-1_2 { font-size: 1.2rem }
.fs-1_3 { font-size: 1.3rem }
.fs-1_4 { font-size: 1.4rem }
.fs-1_5 { font-size: 1.5rem }
.fs-1_6 { font-size: 1.6rem }
.fs-1_7 { font-size: 1.7rem }
.fs-1_8 { font-size: 1.8rem }
.fs-1_9 { font-size: 1.9rem }
.fs-2   { font-size: 2rem }

.lh-0_8 { line-height: .8 }
.lh-0_9 { line-height: .0 }
.lh-1_1 { line-height: 1.1 }
.lh-1   { line-height: 1  }
.lh-1_2 { line-height: 1.2 }
.lh-1_3 { line-height: 1.3 }
.lh-1_4 { line-height: 1.4 }
.lh-1_5 { line-height: 1.5 }

.b-0     { bottom: 0 }
.b-1     { bottom: 1rem }
.r-0     { right: 0 }
.r-1     { right: 1rem }

.g		{ display: grid }
.g-gaf 	{ grid-auto-flow: column; justify-content: space-between }
.g-jil	{ justify-items: left }
.g-jic	{ justify-items: center }
.g-jir	{ justify-items: right }
.g-jcl	{ justify-content: left }
.g-jcc	{ justify-content: center }
.g-jcr	{ justify-content: right }
.g-jsc	{ justify-self: center }
.g-jsl	{ justify-self: left }
.g-jsr	{ justify-self: right }
.g-ass	{ align-self: start }
.g-asc	{ align-self: center }
.g-ase	{ align-self: end  }
.g-ais	{ align-items: start }
.g-aic	{ align-items: center }
.g-aie	{ align-items: end }
.g-acs	{ align-content: start }
.g-acc	{ align-content: center }
.g-ace	{ align-content: end }
.g-jss	{ justify-self: stretch }
			@media (max-width: 800px ) {
				.g-m-jil	{ justify-items: left }
				.g-m-jic	{ justify-items: center }
				.g-m-jir	{ justify-items: right }
				.g-m-jcl	{ justify-content: left }
				.g-m-jcc	{ justify-content: center }
				.g-m-jir	{ justify-content: right }
				.g-m-jsc	{ justify-self: center }
				.g-m-jsl	{ justify-self: left }
				.g-m-jsr	{ justify-self: right }
				.g-m-ass	{ align-self: start }
				.g-m-asc	{ align-self: center }
				.g-m-ase	{ align-self: end  }
				.g-m-ais	{ align-items: start }
				.g-m-aic	{ align-items: center }
				.g-m-aie	{ align-items: end }
				.g-m-acs	{ align-content: start }
				.g-m-acc	{ align-content: center }
				.g-m-ace	{ align-content: end }
				.g-m-jss	{ justify-self: stretch }
			}
			@media ( min-width: 800px ) {
				.g-d-jsc	{ justify-self: center }
				.g-d-jsl	{ justify-self: left }
				.g-d-jsr	{ justify-self: right }
				.g-d-ass	{ align-self: start }
				.g-d-asc	{ align-self: center }
				.g-d-ase	{ align-self: end  }
				.g-d-ais	{ align-items: start }
				.g-d-aic	{ align-items: center }
				.g-d-aie	{ align-items: end }
				.g-d-acs	{ align-content: start }
				.g-d-acc	{ align-content: center }
				.g-d-ace	{ align-content: end }
				.g-d-jss	{ justify-self: stretch }
			}

.gtc-1-1         { grid-template-columns: repeat(2,1fr) }
.gtc-1-1-1       { grid-template-columns: repeat(3,1fr) }
.gtc-1-1-1-1     { grid-template-columns: repeat(4,1fr) }
.gtc-1-1-1-1-1   { grid-template-columns: repeat(5,1fr) }
.gtc-3-2         { grid-template-columns: 3fr 2fr }
.gtc-5-2         { grid-template-columns: 5fr 2fr }
.gtc-a-1         { grid-template-columns: auto 1fr }
.gtc-1-a         { grid-template-columns: 1fr auto }
.gtc-a-a         { grid-template-columns: auto auto }
.gtc-1-a-1       { grid-template-columns: 1fr auto 1fr }
.gtc-1-a-1-a-1   { grid-template-columns: 1fr auto 1fr auto 1fr }
.gtc-a-a-a   	 { grid-template-columns: auto auto auto }
			@media (max-width: 800px ) {
				.m-gtc-1  {
					grid-template-columns: 1fr;
					grid-auto-flow: inherit;
				}
				.m-gtc-1-1  {
					grid-template-columns: 1fr 1fr;
					grid-auto-flow: inherit;
				}
			}
.gg-0      { grid-gap: 0 }
.gg-0_5    { grid-gap: 0.5rem }
.gg-0_75   { grid-gap: 0.75rem }
.gg-1      { grid-gap: 1rem }
.gg-1_5    { grid-gap: 1.5rem }
.gg-2      { grid-gap: 2rem }
.gg-3      { grid-gap: 3rem }
.gg-4      { grid-gap: 4rem }
.gg-5      { grid-gap: 5rem }
.gg-6      { grid-gap: 6rem }
.gg-7      { grid-gap: 7rem }
.gg-8      { grid-gap: 8rem }
.gg-9      { grid-gap: 9rem }
.gg-10     { grid-gap: 10rem }
.gcg-0_5   { grid-column-gap: 0.5rem }
.gcg-1     { grid-column-gap: 1rem }
.gcg-2     { grid-column-gap: 2rem }
.gcg-3     { grid-column-gap: 3rem }
.grg-0_5   { grid-row-gap: .5rem }
.grg-1     { grid-row-gap: 1rem }
.grg-2     { grid-row-gap: 2rem }
.grg-3     { grid-row-gap: 3rem }
.grg-4     { grid-row-gap: 4rem }
.grg-5     { grid-row-gap: 5rem }
.grg-6     { grid-row-gap: 6rem }
			@media (max-width: 800px ) {
				.m-gg-0      { grid-gap: 0 }
				.m-gg-1      { grid-gap: 1rem }
				.m-gg-2      { grid-gap: 2rem }
				.m-gg-3      { grid-gap: 3rem }
				.m-gg-4      { grid-gap: 4rem }
				.m-gg-5      { grid-gap: 5rem }
				.m-gg-6      { grid-gap: 6rem }
				.m-gcg-1     { grid-column-gap: 1rem }
				.m-gcg-2     { grid-column-gap: 2rem }
				.m-gcg-3     { grid-column-gap: 3rem }
				.m-grg-1     { grid-row-gap: 1rem }
				.m-grg-2     { grid-row-gap: 2rem }
				.m-grg-3     { grid-row-gap: 3rem }
				.m-grg-4     { grid-row-gap: 4rem }
			}

.g-gsa      { grid-column: 1/-1 }

.padded {
	padding-left: 1rem;
	padding-right: 1rem;
}
			@media (max-width: 800px ) {
				.m-padded {
					padding-left: 1rem;
					padding-right: 1rem;
				}
				.m-nopadded {
					padding-left: 0;
					padding-right: 0;
				}
			}


.mw-30 { max-width: 30% }
.mw-40 { max-width: 40% }
.mw-50 { max-width: 50% }
.mw-60 { max-width: 60% }
			@media (max-width: 800px ) {
				.m-mw-30 { max-width: 30% }
				.m-mw-40 { max-width: 40% }
				.m-mw-50 { max-width: 50% }
				.m-mw-60 { max-width: 60% }
			}
			@media ( min-width: 800px ) {
				.d-mih-30 { min-height: 30rem }
				.d-mih-35 { min-height: 35rem }
				.d-mih-40 { min-height: 40rem }
				.d-mih-50 { min-height: 40rem }
				.d-mih-60 { min-height: 60rem }
			}

.p-0	 { padding: 0 }
.p-1	 { padding: 1rem }
.p-2	 { padding: 2rem }
.p-3	 { padding: 3rem }
.pt-0	 { padding-top: 0 }
.pt-1	 { padding-top: 1rem }
.pt-2	 { padding-top: 2rem }
.pt-3	 { padding-top: 3rem }
.pt-4	 { padding-top: 4rem; }
.pt-5	 { padding-top: 5rem }
.pt-6	 { padding-top: 6rem }
.pt-7	 { padding-top: 7rem }
.pt-8	 { padding-top: 8rem }
.pt-9	 { padding-top: 9rem }
.pt-10 	 { padding-top: 10rem }
.pt-11 	 { padding-top: 11rem }
.pt-12 	 { padding-top: 12rem }
.pt-13 	 { padding-top: 13rem }
.pt-14 	 { padding-top: 14rem }
.pt-15 	 { padding-top: 15rem }
.pb-0	 { padding-bottom: 0 }
.pb-0_5	 { padding-bottom: 0.5rem }
.pb-1	 { padding-bottom: 1rem }
.pb-1_5	 { padding-bottom: 1.5rem }
.pb-2	 { padding-bottom: 2rem }
.pb-3	 { padding-bottom: 3rem }
.pb-4	 { padding-bottom: 4rem }
.pb-5	 { padding-bottom: 5rem }
.pb-6	 { padding-bottom: 6rem }
.pb-7	 { padding-bottom: 7rem }
.pb-8	 { padding-bottom: 8rem }
.pb-9	 { padding-bottom: 9rem }
.pb-10 { padding-bottom: 10rem }
.pb-11 { padding-bottom: 11rem }
.pb-12 { padding-bottom: 12rem }
.pl-1 { margin-left: 1rem }
.pl-2 { margin-left: 2rem }
.pl-3 { margin-left: 3rem }
.pl-4 { margin-left: 4rem }
.pl-5 { margin-left: 5rem }
			@media (max-width: 800px ) {
				.m-p-0	{ padding: 0 }
				.m-p-1	{ padding: 1rem }
				.m-p-2	{ padding: 2rem }
				.m-p-3	{ padding: 3rem }
				.m-pt-0	{ padding-top: 0 }
				.m-pt-1	{ padding-top: 1rem }
				.m-pt-2	{ padding-top: 2rem }
				.m-pt-3	{ padding-top: 3rem }
				.m-pt-4	{ padding-top: 4rem }
				.m-pt-5	{ padding-top: 5rem }
				.m-pt-6	{ padding-top: 6rem }
				.m-pt-7	{ padding-top: 7rem }
				.m-pt-8	{ padding-top: 8rem }
				.m-pt-9	{ padding-top: 9rem }
				.m-pt-10 { padding-top: 10rem }
				.m-pb-0	{ padding-bottom: 0 }
				.m-pb-1	{ padding-bottom: 1rem }
				.m-pb-2	{ padding-bottom: 2rem }
				.m-pb-3	{ padding-bottom: 3rem }
				.m-pb-4	{ padding-bottom: 4rem }
				.m-pb-5	{ padding-bottom: 5rem }
				.m-pb-6	{ padding-bottom: 6rem }
				.m-pb-7	{ padding-bottom: 7rem }
				.m-pb-8	{ padding-bottom: 8rem }
			}
.mt-0	  { margin-top: 0 }
.mt-0_5	  { margin-top: 0.5rem }
.mt-1	  { margin-top: 1rem }
.mt-1_5	{ margin-top: 1.5rem }
.mt-2	  { margin-top: 2rem }
.mt-3	  { margin-top: 3rem }
.mt-4	  { margin-top: 4rem }
.mt-5	  { margin-top: 5rem }
.mt-6	  { margin-top: 6rem }
.mt-7	  { margin-top: 7rem }
.mt-8	  { margin-top: 8rem }
.mt-9	  { margin-top: 9rem }
.mt-10  { margin-top: 10rem }
.mt-11  { margin-top: 11rem }
.mt-12  { margin-top: 12rem }

.mb-0	  { margin-bottom: 0 }
.mb-0_5	{ margin-bottom: 0.5rem }
.mb-1	  { margin-bottom: 1rem }
.mb-1_5	{ margin-bottom: 1.5rem }
.mb-2	  { margin-bottom: 2rem }
.mb-3	  { margin-bottom: 3rem }
.mb-4	  { margin-bottom: 4rem }
.mb-5	  { margin-bottom: 5rem }
.mb-6	  { margin-bottom: 6rem }
.mb-7	  { margin-bottom: 7rem }
.mb-8	  { margin-bottom: 8rem }
.mb-9   { margin-bottom: 9rem }
.mb-10  { margin-bottom: 10rem }
.mb-11  { margin-bottom: 11rem }
.mb-12  { margin-bottom: 12rem }
			@media (max-width: 800px ) {
				.m-mt-0	  { margin-top: 0 }
				.m-mt-1	  { margin-top: 1rem }
				.m-mt-2	  { margin-top: 2rem }
				.m-mt-3	  { margin-top: 3rem }
				.m-mt-4	  { margin-top: 4rem }
				.m-mt-5	  { margin-top: 5rem }
				.m-mt-6	  { margin-top: 6rem }
				.m-mt-7	  { margin-top: 7rem }
				.m-mt-8	  { margin-top: 8rem }
				.m-mb-0	  { margin-bottom: 0 }
				.m-mb-0_5	{ margin-bottom: 0.5rem }
				.m-mb-1	  { margin-bottom: 1rem }
				.m-mb-2	  { margin-bottom: 2rem }
				.m-mb-3	  { margin-bottom: 3rem }
				.m-mb-4	  { margin-bottom: 4rem }
				.m-mb-5	  { margin-bottom: 5rem }
				.m-mb-6	  { margin-bottom: 6rem }
				.m-mb-7	  { margin-bottom: 7rem }
				.m-mb-8	  { margin-bottom: 8rem }
			}

.m-0	{ margin: 0 }
			@media (max-width: 800px ) {
				.m-m-0	{ margin: 0 }
			}

.h-1    { height: 1rem }
.h-1_1  { height: 1.1rem }
.h-1_2  { height: 1.2rem }
.h-1_3  { height: 1.3rem }
.h-1_5  { height: 1.5rem }
.h-2    { height: 2rem }
.h-2_5  { height: 2.5rem }
.h-3    { height: 3rem }
.h-3_5  { height: 3.5rem }
.h-4    { height: 4rem }
.h-4_5  { height: 4.5rem }
.h-5    { height: 5rem }
.h-6    { height: 6rem }
.h-7    { height: 7rem }
.h-8    { height: 8rem }
.h-9    { height: 9rem }
.h-10   { height: 10rem }
.h-11   { height: 11rem }
.h-12   { height: 12rem }
.h-13   { height: 13rem }
.w-1    { width: 1rem }
.w-2    { width: 2rem }
.w-3    { width: 3rem }
.w-3_5  { width: 3.5rem }
.w-4    { width: 4rem }
.w-5    { width: 5rem }
.w-6    { width: 6rem }
.w-7    { width: 7rem }
.w-8    { width: 8rem }
.w-9    { width: 9rem }
.w-10   { width: 10rem }
			@media (max-width: 800px ) {
				.m-h-1    { height: 1rem }
				.m-h-2    { height: 2rem }
				.m-h-3    { height: 3rem }
				.m-h-3_5  { height: 3.5rem }
				.m-h-4    { height: 4rem }
				.m-h-5    { height: 5rem }
				.m-h-6    { height: 6rem }
				.m-h-7    { height: 7rem }
				.m-h-8    { height: 8rem }
				.m-h-9    { height: 9rem }
				.m-h-10   { height: 10rem }
				.m-w-1    { width: 1rem }
				.m-w-2    { width: 2rem }
				.m-w-3    { width: 3rem }
				.m-w-3_5  { width: 3.5rem }
				.m-w-4    { width: 4rem }
				.m-w-5    { width: 5rem }
				.m-w-6    { width: 6rem }
				.m-w-7    { width: 7rem }
				.m-w-8    { width: 8rem }
				.m-w-9    { width: 9rem }
				.m-w-10   { width: 10rem }
			}
.o-03   { opacity: 0.3 !important }
.o-04   { opacity: 0.4 !important }
.o-05   { opacity: 0.5 !important }
.o-06   { opacity: 0.6 !important }
.o-07   { opacity: 0.7 !important }
.o-08   { opacity: 0.8 !important }
.o-08   { opacity: 0.9 !important }
.o-0    { opacity: 0 !important }
.o-1    { opacity: 1 !important }

@media ( min-width: 800px ) {
	.nodesktop		{ display: none }
}

@media (max-width: 800px ) {
	.nodesktop			{ display: grid }
	.nomobile			{ display: none }
}


.rt {
	position: relative;
	opacity: 0;
	transform: translateY(2rem);
	transition: all 0.5s ease-in-out;
}
.rt-show {
	transform: translateY(0);
	opacity: 1;
	transition: all 0.3s ease-in-out;
}
.ri {
	opacity: 0;
	transition: all .5s;
}
.ri-show {
	opacity: 1;
}


@keyframes dropDownOpen {
  from { opacity: 0; left: 50%; transform: translate(-50%, 0) }
  to   { opacity: 1; left: 50%; transform: translate(-50%, 1rem) }
}
.dropDownOpen {
  animation-name: dropDownOpen;
}
@keyframes dropDownClose {
  from { opacity: 1; left: 50%; transform: translate(-50%, 1rem) }
  to   { opacity: 0; left: 50%; transform: translate(-50%, 0) }
}
.dropDownClose {
  animation-name: dropDownClose;
}

.animate {
  animation-duration: var(--timer-fade);
  animation-fill-mode: forwards;
}
@media (max-width: 800px ) {
	.animate {
		animation-duration: 0.5s;
	}
}

.galleggiante {
  float: up;
  animation: float 2.5s ease-in-out infinite;
}

@keyframes float {
  0% {
    transform: translateY(0);
	rotate: 0deg;
  }
  50% {
    transform: translateY(.5rem);
	rotate: 2deg;
}
100% {
	transform: translateY(0);
	transform-origin: -10rem -.2rem;
  }
}

.modal {
	position: fixed;
	z-index: 1000;
	display: none;
	opacity: 0;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	background-color: rgba(255, 255, 255, .6);
	border: solid 2px rgba(255, 255, 255, .8);
	backdrop-filter: blur(7px);
	padding: 2rem;
	box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);
	border-radius: 0.7rem;
}
		@media (max-width: 800px ) {
			.modal {
				padding: 1.5rem;
				max-width: auto;
				width: calc(100% - 3rem);
			}
		}
.modal-on {
	display: grid;
	animation: aniModal .5s ease forwards;
}
		@keyframes aniModal {
			from { opacity: 0; translate: -50% -40%; }
			to   { opacity: 1; translate: -50% -55%; }
		}

.modal p:nth-of-type(1) {
	font-family: 'Font1 Bold';
	font-size: 1.8rem;
	line-height: 1;
	margin-bottom: 2rem;
}
.modal p:nth-of-type(2) {
	color: #000;
	font-size: 1.2rem;
	line-height: 1.3;
}
		@media (max-width: 800px ) {
			.modal>p:nth-child(1 ) {
					font-size: 1.7rem;
				}

				.modal>p:nth-child(2 ) {
					font-size: 1.2rem;
					line-height: 1.2;
				}
		}


		/* SLIDER */

.scroller-container {
	flex-direction: row;
	align-items: center;
	display: flex;
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 8rem;
	--animationspeed: 10s;
	--animationdelay: calc(var(--animationspeed) / 2);
	--sliderbackgroundcolor: #F4EDE7;
}

.scroller-container::before {
	position: absolute;
	background-image: linear-gradient(to right, var(--sliderbackgroundcolor) 0%, transparent 100%);
	content: '';
	height: 100%;
	width: 10rem;
	z-index: 2;
	pointer-events: none;
}
.scroller-container::after {
	position: absolute;
	background-image: linear-gradient(to left, var(--sliderbackgroundcolor) 0%, transparent 100%);
	content: "";
	height: 100%;
	width: 5%;
	z-index: 2;
	pointer-events: none;
	right: 0;
}

.scroller-slides {
	flex-shrink: 0;
	position: absolute;
	animation-name: slides1;
	animation-duration: var(--animationspeed);
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-around;
}
		@media (max-width: 800px ) {
			.scroller-slides {
				width: 70rem !important;
			}
		}
.scroller-slides.delay {
	transform: translateX(100%);
	animation-name: slides2;
}

/*
.scroller-container:hover .scroller-slides {
	animation-play-state: paused;
}
*/

.scroller-slides > div {
	width: 100%;
	height: 100%;
}
.scroller-slides > div img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
@keyframes slides1 {
	from { transform: translateX(0%) }
	to { transform: translateX(-100%) }
}
@keyframes slides2 {
	from { transform: translateX(100%) }
	to { transform: translateX(0%) }
}