*,:before,:after {
	box-sizing: border-box;
	outline: none;
	-webkit-tap-highlight-color: transparent;
}

html {
	scroll-behavior: smooth;
}
html, body {
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: 'f-1 regular';
}

body {
	position: relative;
	display: grid;
	align-content: start;
	font-family: 'f-1 regular';
	font-size: 1.1rem;
	line-height: 1.4;
	color: rgba(0, 0, 0, 0.8);
	background-color: #F7F4ED;
}

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;
	xpadding-top: 0.9rem;
	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, button, .button {
	height: 2.8rem;
}

form input, form select, form textarea {
	width: 100%;
}
input[type="radio"], input[type="checkbox"] {
  width: 1.1em;
  height: 1.1rem;
  accent-color: #000;
}
select {
	-moz-appearance: none; 
	-webkit-appearance: none; 
	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;

}
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: var(--c-1);
}

button {
	cursor: pointer;
	border: none;
}
.button {
	font-family: inherit;
	color: #000;
	text-transform: uppercase;
	text-align: center;
	padding: 0.8rem 1.5rem;
	background-color: transparent;
	transition: all .2s;
	font-size: 1rem;
	font-weight: bold;
	outline: solid 3px #000;
	background-color: #fff;
}
.button:hover {
	color: #fff;
	background-color: #000;
}
select.button {
	padding-left: 1rem;
}
.button-c-1 {
	background-color: var(--c-1);
	color: #fff;
	font-weight: normal;
}
.button-c-1:hover {
	background-color: #fff;
	color: var(--c-1);
	outline-color: var(--c-1);
	font-weight: bold;
}
.button-c-fff {
	background-color: #fff;
	color: #000;
	font-weight: bold;
}

.button-c-fff:hover {
	background-color: var(--c-1);
	color: #fff;
	outline-color: var(--c-1);
	font-weight: normal;
}
.button-ico {
	padding-right: 4rem;
	background-position: center right 1.5rem;
	background-repeat: no-repeat;
	background-size: auto 0.7rem;
}

.button-modal {
	padding: 0.5rem 1rem;
	padding-bottom: 0.3rem;
	font-size: 1rem;
}
.button-dr {
	border: solid 2px;
	padding: .3rem 1rem;
	font-size: 1rem;
	font-weight: bold;
}

.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 {
	xxxfont-family: 'f-1 bold';
}
h1, h2, h3, h4 {
	color: #000;
	font-weight: normal;
	margin: 0;
}
h1 {
	font-family: 'f-1 regular';
	font-weight: normal;
	font-size: 6rem;
	line-height: 0.9;
}
.h1-s {
	font-size: 4rem;
	line-height: 0.9;
}
.h1-ss {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 0.9;
}
		@media (max-width: 900px) {
				h1, .h1-s, .h1-ss {
					font-size: 2rem;
				}
		}

h2 {
	font-size: 2.8rem;
	font-family: 'f-1 regular';
	color: var(--c-1);
	line-height: 0.9;
}
		@media (max-width: 900px) {
			h2 {
				font-size: 2.2rem;
			}
		}
h3 {
	font-family: 'f-1 regular';
	font-size: 2rem;
	letter-spacing: -1px;
	line-height: 1;
}
		@media (max-width: 900px) {
			h3 {
				font-size: 1.6rem;
				font-family: 'f-1 regular';
			}
}
h4 {
	font-family: 'f-1 bold';
	font-size: 1.5rem;
	letter-spacing: -.5px;
	line-height: 1;
}
		@media (max-width: 900px) {
			h4 {
				font-size: 1.5rem;
			}
		}

p {
	margin: 0;
	margin-bottom: 1rem;
}
p:last-child {
	margin-bottom: 0;
}
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;
}




.main {
	display: grid;
	position: relative;
	justify-self: center;
	width: 100%;
	max-width: 1200px;
}
		@media (max-width: 1220px) {
				.main {
					padding-left: 1rem;
					padding-right: 1rem;
				}
				.main-m-fit {
					padding-left: 0;
					padding-right: 0;
				}
				.img-m-fit {
					margin-left: -1rem;
					max-width: inherit;
					height: inherit;
					max-height: inherit;
					width: calc(100% + 2rem);
				}
		}

