/* reset CSS */

@keyframes cssload-spin {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-webkit-keyframes cssload-spin {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@font-face {
	font-family: 'Nexa Light';
	src: url('../fonts/Nexa Light.eot');
	src: url('../fonts/Nexa Light.eot?#iefix') format('embedded-opentype'), url('../fonts/Nexa Light.woff2') format('woff2'), url('../fonts/Nexa Light.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Nexa Book';
	src: url('../fonts/Nexa-Book.eot');
	src: url('../fonts/Nexa-Book.eot?#iefix') format('embedded-opentype'), url('../fonts/Nexa-Book.woff2') format('woff2'), url('../fonts/Nexa-Book.woff') format('woff'), url('../fonts/Nexa-Book.ttf') format('truetype'), url('../fonts/Nexa-Book.svg#Nexa-Book') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Nexa Bold';
	src: url('../fonts/NexaBold.eot');
	src: url('../fonts/NexaBold.eot?#iefix') format('embedded-opentype'), url('../fonts/NexaBold.woff2') format('woff2'), url('../fonts/NexaBold.woff') format('woff'), url('../fonts/NexaBold.ttf') format('truetype'), url('../fonts/NexaBold.svg#NexaBold') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

* {
	padding: 0;
	margin: 0;
	outline: none !important;
}

html, body {
	max-width: 100%;
	overflow-x: hidden;
}

body {
	font-family: 'Nexa Book';
	color: #000000 !important;
	font-weight: normal !important;
	font-size: 20px;
	line-height: 26px;
}

.z-index10 {
	z-index: 10;
}

.logo {
	width: 220px;
	height: auto;
	margin-left: 15px;
	transition: all 0.1s ease-in-out;
}

.logo.small {
	width: 200px;
	height: auto;
	margin-left: 15px;
	transition: all 0.1s ease-in-out;
}

a {
	text-decoration: none;
	cursor: pointer !important;
}

.nexa-bold {
	font-family: 'Nexa Bold' !important;
}

.py-100 {
	padding: 100px 0;
}

.pb-100 {
	padding-bottom: 100px;
}

.pt-100 {
	padding-top: 100px;
}

.mb-100 {
	margin-bottom: 100px;
}

.mt-100 {
	margin-top: 100px;
}

.wrapper-1200 {
	max-width: 1200px;
}

/* ---------------------------  CUSTOM ---------------------------*/

.bg-red-light {
	background: rgba(243, 222, 227, 1);
}

.bg-green-light {
	background: rgba(232, 243, 235, 1);
}

.bg-blue-light {
	background: rgba(219, 230, 236, 1);
}

.bg-grey-light {
	background: #F4F4F4;
}

.bg-grey-superlight {
	background: #f8f8f8;
}

.bg-black {
	background: #000;
}

.bg-white {
	background: #fff;
}

.text-red {
	color: #E6224F !important;
}

.text-green {
	color: #1D893A !important;
}

.text-blue {
	color: #006EA8 !important;
}

.divider {
	height: 2px;
	background-color: #F4F4F4;
	width: 100%;
	margin: 60px 0;
}

.circle-red {
	width: 36px;
	height: 36px;
	background: #E6224F;
	border-radius: 100%;
	margin-bottom: 20px;
}

.circle-green {
	width: 36px;
	height: 36px;
	background: #1D893A;
	border-radius: 100%;
	margin-bottom: 20px;
}

.circle-blue {
	width: 36px;
	height: 36px;
	background: #006EA8;
	border-radius: 100%;
	margin-bottom: 20px;
}

.btn-red {
	font-family: 'Nexa Bold';
	font-size: 16px;
	color: #fff;
	background: rgba(230, 34, 79, 1);
	border-radius: 8px;
	padding: 10px 30px;
}

.btn-red:hover, .btn-red:focus {
	color: #fff;
	background: rgb(206, 10, 55);
}

.btn-green {
	font-family: 'Nexa Bold';
	font-size: 16px;
	color: #fff;
	background: rgba(29, 137, 58, 1);
	border-radius: 8px;
	padding: 10px 30px;
}

.btn-green:hover, .btn-green:focus {
	color: #fff;
	background: rgb(20, 117, 46);
}

.btn-blue {
	font-family: 'Nexa Bold';
	font-size: 16px;
	color: #fff;
	background: rgba(0, 110, 168, 1);
	border-radius: 8px;
	padding: 10px 30px;
}

.btn-blue:hover, .btn-blue:focus {
	color: #fff;
	background: rgb(1, 94, 145);
}

.btn-black {
	font-family: 'Nexa Bold';
	font-size: 16px;
	color: #fff !important;
	background: rgba(0, 0, 0, 1);
	border-radius: 8px;
	padding: 10px 30px;
}

.btn-black:hover, .btn-black:focus {
	color: #fff !important;
	background: rgba(51, 51, 51, 1);
}

a.more {
	font-family: 'Nexa Bold';
	font-size: 14px;
	color: #000;
	transform-origin: center left;
	transition: all 0.2s ease-in-out;
	display: inline-block;
}

a.more:hover {
	font-family: 'Nexa Bold';
	font-size: 14px;
	color: #000;
	transform: scale(1.1);
}

.title-big {
	font-family: 'Nexa Light';
	font-size: 30px;
	color: #000;
}

.subtitle-big {
	font-family: 'Nexa Book';
	font-size: 18px;
	color: #000;
	line-height: 24px;
}

.subtitle-small {
	font-family: 'Nexa Light';
	font-size: 16px;
	color: #000;
	line-height: 22px;
}

.content-text {
	font-family: 'Nexa Book';
	font-size: 14px;
	color: #000;
	line-height: 20px;
}

.content-text>ul {
	font-family: 'Nexa Bold';
	font-size: 14px;
	color: #000;
	display: block !important;
	list-style-type: none !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	padding-inline-start: 0px !important;
}

.content-text>ul li {
	margin-bottom: 10px;
	vertical-align: middle;
}

.content-text>ul li a {
	font-family: 'Nexa Bold';
	font-size: 14px;
	color: #000;
	line-height: 24px;
}

.content-text>ul li a:hover {
	color: #444;
}

/* ---------------------------  MENU ---------------------------*/

.navbar {
	height: 90px;
}

.navbar-light .navbar-nav .nav-link {
	font-family: 'Nexa Bold';
	font-size: 15px;
	color: rgba(0, 0, 0, 1);
	margin: 0 10px 0 0;
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
	color: rgba(51, 51, 51, 1);
}

.dropdown-toggle::after {
	display: none;
}

.dropdown-menu {
	position: absolute;
	z-index: 1000;
	display: none;
	min-width: 10rem;
	padding: .5rem 0;
	margin: 0;
	font-family: 'Nexa Book';
	font-size: 15px;
	color: #000;
	text-align: left;
	list-style: none;
	background-color: rgba(255, 255, 255, 0.8);
	background-clip: padding-box;
	border: 0px solid rgba(0, 0, 0, .15);
	border-radius: 0rem;
}

.dropdown-item {
	display: block;
	width: 100%;
	padding: .25rem 1rem;
	clear: both;
	font-family: 'Nexa Book';
	color: #000;
	text-align: inherit;
	text-decoration: none;
	white-space: nowrap;
	background-color: transparent;
	border: 0;
}

.dropdown-item:hover {
	color: #333;
	background-color: transparent !important;
	font-family: 'Nexa Book';
}

.navbar-collapse {
	padding-left: 15px;
	padding-right: 15px;
	margin-top: 15px;
}

.navbar-toggler {
	margin-right: 15px;
}

.navbar-toggler:focus {
	text-decoration: none;
	outline: 0;
	box-shadow: 0 0 0 0rem;
}

/* ---------------------------  SLIDER HOME  ---------------------------*/

.swiper {
	width: 100%;
	height: 100%;
}

.swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.swiper-slide .title {
	font-family: 'Nexa Bold';
	font-size: 44px;
	color: #000;
}

.swiper-container-horizontal>.swiper-pagination-bullets {
	bottom: 30px !important;
	left: 0;
	width: 100%;
}

.swiper-pagination-bullet {
	width: 10px !important;
	height: 10px !important;
	display: inline-block;
	border-radius: 50%;
	background: #000;
	opacity: .2;
}

.swiper-pagination-bullet-active {
	opacity: 1;
	background: #000 !important;
}

/* ---------------------------  HEADER ---------------------------*/

.testata {
	height: 480px;
}


/* ---------------------------  PAGINE INTERNE ---------------------------*/

.category img {
	max-width: 290px;
	height: auto;
}


/* ---------------------------  STAFF  ---------------------------*/

.staff .image {
	border-radius: 100%;
	border: 1px solid #DEDEDE;
	max-width: 270px;
	height: auto;
}

.staff .image-big {
	border-radius: 100%;
	border: 1px solid #DEDEDE;
	height: auto;
}

.staff .logo {
	max-width: 280px;
	height: auto;
}

.staff .name {
	font-family: 'Nexa Light';
	font-size: 16px;
	color: #000;
	text-transform: uppercase;
}

.staff .desc {
	font-family: 'Nexa Book';
	font-size: 14px;
	line-height: 20px;
	color: #000;
}

/* ---------------------------  CONTATTI  ---------------------------*/


.form-control {
	display: block;
	width: 100%;
	padding: 10px .75rem;
	font-size: 14px !important;
	font-weight: 400;
	line-height: 16px !important;
	color: #000 !important;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #DEDEDE !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: .25rem;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-control::placeholder {
	font-size: 14px;
	line-height: 14px;
	color: #000;
}

.form-control:focus {
	color: #000000;
	background-color: #fff;
	border-color: #D3D3D3;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgb(211 211 211 / 15%);
}

.form-select {
	font-size: 14px;
	line-height: 14px;
	color: #000;
	padding: 11px .75rem;
}

.form-check-input {
	width: 16px;
	height: 16px;
	margin-top: .25em;
	vertical-align: center;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: 1px solid #D3D3D3;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
}

.form-check-input:checked {
	background-color: #000;
	border-color: #000;
}

.form-check-input:focus {
	border-color: #D3D3D3;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgb(211 211 211 / 15%);
}

.form-check-label {
	font-size: 14px;
	color: #000;
}

.form-check-label a {
	font-size: 14px;
	color: #000;
	text-decoration: underline;
}

.contact a {
	font-family: 'Nexa Book';
	font-size: 14px;
	line-height: 20px;
	color: #000;
}

.contact a:hover {
	text-decoration: underline;
}


/* ---------------------------  FOOTER  ---------------------------*/

.footer .title {
	font-family: 'Nexa Light';
	font-size: 16px;
	line-height: 22px;
	color: #fff;
	text-transform: uppercase;
}

.footer p {
	font-family: 'Nexa Book';
	font-size: 14px;
	line-height: 20px;
	color: #fff;
}

.footer a {
	color: #fff;
	text-decoration: none;
}

.footer a:hover {
	opacity: 0.7;
}

/*------------ RESPONSIVE MEDIA ------------*/

/* X-Small devices (portrait phones, less than 576px) */

/* No media query for `xs` since this is the default in Bootstrap */

/* Small devices (landscape phones, 576px and up) */

@media (min-width: 576px) {}

/* Medium devices (tablets, 768px and up) */

@media (min-width: 768px) {}

/* Large devices (desktops, 992px and up) */

@media (min-width: 992px) {}

/* X-Large devices (large desktops, 1200px and up) */

@media (min-width: 1200px) {}

/* XX-Large devices (larger desktops, 1400px and up) */

@media (min-width: 1200px) {}

@media (min-width: 1400px) {}

@media (min-width: 1600px) {}

@media (max-width: 991px) {
	.logo {
		width: 220px;
		height: auto;
	}
}

@media (max-width: 1199px) {
	.navbar-collapse {
		background-color: rgba(255, 255, 255, 1);
	}

	.navbar {
		background-color: rgba(255, 255, 255, 1);
	}

	.swiper {
		margin-top: 90px;
	}
}

@media (max-width: 991px) {}

@media (min-width: 1200px) and (max-width: 1399px) {}