@charset "utf-8";
/* CSS Document */

/*START BODY*/
:root {
 --main-color: #000000;
 --background-color: #333333;
 --font-size: 19px;
 --font-family:
 'poppins', sans-serif;
  --max-W: 1140px;
  --max-Wplus: 1900px;
 --base: #042f41;
 --contrasto:#f8ac13;
 --focusC:#00a19a;
 --neutra-color: #e5e5e5;
 --padding-lateral:20px;
 --TopBtt-paddMarg:40px;
 --space-text:20px;
}
body, html {
	overflow-x: hidden;
}
body {
	position: relative;
	height: 100%;
	width: 100%;
	font-family: var(--font-family);
	font-size: var(--font-size);
	color: var(--base);
}
h1 {
    font-size: 3.2em;
    line-height: 1;
}

h2 {
    font-size: 2.4em;
    line-height: 1.2;
}

h3 {
    font-size: 2em;
    line-height: 1.2;
}

.language {
    color: #fff;
    font-size: 10px;
}

img {
    -webkit-backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
}
.PPlus {font-size: 1.1em;}
.PMinus {font-size: .95em;}

strong{
	font-weight:bold;
}
.center{
	text-align:center!important;
}
.left{
	text-align:left!important;
}
.right{
	text-align:right!important;
}
main {
	display: flex;
	flex-direction: column;
}
.content {
	max-width: var(--max-W);
	margin: auto;
	width: 100%;
	padding-left: var(--padding-lateral);
	padding-right: var(--padding-lateral);
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.NoPadding, .NoPadding .col{
	padding-left: 0!important;
	padding-right: 0!important;
}

header .content {
	max-width: var(--max-Wplus);
}

.raw {
    display: flex;
    flex-wrap: wrap;
    /* margin-right: -10px; */
    /* margin-left: -10px; */
    position: relative;
    width: 100%;
}
img.img_scale {
    width: 100%;
    height: auto;
    max-height:100%;
}

.into_col .desc_img_title, into_col_static .desc_img_title {
    position: absolute;
    bottom: 28px;
    color: #fff;
    /* font-size: 1.2em; */
    width: 100%;
    text-align: center;
    /* padding: 20px; */
    font-weight: 600;
    padding-right: 20px;
    padding-left: 20px;
}
.image_block .col {
    padding: 0;
    /* height: 300px; */
    position: relative;
}
.top_margin {
	margin-top: var(--TopBtt-paddMarg);
}
.bottom_margin {
	margin-bottom: var(--TopBtt-paddMarg);
}
.top_padding {
	padding-top: var(--TopBtt-paddMarg);
}
.bottom_padding {
	padding-bottom: var(--TopBtt-paddMarg);
}
.title_section {
	/* font-size: 2.4em; */
	font-weight: 700;
	margin-bottom: var(--space-text);
	text-align: center;
	width: 100%;
}
.color1 {
	color: var(--base);
}
.color2 {
	color: var(--contrasto);
}

.color3 {
	color: var(--focusC);
}
.color4 {
	color: var(--background-color);
}
/*MENU RESPONSIVE HAMBURGER*/
/*Loader*/
.loader_screen {
    position: fixed;
    z-index: 99999999;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--contrasto);
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: row;
}


.content_loader img {
    height: 81px;
}

@keyframes myAnim {
	0% {
		transform: translate(0);
	}

	10% {
		transform: translate(-2px, -2px);
	}

	20% {
		transform: translate(2px, -2px);
	}

	30% {
		transform: translate(-2px, 2px);
	}

	40% {
		transform: translate(2px, 2px);
	}

	50% {
		transform: translate(-2px, -2px);
	}

	60% {
		transform: translate(2px, -2px);
	}

	70% {
		transform: translate(-2px, 2px);
	}

	80% {
		transform: translate(-2px, -2px);
	}

	90% {
		transform: translate(2px, -2px);
	}

	100% {
		transform: translate(0);
	}
}


#mod1_ld{
  animation: myAnim 1s ease 1ms infinite none;
}
#mod2_ld{animation: myAnim 1.2s ease 0ms infinite alternate none;}
#mod3_ld{animation: myAnim 2.2s ease 0ms infinite alternate none;}


