/*
	Theme Name: House of Strevi
	Theme URI: House of Strevi
	Description: House of Strevi
	Version: 1
	Author: NEUE MILANO
	Author URI: neuemilano.com
	Tags: Blank, HTML5, CSS3
*/


/*------------------------------------*\
    MAIN
\*------------------------------------*/
:root {
    --nero: #000000;
    --beige:#F9F3E8;
	--rosso:#C22E2E;
	--bg-color:rgba(237, 232, 213, 1);
	
}

@font-face {
	font-family: 'ABCOtto';
	src: url('fonts/ABCOtto-Regular.woff2') format('woff2'),
		 url('fonts/ABCOtto-Regular.woff') format('woff'),
		 url('fonts/ABCOtto-Regular.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
  }


:where(figure) {
    margin: 0px!important;
}


/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */

  

html, body{
	margin:0px;
	padding:0px;
	height: 100%;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	
  }

html {
	font-size:62.5%;
}

body {
	font-family: 'ABCOtto', serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	background-color: var(--bg-color);
	margin:0px; padding:0px;
}

body p, body ul li, body, h1, h2, h3 {
	margin-top: 0px;
    padding-top: 0px; 
	font-size: 16px;
    line-height: 20px;
	font-weight: 400;
}

body #menu ul li {
    padding-bottom: 0px;
}

header {
    position: fixed;
    width: 100%;
    padding: 20px;
	top:0px;
	height: 125px;
	text-transform: uppercase;
	background: linear-gradient(180deg, #EDE8D5 0%, #EDE8D5 50%, rgba(237, 232, 213, 0.00) 100%);
}

#logo_HOS{
	position: fixed;
	top: 24px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 11; 
	text-align: center;
}

body:not(#homepage) #logo_HOS{
	mix-blend-mode: difference;
    filter: invert(1);
  }

  div#logo_HOS a {
    background-image: url(img/logo-the-HOUSE-STREVI.svg);
	background-repeat: no-repeat;
    content: "";
	width: 180px;
    height: 20px;
    display: block;
}

body#homepage #logo_HOS a,
body#landing #logo_HOS a{
	background-image: url(img/logo-the-HOUSE-STREVI-light.svg);
}

  #logo_HOS img{
	width: 180px;
  }

  div#info_evento, div#info_house  {
    text-align: center;
    text-transform: uppercase;
    font-variant: all-small-caps;
	flex-direction: column;
	gap: 50px;
	letter-spacing: 2.4px;
}

div#info_house {
	gap:12.4px
}



  .menu-toggle {
    cursor: pointer;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
    font-variant: all-small-caps;
    letter-spacing: 2.4px;
}
  
  .box-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(237, 232, 213, 0.95);
	z-index: 10;
	overflow-y: hidden;
	display: flex;
	justify-content: center;  /* Centra orizzontalmente */
	align-items: center;      /* Centra verticalmente */
	opacity: 1;
	transition: opacity 1s ease;
}



body#homepage .box-overlay {
	background: rgba(0, 0, 0, 0.7);
}

span#info_home, span#info_home a, #info_home span,
body#homepage #menu-overlay .menu-section a, body#homepage #menu-overlay,
body#homepage #closeMenu{
    color:var(--beige);
}

body#homepage div#menu-overlay.box-overlay {
    z-index: 11;
 background: transparent;
}


body#homepage header, body#homepage #footer_menu,
body#homepage #closeMap{ 
	display: none;
}



.box-overlay.hide{
	opacity: 0;
	pointer-events: none;
} 


body#homepage div#menu-overlay.box-overlay.hide,
#map_container.hide{
	opacity: 0;
	pointer-events: none;
}







body.fine-scroll #openMap, body.fine-scroll .openMenu {
    opacity: 0;
}

#openMap, .openMenu, #mappa, #map_container {
	opacity: 1;
	transition:opacity 1s ease-in-out;
}
 
.openMenu, .close-btn{
	cursor: pointer;
}


div#map_area .map img,
div#map_area .map svg
 {
    width: 100%;
	height: 100%;
}



g#stanza-blu-area:hover path,
g#stanza-sophie-area:hover path,
g#stanza-rosa-area:hover path,
g#stanza-gemelli-area:hover path,

g#salone-area:hover path,
g#salotto-area:hover path,
g#cucina-area:hover path,
g#atrio-area:hover path,
g#sala-pranzo-area:hover path,

g#orto-area:hover path,
g#giardino-area:hover path,
g#porticato-area:hover path,
g#terrazza-area:hover path,
g#piscina-area:hover path
{
	fill:var(--rosso)!important;
	cursor: pointer!important;
  }

  


