@charset "utf-8";
:root {
  --red-color: #d13627;
  --grey-color:#6991a5;
}
div#container-header {
    position: relative;
	z-index:100;
}
body:not(.page-id-1435) div#container-header {
    top: 44px;
}
.main-visual{
    position:relative;
    width:100%;
    height:100vh;
	overflow:hidden;
}
.main-visual>div.content-main-visual{
    position:relative;
    width:100%;
    height:100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: center;
    align-items: flex-start;
	padding:0 6%;
}
.main-visual>div.content-main-visual:before{
    position:absolute;
	z-index:1;
	content:"";
    width:100%;
    height:100%;
	background-color: #0f0f0f;
    opacity: 0.3;
	left:0;
}
.main-visual .video-embed {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    overflow: hidden; 
}
.main-visual video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.main-visual h1{
	font-family: "Din-Bold";
	font-size: 60px;
	color:#ffffff;
	letter-spacing:-.5px;
	margin-top: 200px;
	z-index:2;
}
.main-visual h2{
	text-align:left;
	z-index:2;
	color: #ffffff;
    font-family: "Arapey-Italic";
    font-size: 50px;
    line-height: 50px;
    font-weight: 100;
	letter-spacing:0;
}
.main-visual a{
	position:relative;
	margin-top:70px;
	font-family: "Din-Medium";
	font-size:16px;
	background-color:#ffffff;
	border:0;
	padding: 10px 30px;
	text-transform:uppercase;
	color:#000000;
	letter-spacing:1px;
	min-width: 300px;
    line-height: 20px;
	z-index:2;
}
.main-visual a:hover, .main-visual a:focus, .main-visual a:active{
	color:#ffffff;
	border:0;
}
header#site-header {
    position: fixed;
    left: 0;
    width: 100%;
	background-color:rgba(0,0,0,0.7);
	z-index:99;
	transition:0.3s all ease;
}
body:not(.page-id-1435) header#site-header {
    top: 44px;
}
header#site-header.open, body:not(.home) header#site-header{
	background-color:#ffffff;
}
.page-template-landing-fuxia header#site-header.open,body.page-template-landing-fuxia:not(.home) header#site-header{
	background-color:#d92d8a;
}
header#site-header .content-header{
    position: relative;
    width:100%;
    padding-left: calc((100% - 1660px) / 2);
    margin:0 auto;
    height:70px;
    line-height:70px;
}
header#site-header .content-header .logo{
    position: relative;
    width:100%;
    max-width:180px;
    height:auto;
    margin-left:10px;
}
.page-template-landing-fuxia header#site-header .content-header .logo{
	display:none !important;
}
header#site-header .content-header div, header#site-header .content-header div a, header#site-header .content-header span:not(#burger-menu span)
{
    position: relative;
    color:#ffffff;
    font-family: "Din-Regular";
    font-size:16px;
    letter-spacing:1px;
}
.page-template-landing-fuxia header#site-header .content-header div nav{
	display:none !important;
}
header#site-header.open .content-header div, 
header#site-header.open .content-header div a, 
header#site-header.open .content-header span:not(#burger-menu span), 
body:not(.home) header#site-header .content-header div a, 
body:not(.home) header#site-header .content-header div, 
body:not(.home) header#site-header .content-header span:not(#burger-menu span){
    color: #000000;
}
header#site-header .content-header div a:hover, header#site-header .content-header div a:active, header#site-header .content-header div a:focus{
    text-decoration:none;
}
header#site-header .content-header div a i{
    position:relative;
}
header#site-header .content-header div a.telefono{
    padding-right:5px;
}
header#site-header .content-header div>span{
    padding:0 5px;
}
header#site-header .content-header div a.telefono + span{
    padding:0 5px 0 0;
}
header#site-header .content-header div a.telefono + span:before{
    content:"-";
    position:relative;
    display:inline-block;
    padding-right:5px;
}
header#site-header .content-header div a.button {
	border:0;
	border-bottom: 5px solid var(--red-color);
    height: 70px;
    /* border: 0; */
    display: flex;
    align-items: flex-start;
    padding: 0px 18px;
    font-size: 15px;
    line-height: 17px;
    max-width: 220px;
    font-family: "Din-Regular";
    justify-content: center;
    flex-direction: column;
    color: #000000;
	text-transform:uppercase;
}
.page-template-landing-fuxia header#site-header .content-header div a.button {
	border-bottom: 5px solid #d92d8a;
}
header#site-header .content-header div a.button:hover, header#site-header .content-header div a.button:active, header#site-header .content-header div a.button:focus{
	background-color:#ffffff;
	color:#000000;
}
header#site-header .content-header div a.button:hover, header#site-header .content-header div a.button:active, header#site-header .content-header div a.button:focus{
	background-color:#ffffff;
	color:#000000;
}
header#site-header .content-header div a.button:after {
    display:none;
}
header#site-header.open .content-header div a.button, body:not(.home) header#site-header div a.button{
    background-color: var(--red-color);
	color:#ffffff;
}
body.page-template-landing-fuxia:not(.home) header#site-header div a.button{
    background-color: #ffffff;
	color:#000000;
}
header#site-header .content-header a.club-link {
    position: relative;
    width: auto;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
	padding:0 15px;
}
header#site-header .content-header a.club-link img{
	position:relative;
	width:25px;
	margin-right:10px;
	height:auto;
	top:-4px;
}

