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

html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}
.body-fixed {
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
header,
nav,
main,
section,
footer,
address,
div {
	position: relative;
	display: grid;
	font-style: normal;
}

footer {
	background-color: #EAEFF5;
	font-size: 16px;
}

main {
	margin-top: 150px;
}
main:is(.main2) {
	margin-top: 230px;
}
		@media (max-width: 1300px) {
			main {
				margin-top: 120px;
			}
			main:is(.main2) {
				margin-top: 120px;
			}
			footer,
			section {
				padding: 0 20px;
			}
			footer:is(.m-nop),
			section:is(.m-nop) {
				padding: 0;
			}
		}
body {
	position: relative;
	display: grid;
	align-content: start;
	font-family: 'Inter Regular';
	font-size: 16px;
	line-height: 150%;
	color: #19233E;
	background-color: #F4F4F5;
}
		@media (min-width: 2000px) {
			body {
				font-size: 18px;
			}
		}

h1, h2, h3, h4 {
	color: var(--c-1);
	margin: 0;
	font-family: 'Merriweather';
	font-weight: normal;
}
h1 {
	font-size: 57px;
	line-height: 120%;	
}
		@media (max-width: 1300px) {
			h1 {
				font-size: 39px;
				line-height: 115%;
			}
		}
h2 {
	font-size: 48px;
	line-height: 120%;
}
		@media (max-width: 1300px) {
			h2 {
				font-size: 31px;
			}
		}
h3 {
	font-size: 33px;
	line-height: 120%;
	font-family: 'Inter Medium';
}
		@media (max-width: 1300px) {
			h3 {
				font-size: 25px;
				
			}
		}
h4 {
	font-size: 23px;
	line-height: 120%;
	font-family: 'Inter Medium';
	letter-spacing: .5px;
}
		@media (max-width: 1300px) {
			h4 {
				font-size: 25px;
				
			}
		}

a {
	color: var(--c-1);
	text-decoration: none;
	border-bottom: solid 2px transparent;
}
a:hover:not(header a):not(.button):not(.home-settori a):not(.home-risorse a):not(.sliderfader a):not(.cardE):not(.cardG):not(.posizioni-aperte-record):not(footer a) {
	color: var(--c-2);
	border-bottom: solid 2px var(--c-2);
}
p a {
	color: var(--c-2);
	border-bottom: solid 2px var(--c-2);
}
p {
	margin: 0;
	line-height: 150%;
	margin-bottom: 16px;
}
p:last-child,
p:last-of-type {
	/*margin-bottom: 0;*/
}

img {
	max-width: 100%;
}

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: 'Inter Regular';
	font-size: 1.2rem;
	letter-spacing: .4px;
	padding: 0 16px;
	height: 44px;
	border-radius: 8px;
	color: #5F6D7E;
	background-color: #F6F7F8;
	border: solid 1px #B8C3D1;
}
input[type="radio"], input[type="checkbox"] {
	width: 1.1em;
	height: 1.1rem;
	accent-color: var(--c-1);
}
select {
	-moz-appearance: none; 
	-webkit-appearance: none; 
	font-size: 14px;
	height: 44px;
	font-family: 'Inter Medium';
	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-right: 32px;
}
input[type=checkbox], input[type=radio] {
	margin: 0;
	background-color: red;

}
label {
	display: grid;
	margin: 0;
	font-family: 'Inter Medium';

}

p a:hover {
	color: var(--c-2);
	transition: all .15s ease-in-out;
}
p b {
	font-family: 'Inter SemiBold';
	font-weight: normal;
}
ul, ol {
	display: grid;
	grid-gap: 8px;
	padding-left: 0;
	margin: 0;
	margin-left: 16px;
	margin-bottom: 16px;
	line-height: 120%;
}

/* MOBILE MENU */
.m-hamburger {
	width: 46px;
	height: 40px;
	justify-self: right;
	display: flex;
	flex-direction: column;
	place-content: center;
	gap: 4px;	
	cursor: pointer;
	padding: 7px 0 13px 20px;
}
.m-hamburger span {
	display: block;
	width: 100%;
	height: 3px;
	background-color: var(--c-1);
	border-radius: 2px;
	transition: all 0.3s ease-out;
	transform-origin: center;
}
.m-menu {
	position: fixed;
	top: 76px;
	left: 0;
	width: 100%;
	height: 100svh;
	overflow: auto;
	translate: -100% 0;
	transition: all 0.3s ease-out;
}
.m-menu-content {
	align-content: start;
	gap: 16px;
	padding: 16px 24px;
	padding-top: 40px;
	/*padding-bottom: 200px;*/
	left: 0;
	width: 100%;
	height: 1400px;
	background-color: #F4F4F5;
	backdrop-filter: blur(25px);
	-webkit-backdrop-filter: blur(25px);
}
.m-menu-toggle {
	display: none;
}
.m-menu-toggle:checked ~ .m-menu {
	translate: 0 0;
}
.m-menu-toggle:checked ~ .m-hamburger span:nth-of-type(1) {
    transform: translateY(7px) rotate(45deg);
	background-color: var(--c-2);
}
.m-menu-toggle:checked ~ .m-hamburger span:nth-of-type(2) {
    opacity: 0;
}
.m-menu-toggle:checked ~ .m-hamburger span:nth-of-type(3) {
    transform: translateY(-7px) rotate(-45deg);
	background-color: var(--c-2);
}
.m-menu-cta {
	position: fixed;
	z-index: 1000;
	bottom: 0;
	left: 0;
	translate: 0 100%;
	width: 100%;
	padding: 16px;
	background-color: #fff;
	box-shadow: 0 0 24px rgba(0, 0, 0, .3);
	transition: all .3s ease-in-out;
}
.m-menu-cta-on {
	translate: 0 0;
	transition: all .6s ease-in-out;
}
/* MOBILE MENU */

header {
	position: fixed;
	z-index: 100;
	justify-items: center;
	align-items: start;
	width: 100%;
	padding: 20px;
	line-height: 125%;
	transition: all .3s ease-in-out;
}
		.header2 {
			padding-bottom: 0;
			border-bottom: solid 1px #CFD5DF;
		}
header:before {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	backdrop-filter: blur(15px);
	background-color: rgba(255,255,255,.7);
}
header > .main {
	max-width: 1600px;
	grid-template-columns: auto 1fr;
	justify-self: center;
	align-content: center;
	align-items: center;
}
.header-scrolling {
	box-shadow: 0 0 16px rgba(0,0,0,.15);
	border-bottom: solid 0 transparent;
}
header .logo-reverse {
	width: 125px;
}

nav {
	grid-auto-flow: column;
	justify-content: space-between;
	justify-self: right;
	align-content: center;
	align-items: center;
	gap: 32px;
}
		@media (max-width: 1300px) {
			nav {
				display: none;
			}
		}