div#map_area .map {
   opacity: 0;
   position: absolute;
    top: 50%;
    left: 50%;
	transform:translate(-70%, -50%);
	width: 100vw;
	max-height: 600px;
	max-height: 78vh;
    height: 100vh;
	transition:all 1.6s ease-in-out;
}




 div#map_control {
    color: var(--beige);
    position: absolute;
    bottom: 20px;
    z-index: 9;
    width: 100%;
	justify-content: center;
    gap: 40px;
    left: 0px;
}

div#map_control a{
	color: var(--beige);
}

#map_control a:before {
    content: "{";
    padding-right: 8px;
	
}

#map_control a:after {
    content: "}";
    padding-left: 8px;
}

#map_control a:before,
#map_control a:after {
	color: transparent;
	transition:color 0.5s ease-in-out;
}

#map_control a.active:after,
#map_control a.active:before{
	color: var(--beige);
}


div#map_area .map.outdoor {
    transform: translate(-70%, -50%);
}


div#map_area .map.outdoor.active,
div#map_area .map.first-f.move,
div#map_area .map.ground-f.move {
    transform: translate(-50%, -50%);
}




  div#map_area .map.change{
    transform: translate(-60%, -50%) ;
    opacity: 1;
}

div#map_area .map.ground-f.change,
div#map_area .map.first-f.change {
    transform: translate(-50%, -50%);
	opacity: 1;
}


div#map_area .map.outdoor.change {
    transform: translate(-70%, -50%);
    opacity: 1;
}

div#map_area .map.goaway{
	opacity: 0!important;
}
 

div#map_area .map.active {
	opacity: 1;
	z-index: 1;
 }


/* MAPPA NON HOMEPAGE */
body:not(#homepage) .cls-1,
body:not(#homepage) .cls-2,
body:not(#homepage) .cls-3,
body:not(#homepage) .cls-4{
	fill:none;stroke:#000!important;}

body:not(#homepage) .map_name{
	fill:#000!important;}	

body:not(#homepage) div#map_control a,
body:not(#homepage) #map_control a.active:after, body:not(#homepage) #map_control a.active:before{
	color:#000
}

body:not(#homepage) #info_home{
	display: none;
}
/* MAPPA NON HOMEPAGE */



  /* === Contenuto centrale === */
.menu-content {
	max-width: 1200px;
	margin: 0 auto;
 }
  
  /* === Titolo di sezione === */
  .menu-section {
	width: 100%;
	clear: both;
  }

  .menu-section:last-child {
    padding: 0px;
}


  .menu-overlay-list{
	counter-reset: section-counter; 
	padding: 0px;
	margin: 0px;
  }
  
  .menu-section .titolo-menu{
	text-align: center;
    display: block;
    width: 100%;
  }

  .menu-section .titolo-menu, .openMenu, #openMap {
	text-transform: uppercase;
	font-variant: all-small-caps;
	letter-spacing: 2.4px;
  }
  
  #openMap {
  	cursor: pointer;
  }

  #map-overlay .openMenu {
    position: fixed;
    z-index: 11;
    top: 18px;
    right: 18px;
}

  .menu-tit,
  .menu-section .titolo-menu,
  .titolo-menu::before{
	padding-bottom: 0px;
	display: block;
	margin-bottom:0px
  }

  .menu-tit,
  .titolo-menu::before{
	padding-bottom: 12.4px;
  }

  .menu-section, .menu-section .titolo-menu {
    padding-bottom: 24px;
}

.menu-section:last-child {
    padding-top: 12px;
}

  .titolo-menu::before {
	content: "(" counter(section-counter, upper-roman) ")"; /* Numero romano */
	counter-increment: section-counter; /* Incrementa il contatore */
	font-size: 16px;
	letter-spacing: 2.4px;
    width: 100%;
    display: block;
    text-align: center;
  }

  
  /* === Riga di 3 voci === */
  .menu-row {
	display: flex;
	flex-wrap: wrap;
	gap: 80px;
	text-transform: uppercase;
  }


  #footer_menu .menu-section{
	opacity: 0.15;
	transition:all 1s ease-in-out;
  }

  .current-menu-item{
	transition:all 1s ease-in-out;
  }

  body.fine-scroll #footer_menu .menu-section {
    opacity: 1;
}


  #footer_menu .menu-section.current {
    opacity:1
}

  .menu-row,
  .menu-section ul,
  .menu-section ul li{
	margin:0px;
	list-style:none;
	padding: 0;
	text-align: center;
	letter-spacing: 2.4px;
	line-height: 120%;
	font-variant: all-small-caps;
  }

 

  /* === Ogni voce di menu === */
  
  .menu-item a {
	text-decoration: none;
  }
  

  
  .menu-item ul li {
	margin: 0px;
  }
  
  
  /* === Pulsante Chiudi === */
  .close-btn, #info_home {
    display: block;
    position: absolute;
     right: 20px;
    top: 18px;
    text-transform: uppercase;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 120%;
	font-variant: all-small-caps;
	letter-spacing: 2.4px;
}
 