#site-header .language-switcher:before, header#site-header .content-header a.club-link:before {
    content: "";
    width: 1px;
    height: 35px;
    top: 17px;
    position: absolute;
    background-color: #ffffff;
    display: block;
	left:0;
}
body:not(.home) #site-header .language-switcher:before,body:not(.home) header#site-header .content-header a.club-link:before{
	background-color: #000000;
	z-index:1;
}
#site-header .language-switcher ul, #site-header .main-menu ul{
    padding: 0;
    margin: 0;
    position: relative;
}
#site-header .language-switcher ul li{
    padding: 0;
    margin: 0;
    position: relative;
	list-style:none;
	background-color:rgba(0,0,0,0.7);
	line-height:40px;
	display:none;
	transition:0.3s background-color ease;
}
#site-header.open .language-switcher ul li, 
body:not(.home) header#site-header .language-switcher ul li{
	background-color:#ffffff;
}
#site-header .language-switcher ul li a{
    padding: 0 20px;
    position: relative;
	display:block;
}
#site-header .language-switcher ul li.current-language{
	cursor:pointer;
	background-color:transparent;
	line-height:70px;
	display:block;
	padding: 0 20px;
}
#site-header .language-switcher ul:hover li:not(.current-language), #site-header .main-menu ul li:hover ul {
    display:block;
}
#site-header .language-switcher ul:hover li:not(.current-language):hover {
   background-color:rgba(0,0,0,0.8);
}
#site-header.open .language-switcher ul:hover li:not(.current-language):hover, body:not(.home) header#site-header .language-switcher ul:hover li:not(.current-language):hover{
	background-color:#ffffff;
}
#site-header .language-switcher ul li img {
    position: relative;
    margin-left: 8px;
	width: 11px;
    filter: invert(1);
}
#site-header.open .language-switcher ul li img, body:not(.home) header#site-header .language-switcher ul li img{
    filter: invert(0);
}
#site-header .main-menu ul li{
	position:relative;
	display:inline-block;
	padding:0;
	margin:0;
	list-style:none;
	padding:0 20px;
}
#site-header .main-menu ul li.has-children {
    padding: 0 20px 0 20px;
}
#site-header .main-menu ul li a{
	position:relative;
	display:block;
}
#site-header .main-menu ul ul{
	position:absolute;
	display:none;
}
#site-header .main-menu ul li img {
    position: absolute;
    margin-left: 8px;
    display: inline-block;
    transform: rotate(-90deg) translateY(-50%);
	transition:0.3s transform ease;
    top: 44%;
    right: 0;
	margin-left: 8px;
    width: 11px;
}
.home #site-header .main-menu ul li img{
	filter: invert(1);
}
#site-header .main-menu ul ul li{
	background-color:rgba(0,0,0,0.7);
	text-transform:uppercase;
	width:180%;
	text-align:center;
}
body:not(.home) #site-header .main-menu ul ul li{
	background-color:#ffffff;
}
#site-header .main-menu ul ul li a{
	display:inline-block;
	line-height:normal;
}
#site-header .main-menu ul li ul li a::after{
	content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #ffffff;
    visibility: hidden;
    transform: scaleX(0);
	transform-origin: left; /* L'animazione parte da sinistra */
    transition: all 0.3s ease-in-out;
}
body:not(.home) #site-header .main-menu ul ul li a::after{
	background-color:#000000;
}
#site-header .main-menu ul li:hover ul li:hover a::after{
	visibility: visible;
    transform: scaleX(1);
}
#site-header .main-menu ul li:hover img {
    transform: rotate(0deg) translateY(-50%);
	top:50%;
	right:0;
}
/* END - NEW BAR MULTISITE */
#burger-menu-container{
	position:relative;
	padding:0 10px;
}
#burger-menu {
  width: 30px;
  height: 22px;
  position: relative;
  margin: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
}
#burger-menu span{
  display: block;
  position: absolute;
  height: 2px;
  width: 30px;
  border-radius: 0px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  background-color:#ffffff;
}
#burger-menu.open span, body:not(.home) header#site-header #burger-menu span{
  background-color:#000000;
}
#burger-menu span:nth-child(1) {
  top: 0px;
}
#burger-menu span:nth-child(2), #burger-menu span:nth-child(3) {
  top: 10px;
}
#burger-menu span:nth-child(4) {
  top: 20px;
}
#burger-menu.open span:nth-child(1) {
  top: 14px;
  width: 0%;
  left: 50%;
}
#burger-menu.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
#burger-menu.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#burger-menu.open span:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%;
}
#burger-menu.open span:nth-child(1), #burger-menu.open span:nth-child(4){
	display:none;
}
div#mobile-menu {
    display:none;
}
div#mobile-menu.open {
    position: fixed;
    top: 114px;
    height: calc(100vh - 114px);
    width: 100%;
    z-index: 999;
    background-color: rgba(0, 0, 0, 0.7);
	display:block;
	overflow-y:auto;
}
div#mobile-menu .container-mobile-menu {
	position:relative;
    padding: 15% 100px 15%;
}
div#mobile-menu .container-mobile-menu ul{
	position:relative;
    padding:0;
	margin:0;
}
div#mobile-menu .container-mobile-menu ul ul{
    padding:0 0 0 30px;
	display:none;
}
div#mobile-menu .container-mobile-menu ul ul.active{
	display:block;
}
div#mobile-menu .container-mobile-menu ul li{
	position:relative;
    padding:0;
	margin:0;
	list-style:none;
	margin-top:30px;
}
div#mobile-menu .container-mobile-menu>ul>li:first-child:{
	margin-top:0px;
}
div#mobile-menu .container-mobile-menu ul li a{
	position:relative;
    color:#ffffff;
	cursor: pointer;
    font-size: 40px;
    line-height: 48px;
    text-transform: capitalize;
}
div#mobile-menu .container-mobile-menu ul ul li a{
	font-size: 20px;
    line-height: 35px;
	text-transform:uppercase;
}
div#mobile-menu .container-mobile-menu ul li.current-active-page a{
	font-family: "Din-Bold";
}
div#mobile-menu .container-mobile-menu ul li a::after{
	content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #ffffff;
    visibility: hidden;
    transform: scaleX(0);
	transform-origin: left; /* L'animazione parte da sinistra */
    transition: all 0.3s ease-in-out;
}
div#mobile-menu .container-mobile-menu ul li a:hover::after{
	visibility: visible;
    transform: scaleX(1);
}
div#mobile-menu .container-mobile-menu ul li img {
    position: relative;
    top: -7px;
    left: 20px;
    display: inline-block;
    /* transform: translateY(-50%); */
    width: 15px;
	cursor:pointer;
}
div#mobile-menu .container-mobile-menu ul li img.active {
    transform:rotate(180deg);
}
.page-template-landing-moduli .site-logo{
	position:relative;
	max-width:1660px;
	width:100%;
	margin:50px auto;
	padding:0 15px;
}
.page-template-landing-moduli .site-logo img{
	position:relative;
	max-width:200px;
	width:200px;
	height:52px;
}
.page-template-landing-moduli .testo-responsive strong{
	font-family:'Din-Condensed' !important;
}
.link-moduli .testo-responsive a::after{
	content: "\f054";
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    margin-left: 20px;
    line-height: 1;
    color: var(--red-color);
    font-size: 20px;
    top: -3px;
    position: relative;
}
.link-moduli .testo-responsive a {
    text-decoration: none;
	 border-bottom:2px solid var(--red-color);
	position:relative;
	display:inline-block;
	padding:0 20px;
}
@media all and (max-width:1660px){
	header#site-header .content-header{
		padding:0;
	}
}
@media all and (max-width:1200px){
	#site-header .language-switcher:before{
		display: none;
	}
}
@media all and (max-width:991px){
    .main-visual{
        height:100vh;
    }
	.main-visual>div.content-main-visual {
		width: 100%;
		float: none;
	}
	.main-visual h1 {
		margin-top:90px;
	}
	.main-visual h2 {
		text-align: left;
		width:100%;
	}
	.main-visual a{
		text-align: left;
		padding: 10px 30px;
		display: block;
	}
}
@media all and (max-width:767px){
    header#site-header .content-header div a.button {
		padding: 0px 10px;
        height: 70px;
        line-height: 12px;
        font-size: 14px;
        max-width: 110px;
        display: flex;
        align-items: center;
    }
		.sticky-head {
		top: 44px;
	  }

}
@media all and (max-width:577px){
    header#site-header .content-header div a i{
        font-size:20px;
    }
	#site-header .language-switcher ul li.current-language, #site-header .language-switcher ul li a{
		padding:0 10px;
	}
}