nav a, nav button {
	z-index: 100;
	display: grid;
	position: relative;
	font-family: 'Inter Medium';
	font-size: 16px;
	background: transparent;
	border: none;
	color: var(--c-1);
	cursor: pointer;
}

.nav-callout > button {
	padding-right: 19px;
}
.nav-callout > button::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	background: url(../ico/chev1.svg) center no-repeat;
	background-size: contain;
	transition: all 0.3s ease;
}

.nav-callout:hover > button::after {
	transform: translateY(-50%) rotate(-180deg);
}
.nav-callout:hover .nav-callout-content,
.nav-callout:focus-within .nav-callout-content {
	visibility: visible;
	opacity: 1;
	left: 0;
}
.nav-callout-content {
	z-index: 10;
	align-items: start;
	visibility: hidden;
	opacity: 0;
	position: absolute;
	white-space: nowrap;
	padding: 6px;
	border: solid 1px #E6EDF6;
	background-color: #fff;
	top: 32px;
	left: -6px;
	border-radius: 8px;
	box-shadow: 0 0 32px rgba(0,0,0,.1);
	transition: all .3s ease-out;
}
.nav-callout-content::before {
	content: '';
	position: absolute;
	top: -32px;
	left: 0;
	right: 0;
	height: 32px;
	background: transparent;
}
.nav-callout-content a, .nav-callout-content button {
	display: grid;
	grid-template-columns: auto auto;
	gap: 16px;
	align-items: center;
	justify-content: left;
	padding: 10px;
	padding-right: 32px;
	transition: all .15s ease-in-out;
}
.nav-callout-content a:hover {
	background-color: #E1E9FF;
	border-radius: 4px;
}
.nav-callout-content .nav1 {
	padding-left: 38px;
	background: url(../ico/nav1.svg) left 10px center no-repeat;
	background-size: 17px;
}
		.m-slidetoggle-trigger-4,
		.m-slidetoggle-trigger-3,
		.m-slidetoggle-trigger-2,
		.m-slidetoggle-trigger-1 {
			padding-left: 45px !important;
		}
		.m-slidetoggle-trigger-4:before,
		.m-slidetoggle-trigger-3:before,
		.m-slidetoggle-trigger-2:before,
		.m-slidetoggle-trigger-1:before {
			position: absolute;
			content: '';
			top: 50%;
			left: 16px;
			translate: 0 -50%;
			width: 17px;
			height: 17px;
			background-repeat: no-repeat;
			background-size: contain;
		}
		.m-slidetoggle-trigger-1:before { background-image: url(../ico/nav1.svg) }
		.m-slidetoggle-trigger-2:before { background-image: url(../ico/nav2.svg) }
		.m-slidetoggle-trigger-3:before { background-image: url(../ico/nav3.svg); background-size: 15px; }
		.m-slidetoggle-trigger-4:before { background-image: url(../ico/nav4.svg); background-size: 12px; }


.nav-callout-content .nav2 {
	padding-left: 38px;
	background: url(../ico/nav2.svg) left 10px center no-repeat;
	background-size: 17px;
}
.nav-callout-content .nav3 {
	padding-left: 38px;
	background: url(../ico/nav3.svg) left 10px center no-repeat;
	background-size: 14px;
}
.nav-callout-content .nav4 {
	padding-left: 38px;
	background: url(../ico/nav4.svg) left 11px center no-repeat;
	background-size: 11px;
}
.nav-callout-content .nav5 {
	padding-left: 38px;
	background: url(../ico/nav5.svg) left 11px center no-repeat;
	background-size: 17px;
}
.nav-callout-content .nav6 {
	padding-left: 38px;
	background: url(../ico/nav6.svg) left 12px center no-repeat;
	background-size: 15px;
}

.nav-callout-content .nav-callout-content3-trigger:after,
.nav-callout-content .nav-callout-content2-trigger:after,
.nav-callout-content .nav-callout-content1-trigger:after {
	content: '';
	height: 13px;
	width: 13px;
	background: url(../ico/chev3.svg) center no-repeat;
	background-size: contain;
	opacity: .4;

}
.nav-callout-content1,
.nav-callout-content2,
.nav-callout-content3 {
	align-self: stretch;
	align-content: start;
	position: absolute;
	visibility: hidden;
	opacity: 0;
	overflow: hidden;
	width: 0;
	border-left: solid 1px rgba(0,0,0,.1);
	transition: all 0.2s ease-in-out;
}
.nav-callout-content1:after,
.nav-callout-content2:after,
.nav-callout-content3:after {
	position: absolute;
	content: '';
	width: 10px;
	height: 10px;
	background: #fff;
	border: solid 1px rgba(0,0,0,.1);
	border-left: none;
	border-bottom: none;
	rotate: 45deg;
	top: 28%;
	left: 0;
	translate: -50% 0;
}
		.nav-callout-content1:after { top: 10% }
		.nav-callout-content2:after { top: 28% }
		.nav-callout-content3:after { top: 27% }

.nav-callout:has(.nav-callout-content1-trigger:hover) .nav-callout-content1,
.nav-callout:has(.nav-callout-content1:hover) .nav-callout-content1,
.nav-callout:has(.nav-callout-content2-trigger:hover) .nav-callout-content2,
.nav-callout:has(.nav-callout-content2:hover) .nav-callout-content2,
.nav-callout:has(.nav-callout-content3-trigger:hover) .nav-callout-content3,
.nav-callout:has(.nav-callout-content3:hover) .nav-callout-content3 {
	position: relative;
	visibility: visible;
	opacity: 1;
	display: grid;
	padding-left: 16px;
	width: auto;
	height: auto;
	overflow: visible;
}
.nav-tabs {
	grid-auto-flow: column;
	justify-content: space-between;
	justify-self: center;
	gap: 20px;
	padding-top: 35px;
	text-align: center;
	font-size: 14px;
}
.nav-tabs a {
	padding: 20px;
	padding-top: 22px;
	padding-bottom: 8px;
	border-bottom: solid 4px transparent;
	transition: all .1s ease-in-out;
	background: center top no-repeat;
	background-size: 16px;
	filter: grayscale(1);
	opacity: .7;
}
		.tab-servizi .nav-tabs a {
			padding-left: 40px;
			padding-right: 40px;
		}