#map-overlay .close-btn,
#info_home {
    right: inherit;
    left: 20px;
}

#info_home{
	position: fixed;
	display: inline-block;
	z-index: 12;
}

body:not(.show_intro) div#info_home span {
	display: none;
}

div#info_home span {
	cursor: pointer;
}

body.show_intro.intro--on div#info_home {
    opacity: 0;
}

body.show_intro div#info_home span.active {
    opacity: 1;
}

body:not(#homepage) #map-overlay .close-btn {
    left: inherit;
    right: 20px !important;
    text-align: right;
}

body:not(#homepage) #map-overlay .openMenu{
	display: none;
}

  
body#homepage .openMenu{
	right: 20px;
	position: fixed;
	top:18px;
	color:var(--beige)
}

.wp-block-video {
    box-sizing: border-box;
}

.wp-block-video video {
    vertical-align: middle;
    width: 100%;
}

#page .wp-block-video video,
body:not(#homepage).page .wp-block-video video{
	z-index: 9;
    position: relative;
	mix-blend-mode: multiply;
}

#home_video_mob, .mob {
    display: none !important;
}


div#logo_video {
    left: 50%;
    position: absolute;
    z-index: 10;
  	top: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
	max-width: 300px;
	height: 150px;
	display: flex;
    align-items: center;
    justify-content: center;
}

div#logo_video .house img,
div#logo_video .strevi img,
div#logo_video .logo_separator img{
	height: 35px;
}

div#logo_video .house{
	filter: invert(1);
}



div#enter {
	opacity: 0;
    position: absolute;
    z-index: 900;
    width: 100px;
    height: auto;
    bottom: 30px;
    text-align: center;
	opacity: 0;
	cursor: pointer;
	color:var(--beige);
	font-family: 'ABCOtto', serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 16px; /* 100% */
	font-variant: all-small-caps;
	letter-spacing: 2.4px;
	left: 50%;
    transform: translate(-50%, -50%);
	pointer-events: none;
	
}

  .house, .strevi, .logo_separator {
	position: absolute;
	opacity: 0;
  }

  body#homepage #enter{
	animation: fadeInCenter 2s ease-out forwards;
	animation-delay:5.4s;
	pointer-events: all;
  }

 


  body#homepage .house{
	animation:  fadeInCenter 2s ease-out forwards,
				changeColor 1s ease-out forwards,
				moveLeft 1s ease-out forwards;
				animation-delay: 1.3s, 3s, 3.8s;
  }

  body#homepage .logo_separator{
	transform: translateX(18px);
	animation:  fadeInCenter 2s ease-out forwards;
	animation-delay: 4.2s;
	
  }

  body:not(#homepage) .logo_separator{
	transform: translateX(18px);
	animation:  fadeInCenter 2s ease-out forwards,
				fadeOutCenter 2s ease-out forwards;
	animation-delay: 5.2s, 8s;
	
  }

  body#homepage .strevi {
	right: -70px;
	animation: slideInRight 1s ease-out forwards;
	animation-delay: 4.4s;
  }

  body:not(#homepage) .house {
	animation: fadeInCenter 2s ease-out forwards,
			   changeColor 1s ease-out forwards,	
			   moveLeft 1s ease-out forwards,
			   fadeOutCenter 2s ease-out forwards;
	animation-delay: 1.3s, 3s, 5s, 8s;
  }

  body:not(#homepage) .strevi {
	right: -70px;
	animation: slideInRight 1s ease-out forwards,
			   fadeOutCenter 2s ease-out forwards;
	animation-delay: 5s,8s;
  }

  #intro.end_intro{
	animation:fadeOutCenter 1.5s ease-out forwards;
  }

  body.show_map #map-overlay,
  #video_intro, body.show_map #video_home{
	opacity: 0;
	animation:fadeInCenter 1.5s ease-out forwards;
	animation-delay: 3s;
  }

  body#homepage.hide_map #map-overlay{
	animation:fadeOutCenter 1.5s ease-out forwards!important;
  }
  body.hide_map #map-overlay{
	opacity: 0;
	pointer-events: none;
  }



  #homepage:not(.show_intro) #video_home, #homepage:not(.show_intro) #map-overlay,
  #homepage:not(.show_intro) #logo_HOS,
  #homepage:not(.show_intro) #info_home{
	opacity: 0;
	animation:fadeInCenter 1.5s ease-out forwards;
	animation-delay: 1s;
  }


  @keyframes changeColor {
	from {
	  filter: invert(1);
	 }
	to {
		filter: invert(0);
		}
  }


  @keyframes fadeInCenter {
	from {
	  opacity: 0;
	 }
	to {
	  opacity: 1;
		}
  }

  @keyframes fadeOutCenter {
	from {
	  opacity: 1;
	 }
	to {
	  opacity: 0;
		}
  }

  @keyframes moveLeft {
	to {
	  transform: translate(-61px, 0%);
	}
  }

  @keyframes slideInRight {
	to {
	  opacity: 1;
	  right: -80px;
	  transform: translateX(-90px);
	}
  }


  .info_landing {
    text-align: center;
	opacity: 0;
}