/* SUPERHEADER — base */
.superheader {
  background-color: #d52b1e;
  display: flex;
  justify-content: center;
  max-height: 44px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

.superheader nav > ul {
  display: flex;
  font-size: 16px;
  text-transform: uppercase;
  margin: 0;
  padding: 0;
  height: 44px;
}

.superheader nav > ul > li {
  position: relative;
  list-style: none;
}

.superheader nav > ul > li > a {
  display: block;
  padding: 12px 32px;
  color: #ffffff;
  line-height: 22px;
  height: 44px;
}

.superheader nav > ul > li:not(:first-child)::before {
  content: '';
  height: 50%;
  width: 1px;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #fff;
  transform: translate(0.5px, 50%);
}

.superheader nav > ul > li.current-active-site a {
  pointer-events: none;
  cursor: default;
}

.superheader nav > ul > li:hover,
.superheader nav > ul > li.current-active-site {
  background-color: rgb(0 0 0 / 40%);
}

.superheader nav > ul > li.current-active-site::before,
.superheader nav > ul > li.current-active-site + li::before,
.superheader nav > ul > li:hover:before,
.superheader nav > ul > li:hover + li::before {
  display: none;
}

/* SUPERHEADER — responsive */
@media all and (max-width: 991px) {
  .superheader nav > ul {
    font-size: 15px;
  }
  .superheader nav > ul > li > a {
    padding: 10px;
  }
  .superheader nav > ul > li a span {
    display: none;
  }
}

@media all and (max-width: 767px) {
  .superheader nav > ul {
    font-size: 10px;
  }
}

@media all and (max-width: 577px) {
  .superheader nav > ul > li {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
  }
  .superheader nav > ul > li > a {
    line-height: 14px;
    height: auto;
    text-align: center;
  }
}