.nav-tabs a:is(.on),
.nav-tabs a:hover {
	border-color: var(--c-2);
	filter: grayscale(0);
	opacity: 1;
}
.tab-metodo .nav-tabs a:nth-child(1) { background-image: url(../ico/trasparenza.svg) }
.tab-metodo .nav-tabs a:nth-child(2) { background-image: url(../ico/tempi-mantenuti.svg) }
.tab-metodo .nav-tabs a:nth-child(3) { background-image: url(../ico/analisi-di-mercato.svg) }
.tab-metodo .nav-tabs a:nth-child(4) { background-image: url(../ico/coinvolgimento-hiring-manager.svg) }
.tab-metodo .nav-tabs a:nth-child(5) { background-image: url(../ico/struttura-a-momenti-chiave.svg) }
.tab-metodo .nav-tabs a:nth-child(6) { background-image: url(../ico/specializzazione.svg) }
.tab-servizi .nav-tabs a:nth-child(1) { background-image: url(../ico/headhunting.svg) }
.tab-servizi .nav-tabs a:nth-child(2) { background-image: url(../ico/international-headhunting.svg) }
.tab-servizi .nav-tabs a:nth-child(3) { background-image: url(../ico/rpo.svg) }
.tab-servizi .nav-tabs a:nth-child(4) { background-image: url(../ico/analisi-di-mercato.svg) }
.tab-servizi .nav-tabs a:nth-child(5) { background-image: url(../ico/executive.svg) }
.main {
	display: grid;
	position: relative;
	justify-self: center;
	width: 100%;
	max-width: 1250px;
}
		
.button {
	display: grid;
	align-content: center;
	font-family: 'Inter Medium';
	text-align: center;
	padding: 0 15px;
	height: 44px;
	font-size: 14px;
	line-height: 125%;
	white-space: nowrap;
	border: solid 1px transparent;
	border-radius: 6px;	
	transition: all .15s ease-in-out;
}
		@media (max-width: 1300px) {
			.button {
				padding: 14px 17px;
				font-size: 17px;
			}
		}