body:not(#homepage) .info_landing{
	animation: fadeInCenter 2s ease-out forwards;
	animation-delay: 10s;
}

.info_landing p,  .info_landing a, div#map_control a{
	font-size: 16px;
	font-style: normal;
	color:var(--beige);
	font-weight: 400;
	line-height: 16px;
	font-variant: all-small-caps;
	letter-spacing: 2.4px;
}
.info_landing a:hover{
	color:var(--rosso);
}

#video_map_room{
	opacity: 0;
	transition: opacity 0.5s ease;
	z-index: 1;
}

#video_map_room.show{
	opacity: 1;
}




  
body#homepage:not(.show_intro.intro--on){
	-ms-scroll-chaining: none;
	overscroll-behavior: none;
	height: 100dvh;
  }

  .intro--on div#map-overlay,
  #homepage .info_landing {
    pointer-events: none;
}


  body#homepage.intro--on div#video_home {
    opacity: 0;
}


p.has-text-align-center {
    text-align: center !important;
}


body.show_intro #content,
.show_intro #top-bar, .show_intro #bottom-bar{
	opacity: 1;
	transition:all 1s ease-in-out;
}

body.loading #content {
	display: none;
  }



body #content_area p, 
body #content_area ul,
body #content_area ol{
    width: 100%;
    text-align: justify;
    font-size: 13.338px;
    line-height: 120%;
    letter-spacing: 0.267px;
	margin: auto;
	
}

body #content_area p, 
body #content_area ul,
body #content_area ol{
	max-width: calc(100% - 30px);
}

body #content_area .wp-block-gallery, body #content_area .wp-block-image,
body #content_area .wp-block-video{
	max-width: calc(100% - 30px);
}


.single_event.read_more{
	cursor: pointer;
}



.single_event img{
	max-width: 95%;
	mix-blend-mode: multiply;
}

body #content_area .wp-block-gallery,
body #content_area .wp-block-image{
	width: 85%;
    margin: auto!important;
	text-align: center;
	z-index: 9;
	position: relative;
}

body #content_area .wp-block-image img,
body #content_area .wp-block-gallery img{
/*	max-height: 92vh;
	width: auto;*/
	width: 100%;
	height: auto;
	z-index: 9;
}


body #content_area .wp-block-gallery, body #content_area .wp-block-image,
body #content_area .wp-block-video{
	width: 100%!important;
	height: auto!important;
	
}



body #content_area .wp-block-video {
    margin: auto !important;
	max-width: 80%;
}


body #content_area .wp-block-gallery.owl-carousel .wp-block-image{
	max-width: 100%!important;
	}




	.owl-nav {
		width: 94%;
		height: 100%;
		position: absolute;
		z-index: 2;
		top: 0px;
		left: 0px;
		overflow: hidden;
		filter: invert(1) !important;
		mix-blend-mode: difference;
	}

	.owl-nav {
		width: 100%;
		max-width: 100%;
		left: 50%;
		transform: translateX(-50%);		
	}
	
	.owl-prev, .owl-next {
		top: 0;
		height: 100%;
		width: 50%;
		border: none;
		z-index: 10;
		left: 0px;
	}

	.owl-carousel .owl-nav button.owl-prev.disabled span, .owl-carousel .owl-nav button.owl-next.disabled span {
		opacity: 0.7 !important;
	}
	/*
	.owl-carousel .owl-nav button.owl-prev span, .owl-carousel .owl-nav button.owl-prev span .custom-counter {
		transform: rotate(180deg);
	}*/

	/*.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot{
		cursor: none;
	}*/

	
	.owl-carousel .owl-nav button span {
		/*background-image: url(img/freccia.svg);
		filter: invert(1);*/
		
		/*cursor: none;*/
		height: 9px;
		width: 12px;
		background-size: contain;
		content: "";
		display: inline-block;
		background-repeat: no-repeat;
		position: absolute;
	}

	.owl-carousel .owl-stage {
		display: flex;
		align-items: flex-start;
		height: 100%;
	}

