.header-logo {width:400px;
margin-bottom:20px;
   filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.4)); 
}

.logo-text, .hero-title {
	filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.4));
	margin-bottom: 20px;
}

.foogallery .fg-caption-title {
	font-size: 14px;
	font-weight: 400;
	color: #888;
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_container.center .header-content {
	width: 95%;
}

/* Barra animata sotto le voci di menu Divi */
#top-menu li a {
  position: relative;
  padding-bottom: 5px; /* spazio per la barra */
}

/* barra nascosta */
#top-menu li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height:2px;               
  width: 0;
  background-color: #ff2c4d;
  transition: width 0.3s ease;
}

/* animazione al passaggio */
#top-menu li a:hover::after {
  width: 100%;
}


.logo-animate {position:relative;
  margin-bottom:20px;
  width:auto;
}

.heart-1 {
	animation: rotate-left 3s infinite alternate ease-in-out;
	transform-origin: center;
	position: relative;
	left: 90px;
	width: 200px;
	filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.4));
}

.heart-2 {
	animation: rotate-right 3s infinite alternate ease-in-out;
	transform-origin: center;
	width: 161px;
	position: relative;
	right: 68px;
	top: 14px;
	filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.4));
}

.et_pb_bg_layout_light .et-pb-arrow-next, .et_pb_bg_layout_light .et-pb-arrow-prev {
	color: #fff !important;
	background: #d2276f91;
}

.foogallery.fg-carousel.fg-dark.fg-inverted button.fg-carousel-bullet, .foogallery.fg-carousel.fg-light button.fg-carousel-bullet {
	background-color: #ff0e7f;
	border-color: #e10c70;
	width: 10px;
	height: 10px;
	margin-top: 20px;
}


@keyframes rotate-left {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-10deg);
  }
}

@keyframes rotate-right {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(10deg);
  }
}

.home .et_pb_fullwidth_header.et_pb_fullwidth_header_0 > .et_pb_background_mask {
background-image: url("data:image/svg+xml;base64,Cjxzdmcgdmlld0JveD0nMCAwIDIwMCAyMDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+CiAgPGNpcmNsZSBjeD0nMTAwJyBjeT0nMTAwJyByPSc5OCcgZmlsbD0ncmdiYSgwLDAsMCwwLjMpJyBzdHJva2U9J3JnYmEoMCwwLDAsMC4zKScgc3Ryb2tlLXdpZHRoPScwLjUnIHN0cm9rZS1kYXNoYXJyYXk9JzIsMScvPgo8L3N2Zz4=");
}

.header-logo {
	display: inline-block;
	animation: heartbeat 3s linear infinite;
	transform-origin: center;
	max-width: 200px;
}

@keyframes heartbeat {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
}

.et_pb_row {
	width: 90%;
}


/* Container che applica lo zoom */
.hero-content {
  transition: transform 220ms ease-out;
  overflow: hidden;
}

/* Zoom al passaggio del mouse (e quando il contenitore ha il focus interno) */
.hero-content:hover,
.hero-content:focus-within {
  transform: scale(1.06);         /* regola il fattore di zoom (es. 1.03 - 1.12) */
}

/* Se dentro ci sono immagini o elementi con trasformazioni proprie */
.hero-content img,
.hero-content > * {
  transform-origin: inherit;
  transition: inherit;
}

/* Riduci le animazioni per utenti che lo richiedono */
@media (prefers-reduced-motion: reduce) {
  .hero-content,
  .hero-content:hover,
  .hero-content:focus-within {
    transition: none;
    transform: none;
  }
}

.scroll-downs {
  position: absolute;
  top: 450px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width :20px;
  height: 49px;
}
.mousey {
  width: 2px;
  padding: 10px 15px;
  height: 27px;
  border: 2px solid #fff;
  border-radius: 25px;
  opacity: 0.75;
  box-sizing: content-box;
}
.scroller {
  width: 3px;
  height: 10px;
  border-radius: 25%;
  background-color: #fff;
  animation-name: scroll;
  animation-duration: 2.2s;
  animation-timing-function: cubic-bezier(.15,.41,.69,.94);
  animation-iteration-count: infinite;
}
@keyframes scroll {
  0% { opacity: 0; }
  10% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(15px); opacity: 0;}
}

@media (min-width: 1000px) {
  .header-logo{
    display: none;
  }
}

@media (max-width: 1000px) {
  
  h2 {font-size: 24px !important;}
  .logo-animate, .logo-text {
    display: none;
  }
  .hero-title {font-size:30px;}
  .home .et_pb_fullwidth_header.et_pb_fullwidth_header_0 > .et_pb_background_mask {background-image: none;}

}