.button-c-1 {
	color: #fff;
	background-color: var(--c-1);
}
.button-c-1-arr1 {
	padding-right: 40px;
	background-image: url(../ico/arr1.svg);
	background-repeat: no-repeat;
	background-size: 16px auto;
	background-position: right 14px center;
}
.button-c-1-arr2 {
	padding-right: 40px;
	background-image: url(../ico/arr3.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: right 15px center;
}
.button-c-1-arr3 {
	padding-right: 40px;
	background-image: url(../ico/arr7.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: right 15px center;
}
		.button-c-1:hover {
			background-color: var(--c-1-hover);
		}
.button-c-2 {
	color: #fff;
	background-color: var(--c-2);
}
.button-c-2-arr2 {
	padding-right: 40px;
	background-image: url(../ico/arr3.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: right 15px center;
}
		.button-c-2:hover {
			background-color: var(--c-2-hover);
		}
.button-outline {
	background-color: #fff;
	border-color: #B8C3D1;
}
.button-outline-arr1 {
	padding-right: 40px;
	background-image: url(../ico/arr5.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: right 15px center;
}
.button-outline-arr2 {
	padding-right: 40px;
	background-image: url(../ico/arr6.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: right 15px center;
}
.button-outline-arr4 {
	color: var(--c-2);
	padding: 0;
	padding-right: 40px;
	background-image: url(../ico/arr4.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: right 15px center;
}
.button-outline-avatar {
	padding-right: 40px;
	background-image: url(../ico/avatar.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: right 15px center;
}
		.button-outline:hover {
			background-color: #e6eaf6;
		}
.button:hover {
	cursor: pointer;
}

.breadcrumb {
	grid-column: 1/-1;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	/*
	grid-auto-flow: column;
	grid-column: 1/-1;
	*/
	align-items: center;
	justify-self: left;
	gap: 12px;
	font-size: 14px;
	font-family: 'Inter Regular';
	margin-bottom: 32px;
	line-height: 10px;
	/*background-color: red;*/
}
.breadcrumb p,
.breadcrumb a {
	margin: 0;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-word;
		
}
.breadcrumb p {
	color: #000;
}
.breadcrumb a {
	color: var(--c-3);
}
.breadcrumb .chev {
	height: 10px;
	margin-top: 2px;
}
.breadcrumb img {
	height: 10px;
	margin-top: 1px;
}
.breadcrumb .start {
	height: 14px;
	margin: 0;
}

.logo-pill {
	display: grid;
	place-content: center;
	width: 150px;
	height: 65px;
	padding: 16px;
	border: solid 2px #fff;
	background-color: #F6F7F8;
	border-radius: 100px;
	box-shadow: 0 0 20px rgba(0,0,0,.1);
	overflow: hidden;
}
.logo-pill img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: .7;
}

.striscia {
	object-fit: cover;
	width: 100%;
	height: 500px;
}

.home-mosaico {
	grid-template-columns: calc(25% - 16px) calc(37.5% - 16px) 37.5%;
	grid-template-rows: 1fr 1fr;
	gap: 16px;
}
		@media (max-width: 1100px) {
			.home-mosaico {
				/*grid-template-columns: 1fr 1fr;*/
				grid-template-columns: 1fr;
			}
		}
.home-mosaico-card {
	grid-template-rows: auto auto;
	background-color: #fff;
	color: var(--c-1);
	border-radius: 8px;
	padding: 12px 24px;
	overflow: hidden;
	box-shadow: 0 0 24px rgba(0,0,0,.08);
}
		@media (max-width: 1100px) {
			.home-mosaico-card {
				height: 300px;
			}
		}
.home-mosaico > div:nth-child(1) {
	grid-row: 1 / 3;
	grid-column: 1 / 2;
	background: url(../images/home-2.webp) center no-repeat;
	background-size: cover;
	height: 600px;
}
		@media (max-width: 1100px) {
			.home-mosaico > div:nth-child(1) {
				grid-row: 1 / 3;
				grid-column: 1;
				height: 200px;
				border-radius: 8px;
			}
			.home-mosaico > div:nth-child(4) {
				/*grid-column: 1 / 3;*/
			}
			.home-mosaico > div:nth-child(5) {
				/*grid-column: 1 / 3;*/
			}
		}
.home-mosaico-card > p {
	position: absolute;
	top: 56px;
	left: 24px;
	font-size: 33px;
	font-family: 'Inter Medium';
	transition: all .3s ease-out;
}
		@media (max-width: 1100px) {
			.home-mosaico-card > p {
				top: 35px;
				left: 16px;
				/*font-size: 19px;*/
			}
		}

.home-mosaico-card span {
	font-size: 80px;
	transition: all .3s ease-out;
}
		@media (max-width: 1100px) {
			.home-mosaico-card span {
				font-size: 50px;
				color: var(--c-2);
			}
		}
.home-mosaico-card > div p  {
	font-size: 19px;
}
.home-mosaico-card > div p:nth-child(2)  {
	font-size: inherit;
}
.home-mosaico-card > div {
	position: absolute;
	padding: 0 24px;
	top: 0;
	height: 200px;
	translate: 0 222px;
	transition: all .3s ease-in-out;
}
		@media (max-width: 1100px) {
			.home-mosaico-card > div {
				padding: 0 16px;
				translate: 0 110px;
			}
		}
@media (min-width: 1100px) {
	.home-mosaico-card:hover > div {
		translate: 0 110px;
		transition: all .3s ease-in-out;
	}
	.home-mosaico-card:hover > p {
		translate: 0 -20px;
	}
	.home-mosaico-card:hover > p span {
		font-size: 50px;
		translate: 0 -20px;
	}
}



.arcese-mosaico2 {
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 16px;
}
		@media (max-width: 1100px) {
			.arcese-mosaico2 {
				grid-template-columns: 1fr;
			}
		}
.arcese-mosaico2 > div {
	grid-template-rows: auto auto;
	min-height: 200px;
	background-color: #fff;
	color: var(--c-1);
	border-radius: 8px;
	padding: 24px;
	padding-top: 50px;
	padding-bottom: 10px;
	overflow: hidden;
	box-shadow: 0 0 24px rgba(0, 0, 0, .08);
}
		.arcese-mosaico2 > div > div {
			display: inline;
			font-family: 'Inter Medium';
			font-size: 80px;
		}
		.arcese-mosaico2 > div p {
			align-self: end;
			font-size: 20px;
		}
		.arcese-mosaico2 > div span {
			font-size: 30px;
		}
.arcese-mosaico2 > div:nth-child(1) {
	background: url(../images/home-2.webp) center no-repeat;
	background-size: cover;
}
.arcese-mosaico2 > div:nth-child(6) {
	background: url(../images/home-3.webp) center no-repeat;
	background-size: cover;
	background-position: bottom;
}
@media (min-width: 1200px) {
	.arcese-mosaico2 > div:nth-child(1) {
		grid-row: 1 / 3;
		grid-column: 1 / 2;
		height: 600px;
	}
	.arcese-mosaico2 > div:nth-child(6) {
		grid-column: span 2;
	}
}








.home-settori-container {
	grid-template-columns: 20rem 3fr;
	gap: 28px;
}
		@media (max-width: 1300px) {
			.home-settori-container {
				grid-template-columns: 1fr;
				gap: 0;
			}
		}
.home-settori-foto {
	border-radius: 8px;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.home-settori {
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr 1fr;
	gap: 1px;
	border-radius: 8px;
	background-color: #E2EAF5;
	border: solid 1px #E2EAF5;
	overflow: hidden;
}
		@media (max-width: 1100px) {
			.home-settori {
				grid-template-columns: 1fr 1fr;
				grid-template-rows: 1fr;
			}
		}
.home-settori > a {
	position: relative;
	align-content: start;
	padding: 16px;
	padding-top: 46px;
	font-size: 19px;
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: auto 16px;
	background-position: top 16px left 18px;
	transition: all .1s ease-in-out;
}
		@media (min-width: 1100px) {
			.home-settori > a:hover {
				background-color: #E1E9FF;
				transition: all .1s ease-in-out;
			}
			.home-settori > a:hover:after {
				position: absolute;
				content: '';
				top: 50%;
				right: 16px;
				translate: 0 -50%;
				width: 20px;
				height: 20px;
				background: url(../ico/chev3.svg) center center no-repeat;
				background-size: contain;
			}
		}
		@media (max-width: 1100px) {
			.home-settori > a {
				align-content: start;
				font-family: 'Inter Medium';
				height: 120px;
				font-size: 16px;
				padding-top: 45px;
				line-height: 130%;
			}
			.home-settori > a:after {
				position: absolute;
				content: '';
				bottom: 13px;
				right: 11px;
				translate: 0 0;
				width: 13px;
				height: 13px;
				background: url(../ico/chev3.svg) center center no-repeat;
				background-size: contain;
				opacity: .3;
			}
		}
.home-settori > a:nth-child(1) { background-image: url(../ico/settore-banking.svg) }
.home-settori > a:nth-child(2) { background-image: url(../ico/settore-pharma.svg) }
.home-settori > a:nth-child(3) { background-image: url(../ico/settore-consulting.svg) }
.home-settori > a:nth-child(4) { background-image: url(../ico/settore-ict.svg) }
.home-settori > a:nth-child(5) { background-image: url(../ico/settore-engineering.svg) }
.home-settori > a:nth-child(6) { background-image: url(../ico/settore-manifacturing.svg) }
.home-settori > a:nth-child(7) { background-image: url(../ico/settore-fashion.svg) }
.home-settori > a:nth-child(8) { background-image: url(../ico/settore-retail.svg) }
.home-settori > a:nth-child(9) { background-image: url(../ico/settore-logistics.svg) }
.home-settori > a:nth-child(10) { background-image: url(../ico/settore-food.svg) }
.home-settori > a:nth-child(11) { background-image: url(../ico/settore-automotive.svg) }
.home-settori > a:nth-child(12) { background-image: url(../ico/settore-energy.svg) }

.home-risorse {
	grid-template-columns: 1fr 1fr 1fr;
	background-color: #E2EAF5;
	gap: 1px;
	border: solid 1px #E2EAF5;
	border-radius: 12px;
	overflow: hidden;
}
.home-risorse > a {
	position: relative;
	color: var(--c-1);
	padding: 30px;
	height: 250px;
	background-color: #fff;
}
		@media (min-width: 1100px) {
			.home-risorse > a:hover p:nth-child(3) {
				opacity: 1;
				right: 24px;
				transition: all .3s ease-in-out;
			}
		}
.home-risorse > a p:nth-child(1) {
	font-size: 28px;
	font-family: 'Inter Medium';
	line-height: 120%;
	margin-bottom: 20px;
}
.home-risorse > a p:nth-child(2) {
	color: #505962;
}
.home-risorse > a p:nth-child(3) {
	position: absolute;
	bottom: 16px;
	right: 40px;
	color: var(--c-2);
	font-family: 'Inter Semibold';
	opacity: 0;
	padding-right: 22px;
	background: url(../ico/arr4.svg) center right no-repeat;
	background-size: 12px;
	transition: all .3s ease-in-out;
}
		@media (max-width: 1100px) {
			.home-risorse > a p:nth-child(1) {
				font-size: 24px;
			}
			.home-risorse > a p:nth-child(3) {
				opacity: 1;
			}
		}

.cardE {
	position: relative;
	display: grid;
	height: 270px;
	background-color: #fff;
	background-image: url(../ico/pilastro-1.svg);
	background-repeat: no-repeat;
	background-position: top 24px left 24px;
	background-size: 52px;
	border-radius: 8px;
	overflow: hidden;
}
		.cardE:is(.pilastro-1) { background-image: url(../ico/pilastro-1.svg) }
		.cardE:is(.pilastro-2) { background-image: url(../ico/pilastro-2.svg) }
		.cardE:is(.pilastro-3) { background-image: url(../ico/pilastro-3.svg) }
		.cardE:is(.pilastro-4) { background-image: url(../ico/pilastro-4.svg) }
		.cardE:is(.pilastro-5) { background-image: url(../ico/pilastro-5.svg) }
		.cardE:is(.pilastro-6) { background-image: url(../ico/pilastro-6.svg) }
		.cardE:is(.servizio-1) { background-image: url(../ico/servizio-1.svg) }
		.cardE:is(.servizio-2) { background-image: url(../ico/servizio-2.svg) }
		.cardE:is(.servizio-3) { background-image: url(../ico/servizio-3.svg) }
		.cardE:is(.servizio-4) { background-image: url(../ico/servizio-4.svg) }
		.cardE:is(.servizio-5) { background-image: url(../ico/servizio-5.svg) }
.cardE > div {
	position: absolute;
	padding: 24px;
	background-color: #fff;
	top: 0;
	translate: 0 140px;
	transition: all .3s ease-in-out;
}
.cardE > div > p:nth-of-type(1) {
	font-family: 'Inter Medium';
	font-size: 24px;
	line-height: 120%;
}
.cardE > div > p:nth-of-type(2) {
	opacity: 0;
	transition: all .3s ease-in-out;
}
.cardE > div > img {
	width: 20px;
	margin-bottom: 20px;
	transition: all .3s ease-in-out;
}
.cardE button {
	justify-self: right;
	translate: 0 -24px;
}
.cardE:hover > div {
	translate: 0 0;
}
.cardE:hover > div > p:nth-of-type(2){
	opacity: 1;
	translate: 0 -32px;
}
.cardE:hover > div > img {
	opacity: 0;
}

.cardF {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 32px;
	background-color: #fff;
	border-radius: 16px;
	padding: 16px;
}
		@media (max-width: 1100px) {
			.cardF {
				grid-template-columns: 1fr;
				padding: 24px;
			}
		}
.cardF > div {
	padding: 0 46px;
}
		@media (max-width: 1100px) {
			.cardF>div {
				padding: 0;
			}
		}
.cardF img {
	width: 100%;
	border-radius: 8px;
}

.cardF2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 32px;
	background-color: #fff;
	border-radius: 16px;
	padding: 16px;
}
		@media (max-width: 1100px) {
			.cardF2 {
				grid-template-columns: 1fr;
				padding: 16px;
			}
		}
.cardF2 > div {
	padding: 0 26px;
}
		@media (max-width: 1100px) {
			.cardF2 > div {
				padding: 0;
			}
		}
.cardF2 > div h2 {
	font-size: 32px;
}
.cardF2 img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 8px;
}

.cardG {
	align-content: start;
	position: relative;
	display: grid;
	background-color: #fff;
	border-radius: 8px;
	padding: 8px;
	padding-bottom: 50px;
}
.cardG img {
	width: 100%;
	margin-bottom: 24px;
}
.cardG p:nth-of-type(1) {
	font-size: 19px;
	font-family: 'Inter Semibold';
	line-height: 120%;
	padding: 0 8px;
}
.cardG p:nth-of-type(2) {
	padding: 0 8px;
	font-size: 16px;
	/*line-height: 125%;*/
}

.pilastri-grid {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	justify-content: center;
}
.pilastri-grid > a {
	flex: 0 1 calc(100%/3 - 24px);
	align-content: start;
	min-height: 250px;
}

		@media (min-width: 1100px) {
			.pilastri-grid2 > a:nth-last-child(2),
			.pilastri-grid2 > a:nth-last-child(1) {
				flex: 0 1 calc(50% - 24px);
			}
		}
		@media (max-width: 1100px) {
			.pilastri-grid > a {
				flex: 1 1 100%;
				min-height: 300px;
			}
		}

.valori-grid {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
	justify-content: center;
}
		@media (max-width: 1100px) {
			.valori-grid {
				gap: 20px;
			}
		}
.valori-grid > div {
	flex: 0 1 calc(100%/3 - 40px);
	align-content: start;
	background-color: #fff;
	border-radius: 8px;
	padding: 24px;
	font-size: 18px;
}
		@media (max-width: 1100px) {
			.valori-grid > div {
				flex: 1 1 100%;
			}
		}

.quote {
	grid-auto-flow: column;
	gap: 32px;
}
		@media (max-width: 1100px) {
			.quote {
				text-align: center;
			}
		}
.quote > img {
	width: 310px;
	height: 340px;
	object-fit: cover;
	object-position: top;
	border-radius: 16px;
	border: solid 8px #fff;
}
		@media (max-width: 1100px) {
			.quote > img {
				justify-self: center;
				width: 250px;
			}
		}
.quote div {
	align-content: center;
	padding: 16px;
}
.quote div p:nth-child(1) {
	font-size: 28px;
	font-style: italic;
	line-height: 120%;
	color: #5F6D7E;
	margin-bottom: 50px;
}
		@media (max-width: 1100px) {
			.quote div p:nth-child(1) {
				font-size: 24px;
				margin-bottom: 30px;
			}
		}
.quote div p:nth-child(2) {
	font-size: 24px;
	color: #5F6D7E;
	opacity: .6;
}

.sedi-grid {
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
	justify-content: center;
}
.sedi-grid > div {
	flex: 0 1 calc(100%/3 - 24px);
	align-content: start;
	min-height: 200px;
	background-color: #fff;
	border-radius: 8px;
	padding: 24px;
}
		@media (max-width: 1100px) {
			.sedi-grid > div {
				flex: 1 1 100%;
			}
		}

#reversemap {
	height: 600px;
}
		@media (max-width: 1100px) {
			#reversemap {
				height: 500px;
			}
		}

.dati-strategici-menu {
	display: grid;
	grid-auto-flow: column;
	justify-content: space-between;
	justify-self: center;
	gap: 8px;
	padding: 8px;
	border: solid 1px #C1CAD7;
	border-radius: 12px;
	background-color: #fff;
}
		@media (max-width: 1100px) {
			.dati-strategici-menu {
				justify-self: auto;
			}
		}

.dati-strategici-menu>label {
	display: grid;
	align-content: center;
	font-family: 'Inter Medium';
	text-align: center;
	padding: 0 15px;
	height: 44px;
	font-size: 14px;
	line-height: 125%;
	white-space: nowrap;
	border: solid 1px transparent;
	border-radius: 6px;
	transition: all .15s ease-in-out;
	cursor: pointer;
	user-select: none;
}
.dati-strategici-menu>label>input {
	display: none;
}
.dati-strategici-menu>label>span {
	display: grid;
	align-content: center;
}
.dati-strategici-menu>label:has(input:checked) {
	color: #fff;
	background-color: var(--c-1);
}
.dati-strategici-menu>label:hover {
	background-color: lightgray;
}
.dati-strategici-card {
	position: relative;
	display: none;
	grid-template-columns: 1fr auto;
	align-items: start;
	max-width: 1050px;
	justify-self: center;
	gap: 40px;
	background-color: #fff;
	padding: 24px;
	border-radius: 12px;
	transition: all 0.5s ease-in-out;
}
		@media (max-width: 1100px) {
			.dati-strategici-card {
				grid-template-columns: 1fr;
				gap: 8px;
				padding: 10px;
				padding-bottom: 0;
			}
		}
.dati-strategici-card > div {
	padding: 10px;
}
.dati-strategici-card .fumetto {
	position: absolute;
	grid-template-columns: auto 1fr;
	align-items: end;
	gap: 16px;
	bottom: 14px;
	left: 18px;
}
		@media (max-width: 1100px) {
			.dati-strategici-card .fumetto {
				position: relative;
				bottom: auto;
				left: auto;
				margin-top: 16px;
			}
		}
.dati-strategici-card .fumetto > img {
	border-radius: 200px;
}
.dati-strategici-card .fumetto > p {
	background-color: #F6F7F8;
	border-radius: 8px;
	padding: 12px;
	font-size: 14px;
	font-style: italic;
	line-height: 135%;
	color: #505962;
	max-width: 370px;
	margin: 0;
}
.dati-strategici-menu:has(label:nth-child(1) input:checked)+.dati-strategici-card-1 {
	display: grid;
}
.dati-strategici-menu:has(label:nth-child(2) input:checked)~.dati-strategici-card-2 {
	display: grid;
}
.dati-strategici-menu:has(label:nth-child(3) input:checked)~.dati-strategici-card-3 {
	display: grid;
}
.dati-strategici-menu:has(label:nth-child(4) input:checked)~.dati-strategici-card-4 {
	display: grid;
}
.dati-strategici-menu:has(label:nth-child(5) input:checked)~.dati-strategici-card-5 {
	display: grid;
}
.dati-strategici-menu:has(label:nth-child(6) input:checked)~.dati-strategici-card-6 {
	display: grid;
}

.posizioni-aperte-tabella {
	background-color: #fff;
	border-radius: 16px;
	padding: 24px 0;
}
.posizioni-aperte-record {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	padding: 12px 24px;
	background: right 24px center url(../ico/arr4.svg) no-repeat;
	background-size: 12px;
	padding-right: 48px;
	transition: all .2s ease-in-out;
}
		.posizioni-aperte-record:hover {
			background-color: #9F247210;
		}
.posizioni-aperte-record:not(:last-child) {
	border-bottom: solid 1px #DEE7F3;
}
.posizioni-aperte-record span {
	display: grid;
	font-family: 'Inter Regular';
	font-size: 14px;
	opacity: .7;
}
.posizioni-aperte-record p {
	margin: 0;
}
.posizioni-aperte-record p:nth-child(1) {
	font-family: 'Inter Semibold';
}
.posizioni-aperte-record p:nth-child(2) {
	color: var(--c-2);
}

.pilastri-grid {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	justify-content: center;
}
.pilastri-grid > a {
	flex: 0 1 calc(100%/3 - 24px);
	align-content: start;
	min-height: 250px;
}
		@media (max-width: 1100px) {
			.pilastri-grid > a {
				flex: 1 1 100%;
				min-height: 300px;
			}
		}


@media (max-width: 1100px) {
	.sliderfader-home {
		padding-left: 20px;
		/*background-color: red;*/
	}
	.sliderfader-home .slides {
		grid-auto-columns: calc(100% - 5rem);
	}
	.sliderfader-home .slide {
		font-size: 24px;
	}
}

@media (max-width: 1100px) {
	.sliderfader-awards {
		padding-left: 20px;
		/*background-color: red;*/
	}
	.sliderfader-awards .slides {
		grid-auto-columns: calc(100% - 8rem);
	}
	.sliderfader-awards .slide p:nth-child(2) {
		font-size: 20px;
	}
}

.striscia-3 {
	width: 100%;
	height: 250px;
	background: url(../images/striscia-3.webp);
	background-size: cover;
	background-position: top;
}

.arcese-esigenze {
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}
		@media (max-width: 1100px) {
			.arcese-esigenze {
				grid-template-columns: 1fr;
				gap: 16px;
			}
		}
.arcese-esigenze > div p {
	display: grid;
	align-content: center;
	height: 100px;
	background-color: #fff;
	border-radius: 8px;
	padding: 16px;
	border-left: solid 6px transparent;
}
.arcese-esigenze > div:nth-child(1) p {
	border-color: #6274A4;
}
.arcese-esigenze > div:nth-child(2) p {
	border-color: #EA7CCF;
}

.headhunting-timeline {
	align-content: start;
	gap: 24px;
}
.headhunting-timeline:after {
	position: absolute;
	content: '';
	top: 20px;
	left: 99px;
	width: 1px;
	height: calc(100% - 40px);
	background-color: #DF55B9;
}
		@media (max-width: 1100px) {
			.headhunting-timeline:after {
				top: 32px;
			}
		}
.headhunting-timeline .giorno {
	align-items: center;
	grid-template-columns: 70px auto 1fr;
	column-gap: 24px;
	user-select: none;
	cursor: pointer;	
}
.headhunting-timeline .giorno p {
	position: relative;
	display: grid;
	margin: 0;
}
.headhunting-timeline .giorno p:nth-child(1)  {
	font-family: 'Inter Semibold';
	font-size: 14px;
	text-align: right;

}
.headhunting-timeline .giorno p:nth-child(2)  {
	width: 11px;
	height: 11px;
	border-radius: 100px;
	background-color: #DF55B9;
}
.headhunting-timeline .giorno p:nth-child(3)  {
	font-family: 'Inter Semibold';
	font-size: 15.5px;
	background-color: #F6F7F8;
	padding: 10px 14px;
	border-radius: 8px;
	border: solid 1px #E8EDF5;
	transition: all .2s ease-in-out;
}
.headhunting-timeline .giorno:last-child p:nth-child(3)  {
	background: none;
	padding: inherit;
	border: none;
	cursor: default;
}
.headhunting-timeline .giorno p:nth-child(3):hover:after  {
	position: absolute;
	content: '';
	top: 50%;
	right: 15px;
	translate: 0 -50%;
	width: 15px;
	height: 15px;
	opacity: .5;
	background: url(../ico/arr6.svg);
	background-size: contain;
	background-repeat: no-repeat;
	transition: all .2s ease-in-out;
}


.practice-hero {
	object-fit: cover;
	object-position: center;
	width: 380px;
	height: 220px;
	border-radius: 8px;
	background-color: #fff;
}
		@media (max-width: 1100px) {
			.practice-hero {
				width: 100%;
				height: 150px;
			}
		}
.practice-parere {
	grid-template-columns: 1fr 1fr;
	align-items: start;
	background-color: #fff;
	padding: 24px;
	border-radius: 8px;
	gap: 60px;
	margin-top: 40px;
}
		@media (max-width: 1100px) {
			.practice-parere {
				grid-template-columns: 1fr;
				gap: 50px;
				margin-top: 40px;
			}
			.practice-parere:has(.practice-parere-testo.dx) .practice-parere-quote {
				order: 2;
			}
			.practice-parere:has(.practice-parere-testo.dx) .practice-parere-testo {
				order: 1;
			}
		}
.practice-parere-testo:is(.sx) {
	padding-top: 10px;
	padding-left: 10px;
}
.practice-parere-testo:is(.dx)  {
	padding-top: 10px;
	padding-right: 10px;
}
.practice-parere-quote {
	padding: 70px 32px 32px 90px;
	background: #FAE9F7 url(../ico/quote.svg) left 36px top 50px no-repeat;
	border-radius: 8px;
}
		@media (max-width: 1100px) {
			.practice-parere-quote {
				padding: 16px;
				background: #FAE9F7 url(../ico/quote.svg) right 16px bottom 16px no-repeat;
				background-size: 40px;
				
			}
		}
.practice-parere-quote > p:nth-child(1) {
	color: #505962;
	font-style: italic;
}
.practice-parere-quote > p:nth-child(2) {
	color: #737F8D;
	margin-top: 16px;
}

.case-menu {
	position: sticky;
	top: 200px;
	align-content: start;
}
		@media (max-width: 1200px) {
			.case-menu {
				position: relative;
				top: auto;
			}
		}
.case-menu p {
	position: relative;
	color: #505962;
	font-size: 14px;
	padding: 12px 16px;
	margin: 0;
	user-select: none;
	user-select: none;
}
		.case-menu p:before {
			position: absolute;
			top: 0;
			left: 1px;
			content: '';
			width: 1px;
			height: 100%;
			background-color: #B8C3D1;
		}
.case-menu p:hover,
.case-menu p:is(.on) {
	cursor: pointer;
	color: var(--c-2);
}

.case-menu p:is(.on):before {
	cursor: pointer;
	width: 3px;
	left: 0;
	background-color: var(--c-2);
}
.case-testo h2 {
	scroll-margin-top: 200px;
}
		@media (max-width: 1200px) {
			.case-testo h2 {
				scroll-margin-top: auto;
			}
		}
.case-testo h3 {
	font-size: 24px;
	color: var(--c-2);
}


.footer-awards {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-column: span 3;
	gap: 20px;
}
		@media (max-width: 1100px) {
			.footer-awards {
				grid-template-columns: 1fr 1fr 1fr;
				grid-column: span 3;
				gap: 20px;
			}
		}
.footer-awards > div {
	place-content: center;
	background-color: #fff;
	padding: 8px;
	border-radius: 8px;
}
@media (max-width: 1100px) {
	.footer-awards > div:nth-child(8) {
		grid-column: 2 / 4;
	}
	.footer-awards > div:nth-child(9) {
		grid-column: 1 / 4;
	}
	.footer-awards > div:nth-child(10) {
		grid-column: 1 / 4;
	}
}
@media (min-width: 1100px) {
	.footer-awards > div:nth-child(10),
	.footer-awards > div:nth-child(9) {
		grid-column: span 2;
	}
}
.footer-awards img {
	width: 100%;
	max-width: 200px;
	height: 120px;
	object-fit: contain;
}

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

.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: 1100px) {
			.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}
.ar-169    { aspect-ratio: 16/9 }
.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: normal; font-family: 'Inter Semibold'; }
.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: 1100px) {
			.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-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: 1100px ) {
			.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: 1100px ) {
			.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: 1100px) {
	.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: 1100px) {
	.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-15   { font-size: 15px }
.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 }
@media (max-width: 1100px) {
	.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: 1100px) {
			.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: 1100px) {
	.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-42   { margin-top: 42px }
.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: 1100px) {
	.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: 1100px) {
	.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: 1100px) {
			.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 }