/*head*/
header {
	background-color: #ffffff;
	height: 155px;
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 0px;
	left: 0;
	right: 0;
	z-index: 2;
}
#main-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header .content {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding-right: 80px;
	padding-left: 80px;
}
header #logo {
	width: auto;
	height: 55px;
}
div#bannerTopslim {
	display: block;
	width: 100%;
	height: 55px;
	background-color: var(--base);
}
.hamburger-menu {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	height: 20px;
	width: 30px;
	cursor: pointer;
}
.hamburger-line {
	width: 36px;
	height: 4px;
	background-color: var(--base);
	transition: all 0.3s ease-in-out;
	opacity: 1;
}
.nav-list, .sub-menu {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
}
.nav-list > li {
	display: inline-block;
}
.nav-list > li:not(:last-child) {
	margin-right: 14px;
	text-align: left;
}
.nav-list a, .sub-menu a {
	color: var(--base);
	text-decoration: none;
	font-size: 0.9em;
	font-weight: 400;
}
.dropdown {
	position: relative;
}
.sub-menu {
	display: none;
	position: absolute;
	background-color: #fff;
	padding: 12px;
	min-width: 150px;
	font-size: .8em;
}
.sub-menu li {
	display: block;
	text-align: left;
}
.sub-menu li:not(:last-child) {
	margin-bottom: 10px;
}

.sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
#menuTop {
    height: 100px;
    background-color: #fff;
    margin: 0;
    display: flex;
}
.sticky .nav-list.show {
}

/* ... (codice CSS precedente) ... */

/* Animazioni */


@keyframes rotateIn {
 0% {
 opacity: 0;
 transform: rotate(-90deg);
}
 100% {
 opacity: 1;
 transform: rotate(0deg);
}
}
/* Stili per l'animazione del menu hamburger */
.hamburger-menu-open .hamburger-line:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.hamburger-menu-open .hamburger-line:nth-child(2) {
	opacity: 0;
}
.hamburger-menu-open .hamburger-line:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}
/* Animazione per l'apertura del menu principale su dispositivi mobili e tablet */
.nav-list.show {
	opacity: 1;
	display: flex;
	animation: opacity 0.3s ease-in;
}
/* Animazione per l'apertura dei sottolivelli */
.sub-menu.show {
	opacity: 1;
	display: block;
	animation: opacity 0.3s ease-in;
}
/* Animazione per l'apertura dei sottolivelli su desktop */
.dropdown:hover .sub-menu {
}

a.contentlogo {
    display: flex;
}
/* Stili e animazioni per dispositivi mobili e tablet */
@media (max-width: 767px) {
.nav-list, .sub-menu {
	opacity: 0;
}
.hamburger-menu {
	display: flex;
	z-index: 1;
	border: 0;
	background: transparent;
}
.nav-list {
	display: none;
	position: absolute;
	top: 55px;
	left: 0;
	background-color: #ffffff;
	flex-direction: column;
	padding: 10px 0;
	width: 100%;
	padding-left: 25px;
	padding-top: 25px;
	padding-bottom: 25px;
	/* display: flex; */
	align-items: baseline;
	font-size: 1.4em;
	padding-right: 20px;
	/* height: calc(100vh - 55px); */
}
.nav-list > li {
	display: block;
	margin-bottom: 10px;
	flex-direction: column;
}
.nav-list.open {
	display: flex;
}
.sub-menu {
	width: 100%;
	position: relative;
}

.sticky .nav-list{
	margin-top: 45px;
}

	
/* Animazione icona hamburger */
.hamburger-menu-open .hamburger-line:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
	transition: transform 0.3s ease-in-out;
}
.hamburger-menu-open .hamburger-line:nth-child(2) {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out;
}
.hamburger-menu-open .hamburger-line:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
	transition: transform 0.3s ease-in-out;
}
/* Animazione sottomenu */
.sub-menu.open {
	display: block;
}
}


/*BLOCCHIpage*/
.into_col, .into_col_static {
    position: relative;
    width: 100%;
    padding: 0;
    padding-bottom: 100%;
    overflow: hidden;
}
.background-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  /* z-index: -1; */ /* Assicurati che l'immagine di sfondo sia dietro al contenuto */
  transition: all .5s cubic-bezier(0, 0, 0.32, 1.04);
}
.background-image img {
    width: 100%;
    height: auto;
}
.content.image_block {
    margin: 0;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
}

.verticalCC {
    align-items: center;
}
.commento {
    font-weight: 700;
    padding-top: 40px;
    padding-bottom: 40px;
}