.img-fit-cover {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

nav {
	display: grid;
	grid-auto-flow: column;
	grid-gap: 1.5rem;
	align-items: center;
}
nav > a, 
nav > span {
	position: relative;
	display: grid;
	text-decoration: none;
	color: #000;
	font-size: 1rem;
	text-transform: uppercase;
	border-bottom: solid 3px transparent;
	cursor: pointer;
	transition: 0.2s all;
}
nav > a:hover {
	border-color: #fff;
}
.nav-links .nav-active {
	border-color: var(--c-2);
}
.nav-links .nav-active-link {
	color: var(--c-2);
}

.nav-dropdown {
	position: absolute;
	z-index: 10;
	visibility: hidden;
	opacity: 0;
	display: grid;
	top: 1.5rem;
	left: 50%;
	translate: -50% 0;
	background-color: #fff;
	white-space: nowrap;
	font-weight: normal;
	line-height: 2;
	padding: 1.5rem;
	box-shadow: 0 0 1rem rgba(0,0,0,0.2);
	text-transform: none;
	transition: all 0.2s;
}

.nav-dropdown a:hover {
	color: var(--c-2);
}

.nav-dropdown-on {
	top: 1.8rem;
	visibility: visible;
	opacity: 1;
}

.nav-dropdown2 {
	display: grid;
	line-height: 1.8rem;
	padding-left: 0.2rem;
	padding-bottom: 0.5rem;
}
.nav-dropdown2 a:before {
	position: relative;
	display: inline-block;
	content: '';
	background-image: url(../ico/right-chevron.svg);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	width: 0.7rem;
	height: 0.7rem;
	opacity: 0.6;
	top: 0rem;
	margin-right: 0.4rem;
}
.nav-dropdown i {
	display: grid;
	font-style: normal;
	color: var(--c-2);
	font-size: 0.9rem;
	margin-top: -0.6rem;

}

.top-logo {
	width: 8rem;
	height: 2.5rem;
	background-image: url(../images/logo-colt-architects.svg);
	background-position: center left;
	background-repeat: no-repeat;
	background-size: contain;
	transition: all .2s;
}
/*
.home .top-logo {
	background-image: url(../images/logo-colt-architects-fff.svg);
} 
.top-menu:is(.top-menu-scroll) .top-logo {
	height: 2rem;
	background-image: url(../images/logo-colt-architects.svg);
}
.top-menu:is(.top-menu-scroll) a,
.top-menu:is(.top-menu-scroll) span {
	color: #000;
}
*/

.top-logo-m {
	position: absolute;
	top: 1.5rem;
	left: 1rem;
	height: 3rem;
}
.top-menu {
	display: grid;
	position: fixed;
	z-index: 2000;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	/*background-image: linear-gradient(rgba(0, 0, 0, 0.5), transparent);*/
	background-color: #fff;
	transition: all .3s;
}
.top-menu-scroll {
	padding-top: 1rem;
	padding-bottom: 1rem;
	background-image: none;
	background-color: #fff;
	box-shadow: 0 0 1rem rgba(0,0,0,0.1);
	transition: all .3s;
}
		#progetti .top-menu {
			background-color: #fff;
			background-image: none;
		}
		#progetti .top-menu a,
		#progetti .top-menu span {
			color: #000;
		}


footer {
	display: grid;
	background-color: #000;
}
footer, footer a {
	color: rgba(255,255,255,0.8);
}

.hamb {
	height: 3rem;
	width: 3rem;
	background-image: url(../ico/hamburger.svg);
	background-size: auto 1.8rem;
	background-repeat: no-repeat;
	background-position: right center;
	xbackground-color: #000;
	xbox-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
}