/*
.owl-carousel .owl-item,
body #content_area .wp-block-image{
	background: aliceblue!important;
}*/


body #content_area h1, body #content_area h2, body #content_area h3, body #content_area span,
body #content_area span.event_date, #content_area a {
    padding-bottom: 20px;
    text-align: center;
	display: block;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
	font-variant: all-small-caps;
    line-height: 24.571px;
    text-transform: uppercase;
    letter-spacing: 2.4px;
}


body #content_area a {
    text-align: center;
    display: block;
	transition: color 0.4s ease;
}

body #content_area a.wp-block-button__link {
	padding: 20px 30px !important;
	border-radius: 0px;
	border-width: 1px;
	min-width: 218px;
	background:none!important;
	border-color:#000!important;
	color:#000!important
}

a.wp-block-button__link.has-text-align-center.wp-element-button {
height: auto;
padding: 0px !important;
margin: 0px;
}

.menu-item a:hover,
.submenu li a:hover,
body #content_area a:hover,
#menu-overlay .current-menu-item a,
body.fine-scroll #footer_menu .menu-section .current-menu-item a,
.single_event.read_more:hover a,
#info_house a:hover, body#homepage #menu-overlay .menu-section a:hover {
	color: var(--rosso);
}

body #content_area a.wp-block-button__link:hover {
	border-color:var(--rosso)!important;
	color:var(--rosso)!important
}

body #content_area p, 
body #content_area span.event_date,
body #content_area .owl-custom-pagination,
div#info_evento, .single_event,
body #content_area .wp-block-image,
body #content_area .wp-block-video{
	padding-bottom: 150px;
}

body #content_area .wp-block-image{
	background: var(--bg-color);
}

.wp-block-image img{
	mix-blend-mode: multiply;
}


body #content_area .single_event p,
body #content_area .single_event span,
body #content_area .wp-block-gallery .wp-block-image {
    padding-bottom: 0px;
	width: 100% !important;
}


.single_event h2{
	padding: 0px!important;
}

.single_event img{
	z-index: 9;
}

.single_event.box_flexbox {
    gap: 30px;
    flex-direction: column;
	max-width: 100%;
    margin: auto;
}

body #content_area .owl-custom-pagination {
    padding-top: 20px;
}

body #content_area h1.event_tit{
	padding-bottom: 50px;
}

#content {
	opacity: 0;
	transition: opacity 0.4s ease;
	margin-top: 200px;
  }

 #homepage #content {
	margin-top:0px;
 }

.show_intro #top-bar, .show_intro #bottom-bar, .show_intro .logo{
	transition:all 1s ease-in-out;
}

.no-scroll, .show_intro.intro--on{
	overflow: hidden;
    overflow-y: hidden !important;
    height: 100dvh;
    max-height: 100dvh;
    overflow-x: hidden !important;
    position: relative;
    width: 100%;
}

body.intro--on #top-bar, body.intro--on #logo_duo,
body.intro--on .logo,  body.intro--on #moove_gdpr_cookie_info_bar{
    opacity: 0 !important;
}


#homepage, #landing{
	background-color:var(--bg-color)
}

body.show_intro.intro--on{
	overflow: hidden;
    overflow-y: hidden !important;
    height: 100dvh;
    max-height: 100dvh;
    overflow-x: hidden !important;
    position: relative;
    width: 100%;
}


body.show_intro.intro--on #content{
	opacity: 0;
    pointer-events: none;
}

body.show_intro #intro,
.box_v_align{
	opacity: 0;
	background:var(--beige);
	height:0dvh;
	width: 100vw;
	z-index: 4;
}

.box_flexbox.box_v_align{
	flex-direction: column;
	justify-content: center !important;
}

.box_v_align {
    text-align: center;
}


a{
	color:#000;
	cursor: pointer;
	text-decoration:none
}