.color1_block {
    background-color: var(--contrasto);
    position: relative;
}

.color1_block .title_section {
    color: var(--focusC);
}
.color2_block {
        background-color: var(--base);
        color: #fff;
}
.color2_block a {
        color: var(--contrasto)
}
.color2_block .title_section {
    color: var(--contrasto);
	 margin: 0px;
}

.color4_block {
    background-color: var(--neutra-color);
    position: relative;
}

.color4_block .title_section {
    color: var(--focusC);
    margin: 0px;
}

.color3_block {
    background-color: var(--focusC);
    position: relative;
    color: #fff;
}

.color3_block .title_section,.color3_block a {
    color: var(--contrasto);
}

.blockList  .icon_list {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin-bottom: 9px;
}

.blockList  .desc_img_title {
    color: var(--base);
    position: relative;
    text-align: left;
    padding: 0;
    bottom: 0;
    margin-bottom: 11px;
}
.divisor_right{
 border-right: solid 1px var(--contrasto);
}
.divisor_left{
 border-right: solid 1px	
}
/*LISTA*/
.ulList li {
    list-style: none;
    font-size: .9em;
}
.ulList {
    text-align: left;
    margin-bottom: 40px;
}
.ulList li {
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--base);
}

.ulList .desc_img_title {
    /* color: #000; */
    font-weight: 700;
}
/*TRAFILETTO immagine*/
.trafiletto {
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    position: absolute;
    background-color: var(--base);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-left: 20px;
    padding-right: 20px;
    font-size: .95em;
    filter : opacity(0);
    transition: all .5s;
     /*for older browsers*/
}


span.commas {
    padding-top: 20px;
    padding-bottom: 20px;
    font-style: italic;
    font-weight: 200;
}
/*////team*/
.trafiletto_img {
    color: var(--base);
    margin-top: 20px;
}

.scherma {
    position: absolute;
    top: 158px;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: white;
}
.paddingInCel {
    padding: 21px;
}
.desc_img_title.sottotitoletto {
    font-size: 1em;
    font-weight: 600;
}

.desc_img_title.commento_titolo {
    font-size: 1em;
    font-style: italic;
}

.desc_img_title.titoletto {font-weight: 600;}
.grey {
    filter: brightness(100%) contrast(100%) grayscale(100%);
    transition: all .5s cubic-bezier(0, 0, 0.32, 1.04);
}
.grey_hover:hover .grey {
    filter: brightness(100%) contrast(100%) grayscale(0%);
    transition: all .5s cubic-bezier(0, 0, 0.32, 1.04);
}
.background_opacity {
    width: 100%;
    height: 100%;
    position: absolute;
    background-size: cover;
    background-position: center;
    filter: grayscale(1) opacity(0.15);
    z-index: -1;
    transform: translateZ(0);
    will-change: transform;
}
a.linkSocial {
    padding: 12px;
    border: solid 1px var(--contrasto);
    color: var(--contrasto);
    margin-top: 21px;
}
/*SOCIAL link*/
a.linkSocial {
    display: flex;
    align-items: flex-end;
}
.socialbox {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 59px;
}
.socialbox img {
    width: 27px;
}
.socialbox a {
    margin-left: 10px;
    /* width: 27px; */
}

.logoSocial.into_bio img {
}

.logoSocial.into_bio img:hover{
    opacity:.6
}
#call1 img.social.socialTop {
    width: 130px;
    padding: 31px;
}
#call1 img.social.socialTop:hover {
    filter: blur(1px);
    filter: grayscale(1) brightness(1);
}
/*SLIDER SWIPFER*/
#slide-intro .swiper {
    padding-top: 156px;
    display: flex;
    align-items: center;
}

.swiper {
	width: 100%;
	height: 100%;
	    max-height: 100vh;
}
.swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gradienteimmagine_blu {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #042f41;
	background: linear-gradient(0deg, rgb(4 47 65 / 97%) 0%, rgb(4 47 65 / 0%) 45%);
	background: rgb(4,47,65);
	background: linear-gradient(0deg, rgba(4,47,65,0.7651435574229692) 0%, rgba(4,47,65,0) 29%, rgba(4,47,65,0) 81%, rgba(4,47,65,0.15730042016806722) 91%, rgba(4,47,65,0.7203256302521008) 100%);
}
/*FOOTER*/
footer .PMinus {
    font-size: .7em;
}
