*,:before,:after {
	box-sizing: border-box;
}

html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}
html {
	scroll-behavior: smooth;
}
header,
nav,
main,
section,
footer,
address,
div {
	position: relative;
	display: grid;
	font-style: normal;
}

footer {

}

body {
	position: relative;
	display: grid;
	align-content: start;
	font-family: 'Font1 Standard';
	font-size: 17px;
	line-height: 150%;
	color: #000;
	background-color: var(--c-bkg);
}

h1, h2, h3 {
	position: relative;
	font-family: 'Font1 Bold';
	font-weight: normal;
	margin: 0;
}
h1 {
	font-size: 50px;
	line-height: 100%;	
}
h2 {
	font-size: 40px;
	line-height: 110%;
}
h3 {
	font-size: 28px;
	line-height: 110%;
}
		@media (max-width: 1300px) {
			h1 {
				font-size: 40px;				
			}
			h2 {
				font-size: 26px;				
			}
			h3 {
				font-size: 20px;				
			}
		}
a {
	color: #000;
	text-decoration: none;
	border-bottom: solid 2px #000;
	transition: all .1s ease-in-out;
}
a:hover {
	color: var(--c-1);
	border-color: var(--c-1);
}

p {
	margin: 0;
	margin-bottom: 16px;
}
p:only-child,
p:last-of-type {
	margin: 0;
}

img {
	/*display: grid;*/
	max-width: 100%;
}

input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], textarea, select {
	display: grid;
	align-content: center;
	font-family: inherit;
	height: 40px;
	font-size: 18px;
	padding-left: 16px;
	padding-right: 16px;
	color: #000;
	background-color: #F6F7F8;
	border: solid 1px #B8C3D1;
}
textarea {
	height: auto;
}
input[type="radio"], input[type="checkbox"] {
	width: 1.1em;
	height: 1.1rem;
	accent-color: var(--c-1);
}
input::placeholder {
	color: rgba(0, 0, 0, .3);
}
select {
	-moz-appearance: none; 
	-webkit-appearance: none; 
	/*font-size: 14px;*/
	height: 44px;
	font-family: inherit;
	appearance: none;
	background-color: #fff;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnN2Z2pzPSJodHRwOi8vc3ZnanMuY29tL3N2Z2pzIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgeD0iMCIgeT0iMCIgdmlld0JveD0iMCAwIDQ1MS44NDcgNDUxLjg0NyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PHBhdGggZD0iTTIyNS45MjMgMzU0LjcwNmMtOC4wOTggMC0xNi4xOTUtMy4wOTItMjIuMzY5LTkuMjYzTDkuMjcgMTUxLjE1N2MtMTIuMzU5LTEyLjM1OS0xMi4zNTktMzIuMzk3IDAtNDQuNzUxIDEyLjM1NC0xMi4zNTQgMzIuMzg4LTEyLjM1NCA0NC43NDggMGwxNzEuOTA1IDE3MS45MTUgMTcxLjkwNi0xNzEuOTA5YzEyLjM1OS0xMi4zNTQgMzIuMzkxLTEyLjM1NCA0NC43NDQgMCAxMi4zNjUgMTIuMzU0IDEyLjM2NSAzMi4zOTIgMCA0NC43NTFMMjQ4LjI5MiAzNDUuNDQ5Yy02LjE3NyA2LjE3Mi0xNC4yNzQgOS4yNTctMjIuMzY5IDkuMjU3eiIgZmlsbD0iIzAwMDAwMCIgZGF0YS1vcmlnaW5hbD0iIzAwMDAwMCI+PC9wYXRoPjwvZz48L3N2Zz4=);
	background-position: center right 12px;
	background-size: auto 12px;
	background-repeat: no-repeat;
	padding-left: 16px;
	padding-right: 32px;
}
input[type=checkbox], input[type=radio] {
	margin: 0;
}
label {
	display: grid;
	margin: 0;
}

p b,
p a {
	font-weight: normal;
	font-family: 'Font1 Standard';
}

ul, ol {
	display: grid;
	grid-gap: 0.5rem;
	padding: 0;
	margin: 0;
	margin-bottom: 1rem;
	margin-left: 1rem;
}

.button {
	display: grid;
	place-content: center;
	height: 48px;
	padding: 0 48px;
	font-size: 16px;
	font-family: inherit;
	text-transform: uppercase;	
	text-align: center;
	text-decoration: none;
	background: #000;
	color: #fff;
	border: none;
	transition: all 0.3s ease;
	border-radius: 100px;
}
.button:hover {
	color: #fff;
	background-color: rgba(0,0,0,.5);
	cursor: pointer;
}