@media (max-width: 1100px) {
	.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 }
@media (max-width: 1100px) {
	.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 2rem;
	transition: all .6s ease-in-out;
}
.rt-show {
	translate: 0 0;
	opacity: 1;
}
.ri {
	opacity: 0;
	transition: all 2s;
}
.ri-show {
	opacity: 1;
}


/* SLIDING LOGHI */

.ticker-wrap {
	width: 100%;
	overflow: hidden;
	padding: 20px 0;
}
.ticker-wrap:before,
.ticker-wrap:after {
	position: absolute;
	z-index: 10;
	content: '';
	width: 100px;
	height: 100%;
	background-image: linear-gradient(to right, #F4F4F5, transparent);

}
.ticker-wrap:after {
	right: 0;
	background-image: linear-gradient(to left, #F4F4F5, transparent);
}
.ticker-item {
	display: flex;
	gap: 60px;
}
.ticker-rtl {
	animation: ticker-scroll-rtl 65s linear infinite;
}
@keyframes ticker-scroll-rtl {
	0%   { transform: translateX(0) }
	100% { transform: translateX(-50%)	}
}
.ticker-ltr {
	animation: ticker-scroll-ltr 65s linear infinite;
}
@keyframes ticker-scroll-ltr {
	0% { transform: translateX(-50%) }
	100% { transform: translateX(0)	}
}

/* SLIDETOGGLE */

.slidetoggle-group {
	gap: 1px;
	background: #DEE7F3;
	border: solid 1px #DEE7F3;
	border-radius: 12px;
	overflow: hidden;
	user-select: none;
}
.slidetoggle-container {
	overflow: hidden;
	transition: max-height 0.2s ease-in-out;
}
.slidetoggle-trigger {
	align-content: center;
	font-size: 18px;
	font-family: 'Inter Semibold';
	background: #fff url(../ico/chev1.svg) center right 16px  no-repeat;
	background-size: 18px;
	padding: 16px;
	padding-right: 80px;
	min-height: 70px;
	margin: 0;
	cursor: pointer;
}
.slidetoggle-trigger:is(.link) {
	background: #fff url(../ico/chev5.svg) center right 15px  no-repeat;
	background-size: auto 13px;
	color: var(--c-3);
}
		@media (max-width: 1100px) {
			.slidetoggle-trigger {
				font-size: inherit;
				padding: 12px;
				padding-right: 40px;
				height: auto;
				background-size: 14px;
				background-position: center right 12px;
			}
		}
.slidetoggle-trigger-on {
	background-image: url(../ico/chev2.svg);
}
.slidetoggle {
	background-color: #fff;
	color: rgba(0,0,0,.6);
	padding: 16px;
	padding-top: 0;
}
.slidetoggle:is(.m) a {
	background: #fff url(../ico/chev5.svg) center right no-repeat;
	background-size: auto 13px;
	padding: 16px 0;
	border-bottom: solid 1px #DEE7F3;
}
.slidetoggle:is(.m) a:last-child {
	border: none;
}

/* SLIDERFADER */ 

.sliderfader {
	display: grid;
	position: relative;
	container-type: inline-size;
	width: 100%;
}

.slides {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 100%;
	gap: 1rem;
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
}

@container (min-width: 700px) {
	.slides {
		grid-auto-columns: calc(calc(100% - 1rem) / 2);
	}
}

@container (min-width: 1050px) {
	.slides {
		grid-auto-columns: calc(calc(100% - 2rem) / 3);
	}
}

@container (min-width: 1500px) {
	.slides {
		grid-auto-columns: calc(calc(100% - 3rem) / 4);
	}
}

@container (min-width: 1900px) {
	.slides {
		grid-auto-columns: calc(calc(100% - 4rem) / 5);
	}
}

.slide {
	display: grid;
	scroll-snap-align: start;
	background-color: #fff;
}
.slide-home-soluzioni {
	position: relative;
	align-content: end;
	line-height: 110%;
	color: var(--c-1);
	height: 310px;
	background: #fff url(../ico/check1.svg) left 24px top 24px;
	background-repeat: no-repeat;
	background-size: 32px;
	border-radius: 8px;
	border: solid 1px #DEE7F3;
	overflow: hidden;
}
		@media (max-width: 1100px) {
			.slide-home-soluzioni {
				height: 200px;
			}
		}
		@media (min-width: 1100px) {
			.slide-home-soluzioni:nth-of-type(n):hover .info {
				translate: 0 0;
				transition: all .3s ease-out;
			}
			.slide-home-soluzioni:hover .info img {
				opacity: 0;
				transition: all .15s ease-out;
			}
			.slide-home-soluzioni:hover .info p:nth-of-type(2) {
				margin-top: -15px;
				opacity: 1;
				transition: all .5s ease-out;
			}
			.slide-home-soluzioni:hover .info button {
				opacity: 1;
				transition: all .5s ease-out;
			}
		}
.slide-home-soluzioni .info {
	display: grid;
	position: absolute;
	bottom: 0;
	align-content: start;
	align-items: start;
	background-color: #fff;
	width: 100%;
	height: 310px;
	padding: 24px;
	translate: 0 150px;
	transition: all .3s ease-in-out;
}
		@media (max-width: 1100px) {
			.slide-home-soluzioni .info {
				translate: 0 170px;
			}
		}
.slide-home-soluzioni:not(:nth-child(2)) .info p:nth-of-type(1) {
	margin-top: 39px;
}
		@media (max-width: 1100px) {
			.slide-home-soluzioni:nth-child(2) .info p:nth-of-type(1) {
				margin-top: 15px;
			}
		}
.slide-home-soluzioni .info p:nth-of-type(1) {
	font-size: 33px;
	line-height: 120%;
}
		@media (max-width: 1100px) {
			.slide-home-soluzioni .info p:nth-of-type(1) {
				font-size: 22px;
				line-height: 110%;
			}
		}	
.slide-home-soluzioni img {
	width: 20px;
	opacity: 1;
	margin-top: 0;
	transition: all .5s ease-out;
}
.slide-home-soluzioni .info p:nth-of-type(2) {
	margin-top: 24px;
	opacity: 0;
	font-size: 16px;
	line-height: 150%;
	transition: all .5s ease-out;
}
.slide-home-soluzioni .info button {
	opacity: 0;
	justify-self: right;
	margin-top: 24px;
	translate: 0 -10px;
	transition: all .5s ease-out;
}

.sliderfader[mode="fader"] .slide {
	opacity: 0;
}

.sliderfader .controls {
	position: absolute;
	top: -90px;
	right: 0;
	display: grid;
	gap: 16px;
	grid-auto-flow: column;
	user-select: none;
}
		.sliderfader-awards .controls {
			position: relative;
			display: grid;
			justify-self: center;
			top: auto;
			margin-top: 32px;
			right: auto;
			gap: 16px;
			grid-auto-flow: column;
			user-select: none;
		}

.sliderfader .controls div {
	place-content: center;
	width: 48px;
	height: 48px;
	background-color: #fff;
	border: solid 1px #DEE7F3;
	border-radius: 100px;
	cursor: pointer;
	pointer-events: all;
	transition: all .1s ease-in-out;
}

.sliderfader .controls div.disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.sliderfader .controls div:hover {
	background-color: #E1E9FF;
	transition: all .1s ease-in-out;
}

.slides.fader-mode {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	touch-action: pan-y;
}

.slides.fader-mode .slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
	border: none !important;
}

.slides.fader-mode .slide.active {
	opacity: 1;
}

.slide-indicators {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	grid-auto-flow: column;
	gap: 10px;
	z-index: 10;
}

.indicator-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	transition: all 0.3s ease;
	border: 2px solid rgba(255, 255, 255, 0.6);
}