.hamb-000 {
	background-image: url(../ico/hamburger.svg);
}
.mobile-menu {
	position: fixed;
	z-index: 100000;
	display: grid;
	grid-gap: 1rem;
	align-content: start;
	top: 0;
	right: 0;
	height: 100%;
	padding: 3rem;
	transform: translateX(100%);
	opacity: 1;
	overflow: auto;
	background-color: rgba(255,255,255,0.7);
	backdrop-filter: blur(1rem);
	animation-timing-function: ease;
	transition: all 0.3s;
}
.mobile-menu-on {
	transform: translateX(0);
	opacity: 1;
	box-shadow: -1rem 0 2rem rgba(0,0,0,0.4);
}
.mobile-menu-x {
	position: absolute;
	top: 1rem;
	right: 0.5rem;
	height: 3rem;
	width: 3rem;
	background-image: url(../ico/x-w.svg);
	background-size: 1rem;
	background-repeat: no-repeat;
	background-position: center center;
	opacity: 0.5;
}
.mobile-menu img {
	height: 1.5rem;
}
.mobile-menu a {
	color: #000;
	font-size: 1rem;
}
.mobile-menu-dropdown {
	display: grid;
	grid-gap: 0.5rem;
	max-height: 0;
	overflow: hidden;
	opacity: 0.7;
	transition: all 0.3s;
}
.mobile-menu-dropdown-on {
	max-height: 30rem;
	padding-bottom: 1.5rem;
	transition: all 0.3s;
}
.mobile-menu-dropdown a {
	font-size: 1.2rem;
	font-family: 'f-1 regular';
}

.hero-container {
	position: relative;
	display: grid;
	align-items: center;
	height: 100svh;
	max-height: 70rem;
	overflow: hidden;
}
.hero-container-project {
	max-height: 80vh;
}
		@media (max-width: 900px) {
			.hero-container-project {
				max-height: 30rem;
			}
		}
.hero-slide, .hero-slide-project {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	opacity: 0;
	
}
.hero-slide-project {
	z-index: -1;
}
.fade-in-animation {
  animation: fadeIn 1.5s ease-in-out forwards;
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.hero-credits {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	font-size: 0.9rem;
	color: #fff;
	opacity: 0.8;
}

.smoothzoom {
	opacity: 1;
	animation: zoom-in-out 25s infinite alternate;
}

.project-slider {
	justify-self: center;
	position: relative;
	display: grid;
}
.project-slider img {
	max-height: 90vh;
}
.project-slide {
	position: absolute;
	top: 0;
	left: 0;
}
.project-slide-dot {
	height: 1rem;
	aspect-ratio: 1;
	background-color: var(--c-2);
	opacity: 0.2;
	border-radius: 100%;
	transition: all 0.5s;
}
@media (max-width: 890px) {
		.project-slide-dot { 
			height: 0.5rem;	
		}

}
.project-slide-dot-active {
	background-color: var(--c-2);
	opacity: 1;
}

.project-link-out a {
	display: grid;
	margin-bottom: 0.5rem;
	padding-left: 1.8rem;
	background: url(../ico/link-out.svg) center left no-repeat;
	background-size: 1rem;
}

@keyframes zoom-in-out {
	from {scale: 1 }
	to { scale: 1.3	}
}

.b          { font-weight: bold }

.pa 			{ position: absolute }
.pf 			{ position: fixed }
.pr 			{ position: relative }

.pointer    { cursor: pointer }
.block		{ display: block }
.pf			{ position: fixed }
.pa			{ position: absolute }
.pr			{ position: relative }
.hidden		{ display: none }
.tuc        { text-transform: uppercase;}
.tal        { text-align: left }
.tac        { text-align: center }
.wnw         { white-space: nowrap;}
@media (min-width: 890px) {
		.d-tar      { text-align: right }
		.d-tac      { text-align: center }
		.d-tal      { text-align: left }
}
@media (max-width: 890px) {
		.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: 890px ) {
			.m-ar-a    { aspect-ratio: auto }
		}

.w-100    	{ width: 100% }

.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)) }

.br-03 { border-radius: 0.3rem }
.bs-01 { box-shadow: 0 0 1rem rgba(0,0,0,0.1) }

@media (max-width: 890px ) {
	.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: 890px ) {
	.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: 890px ) {
	.m-block		{ display: block }
	.m-fixed		{ position: fixed }
	.m-absolute	{ position: absolute }
	.m-relative	{ position: relative }
	.m-hidden		{ display: none }
}
@media (min-width: 890px ) {
	.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-2   { font-size: 2rem }
.fs-2_5 { font-size: 2.5rem }
.fs-3   { font-size: 3rem }

		@media (max-width: 890px) {
			.m-fs-0_9 { font-size: .9rem }
			.m-fs-1   { font-size: 1rem }
			.m-fs-1_1 { font-size: 1.1rem }
			.m-fs-1_2 { font-size: 1.2rem }
			.m-fs-1_3 { font-size: 1.3rem }
			.m-fs-1_4 { font-size: 1.4rem }
			.m-fs-1_5 { font-size: 1.5rem }
			.m-fs-1_6 { font-size: 1.6rem }
			.m-fs-1_7 { font-size: 1.7rem }
			.m-fs-1_8 { font-size: 1.8rem }
			.m-fs-2   { font-size: 2rem }
			.m-fs-2_5 { font-size: 2.5rem }
			.m-fs-3   { font-size: 3rem }
		}

.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 }