.button:active {
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.main-full {
	padding: 0 50px;
}
.main {
	justify-self: center;
	width: 1100px;
}
		@media (max-width: 1300px) {
			.main-full {
					padding: 0 16px;
				}
			.main {
					width: 100%;
					padding: 0 16px;
				}
		}

.top {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	padding: 20px 0;
	background-color: rgba(0,0,0, 1);
	backdrop-filter: blur(5px);
	box-shadow: 0 0 20px rgba(0, 0, 0, .05);
}
nav {
	/*
	display: grid;
	align-items: center;
	gap: 32px;
	*/
}	
nav img {
	justify-self: center;
	width: 60px;
}	
nav a {
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 16px;
	border-bottom: solid 2px transparent;
	transition: all .15s ease-in-out;
}	
nav a:hover {
	border-bottom: solid 2px var(--c-1);
}

.hero {
	background: center center no-repeat;
	background-size: cover;
}
.hero-home {
	background-image: url(../images/home.webp?2);
	background-position: center bottom;
}

.home-servizi {
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 24px;
}
.home-servizi > a {
	display: grid;
	height: 300px;
	background: center center no-repeat;
	background-size: cover;
	background-image: url(../images/servizi-1.webp);
	overflow: hidden;
}
.home-servizi > a > div {
	align-content: start;
	background: #fff url(../ico/arrow-right-000.svg) center bottom 32px no-repeat;
	background-size: 24px;
	color: #000;
	translate: 0 calc(100% - 55px);
	padding: 16px;
	transition: all .2s ease-in;
}
		.home-servizi > a:hover > div {
			translate: 0 0;
			transition: all .3s ease-out;
		}
.home-servizi p:nth-of-type(1) {
	font-size: 18px;
	font-family: 'Font1 Bold';
	margin-bottom: 16px;
}
.home-servizi p:nth-of-type(2) {
	font-size: 15px;
	line-height: 130%;
	opacity: .6;
}

.home-mosaico {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.home-mosaico > div {
	align-items: end;
	align-content: end;
	text-align: center;
	aspect-ratio: 1;
	font-size: 20px;
	background: center center no-repeat;
}
.home-mosaico p {
	padding: 24px 16px;
	background-color: rgba(255,255,255,.7);
	backdrop-filter: blur(8px);
}
.home-mosaico > div:nth-child(1) {
	background-image: url(../gallery/1.webp);
}
.home-mosaico > div:nth-child(2) {
	background-image: url(../gallery/2.webp);
}
.home-mosaico > div:nth-child(3) {
	background-image: url(../gallery/3.webp);
}
.home-mosaico > div:nth-child(4) {
	background-image: url(../gallery/4.webp);
}
.home-mosaico > div:nth-child(5) {
	background-image: url(../gallery/5.webp);
}

.home-gallery {
	grid-template-columns: 1fr 1fr 1fr;
}
.home-gallery > div {
	aspect-ratio: 1;
	background-size: cover;
	overflow: hidden;
}
.home-gallery p {
	display: grid;
	place-content: center;
	text-align: center;
	font-size: 22px;
	color: #fff;
	margin: 0;
	opacity: 0;
	background-color: rgba(0,0,0, 0.8);
	backdrop-filter: blur(8px);
	transition: all .3s ease-in-out;
}
.home-gallery > div:hover p {
	opacity: 1;
}

/* 
Custom utility-based CSS system similar to Tailwind
using small reusable classes with specific purposes
*/

.hp { position: fixed; top: 0; left: 0; translate: -1000% -1000%}

.rounded { border-radius: 16px }
.border-white { border: solid 1px #fff }
.border-neutral-300 { border: solid 1px var(--c-neutral-300) }
.pointer   { cursor: pointer }
.posa      { position: absolute }
.posr      { position: relative }
.w-100     { width: 100% }
		@media (max-width: 1300px) {
			.w-m-50 { width: 50% }
			.w-m-60 { width: 60% }
			.w-m-70 { width: 70% }
			.w-m-80 { width: 80% }
			.w-m-90 { width: 90% }
		}
.wsnw      { white-space: nowrap }
.ar-1      { aspect-ratio: 1}
.ovfh      { overflow: hidden }
.ovfv      { overflow: visible }

.scale-0_7 { scale: 0.7 }
.scale-0_8 { scale: 0.8 }
.scale-0_9 { scale: 0.9 }

@media (max-width: 1300px) {
	.no-m       { display: none !important }
	.nobr-m br  { display: none }
	.m-nobr br  { display: none }
}
@media (min-width: 1300px) {
	.no-d       { display: none !important }
	.nobr-d br  { display: none }
	.d-nobr br  { display: none }
}

.stk1 { position: sticky; top: 120px }
		@media (max-width: 1300px) {
			.stk1 { position: inherit; top: auto }
		}
.stk2 { position: sticky; top: 220px }
		@media (max-width: 1300px) {
			.stk2 { position: inherit; top: auto }
		}
.bshad1 {
	box-shadow: 0 0 16px rgba(0, 0, 0, .15);
}

.hidden    { display: none !important}
.nonvisible { visibility: hidden }
.b         { font-weight: bold }
.i         { font-style: italic; }
.tal       { text-align: left }
.tar       { text-align: right }
.tac       { text-align: center}
.tuc       { text-transform: uppercase }
@media (max-width: 1300px) {
	.m-tal       { text-align: left }
	.m-tar       { text-align: right }
	.m-tac       { text-align: center}
	.m-tuc       { text-transform: uppercase }
}

.fw        { display: flex; flex-wrap: wrap }
.f-gtc-3   { display: flex; gap: 24px; flex-wrap: wrap }

.g         { display: grid }
.g-gsa     { grid-column: 1/-1 }
.g-gtr-1   { grid-template-rows: 1fr }
.g-gtr-a-1 { grid-template-rows: auto 1fr }
.g-gtr-a-1-a { grid-template-rows: auto 1fr auto }
.g-gtc-a-300 { grid-template-columns: auto 300px }
.g-gtc-a-a { grid-template-columns: auto auto }
.g-gtc-1-a { grid-template-columns: 1fr auto }
.g-gtc-a-1 { grid-template-columns: auto 1fr }
.g-gtc-1-1 { grid-template-columns: 1fr 1fr }
.g-gtc-1-1-1 { grid-template-columns: 1fr 1fr 1fr}
.g-gtc-1-1-1-1   { grid-template-columns: 1fr 1fr 1fr 1fr}
.g-gtc-1-1-1-1-1 { grid-template-columns: 1fr 1fr 1fr 1fr 1fr}
.g-gtc-2-3 { grid-template-columns: 2fr 3fr }
.g-gtc-3-2 { grid-template-columns: 3fr 2fr }
.g-gtc-4-3 { grid-template-columns: 4fr 3fr }
.g-gtc-4-5 { grid-template-columns: 4fr 5fr }
.g-gtc-9-4 { grid-template-columns: 9fr 4fr }
.g-gtc-1-a-1 { grid-template-columns: 1fr auto 1fr }
.g-gafc    { grid-auto-flow: column }
.g-gafcj   { grid-auto-flow: column; justify-content: space-between }
		@media (max-width: 1300px) {
			.m-gtc-1-1 {
				grid-auto-flow: inherit;
				grid-template-columns: 1fr 1fr;
			}
			.m-gtc-1 {
				grid-auto-flow: inherit;
				grid-template-columns: 1fr;

			}
			.m-gtc-2 {
				grid-auto-flow: inherit;
				grid-template-columns: 1fr 1fr;
			}
		}
.g-pcc    { place-content: center }
.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: 1300px ) {
			.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: 1300px ) {
			.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 }
		}
.g-gg-0_25 { gap: .25rem }
.g-gg-0_5  { gap: .5rem }
.g-gg-0_75 { gap: .75rem }
.g-gg-4    { gap: 4px }
.g-gg-6    { gap: 6px }
.g-gg-8    { gap: 8px }
.g-gg-10   { gap: 10px }
.g-gg-12   { gap: 12px }
.g-gg-16   { gap: 16px }
.g-gg-20   { gap: 20px }
.g-gg-24   { gap: 24px }
.g-gg-28   { gap: 28px }
.g-gg-32   { gap: 32px }
.g-gg-36   { gap: 36px }
.g-gg-40   { gap: 40px }
.g-gg-44   { gap: 44px }
.g-gg-48   { gap: 48px }
.g-gg-50   { gap: 50px }
.g-gg-52   { gap: 52px }
.g-gg-56   { gap: 56px }
.g-gg-60   { gap: 60px }
.g-gg-64   { gap: 64px }
.g-gg-68   { gap: 68px }
.g-gg-70   { gap: 70px }
.g-gg-72   { gap: 72px }
.g-gg-75   { gap: 75px }
.g-gg-76   { gap: 76px }
.g-gg-80   { gap: 80px }
.g-gg-84   { gap: 84px }
.g-gg-88   { gap: 88px }
.g-gg-92   { gap: 92px }
.g-gg-96   { gap: 96px }
.g-gg-100  { gap: 100px }
.g-gg-120  { gap: 120px }
.g-gg-128  { gap: 128px }
.g-gg-130  { gap: 130px }
.g-gg-140  { gap: 140px }
.g-gg-150  { gap: 150px }
.g-gg-200  { gap: 200px }
.g-gg-250  { gap: 250px }
@media (max-width: 1300px) {
	.g-m-gg-0    { gap: 0 }
	.g-m-gg-4    { gap: 4px }
	.g-m-gg-6    { gap: 6px }
	.g-m-gg-8    { gap: 8px }
	.g-m-gg-10   { gap: 10px }
	.g-m-gg-12   { gap: 12px }
	.g-m-gg-16   { gap: 16px }
	.g-m-gg-20   { gap: 20px }
	.g-m-gg-24   { gap: 24px }
	.g-m-gg-28   { gap: 28px }
	.g-m-gg-32   { gap: 32px }
	.g-m-gg-36   { gap: 36px }
	.g-m-gg-40   { gap: 40px }
	.g-m-gg-44   { gap: 44px }
	.g-m-gg-48   { gap: 48px }
	.g-m-gg-50   { gap: 50px }
}
.g-grg-52 {	row-gap: 52px }
@media (max-width: 1300px) {
	.g-m-grg-20 {	row-gap: 20px }
}

.lh-100  { line-height: 100% } 
.lh-110  { line-height: 110% } 
.lh-120  { line-height: 120% } 
.lh-130  { line-height: 130% } 
.lh-140  { line-height: 140% } 
.lh-150  { line-height: 150% } 

.fs-10   { font-size: 10px }
.fs-11   { font-size: 11px }
.fs-12   { font-size: 12px }
.fs-14   { font-size: 14px }
.fs-16   { font-size: 16px }
.fs-18   { font-size: 18px }
.fs-19   { font-size: 19px }
.fs-20   { font-size: 20px }
.fs-24   { font-size: 24px }
.fs-28   { font-size: 28px }
.fs-32   { font-size: 32px }
.fs-36   { font-size: 36px }
.fs-40   { font-size: 40px }
.fs-48   { font-size: 48px }
.fs-60   { font-size: 60px }
.fs-70   { font-size: 70px }
@media (max-width: 1300px) {
	.m-fs-10   { font-size: 10px }
	.m-fs-11   { font-size: 11px }
	.m-fs-12   { font-size: 12px }
	.m-fs-16   { font-size: 16px }
	.m-fs-18   { font-size: 18px }
	.m-fs-24   { font-size: 24px }
	.m-fs-32   { font-size: 32px }
	.m-fs-48   { font-size: 48px }
}

.h-4    { height: 4px }
.h-6    { height: 6px }
.h-8    { height: 8px }
.h-10   { height: 10px }
.h-12   { height: 12px }
.h-14   { height: 14px }
.h-16   { height: 16px }
.h-20   { height: 20px }
.h-24   { height: 24px }
.h-28   { height: 28px }
.h-32   { height: 32px }
.h-35   { height: 35px }
.h-36   { height: 36px }
.h-40   { height: 40px }
.h-44   { height: 44px }
.h-48   { height: 48px }
.h-52   { height: 52px }
.h-56   { height: 56px }
.h-60   { height: 60px }
.h-64   { height: 64px }
.h-68   { height: 68px }
.h-72   { height: 72px }
.h-76   { height: 76px }
.h-80   { height: 80px }
.h-84   { height: 84px }
.h-88   { height: 88px }
.h-92   { height: 92px }
.h-96   { height: 96px }
.h-100  { height: 100px }
.h-150  { height: 150px }
.h-170  { height: 170px }
.h-270  { height: 270px }
.h-200  { height: 200px }
.h-507  { height: 507px }
		@media (max-width: 1300px) {
			.m-h-4    { height: 4px }
			.m-h-6    { height: 6px }
			.m-h-8    { height: 8px }
			.m-h-10   { height: 10px }
			.m-h-12   { height: 12px }
			.m-h-14   { height: 14px }
			.m-h-16   { height: 16px }
			.m-h-20   { height: 20px }
			.m-h-24   { height: 24px }
			.m-h-28   { height: 28px }
			.m-h-32   { height: 32px }
			.m-h-35   { height: 35px }
			.m-h-36   { height: 36px }
			.m-h-40   { height: 40px }
			.m-h-44   { height: 44px }
			.m-h-48   { height: 48px }
			.m-h-52   { height: 52px }
			.m-h-56   { height: 56px }
			.m-h-60   { height: 60px }
		}

.w-4    { width: 4px }
.w-8    { width: 8px }
.w-12   { width: 12px }
.w-14   { width: 14px }
.w-16   { width: 16px }
.w-20   { width: 20px }
.w-24   { width: 24px }
.w-28   { width: 28px }
.w-32   { width: 32px }
.w-36   { width: 36px }
.w-40   { width: 40px }
.w-44   { width: 44px }
.w-48   { width: 48px }
.w-52   { width: 52px }
.w-56   { width: 56px }
.w-60   { width: 60px }
.w-64   { width: 64px }
.w-68   { width: 68px }
.w-72   { width: 72px }
.w-76   { width: 76px }
.w-80   { width: 80px }
.w-84   { width: 84px }
.w-88   { width: 88px }
.w-90   { width: 90px }
.w-92   { width: 92px }
.w-96   { width: 96px }
.w-110   { width: 110px }
.w-140   { width: 140px }
.w-150   { width: 150px }
.w-160   { width: 160px }
.w-170   { width: 170px }
.w-200   { width: 200px }
.w-300   { width: 300px }
.w-400   { width: 400px }
.w-500   { width: 500px }


@media (min-width: 1300px) {
	.w-d-50p { width: 50% }
	.w-d-60p { width: 60% }
	.w-d-70p { width: 70% }
	.w-d-80p { width: 80% }
}

.t-0  { top: 0px }
.r-0  { right: 0px }
.t-16 { top: 16px }
.b-0  { bottom: 0 }
.b-16 { bottom: 16px }
.b-24 { bottom: 24px }
.l-0  { left: 0 }
.l-16 { left: 16px }
.l-24 { left: 24px }
.r-0  { right: 0 }
.r-16 { right: 16px }
.r-24 { right: 24px }


/* Margin top utilities */
.mt-4    { margin-top: 4px }
.mt-8    { margin-top: 8px }
.mt-12   { margin-top: 12px }
.mt-16   { margin-top: 16px }
.mt-20   { margin-top: 20px }
.mt-24   { margin-top: 24px }
.mt-28   { margin-top: 28px }
.mt-32   { margin-top: 32px }
.mt-36   { margin-top: 36px }
.mt-40   { margin-top: 40px }
.mt-44   { margin-top: 44px }
.mt-48   { margin-top: 48px }
.mt-52   { margin-top: 52px }
.mt-56   { margin-top: 56px }
.mt-60   { margin-top: 60px }
.mt-64   { margin-top: 64px }
.mt-68   { margin-top: 68px }
.mt-72   { margin-top: 72px }
.mt-76   { margin-top: 76px }
.mt-80   { margin-top: 80px }
.mt-84   { margin-top: 84px }
.mt-88   { margin-top: 88px }
.mt-92   { margin-top: 92px }
.mt-96   { margin-top: 96px }
.mt-100  { margin-top: 100px }
.mt-110  { margin-top: 110px }
.mt-120  { margin-top: 120px }
.mt-130  { margin-top: 130px }
.mt-140  { margin-top: 140px }
.mt-150  { margin-top: 150px }
.mt-170  { margin-top: 160px }
.mt-170  { margin-top: 170px }

@media (max-width: 1300px) {
	.m-mt-0    { margin-top: 0 }
	.m-mt-4    { margin-top: 4px }
	.m-mt-8    { margin-top: 8px }
	.m-mt-12   { margin-top: 12px }
	.m-mt-16   { margin-top: 16px }
	.m-mt-20   { margin-top: 20px }
	.m-mt-24   { margin-top: 24px }
	.m-mt-28   { margin-top: 28px }
	.m-mt-32   { margin-top: 32px }
	.m-mt-36   { margin-top: 36px }
	.m-mt-40   { margin-top: 40px }
	.m-mt-44   { margin-top: 44px }
	.m-mt-48   { margin-top: 48px }
	.m-mt-52   { margin-top: 52px }
	.m-mt-56   { margin-top: 56px }
	.m-mt-60   { margin-top: 60px }
	.m-mt-64   { margin-top: 64px }
	.m-mt-68   { margin-top: 68px }
	.m-mt-72   { margin-top: 72px }
	.m-mt-76   { margin-top: 76px }
	.m-mt-80   { margin-top: 80px }
	.m-mt-84   { margin-top: 84px }
	.m-mt-88   { margin-top: 88px }
	.m-mt-92   { margin-top: 92px }
	.m-mt-96   { margin-top: 96px }
	.m-mt-100  { margin-top: 100px }
	.m-mt-110  { margin-top: 110px }
	.m-mt-120  { margin-top: 120px }
	.m-mt-130  { margin-top: 130px }
	.m-mt-150  { margin-top: 150px }
	.m-mt-170  { margin-top: 160px }
	.m-mt-170  { margin-top: 170px }
}

/* Margin bottom utilities */
.mb-0    { margin-bottom: 0 }
.mb-4    { margin-bottom: 4px }
.mb-8    { margin-bottom: 8px }
.mb-12   { margin-bottom: 12px }
.mb-16   { margin-bottom: 16px }
.mb-20   { margin-bottom: 20px }
.mb-24   { margin-bottom: 24px }
.mb-28   { margin-bottom: 28px }
.mb-32   { margin-bottom: 32px }
.mb-36   { margin-bottom: 36px }
.mb-40   { margin-bottom: 40px }
.mb-44   { margin-bottom: 44px }
.mb-48   { margin-bottom: 48px }
.mb-52   { margin-bottom: 52px }
.mb-56   { margin-bottom: 56px }
.mb-60   { margin-bottom: 60px }
.mb-64   { margin-bottom: 64px }
.mb-68   { margin-bottom: 68px }
.mb-72   { margin-bottom: 72px }
.mb-76   { margin-bottom: 76px }
.mb-80   { margin-bottom: 80px }
.mb-84   { margin-bottom: 84px }
.mb-88   { margin-bottom: 88px }
.mb-92   { margin-bottom: 92px }
.mb-96   { margin-bottom: 96px }
.mb-100  { margin-bottom: 100px }
.mb-150  { margin-bottom: 150px }
@media (max-width: 1300px) {
	.m-mb-4    { margin-bottom: 4px }
	.m-mb-8    { margin-bottom: 8px }
	.m-mb-12   { margin-bottom: 12px }
	.m-mb-16   { margin-bottom: 16px }
	.m-mb-20   { margin-bottom: 20px }
	.m-mb-24   { margin-bottom: 24px }
	.m-mb-28   { margin-bottom: 28px }
	.m-mb-32   { margin-bottom: 32px }
	.m-mb-36   { margin-bottom: 36px }
	.m-mb-40   { margin-bottom: 40px }
	.m-mb-44   { margin-bottom: 44px }
	.m-mb-48   { margin-bottom: 48px }
	.m-mb-52   { margin-bottom: 52px }
	.m-mb-56   { margin-bottom: 56px }
	.m-mb-60   { margin-bottom: 60px }
	.m-mb-64   { margin-bottom: 64px }
	.m-mb-68   { margin-bottom: 68px }
	.m-mb-72   { margin-bottom: 72px }
	.m-mb-76   { margin-bottom: 76px }
	.m-mb-80   { margin-bottom: 80px }
	.m-mb-84   { margin-bottom: 84px }
	.m-mb-88   { margin-bottom: 88px }
	.m-mb-92   { margin-bottom: 92px }
	.m-mb-96   { margin-bottom: 96px }
	.m-mb-100  { margin-bottom: 100px }
}
/* Margin right utilities */
.mr-4    { margin-right: 4px }
.mr-8    { margin-right: 8px }
.mr-12   { margin-right: 12px }
.mr-16   { margin-right: 16px }
.mr-20   { margin-right: 20px }
.mr-24   { margin-right: 24px }
.mr-28   { margin-right: 28px }
.mr-32   { margin-right: 32px }
.mr-36   { margin-right: 36px }
.mr-40   { margin-right: 40px }
.mr-44   { margin-right: 44px }
.mr-48   { margin-right: 48px }
.mr-52   { margin-right: 52px }
.mr-56   { margin-right: 56px }
.mr-60   { margin-right: 60px }
.mr-64   { margin-right: 64px }
.mr-68   { margin-right: 68px }
.mr-72   { margin-right: 72px }
.mr-76   { margin-right: 76px }
.mr-80   { margin-right: 80px }
.mr-84   { margin-right: 84px }
.mr-88   { margin-right: 88px }
.mr-92   { margin-right: 92px }
.mr-96   { margin-right: 96px }
.mr-100  { margin-right: 100px }

/* Margin left utilities */
.ml-4    { margin-left: 4px }
.ml-8    { margin-left: 8px }
.ml-12   { margin-left: 12px }
.ml-16   { margin-left: 16px }
.ml-20   { margin-left: 20px }
.ml-24   { margin-left: 24px }
.ml-28   { margin-left: 28px }
.ml-32   { margin-left: 32px }
.ml-36   { margin-left: 36px }
.ml-40   { margin-left: 40px }
.ml-44   { margin-left: 44px }
.ml-48   { margin-left: 48px }
.ml-52   { margin-left: 52px }
.ml-56   { margin-left: 56px }
.ml-60   { margin-left: 60px }
.ml-64   { margin-left: 64px }
.ml-68   { margin-left: 68px }
.ml-72   { margin-left: 72px }
.ml-76   { margin-left: 76px }
.ml-80   { margin-left: 80px }
.ml-84   { margin-left: 84px }
.ml-88   { margin-left: 88px }
.ml-92   { margin-left: 92px }
.ml-96   { margin-left: 96px }
.ml-100  { margin-left: 100px }

/* Padding utilities */
.p-0    { padding: 0 !important }
.p-2    { padding: 2px }
.p-4    { padding: 4px }
.p-6    { padding: 6px }
.p-8    { padding: 8px }
.p-12   { padding: 12px }
.p-16   { padding: 16px }
.p-20   { padding: 20px }
.p-24   { padding: 24px }
.p-28   { padding: 28px }
.p-32   { padding: 32px }
.p-36   { padding: 36px }
.p-40   { padding: 40px }
.p-44   { padding: 44px }
.p-48   { padding: 48px }
.p-52   { padding: 52px }
.p-56   { padding: 56px }
.p-60   { padding: 60px }
.p-64   { padding: 64px }
.p-68   { padding: 68px }
.p-72   { padding: 72px }
.p-75   { padding: 75px }
.p-76   { padding: 76px }
.p-80   { padding: 80px }
.p-84   { padding: 84px }
.p-88   { padding: 88px }
.p-92   { padding: 92px }
.p-96   { padding: 96px }
.p-100  { padding: 100px }
		@media (max-width: 1300px) {
			.m-p-0    { padding: 0 }
			.m-p-2    { padding: 2px }
			.m-p-4    { padding: 4px }
			.m-p-6    { padding: 6px }
			.m-p-8    { padding: 8px }
			.m-p-12   { padding: 12px }
			.m-p-16   { padding: 16px }
			.m-p-20   { padding: 20px }
			.m-p-24   { padding: 24px }
			.m-p-28   { padding: 28px }
			.m-p-32   { padding: 32px }
			.m-p-36   { padding: 36px }
			.m-p-40   { padding: 40px }
			.m-p-44   { padding: 44px }
			.m-p-48   { padding: 48px }
			.m-p-52   { padding: 52px }
			.m-p-56   { padding: 56px }
			.m-p-60   { padding: 60px }
			.m-p-64   { padding: 64px }
			.m-p-68   { padding: 68px }
			.m-p-72   { padding: 72px }
			.m-p-76   { padding: 76px }
			.m-p-80   { padding: 80px }
			.m-p-84   { padding: 84px }
			.m-p-88   { padding: 88px }
			.m-p-92   { padding: 92px }
			.m-p-96   { padding: 96px }
			.m-p-100  { padding: 100px }
		}

/* Padding top utilities */
.pt-0    { padding-top: 4px }
.pt-4    { padding-top: 4px }
.pt-8    { padding-top: 8px }
.pt-12   { padding-top: 12px }
.pt-16   { padding-top: 16px }
.pt-20   { padding-top: 20px }
.pt-24   { padding-top: 24px }
.pt-28   { padding-top: 28px }
.pt-32   { padding-top: 32px }
.pt-36   { padding-top: 36px }
.pt-40   { padding-top: 40px }
.pt-44   { padding-top: 44px }
.pt-48   { padding-top: 48px }
.pt-52   { padding-top: 52px }
.pt-56   { padding-top: 56px }
.pt-60   { padding-top: 60px }
.pt-64   { padding-top: 64px }
.pt-68   { padding-top: 68px }
.pt-72   { padding-top: 72px }
.pt-76   { padding-top: 76px }
.pt-80   { padding-top: 80px }
.pt-84   { padding-top: 84px }
.pt-88   { padding-top: 88px }
.pt-92   { padding-top: 92px }
.pt-96   { padding-top: 96px }
.pt-100  { padding-top: 100px }
.pt-130  { padding-top: 130px }
.pt-140  { padding-top: 140px }
.pt-150  { padding-top: 150px }
.pt-200  { padding-top: 200px }
@media (max-width: 1300px) {
	.m-pt-0    { padding-top: 0 }
	.m-pt-2    { padding-top: 2px }
	.m-pt-4    { padding-top: 4px }
	.m-pt-6    { padding-top: 6px }
	.m-pt-8    { padding-top: 8px }
	.m-pt-12   { padding-top: 12px }
	.m-pt-16   { padding-top: 16px }
	.m-pt-20   { padding-top: 20px }
	.m-pt-24   { padding-top: 24px }
	.m-pt-28   { padding-top: 28px }
	.m-pt-32   { padding-top: 32px }
	.m-pt-36   { padding-top: 36px }
	.m-pt-40   { padding-top: 40px }
	.m-pt-44   { padding-top: 44px }
	.m-pt-48   { padding-top: 48px }
	.m-pt-52   { padding-top: 52px }
	.m-pt-56   { padding-top: 56px }
	.m-pt-60   { padding-top: 60px }
	.m-pt-64   { padding-top: 64px }
	.m-pt-68   { padding-top: 68px }
	.m-pt-72   { padding-top: 72px }
	.m-pt-76   { padding-top: 76px }
	.m-pt-80   { padding-top: 80px }
	.m-pt-84   { padding-top: 84px }
	.m-pt-88   { padding-top: 88px }
	.m-pt-92   { padding-top: 92px }
	.m-pt-96   { padding-top: 96px }
	.m-pt-100  { padding-top: 100px }
}

/* Padding right utilities */
.pr-0    { padding-right: 0 }
.pr-2    { padding-right: 2px }
.pr-4    { padding-right: 4px }
.pr-8    { padding-right: 8px }
.pr-12   { padding-right: 12px }
.pr-16   { padding-right: 16px }
.pr-20   { padding-right: 20px }
.pr-24   { padding-right: 24px }
.pr-28   { padding-right: 28px }
.pr-32   { padding-right: 32px }
.pr-36   { padding-right: 36px }
.pr-40   { padding-right: 40px }
.pr-44   { padding-right: 44px }
.pr-48   { padding-right: 48px }
.pr-52   { padding-right: 52px }
.pr-56   { padding-right: 56px }
.pr-60   { padding-right: 60px }
.pr-64   { padding-right: 64px }
.pr-68   { padding-right: 68px }
.pr-72   { padding-right: 72px }
.pr-76   { padding-right: 76px }
.pr-80   { padding-right: 80px }
.pr-84   { padding-right: 84px }
.pr-88   { padding-right: 88px }
.pr-92   { padding-right: 92px }
.pr-96   { padding-right: 96px }
.pr-100  { padding-right: 100px }

/* Padding bottom utilities */
.pb-0    { padding-bottom: 0 }
.pb-4    { padding-bottom: 4px }
.pb-8    { padding-bottom: 8px }
.pb-12   { padding-bottom: 12px }
.pb-16   { padding-bottom: 16px }
.pb-20   { padding-bottom: 20px }
.pb-24   { padding-bottom: 24px }
.pb-28   { padding-bottom: 28px }
.pb-32   { padding-bottom: 32px }
.pb-36   { padding-bottom: 36px }
.pb-40   { padding-bottom: 40px }
.pb-44   { padding-bottom: 44px }
.pb-48   { padding-bottom: 48px }
.pb-52   { padding-bottom: 52px }
.pb-56   { padding-bottom: 56px }
.pb-60   { padding-bottom: 60px }
.pb-64   { padding-bottom: 64px }
.pb-68   { padding-bottom: 68px }
.pb-72   { padding-bottom: 72px }
.pb-76   { padding-bottom: 76px }
.pb-80   { padding-bottom: 80px }
.pb-84   { padding-bottom: 84px }
.pb-88   { padding-bottom: 88px }
.pb-92   { padding-bottom: 92px }
.pb-96   { padding-bottom: 96px }
.pb-100  { padding-bottom: 100px }
.pb-120  { padding-bottom: 120px }
.pb-130  { padding-bottom: 130px }
.pb-140  { padding-bottom: 140px }
.pb-150  { padding-bottom: 150px }
.pb-200  { padding-bottom: 200px }
@media (max-width: 1300px) {
	.m-pb-0    { padding-bottom: 0 }
	.m-pb-2    { padding-bottom: 2px }
	.m-pb-4    { padding-bottom: 4px }
	.m-pb-6    { padding-bottom: 6px }
	.m-pb-8    { padding-bottom: 8px }
	.m-pb-12   { padding-bottom: 12px }
	.m-pb-16   { padding-bottom: 16px }
	.m-pb-20   { padding-bottom: 20px }
	.m-pb-24   { padding-bottom: 24px }
	.m-pb-28   { padding-bottom: 28px }
	.m-pb-32   { padding-bottom: 32px }
	.m-pb-36   { padding-bottom: 36px }
	.m-pb-40   { padding-bottom: 40px }
	.m-pb-44   { padding-bottom: 44px }
	.m-pb-48   { padding-bottom: 48px }
	.m-pb-52   { padding-bottom: 52px }
	.m-pb-56   { padding-bottom: 56px }
	.m-pb-60   { padding-bottom: 60px }
	.m-pb-64   { padding-bottom: 64px }
	.m-pb-68   { padding-bottom: 68px }
	.m-pb-72   { padding-bottom: 72px }
	.m-pb-76   { padding-bottom: 76px }
	.m-pb-80   { padding-bottom: 80px }
	.m-pb-84   { padding-bottom: 84px }
	.m-pb-88   { padding-bottom: 88px }
	.m-pb-92   { padding-bottom: 92px }
	.m-pb-96   { padding-bottom: 96px }
	.m-pb-100  { padding-bottom: 100px }
}
/* Padding left utilities */
.pl-0    { padding-left: 0 }
.pl-2    { padding-left: 2px }
.pl-4    { padding-left: 4px }
.pl-8    { padding-left: 8px }
.pl-12   { padding-left: 12px }
.pl-16   { padding-left: 16px }
.pl-20   { padding-left: 20px }
.pl-24   { padding-left: 24px }
.pl-28   { padding-left: 28px }
.pl-32   { padding-left: 32px }
.pl-36   { padding-left: 36px }
.pl-40   { padding-left: 40px }
.pl-44   { padding-left: 44px }
.pl-48   { padding-left: 48px }
.pl-52   { padding-left: 52px }
.pl-56   { padding-left: 56px }
.pl-60   { padding-left: 60px }
.pl-64   { padding-left: 64px }
.pl-68   { padding-left: 68px }
.pl-72   { padding-left: 72px }
.pl-76   { padding-left: 76px }
.pl-80   { padding-left: 80px }
.pl-84   { padding-left: 84px }
.pl-88   { padding-left: 88px }
.pl-92   { padding-left: 92px }
.pl-96   { padding-left: 96px }
.pl-100  { padding-left: 100px }

.o-03 { opacity: .3 }
.o-04 { opacity: .4 }
.o-05 { opacity: .5 }
.o-06 { opacity: .6 }
.o-07 { opacity: .7 }
.o-08 { opacity: .8 }

.br-8   { border-radius: 8px }
.br-12  { border-radius: 12px }
.br-16  { border-radius: 16px }
.br-32  { border-radius: 32px }
.br-100 { border-radius: 100px }

/* REVEAL TESTO / IMMAGINI */

.rt {
	position: relative;
	opacity: 0;
	translate: 0 50px;
	transition: all 1s ease-in-out;
}
.rt-show {
	translate: 0 0;
	opacity: 1;
}
.ri {
	opacity: 0;
	transition: all 2s;
}
.ri-show {
	opacity: 1;
}