body.show_intro #intro,
#homepage #intro,
#homepage .info_landing,
body.show_intro.intro--on #logo_HOS,
body.show_intro.intro--on #menu_HOS{
	opacity:0;
}

body.show_intro.intro--on #intro,
#homepage.show_intro.intro--on #intro,
.box_v_align, #homepage .show_intro #intro{
	opacity: 1;
}




.intro--on div#map-overlay.box-overlay {
    opacity: 0;
}


#intro{
	transition:all 0.5s ease-in-out;
}

body:not(#homepage,#landing) #intro,
body:not(#homepage) #video_home,
body#homepage #footer_menu,
body#landing #footer_menu{
	display: none;
	z-index: -1;
}




.intro_text h2 {
    text-align: center;
    width: 100%;
}


@keyframes fadeInOut {
    0% { opacity: 0; }
    40% { opacity: 1; }
    80% { opacity: 1; }
    100% { opacity: 0; }
}

.fade-animation {
    animation: fadeInOut 4s ease-in-out forwards;
}



  
  .hidden {
	display: none;
  }

 
.container {
  width: 100%;
  height: 100vh; /* per evitare problemi di altezza */
  display: flex;
  overflow: hidden; /* evita problemi con lo scroll */
}







#homepage video,
#landing video{
	width: 100%;
    right: 0px;
    position: absolute;
    object-fit: cover;
    height: 100%;
}
  

  @keyframes fadein{
0% { opacity:0; }
66% { opacity:0; }
100% { opacity:1; }
}

@-webkit-keyframes fadein{
0% { opacity:0; }
66% { opacity:0; }
100% { opacity:1; }
}
 
  @media screen and (max-width: 1290px){
	video {
		width:100%;
		height: 100%;
	}
  }



h1,h2,h3{
	padding: 0px;
	margin: 0px;
}
	
/*** COOKIE BANNER ***/
#moove_gdpr_cookie_info_bar {
    min-height: 40px !important;
	z-index: 3!important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice p{
	font-size:15px;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton
{ text-transform: uppercase;}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container {
    padding: 4px 20px !important;
    width: 100%;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content {
    justify-content: space-between;
	padding-left: 0 !important;
    padding-right: 0 !important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
    font-size: 13px;
    line-height: 20px;
    color: #000;
    font-weight: 500;
    padding: 0 0;
    margin: 0;
    letter-spacing: -0.39px;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton.moove-gdpr-infobar-reject-btn, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn {
    background-color: transparent;
    box-shadow: none;
    color: #DBDBDB;
}
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme {
    border-top: 0 !important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton.focus-g, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton:focus, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton:hover, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.focus-g, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton:focus, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton:hover {
    color: #000;
    background-color: transparent;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton.moove-gdpr-infobar-reject-btn:hover, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn:hover {
    background-color: transparent;
    color: #000;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice p a {
    font-size: 13px;
    line-height: 15px;
    font-weight: 500;
    letter-spacing: -0.39px;
	text-decoration: none!important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all{
	order: 2;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-reject-btn{
	order: 1;
	margin-right: 15px !important;
}
#moove_gdpr_cookie_info_bar {
    min-height: initial;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
    background-color: transparent !important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content {
    padding-left: 0;
    padding-right: 0;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
    padding: 8px 0px !important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder {
    display: flex;
	float: right;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
    order: 2;
	color: #000 !important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn {
    order: 1;
    color: #acacac !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice p,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton{
font-weight: 300!important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice p:after{
	margin-left: 9px;
	margin-top: 3px;
    position: absolute;
    background-image: url(img/freccia.svg);
    height: 11px;
    width: 12px;
    background-size: contain;
    content: "";
    display: inline-block;
	filter: invert(1);
	background-repeat: no-repeat;
}


.visibleMob{
	display: none!important;
}

.visibleDesk{
	display: block;
}

#landing video{
	width:100%!important;
	display: block;
}


body #content_area .btn_inquire {
    position: fixed;
    bottom: 20px;
    text-align: center;
    display: block;
    left: 0px;
    padding: 0px;
	display: none;
	max-width: 100%;
}

body #content_area .btn_inquire a{
    padding: 0px;
}

body #content_area .tit_area{
	padding-bottom:100px
}


section.wp-block-group.services_list{
	counter-reset: section-counter; 
}

section.wp-block-group.services_list .wp-block-group:hover{
	cursor: pointer;
}



section.wp-block-group.services_list .wp-block-group p,
section.wp-block-group.services_list .wp-block-group h2,
section.wp-block-group.services_list .wp-block-group h2:before {
	transition: all 0.4s ease;
}


section.wp-block-group.services_list .wp-block-group:hover p {
	opacity: 1;
}

section.wp-block-group.services_list .wp-block-group h2:before {
    content: "( " counter(section-counter, upper-roman) " )";
    counter-increment: section-counter;
    font-size: 16px;
    letter-spacing: 2.4px;
    width: 100%;
    display: block;
    text-align: center;
}


body#page_404 {
    height: 100vh;
    overflow: hidden;
}

body#page_404 #content h1 {
    margin: auto;
    overflow: hidden;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 16px;
	pointer-events: none;
}

body#page_404 #content h1,
body#page_404 a {
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 120%; /* 19.2px */
font-variant: all-small-caps;
letter-spacing: 2.4px;
}


body#page_404 a:hover{
	color:var(--rosso);
}

.v_align {
    position: absolute;
    margin: 0px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

div#btn_bottom {
    width: auto;
    display: inline-block;
    position: fixed;
    bottom: 20px;
    transform: translateX(-50%);
    left: 50%;
}

#page_404 header.box_flexbox, #page_404 #footer_menu,
#page_404 #menu-overlay, #page_404 #map-overlay {
    display: none;
}