.b0     { bottom: 0 }
.r0     { right: 0 }

.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: 890px ) {
				.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: 890px ) {
				.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-3-2         { grid-template-columns: 3fr 2fr }
.gtc-2-3         { grid-template-columns: 2fr 3fr }
.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: 890px ) {
				.m-gtc-1  {
					grid-template-columns: 1fr;
					grid-auto-flow: inherit;
				}
				.m-gtc-1-1  {
					grid-template-columns: 1fr 1fr;
					grid-auto-flow: inherit;
				}
				.m-gtc-1-a  {
					grid-template-columns: 1fr auto;
					grid-auto-flow: inherit;
				}
			}
.gg-0      { grid-gap: 0 }
.gg-0_5    { grid-gap: 0.5rem }
.gg-1      { grid-gap: 1rem }
.gg-1_3    { grid-gap: 1.3rem }
.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     { grid-row-gap: 0 }
.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: 890px ) {
				.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 }
			}

.gsa      { grid-column: 1/-1 }

.padded {
	padding-left: 1rem;
	padding-right: 1rem;
}
			@media (max-width: 890px ) {
				.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% }
.mw-70 { max-width: 70% }
.mw-80 { max-width: 80% }
			@media (max-width: 890px ) {
				.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: 890px ) {
				.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-0_5	 { padding-top: 0.5rem }
.pt-1	 { padding-top: 1rem }
.pt-1_5	 { padding-top: 1.5rem }
.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 }
.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 { padding-left: 1rem }
.pl-2 { padding-left: 2rem }
.pl-3 { padding-left: 3rem }
.pl-4 { padding-left: 4rem }
.pl-5 { padding-left: 5rem }
.pr-1 { padding-right: 1rem }
.pr-2 { padding-right: 2rem }
.pr-3 { padding-right: 3rem }
.pr-4 { padding-right: 4rem }
.pr-5 { padding-right: 5rem }
			@media (max-width: 890px ) {
				.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 }
				.m-pb-9	 { padding-bottom: 9rem }
				.m-pb-10 { padding-bottom: 10rem }
			}
.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: 890px ) {
				.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: 890px ) {
				.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: 890px ) {
				.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-1    { opacity: 1 !important }
.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 }

.nodesktop				{ display: none !important }
.nodesktop-br br	{ display: none !important }

@media (min-width: 890px ) {
	.desktop-jsl { justify-self: left }
}

@media (max-width: 890px ) {
	.nomobile				 {display: none !important  }
	.nomobile-br br  { display: none }
	.m-nobr br 			 { display: none }
	.nodesktop			 { display: grid !important  }
	.nodesktop-br br { display: grid}
	.d-nobr	br			 { display: grid}
	.m-order-invert  { order: -1	}
}


.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.5s ease-in-out;
}
.ri {
	opacity: 0;
	transition: all 1s;
}
.ri-show {
	opacity: 1;
}
.nort .rt {
	opacity: 1;
	transform: translateY(0);
}


@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: 890px ) {
	.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%;
	max-width: 30rem;
	background: #fff;
	padding: 2rem;
	box-shadow: 0 0 2rem rgba(0,0,0,0.3);
	border: solid 1px rgba(0,0,0,0.3);
	border-radius: 0.3rem;
}
		@media (max-width: 890px) {
			.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-child(1) {
	color: var(--c-4);
	font-family: 'f-1 regular';
	font-size: 2rem;
}
.modal > p:nth-child(2) {
	color: #000;
	font-family: 'f-1 regular';
	line-height: 1.2;
}
		@media (max-width: 890px) {
			.modal>p:nth-child(1) {
					font-size: 1.7rem;
				}

				.modal>p:nth-child(2) {
					font-size: 1.2rem;
					line-height: 1.2;
				}
		}

.slide-down {
	transition: height 0.4s ease-out;
	height: 0;
	overflow: hidden;
}