.indicator-dot:hover {
	background: rgba(255, 255, 255, 0.7);
	transform: scale(1.1);
}

.indicator-dot.active {
	background: #fff;
	border-color: #fff;
	transform: scale(1.2);
}

.slide-indicators.dark-style .indicator-dot {
	background: rgba(27, 25, 39, 0.4);
	border-color: rgba(27, 25, 39, 0.6);
}

.slide-indicators.dark-style .indicator-dot:hover {
	background: rgba(27, 25, 39, 0.7);
}

.slide-indicators.dark-style .indicator-dot.active {
	background: #1b1927;
	border-color: #1b1927;
}

/* MODAL */

.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

.modal:is(.show) {
	opacity: 1;
	visibility: visible;
}

.modal-content {
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% - 32px);
	max-width: 550px;
	translate: -50% -35%;
	padding: 24px 40px 16px 24px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	transition: all 0.5s ease;
}

.modal.show .modal-content {
	translate: -50% -50%;
}

.open-btn,
.close-btn {
	background: #007bff;
	color: white;
	border: none;
	padding: 10px 20px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 16px;
}

.open-btn:hover,
.close-btn:hover {
	background: #0056b3;
}

.close-btn {
	position: absolute;
	top: 0;
	right: 0;
	padding: 12px;
	color: #000;
	background: none;
}

.close-btn:hover {
	background: none;
}