div#footer_menu {
    height: 100vh;
}




/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}


.box_flexbox{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: space-between;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-flow: wrap;
    flex-wrap: wrap;
	align-items: center;
}

header.box_flexbox{
	align-items: flex-start
}

img {
	max-width:100%;
	vertical-align:bottom;
}


a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}


/*------------------------------------*\
    OWL CAROUSEL
\*------------------------------------*/

.owl-carousel .owl-stage {
	transition: none !important;
  }
  .owl-carousel .owl-item {
	transition: none !important;
  }

.owl-custom-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	list-style: none;
	counter-reset: roman-counter;
	padding: 0;
	margin-top: 1rem;
  }
  
  .owl-custom-pagination li {
	counter-increment: roman-counter;
	position: relative;
	cursor: pointer;
	font-family: 'ABCOtto', serif;
	color: rgba(0, 0, 0, 0.15);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24.571px;
	font-variant: all-small-caps;
	letter-spacing: 2.475px;
	}

  .owl-custom-pagination li.active {
	color: #000;
  }
  
  
  .owl-custom-pagination li::before {
	content: counter(roman-counter, upper-roman);
  }

  
  .owl-custom-pagination .dots-ellipsis {
	background: transparent;
	pointer-events: none;
	font-weight: bold;
	font-size: 1rem;
  }



.owl-carousel .owl-item img {
    width: auto!important;
	height: 100%;

}

.owl-carousel .owl-item .item.orizzontale,
.item.orizzontale  {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width:769px) {
	.menu-row .menu-item {
		width: 200px;
	}

	.menu-row {
		justify-content: center;
	}

	section.wp-block-group.services_list .wp-block-group p {
		opacity: 0;
	}
	
	section.wp-block-group.services_list:hover .wp-block-group h2,
	section.wp-block-group.services_list:hover .wp-block-group h2:before{
			color: rgba(0, 0, 0, 0.2);
	}
	
	section.wp-block-group.services_list .wp-block-group:hover h2,
	section.wp-block-group.services_list .wp-block-group:hover h2:before{
		color: rgba(0, 0, 0, 1);
	}

	

	body #content_area .wp-block-gallery,
	body #content_area .wp-block-image{
		min-width: 450px;
		max-width: 45%!important;
		width:100%!important
	}

	.wp-block-gallery.has-nested-images figure.wp-block-image img,
	.owl-carousel .owl-item img, 
.owl-carousel .owl-stage-outer{
		max-width: 100%!important;
	}

	.owl-carousel .owl-stage-outer{
		margin: auto;
	}

	body #content_area .wp-block-video{
		min-width: 450px;
		max-width: 75%;
	}

	body #content_area p, body #content_area ul, body #content_area ol,
	.single_event img,
	.single_event.box_flexbox img{
		min-width: 450px;
		max-width: 33.33%;
	}


	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder {
		padding-left: 10px !important;
	}

	
}


@media only screen and (max-width:780px) {

	header {
		padding: 10px;
		height: 80px;
	}

	
	body #content_area p, body #content_area span.event_date, body #content_area .owl-custom-pagination, 
	div#info_evento, .single_event, body #content_area .wp-block-image, body #content_area .wp-block-video,
	body #content_area .tit_area{
		padding-bottom: 50px;
	}

	body #content_area .wp-block-video{
		max-width: calc(100% - 30px);
	}

	/* per pagina about */ 
	body #content_area.about .wp-block-gallery, 
	body #content_area.about .wp-block-image, 
	body #content_area.about .wp-block-video,
	.single_event.box_flexbox img,
	body#single #content_area .wp-block-gallery, 
	body#single #content_area .wp-block-image, 
	body#single #content_area .wp-block-video{
		max-width: calc(100% - 30px);
	}


	body#homepage.intro--on div#info_home{
		display: none;
	}

	body#homepage.show_map div#info_home {
		display: block;
		z-index: 12;
		position: fixed;
		bottom: 15px;
		left: 15px;
		top: inherit;
	}


	#content {
		margin-top:100px;
	}

	body #content_area h1.event_tit {
		padding-bottom: 30px;
	}


	div#info_house {
		gap: 0px;
	}

	body #logo_HOS {
		top: 15px;
        left: 15px;
		z-index: 15;
		transform: none;
	}
	
	body#homepage .openMenu,
	.close-btn, #info_home {
		right: 15px;
		top: 13px;
	}

	div#logo_HOS a {
		height: 20px;
    	width: 155px;
    	background-size: contain;
	}

	div#menu_HOS {
		position: fixed;
		z-index: 10;
		top: 13px;
		right: 15px;
	}

	body:not(#homepage) div#menu_HOS{
		mix-blend-mode: difference;
		filter: invert(1);
	}


	#map-overlay #map_container, #openMap, span#info_home,
	#map-overlay, .owl-nav {
		display: none;
	}

	body#homepage #map-overlay.hide{
		opacity: 1;
	}

	body#homepage header{
		display: block!important;
		position: absolute;
	}
	
	body#homepage header {
		z-index: 1;
		background: none;
	}


	.openMenu {
		right: 15px;
		position: absolute;
	}

	body#homepage .box-overlay {
		background: rgba(0, 0, 0, 0.7)!important;
	}


	.menu-section, .menu-section .titolo-menu {
		padding-bottom: 12px;
	}

	.menu-section .titolo-menu {
		padding-top: 30px;
	}

	.menu-item-has-children .menu_mob_row {
		padding-top: 25px;
	}

	

	.visibleDesk{
		display: none!important;
	}

	

	.visibleMob{
		display: block!important;
	}

	section.wp-block-group.services_list .wp-block-group p{
		opacity: 1;
	}

	
	body #content_area h1, body #content_area h2, body #content_area h3, 
	body #content_area span, body #content_area span.event_date, #content_area a,
	section.wp-block-group.services_list .wp-block-group h2:before{
		font-size: 14px;
		letter-spacing: 1.8px;
		line-height: 18.942px; 
	}

	body #content_area p, body #content_area ul, body #content_area ol{
		font-size: 12px;
		letter-spacing: 0.18px;
	}

	div#footer_menu {
		padding-bottom: 10vh;
		height: 90vh;
	}

	.menu-row {
	  flex-direction: column;
	  gap: 20px;
	}
  
	.menu-item {
	  flex: 1 1 100%;
	}
  
	.menu-section .titolo-menu, .menu-item a, .menu-tit, .titolo-menu::before,
	.menu-row, .menu-section ul, .menu-section ul li, div#info_house,
	.openMenu, .close-btn, #info_home {
		font-size: 14px;
        letter-spacing: 1.8px;
        line-height: 16px;
	}

	span.menu-tit:first-child{
   		 display: none;
	}

	.item.orizzontale{
		width: 100%;
		padding-bottom: 70%;
	}


	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton{
		margin-top: 0px!important;
		margin-bottom: 0px!important;
	}

	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice {
		padding-left: 0px!important;
		margin-bottom: 0px!important;
		padding-top: 12px!important;
		float:left;
	}

	#moove_gdpr_cookie_info_bar {
		min-height: 30px !important;
	}

	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice p{
		font-size:11px;
		line-height: 13px;
	}

	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton{
		margin:0px!important;
		font-size:11px!important
	}

	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn{
		margin-right: 15px!important;
	}
	
	

	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container {
		padding: 0px 15px !important;
	}

	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice p:after {
		height: 8px;
		width: 10px;
	}
	


}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	color:var(--rosso);
	text-shadow:none;
}
::-webkit-selection {
	color: var(--rosso);
	text-shadow:none;
}
::-moz-selection {
	color: var(--rosso);
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}

.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}