@import url('https://fonts.googleapis.com/css2?family=Simonetta:ital,wght@0,400;0,900;1,400;1,900&display=swap');
.btn-primary {
    --bs-btn-color: #046028;
    --bs-btn-bg: #f8cc05;
    --bs-btn-border-color: #f8cc05;
    --bs-btn-hover-color: #f8cc05;
    --bs-btn-hover-bg: #02431b;
    --bs-btn-hover-border-color: #02431b;
    --bs-btn-focus-shadow-rgb: 111,82,255;
    --bs-btn-active-color: #f8cc05;
    --bs-btn-active-bg: #02431b;
    --bs-btn-active-border-color: #02431b;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #02431b;
    --bs-btn-disabled-bg: #f8cc05;
    --bs-btn-disabled-border-color: #f8cc05;
}
body{
	font-family: 'Montserrat', sans-serif;
	color: #000;
}
#page{
	/*padding-top: 110px;*/
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: 100;
    line-height: 1.2;
	margin-bottom: 2rem;
	font-family: 'Simonetta', serif !important;
}
h1, h2, h3, h4, h5, h6{
    text-transform: uppercase;
}
.bk_cover{
	    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
}
.bk_cover_up{
	    background-repeat: no-repeat !important;
    background-size: 100% auto;
    background-position: top center !important;
}
.bk_cover_down{
	    background-repeat: no-repeat !important;
    background-size:  100% auto;
    background-position: bottom center !important;
}
.bk_color{
	background-color: #046028;
}
.bk_color2{
	background-color: #f7f6f2;
}
.padding_element{
	padding: 3rem!important;	
}
.pagination {
    text-align: center;
	margin-top: 1rem;
	-webkit-box-pack: center!important;
    -ms-flex-pack: center!important;
    justify-content: center!important;
}
.pagination .active>.page-link {
    /*color: var(--bs-pagination-active-color);*/
    background-color: #ac2f34;
    border-color: #ac2f34;
}
.modal-content{
	border-radius: 0;
}
.modal-header {
    border-bottom: 0 solid;
}
.modal-body {
    padding-left: 0;
	padding-right: 0;
}

/***** header *****/
header{
		
}
#wrapper-navbar {
    background-color: rgb(255, 255, 255);
	border-top: 10px solid #8e0c05;
	position: relative;
    width: 100%;
    left: 0px;
    top: 0;
    z-index: 12;
    padding-left: 15px;
    padding-right: 15px;
}
.custom-logo-link{
	width: 150px;
	max-width: 100%;
	/*padding: 15px 0 15px 0;*/
	display: inline-block;
}


@media (max-width: 767px){
	#navbarNavDropdown{
		padding-top: 12px;
		margin-top:12px;
		border-top: 1px solid #046028;
	}
	#main-menu .nav-link {
		margin-bottom: 12px;
	}
	.box-pagine-txt2 {
		width: 100% !important;
	}
	.img-header .wp-post-image {
		top: 0px !important;
	}
	.box-pagine.simple-page {
		height: auto !important;
	}
	.box-pagine.simple-page.section-page-contact {
		height: 150px !important;
	}
	.section-page-contact .box-pagine-txt2.box-pagine-txt2-notizie {
        bottom: 0% !important;
		display: none;
    }
	.section-page-contact .breadcrumbs {
		position: relative !important;
		top: -24px !important;
		left: 10px !important;
	}
	
	.section-page-contact .box-pagine-txt2 {
        padding: 3px !important;
    }
	.section-page-contact h1 {
        font-size: 1.4rem !important;
    }
	a.navbar-brand.custom-logo-link img {
		width: 28% !important;
	}
	.box-pagine-txt2 {
		padding: 20px !important;
	}
	.post-thumbnail img {
		height: auto !important;
	}
	.recent-posts-sidebar {
		margin-left: 0px !important;
		margin-top: 30px !important;
	}
	#navbarNavDropdown ul#main-menu {
		background: #FFF !important;
	}
	#form-contact-homepage .container-fluid-left {
    padding: 20px !important;
	}
	.container-fluid-left {
		padding: 20px !important;
	}
	.container-fluid-right {
		padding: 20px !important;
	}
	h1 {
		font-size: 2rem !important;
	}
	h2 {
		font-size: 1.75rem !important;
	}
	h3 {
		font-size: 1.25rem !important;
	}
	.site-logo {
    position: absolute !important;
    top: 12% !important;
    left: 10% !important;
    transform: translateX(0%)!important;
    z-index: 10;
	}
	
	.swiper-button-prev, .swiper-button-next {
    width: 30px !important;
    height: 30px !important;
    top: 50% !important;
	border: 3px solid #8e0c05 !important;
}
.swiper-button-prev::after, .swiper-button-next::after {
    font-size: 20px !important;
    top: -3px !important;
    color: #8e0c05 !important;
}
	div#top-header {
    display: none !important;
}
	.col-special-sx {
        border-right: none 0px #000 !important;
    }
	.col-special-dx {
        border-left: none 0px #000 !important;
    }
	.box-pagine2 {
    width: 100% !important;
    margin-left: 0 !important;
	}
	.pushmenu.sticky {
    display: none !important;
	}
	h2.h2news {
    text-align: center !important;
    margin-top: 20px !important;
	}
	.row {
    margin-right: calc(-0.0* var(--bs-gutter-x)) !important;
	margin-left: 0px !important;
	}
	.footer .col-sm {
    margin-bottom: 20px;
	}
	.footer h4 {
    font-size: 1.5rem !important;
	}
	.breadcrumbs {
    position: absolute !important;
    top: 90% !important;
	height: 60px; */
    z-index: 10;
    position: fixed;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    left: 2% !important;
    -webkit-transform: rotate(0deg)!important;
    transform: rotate(0deg)!important;
	width: 40% !important;
    letter-spacing: 0em !important;
	}
	.blocco_2 .col-12.col-lg-6.mb-5, .blocco_3 .col-12.col-lg-6.mb-5 {
    padding-left: 0.3rem !important;
    padding-right: 0.3rem !important;
	}
	.box-pagine-txt2 {
    bottom: 27% !important;
	}
	#wpcf7-f134-p26-o1 {
    margin: -10px !important;
	}
	.gallery-stripe {
        height: 70vh !important;
    }
	.acf-gallery .col-sm-4 {
    width: 100% !important;
	}
	iframe[src*="google.com/maps"] {
	  width: 100% !important;
	  max-width: 100%;
	  display: block;
	}
	
}
@media (max-width: 997px){	
	#main-menu .nav-link {
		margin-right: 0.825rem;
		font-size: 1.25rem;
	}
	#main-menu .nav-link:hover:before {
		left: -6px;
		bottom: -6px;
		width: 3.5rem;
		height: 2.25rem;
	}
}
/**** fine header *****/
/**** menu buger *****/
.openNav{
	color: #2099d5;
	z-index: 999;
}
.openNav:hover{
	color: #ac2f34;
}
.openNav img{
	width: 25px;
}
.overlay {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1000002;
  right: 0;
  top: 0;
  background-color: #2099d5;
 	/*background-color: rgba(75,75,75, 1.0);*/
  overflow-x: hidden; /* Disable horizontal scroll */
  transition: 0.5s;
}
.overlay-content {
  position: relative;
  width: 100%;
	/*max-width: 300px;*/
	padding-left: 15px;
	padding-right: 15px;
}
.overlay a {
  /*padding: 8px;*/
  text-decoration: none;
  color: #fff;
  display: block;
  transition: 0.3s;
}
.overlay a:hover, .overlay a:focus {
  color: #ac2f34;
}
.overlay .closebtn {   
	color: #fff;
}
.overlay-content .menu-auto {
    /*background-color: transparent;*/
}
.overlay-content ul {
	padding: 0;
}
.overlay-content ul li {
    display: block;
	text-align: center;
}
.overlay-content ul li a{
    padding: 5px 0 5px 0;
	margin-right: 0;
	font-size: 1.5rem;
}
.navbar-language-mobile{
	flex-direction: row;
}
.navbar-language-mobile li{
	position: relative;
}
.overlay-content ul.navbar-language-mobile li a {
    margin-right: 16px;
}
.overlay-content ul.navbar-language-mobile li.lang-item-first a:after {
    position: absolute;
    right: 7px;
    top: 0.6rem;
    content: '';
    z-index: 3;
    width: 1px;
    height: calc(100% - 1.2rem);
    background-color: #D5D3CF;
}
@media screen and (max-height: 450px) {
  .overlay a {font-size: 20px}
  .overlay .closebtn {
    top: 15px;
    right: 35px;
  }
}
/**** fine menu burger *****/
/**** varie *****/
.titolo-sx-w{
	width: 45%;
}
.descrizione-dx-w{
	width: 45%;
}
.box-w{
	width:80%;
}
.box-prenota{
	position: absolute;
	bottom: 30px;
	left: 0;
	z-index: 3;
	width: 100%;
}
.bi {
    width: 1em;
    height: 1em;
	display: inline-block;
}
@media (max-width: 767px) {
	.titolo-sx-w{
		width: 100%;
	}
	#et-info {
    width: 50% !important;
	}
	#et-info {
    position: absolute;
    left: 10% !important;
}
	
	.descrizione-dx-w{
		width: 100%;
	}
	.box-w{
		width:100%;
	}
	#map_canvas.map-full {
		min-height: 400px;
	}
	.box-prenota{
		bottom: 15px;
	}
	#navbar-scrollspy  {
		display:none;
	}
	}
.section-articolo{padding: 60px 0 60px 0;}
.bk-img-cover{background-repeat: no-repeat;background-position: center center;-moz-background-size: cover;-webkit-background-size: cover;background-size: cover;}
.bk-over-section{padding: 60px 0 60px 0;background-color: rgba(0, 0, 0, 0.6);}
p.sottotitolo {
	color: #B56F1F;
	font-weight: 400;
}
.bk-color p.sottotitolo, .bk-color2 p.sottotitolo {
	color: #B56F1F;
}
.testo_evidenza {
	font-size: 1.75rem;
	margin-bottom: 30px;
}
.box-citazione {
	font-size: 0.8rem;
	margin-bottom: 30px;
	padding-left: 30px;
	position: relative;
	padding-top: 15px;
}
.box-citazione a {
	color: #6F6F6E;
}
.citazione {
	font-size: 1.8rem;
	padding-bottom: 15px;
	padding-right: 35px;
}
.autore-citazione {
	padding-top: 15px;
}
.box-citazione:before {
	content: '“';
	font-size: 4.0rem;
	position: absolute;
	left: 0px;
	top: -5px;
	font-weight: bold;
}
.box-citazione:after {
	content: '”';
	font-size: 4.0rem;
	position: absolute;
	right: 0px;
	bottom: -5px;
	font-weight: bold;
}
.bk-color .box-citazione:before, .bk-color2 .box-citazione:before{
	color: #fff ;
}
.bk-color .box-citazione:after, .bk-color2 .box-citazione:before{
	color: #fff ;
}
.box-video {
	margin-bottom: 30px;
}
.rwd-video {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	padding-top: 30px;
	position: relative;
}
.rwd-video iframe, .rwd-video object, .rwd-video embed {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.testo_normale.cr-white{
	color: rgba(255,255,255,0.80)!important;
}
.card-title {
    position: relative;
	padding: 0;
    margin: 0 0 15px 0;
	font-weight: 400;
	color: #8e0c05;
	font-size: 1.3rem;
}
.card-text {
	color: #000;
}
.card img {
    height: 200px; /* Définissez la hauteur souhaitée */
    object-fit: cover; /* Couvre l'image sans déformation */
    width: 100%; /* Assurez-vous que l'image occupe toute la largeur de la carte */
}
.box-ico-img{
	padding-right: 15px;
	padding-left: 15px;

	text-align: center;
}
.box-ico-img .box-title{
	font-size: 30px;
	font-weight: 500;
	line-height: 100%;
	margin-bottom: 15px;
}
.box-ico-img p{
	text-align: center !important;
}
.ico-img{
	margin: 0 auto 0 auto;
	margin-bottom: 15px;
}
.ico-img.ico-round{
	max-width: 130px;
	border-radius: 100%;
	padding: 20px;
	overflow: hidden;
}
.ico-round img{
	/*	width: calc(100% - 20px);*/
}
.ico-img {
	background-color: #005071;
}
/***** swiper  *******/
.swiper-container-full img{
	width: 100%;
	max-width: 300px;
}
.swiper-pagination-bullet{
	background-color: #fff;
}
.swiper-pagination-bullet-active{
	background-color: #ac2f34;
}
/****** wrapper-footer ******/
#wrapper-footer{
	background-color: #4f3139;
	color: #fff;
	padding-left: 2rem;
	padding-right: 2rem;
}
.logo_footer{
	margin-bottom: 25px;
}
.logo_footer img{
	width: 195px;
	max-width: 100%;
}
/***** all ****/
.section-first{
	padding-top: 100px;
}
.titolo-sx{
	margin-left: 15px;
}
.titolo-dx{
	margin-right: 15px;
}
.box-testo{	
	position: relative;
	padding: 2rem;
	z-index: 10;
}
.box-testo:after{
	position: absolute;
	content: '';
	border-radius: 20px;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-color:#fff; 
}
.box-testo:before{
	position: absolute;
	content: '';
	border-radius: 20px;
	left: -15px;
	top: -15px;
	width: 300px;
	height: 160px;
	max-width: 80%;
	max-height: 80%;
	z-index: -2;
	background-color:#f8cc05; 
}
.box-testo-verde:after{
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	background-color:#046028; 
}
.box-testo-valori{	
	margin:0 0.5rem;
}
.box-testo-dxt:before{
	left:inherit  ;
	top:-15px ;
	right: -15px;
}
.box-testo-dxb:before{
	left:inherit  ;
	top:inherit ;
	right: -15px;
	bottom: -15px;
}
.box-testo-sxb:before{
	top:inherit ;
	bottom: -15px;
}
.box-mission{
	margin: 0 2rem 0 2rem;
	z-index: 5;
}
.box-etica{
	padding: 8rem 2rem  2rem 2rem ;
}
.box-img-etica {
	text-align: center;
}
.box-img-etica img{
	margin: 0 auto;
	width: 90%;
}
.box-obiettivi{
	margin: 0 2rem 0 2rem;
}
.box-valori{
	padding:150px 2rem 0 2rem ;
}
.box-partnership{
	padding:0 2rem 2rem 2rem ;
}
.box-modal-1{
	position: absolute;
	width: 100%; 
	right: -65px;
	top: 0;
	padding-top: 70px;
	z-index: 5;
}
.box-img-modal-1 img{
	border-left: 10px solid #fff;
	border-bottom: 10px solid #fff;
}
.box-modal-2{
	position: absolute;
	width: 100%; 
	left: -65px;
	top: 0;
	padding-top: 90px;
}
.box-modal-2 h3{
	padding-left: 65px;	
}
.box-img-modal-2 img{
	border-right: 10px solid #fff;
	border-top: 10px solid #fff;
}
.box-modal-3{
	padding:35px 65px 0 65px ;
}

@media (min-width: 992px) {
	#wrapper-navbar {
		padding-left: 50px;
		padding-right: 50px;
	}
	div#wpcf7-f134-p26-o1, div#wpcf7-f296-p174-o1 {
    margin: 18px !important;
	}
}
@media (min-width: 992px) {
	.box-mission{
		position: absolute;
		width: 140%; 
		right: -50%;
		top: 0;
		padding-top: 30px;
		z-index: 5;
		margin: 0;		
	}
	.box-valori{
		padding:165px 4rem 0 4rem ;
	}
	.box-testo-valori{	
		margin:0 1.5rem;
	}
	.box-obiettivi{
		position: absolute;
		width: 120%; 
		left: -125px;
		top: 0;
		padding-top: 100px;
		margin: 0;
	}
	.box-partnership{
		padding:0 4rem 0 4rem ;
	}
	.box-etica{
		padding: 100px 2rem 2rem 2rem ;
	}
	.box-img-etica {
		text-align: right;
	}
	.box-img-etica img{
		border-bottom: 10px solid #fff;
		border-left: 10px solid #fff;
		width: 100%;
		margin: 0;
	}
	#wrapper-footer{
		padding-left: 165px;
		padding-right: 165px;
	}
	.footer-end{
		display: flex!important;
		justify-content: flex-end!important;
	}
}
@media (min-width: 1600px) {
	.box-mission{
		width: 120%; 
		right: -30%;
		padding-top: 90px;
		font-size: 1.25rem;
	}
	.box-valori{
		padding:165px 165px 0 165px ;
	}
	.box-obiettivi{
		width: 70%; 
		left: -165px;
		padding-top: 170px;
		font-size: 1.25rem;
	}
	.box-img-mission img{
		margin-bottom: 3.5%;
	}
	.box-img-obiettivi img{
		/*margin-bottom: 3.5%;*/
	}
		.box-partnership{
		padding:0 165px 0 165px ;
	}
	.box-etica{
		padding: 165px 30px 2rem 165px;
	}
}

/** loader **/
/*#loader-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
}

#loader {
    text-align: center;
}

#progress-bar {
    width: 0%;
    height: 10px;
    background-color: #4CAF50;
    margin-top: 10px;
}
*/

.bg-cover {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

#owl-demo .item {
  position: relative;
  overflow: hidden;
}
#owl-demo .item img {
  width: 100%;
  height: 100vh;
  display: block;
  object-fit: cover; /* Assure que l'image couvre le conteneur sans déformation */
}

.container-fluid-right {
    position: relative;
	display: flex;
    flex-direction: column;
    align-items: flex-end; /* Aligne le contenu à droite */
    justify-content: flex-start; /* Aligne le contenu en haut */
    height: 100vh; /* Assure que la hauteur de la div est 100% de la hauteur de la vue */
    background-size: cover;
    background-position: center;
    padding: 100px; /* Ajoute du padding si nécessaire pour espacer le contenu des bords */
    box-sizing: border-box; /* Assure que le padding est inclus dans la hauteur totale */
}
.container-fluid-left {
    position: relative;
	display: flex;
    flex-direction: column;
    align-items: flex-start; /* Aligne le contenu à droite */
    justify-content: flex-start; /* Aligne le contenu en haut */
    height: 100vh; /* Assure que la hauteur de la div est 100% de la hauteur de la vue */
    background-size: cover;
    background-position: center;
    padding: 10px 10px 10px 10px; /* Ajoute du padding si nécessaire pour espacer le contenu des bords */
    box-sizing: border-box; /* Assure que le padding est inclus dans la hauteur totale */
}
.carousel-container {
    position: relative;
	    margin-bottom: 30px;
}
.h1_stripe {
    position: absolute;
    top: 15%;
    left: 17%;
    /* background: rgba(255, 255, 255, 0.8); */
    padding: 10px;
    margin: 0;
    z-index: 1;
    color: #FFF;
    font-size: 4rem;
    font-weight: 500;
    width: 50%;
	    line-height: 100px;
}
.gallery-stripe .h2_stripe {
    font-size: 3rem !important;
    font-weight: 400;
    text-align: center;
    width: 100%;
    padding-top: 30px;
	color: #c0a067;
}
.h2_stripe {
    font-size: 5rem;
	font-weight: 400;
	z-index: 99;
}

.h3_stripe {
    font-size: 2.5rem;
}
.p_stripe {
    font-size: 1.4rem;
}
.a_stripe_right {
    font-size: 1.4rem;
    color: #FFF;
	position: absolute;
    bottom: 10%;
    right: 5%;
    color: #fff; /* Couleur du texte (modifiable) */
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px; /* Coin arrondi, optionnel */
}
a.a_stripe_right:hover {
    color: #FFF;
}
.a_stripe_left {
    font-size: 1.4rem;
    color: #FFF;
	position: absolute;
    bottom: 10%;
    left: 5%;
    color: #fff; /* Couleur du texte (modifiable) */
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px; /* Coin arrondi, optionnel */
}
a.a_stripe_left:hover {
    color: #FFF;
}
.site-logo {
    position: absolute;
    top: 10%;
    left: 10%;
    transform: translateX(-50%);
    z-index: 10;
}
		
.owl-carousel .item img {
   width: 100%; /* Assurez-vous que les images s'adaptent bien */
   height: auto;
}
.owl-buttons {
    position: absolute;
    bottom: 10%; /* Positionne les flèches en bas */
    right: 10px; /* Positionne les flèches à droite */
    display: flex;
    gap: 10px; /* Espace entre les flèches */
}

.owl-carousel .owl-prev,
.owl-carousel .owl-next {
    background-color: rgba(0, 0, 0, 0.5) !important; /* Fond semi-transparent */
    color: #fff !important; /* Couleur des flèches */
    padding: 10px 15px !important;
    border-radius: 3px !important;
    cursor: pointer !important;
	font-size: 2rem !important;
	opacity: 1 !important;
}

.owl-carousel .owl-prev:hover,
.owl-carousel .owl-next:hover {
    background-color: rgba(0, 0, 0, 0.7); /* Fond plus foncé au survol */
}
.owl-pagination {
    position: absolute;
    bottom: 10%;
    left: 2%;
}


#nav-icon3 {
  width: 40px;
  height: 30px;
  position: absolute;
  top: 12%;
  right: 7%;
  z-index: 99;
  transition: .5s ease-in-out;
  cursor: pointer;
}
.sidebar .opened {
    width: 40px;
    height: 30px;
    position: absolute;
    top: 1% !important;
    right: 7%;
    z-index: 99;
    transition: .5s ease-in-out;
    cursor: pointer;
}
#nav-icon3 span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #FFF;
  border-radius: 3px;
  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;
}
#nav-icon3 span:nth-child(1) {
  top: 0px;
}
#nav-icon3 span:nth-child(2),#nav-icon3 span:nth-child(3) {
  top: 12px;
}
#nav-icon3 span:nth-child(4) {
  top: 24px;
}
#nav-icon3.open span:nth-child(1),#nav-icon3.opened span:nth-child(1) {
  top: 12px;
  width: 0%;
  left: 50%;
}
#nav-icon3.open span:nth-child(2),#nav-icon3.opened span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
#nav-icon3.open span:nth-child(3),#nav-icon3.opened span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#nav-icon3.open span:nth-child(4),#nav-icon3.opened span:nth-child(4) {
  top: 12px;
  width: 0%;
  left: 50%;
}

.sidebar #nav-icon3 span {background: #fff;}

body.sidebar-opened {overflow:hidden;}
.hidden-overley {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background: #000000;
    opacity:0;
    width:0;
    height:0;
    transition: opacity 1s;
}
.hidden-overley.show {
    height: 100%;
    width: 100%;
    opacity:0.5;
    transition: opacity 1s;
}
.sidebar{
  position: fixed;
  z-index:9999;
  width: 300px;
  height: 100%;
  right: -300px;
  top:0;
  background: #fff;
  transition: right 0.4s ease;
  overflow: auto;
}
.sidebar .d-flex.p-2 {display:-webkit-box;display:flex;padding: 10px!important;}
.sidebar .text{
  color: white;
  font-size: 18px;
  font-weight: 600;
  line-height: inherit;
  text-align: center;
  background: #8e0c05;
  letter-spacing: 1px;
  -webkit-box-pack: justify;    -ms-flex-pack: justify;    justify-content: space-between; -webkit-box-align: center;    -ms-flex-align: center;    align-items: center;
}
.sidebar .side-tel {font-size:0.8rem;}
.sidebar .text a {color: white;}

.sidebar.show{
  right: 0px;
  background: #000;
}
.sidebar ul{
  background: none;
  height: auto;
  width: 100%;
  list-style: none;
      margin: 0;
      padding:0;
}
.sidebar ul li{
  line-height: 60px;
  margin: 0;
}
.sidebar ul li:last-child{
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.sidebar ul li a{
  box-sizing:border-box;    
  position: relative;
  color: #757575;
  text-decoration: none;
  font-size: 1.7rem;
  padding-left: 30px;
  font-weight: 500;
  display: block;
  width: 100%;
}
.sidebar ul li.current-menu-item a{
    color: #90b5cc;
    background: #F5F5F5;
    border-left-color: #90b5cc;
}
.sidebar ul li a:hover{
    cursor:pointer;
    border-left-color: #8e0c05 ;
}
.sidebar ul ul{
  position: static;
  display: none;
}
.sidebar ul .sub-menu.show{
  display: block;
}

.sidebar ul ul li{
  line-height: 42px;
  border-top: none;
}
.sidebar ul ul li a{
  font-size: 17px;
  color: #333;
  padding-left: 40px;
}
.sidebar ul li.current-menu-item ul li a{
  color: #333;
  background: #f9f9f9;
  border-left-color: transparent;
}
.sidebar ul li ul li.current-menu-item a {color:#2196F3;}
.sidebar ul ul li a:hover{
  color: #333!important;
  background: #F5F5F5!important;
}
.sidebar ul li a i:before {display:none;}
.sidebar ul li.menu-parent-item a i:before{
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 22px;
  transition: transform 0.4s;
  width: 20px;
    height: 20px;
    background-repeat:no-repeat; 
    background-position: 0 0;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='iso-8859-1'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512.011 512.011' style='enable-background:new 0 0 512.011 512.011;' xml:space='preserve'%3e%3cg%3e%3cg%3e%3cpath d='M505.755,123.592c-8.341-8.341-21.824-8.341-30.165,0L256.005,343.176L36.421,123.592c-8.341-8.341-21.824-8.341-30.165,0 s-8.341,21.824,0,30.165l234.667,234.667c4.16,4.16,9.621,6.251,15.083,6.251c5.462,0,10.923-2.091,15.083-6.251l234.667-234.667 C514.096,145.416,514.096,131.933,505.755,123.592z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
    background-size: contain;
    display: block;
}
.sidebar ul ul a i:before {display:none !important;}
.sidebar ul li a i.rotate:before{
  transform: translateY(-50%) rotate(-180deg);
}

h2.h2news {
    color: #8e0c05;
    font-weight: 400;
    text-align: right;
    padding: 2% 8% 0% 0%;
    font-size: 3rem;
}
h2.h2-left {
    color: #8e0c05;
    font-weight: 400;
    text-align: left;
    padding: 2% 0% 0% 8%;
    font-size: 3rem;
	border-top: 3px solid #8e0c05;
    padding-top: 3%;
	margin-top: 5%;
}

.card-body a.btn.btn-secondary.understrap-read-more-link {
    display: none;
}

#carousel2 .item{
    margin: 3px;
}
#carousel2 .item img{
    display: block;
    width: 100%;
    height: auto;
}

#carousel2 .owl-buttons {
    position: absolute;
    bottom: -30%;
    right: 10px;
    display: flex;
}
#carousel2 .owl-pagination {
  display: none !important;
}
.video-container {
    position: relative;
    width: 100%;
    max-width: 700px; /* Vous pouvez ajuster la largeur maximale */
    height: auto; /* Maintient les proportions */
	margin: auto;
}

.video-container video {
    width: 100%;
    height: auto;
    display: block;
}

input.wpcf7-form-control.wpcf7-text.form-control, .wpcf7 input[type=date]{
    display: block;
    width: 100%;
    height: -webkit-calc(1.5em + .75rem + 2px);
    height: -moz-calc(1.5em + .75rem + 2px);
    height: calc(1.5em + .75rem + 2px);
    padding: 20px !important;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    -webkit-transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
    -o-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    -moz-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
}

.form-label {
    display: block;
    margin-bottom: 0.5rem; /* Assure l'espacement entre le label et le champ */
}

.form-control {
    margin-bottom: 1rem; /* Assure un espacement suffisant entre les champs */
}
.wpcf7-form-control-wrap {
    position: relative;
    top: -20px !important;
}

.wpcf7 {
    z-index: 99;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner.btn {
    border: 1px #FFF solid !important;
    color: #FFF !important; 
}
.btn:hover, .wpcf7 input[type=submit]:hover {
    background-color: #8e0c05 !important; 
}

.under_footer {
    background-color: #8e0c05;
    color: #FFF;
    padding: 2%;
    text-align: center;
}
.under_footer a{
    color: #FFF;
}
.menu-footer li a{
	color: #FFF;
    text-decoration: none;
	font-size: 1.3rem;
    line-height: 35px;
}
.box-pagine.simple-page {
    height: 500px;
    overflow: hidden;
}
.box-pagine {
    position: relative;
    width: 100%;
    padding-bottom: 30px;
    min-height: calc(100% - 140px);
}
.breadcrumbs {
    height: 60px;
    z-index: 10;
    text-align: center;
    position: fixed;
    font-size: 0.875rem;
    font-weight: 600;
    /* text-transform: uppercase; */
    top: 0;
    right: 100%;
    padding-top: 2px;
    white-space: nowrap;
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    width: calc(100vh - 60px);
    letter-spacing: .1em;
    color: #444444;
}
.img-header .wp-post-image {
    position: relative;
    top: -185px;
	width: 100%;
}
.box-pagine-txt {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}
.h-100 {
    height: 100% !important;
}
.box-pagine-txt2-notizie {
    height: auto;
    width: calc(100% - 30px);
    right: 15px;
    /* min-height: 250px; */
}
.box-pagine-txt2 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 55%;
    background-color: rgba(192, 160, 103, 0.7);
    color: #fff;
    padding: 3.75rem 2.875rem 2.875rem 2.75rem;
}
.box-pagine-txt2 h1 {
    color: #fff;
    font-weight: 400;
    text-transform: uppercase;
	margin: 0;
}
.box-pagine2 {
    position: relative;
    width: calc(100% - 80px);
    margin-left: 3.75rem;
    /* background-color: #f2f2f2; */
    padding-bottom: 30px;
    padding-top: 30px;
}
.recent-posts-sidebar {
    margin-bottom: 20px;
	margin-left: 30px;
}

.recent-posts-sidebar ul {
    list-style: none;
    padding: 0;
	margin: 0;
}

.recent-post-item {
    display: flex;
    margin-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 10px;
}

.post-thumbnail {
    margin-right: 10px;
}

.post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-info h4 {
    margin: 0;
    font-size: 16px;
	font-weight: 400;
}

.post-info .post-date {
    font-size: 12px;
    color: #888;
}

.post-description {
    font-size: 14px;
    color: #555;
    margin-top: 5px;
}
.recent-posts-sidebar h3 {
    font-weight: 600;
    position: relative;
    padding-bottom: 5px;
    border-bottom: solid 1px #004750;
    margin-bottom: 15px;
    text-transform: uppercase;
	color: #8e0c05;
}
.data_articolo {
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: solid 1px #8e0c05;
    margin-bottom: 30px;
    text-align: right;
}
a.nav-link {
    font-size: 1.2rem;
}
.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {
    color: rgba(0, 0, 0, .9);
}
.navbar.navbar-expand-md li.active a {
    background-size: 100% 4px;
}
.navbar-expand-md .navbar-nav .nav-link {
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    background-image: -webkit-linear-gradient(top, #8e0c05 0, #8e0c05 100%);
    background-image: linear-gradient(to bottom, #8e0c05 0, #8e0c05 100%);
    background-position: 0 100%;
    background-repeat: repeat-x;
    background-size: 100% 0px;
    border-bottom: 0;
	font-weight: 600;
}
.navbar.navbar-expand-md li:hover a {
    background-size: 100% 100%;
	color: #cbba99;
}
.navbar-nav .dropdown-menu > li > a {
    padding: 7px 20px !important;
    line-height: 22px;
    color: #333333;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
}

#wpcf7-f134-p26-o1 input.wpcf7-form-control.wpcf7-submit.has-spinner.btn {
    border: 1px #FFF solid !important;
    color: #FFF !important;
    background: #8e0c05;
}

@keyframes fade {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
.scroll-down {
    position: absolute;
    z-index: 999;
    left: 50%;
    margin-left: -15px;
    bottom: 2em;
    display: block;
    text-align: center;
    font-size: 30px;
    text-decoration: none;
    text-shadow: 0;
    width: 30px;
    height: 30px;
    border-bottom: 6px solid #fff;
    border-right: 6px solid #fff;
    transform: translate(-50%, 0%) rotate(45deg);
	animation: fade 2s infinite;
}
a.navbar-brand.custom-logo-link img {
		max-width: 80%;
	}
	
img.logo-footer {
    width: 60%;
    margin-bottom: 10px;
}
.owl-carousel .item video {
    width: 100%;     /* La largeur de la vidéo occupe 100% du conteneur */
    height: 100vh;    /* La hauteur de la vidéo occupe 100% du conteneur */
    object-fit: cover;  /* Cette propriété permet de couvrir le conteneur sans déformer l'aspect de la vidéo */
}
.entry-content p {
    margin: 0 0 11px;
    font-weight: 400;
    font-size: 1.1rem;
	line-height: 28px;
}
.p-b-90 {
    padding-bottom: 3rem !important;
}
.text-center.h3.p-b-90.blocco_1 {
    font-size: 1.8rem;
    line-height: 40px;
}
.box-pagine2.Simple-page p, .box-pagine2.Simple-page ul li {
	font-size: 1.375rem;
	line-height: 37px;
}
.blocco_2 p {
    text-align: justify;
}
.blocco_2 .col-12.col-lg-6.mb-5 {
    padding-right: 2.875rem;
}
.blocco_3 .col-12.col-lg-6.mb-5{
	padding-left: 2.875rem;
    padding-right: 2.875rem;
}



.blocco_3 p {
    text-align: justify;
}
.col-12.col-lg-6.mb-5.col-special-dx {
    border-left: solid 1px #c8b09c;
}
.blocco_4 .col-12.col-lg-6.mb-5 {
    padding-left: 2.875rem;
    padding-right: 2.875rem;
}
.row.blocco_4, .row.blocco_5 {
    margin-top: 40px;
}
.space {
    display: block;
    text-align: center;
    white-space: nowrap;
    border-top: 1px solid #c8b09c;
}
.space img {
    display: inline-block;
    position: relative;
    top: -14px;
    padding: 0 10px;
    background: #FFFFFF;
    color: #c8b09c;
    font-size: 18px;
	width: 20%;
	border-radius: 30px;
}

.zoom-effect {
    overflow: hidden; /* Ensures the zoomed image stays within the container */
}

.zoom-effect img {
    transition: transform 0.3s ease-in-out;
    width: 100%;
    height: auto;
}


.img-header {
  width: 100%;
  height: auto;
  overflow: hidden; /* Empêche l'image de dépasser les limites du conteneur */
}

.img-header img {
  width: 100%;
  height: auto;
  animation: zoomInStop 15s ease-in-out forwards; /* Zoom une fois et s'arrête */
}

@keyframes zoomInStop {
  0% {
    transform: scale(1); /* Commence à taille normale */
  }
  100% {
    transform: scale(1.5); /* Zoom jusqu'à 150% */
  }
}

.section-header-title {
    text-align: center;
}
.section-header-title img {
    width: 20%;
}
.grey-bg {
    background: #EFEEEF;
}
.p-0 {
    padding: 0 !important;
}
#carousel3 .item img {
    width: 100%; /* Make the image take up the full width of the container */
    height: 500px; /* Set a fixed height for all images */
    object-fit: cover; /* Ensures the image covers the container without distortion */
}
#carousel3 .item {
    width: 100%; /* Ensure the carousel item container also fills the width */
    height: 500px; /* Match the height of the image */
	padding: 10px;
}
#carousel3 .owl-prev, #carousel3 .owl-next {
    position: absolute;
    top: 50%; /* Centrer verticalement */
    transform: translateY(-50%); /* Ajuster pour le centrage parfait */
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.5); /* Couleur de fond semi-transparente */
    color: #fff;
    padding: 10px;
    cursor: pointer;
    font-size: 18px;
    border-radius: 50%; /* Rendre les boutons circulaires */
}

/* Positionner le bouton précédent à gauche */
#carousel3 .owl-prev {
    left: 10px; /* Ajustez cette valeur selon vos besoins */
}

/* Positionner le bouton suivant à droite */
#carousel3 .owl-next {
    right: 10px; /* Ajustez cette valeur selon vos besoins */
}
#carousel3 .owl-buttons {
    position: initial;
}
.p-justify{
	text-align: justify;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner.btn {
    border: 1px #FFF solid !important;
    color: #FFF !important;
    background: #8e0c05;
	font-size: 1.4rem;
}
.zoom-effect {
    overflow: hidden;
}
.zoom-effect img:hover {
    -webkit-transform: scale(1.6); 
    -moz-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.1);
}
.zoom-effect img {
	-webkit-transition: all .4s ease-in-out;
	-moz-transition: all .4s ease-in-out;
	-o-transition: all .4s ease-in-out;
	-ms-transition: all .4s ease-in-out;
  width: 100%;
}
.pushmenu.sticky {
    position: fixed !important; /* Rendre l'icône fixe une fois qu'on scroll */
	right: 3% !important;
}
.pushmenu.sticky span {
    background: #8e0c05 !important;
}
.wpcf7 .wpcf7-form p {
    font-size: 1.1rem;
	line-height: 30px;
}
.wpcf7-list-item {
    margin: 0px 1rem 0 0 !important;
}
.footer p {
    font-size: 1.3rem;
    line-height: 30px;
}
.under_footer_text {
    font-size: 1rem;
}
ul#main-menu {
    padding: 0 15px;
}
.acf-gallery {
    display: flex;
    flex-wrap: wrap;
}

.acf-gallery-item {
    margin-bottom: 15px;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 250px; /* Hauteur fixe pour toutes les images */
}

.acf-gallery .col-sm-4 {
    padding: 10px;
}

.zoom-effect img {
    width: 100%;
    height: 100%; /* Assure que l'image remplit le conteneur */
    object-fit: cover; /* Maintient l'aspect ratio en remplissant le conteneur */
    transition: transform 0.3s ease;
}

.zoom-effect:hover img {
    transform: scale(1.1);
}
.carousel-container .item {
    position: relative;
    overflow: hidden;
}

.carousel-container .item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); /* Couleur noire avec 40% d'opacité */
    z-index: 1;
}

.carousel-container .item img {
    width: 100%;
    display: block;
    z-index: 0;
    position: relative;
}
#top-header {
  background-color: #f8f8f8;
  border-bottom: 1px solid #ddd;
  font-size: 14px;
  padding: 10px 0;
}

#top-header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}


.wpml-ls-flag {
  height: 14px;
  margin-right: 5px;
  vertical-align: middle;
}
/* === TOP HEADER STYLES === */
#top-header {
  width: 100%;
  background-color: #cbba99;
  padding: 10px 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
}

/* Flex container */
#top-header .container {
  display: flex;
  justify-content: space-between; /* ← aligne gauche/droite */
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
#top-header {
  position: relative;
  height: 60px; /* ou une autre valeur selon ton design */
}
#top-header {
  position: relative;
}
#et-info,
#et-secondary-menu {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#et-info {
  position: absolute;
  left: 4%;
  top: 50%;
  transform: translateY(-50%);
}

#et-secondary-menu {
  position: absolute;
  right: 5%;
  top: 60%;
  transform: translateY(-50%);
}
ul#et-secondary-nav {
    list-style: none;
}

/* === Language Dropdown === */
.custom-lang-dropdown {
  position: relative;
}

.selected-lang img {
  width: 24px;
  height: auto;
  cursor: pointer;
  border-radius: 3px;
}

/* Hidden list of flags */
.lang-options {
  display: none;
  position: absolute;
  top: 30px;
  right: 0;
  background: #fff;
  border: 1px solid #ccc;
  min-width: 140px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 999;
}

.lang-options li {
  list-style: none;
}

.lang-options li a {
  display: flex;
  align-items: center;
  padding: 6px 10px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
}

.lang-options li a img {
  width: 20px;
  height: auto;
  margin-right: 8px;
  border-radius: 3px;
}

/* Show on hover */
.custom-lang-dropdown:hover .lang-options {
  display: block;
}

/* === Book button === */
.cta-prenota a {
  background-color: #4f3139;
  color: #fff !important;
  padding: 6px 14px;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.3s ease;
  white-space: nowrap;
}

.cta-prenota a:hover {
  background-color: #005f8d;
}

/* === Responsive === */
@media (max-width: 768px) {
	
	.menu-menu-principale-container {
		display: none;
	}
	.h1_stripe {
    line-height: 45px !important;
}
.blocco_2.active, .blocco_3 {
    padding: 10px !important;
}
	.padding_element{
		padding: 1rem !important;	
	}
  #top-header .container {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
  
      .homepage-section-hotel {
      flex-direction: column;
      text-align: center;
    }

    .homepage-text-hotel, .homepage-image-container-hotel {
      flex: 1 1 100%;
    }

  #et-secondary-nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .lang-options {
    right: auto;
    left: 0;
  }
}
.btn-scopri {
    display: inline-block;
    margin-top: 20px;
    padding: 15px 30px;
    color: #fff;
    text-decoration: none;
    border: 1px solid #8e0c05;
    color: #8e0c05;
	    margin-bottom: 20px;
}

.btn-scopri:hover {
  background-color: #a51a32;
  transform: translateY(-2px);
  color: #FFF !important;
}

 .homepage-section-hotel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 50px 20px;
    background-color: #f5f5f5;
  }

  .homepage-image-container-hotel {
    flex: 1 1 45%;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

  .homepage-image-container-hotel img {
    width: 100%;
    height: auto;
    transition: transform 0.5s ease;
  }

  .homepage-image-container-hotel:hover img {
    transform: scale(1.05);
  }

  .homepage-text-hotel {
    flex: 1 1 45%;
  }

  .homepage-text-hotel h2 {
    font-size: 2rem;
    margin-bottom: 15px;
    color: #8e0c05;
  }

  .homepage-text-hotel p {
    font-size: 1.1rem;
    color: #555;
    margin-bottom: 25px;
    line-height: 1.6;
  }

a.homepage-button-hotel {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  line-height: 30px !important;
  color: #8e0c05;
  text-decoration: none;
  border: 1px solid #8e0c05;
  border-radius: 8px;
  transition: background-color 0.3s ease;
  overflow: hidden;
  letter-spacing: 3px !important;
  font-size: 1.2rem !important;
}

.homepage-button-hotel::after {
  content: '>';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) translateX(-10px);
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  font-weight: bold;
  font-size: 1.2em;
}

.homepage-button-hotel:hover,
.homepage-button-hotel:focus {
  background-color: #a51a32;
  outline: none;
  color: #FFF !important;
  letter-spacing: 3px !important;
}

.homepage-button-hotel:hover::after,
.homepage-button-hotel:focus::after {
      opacity: 1;
    transform: translateY(-44%) translateX(50%);
}

.blog-h2 {
  text-align: center;
  position: relative;
  width: fit-content;
  margin: 0 auto 20px auto;
  font-weight: bold;
  color: #8e0c05;
  border-bottom: 3px solid #333; /* primo bordo */
  margin-top: 26px;
}

.blog-h2::after {
  content: "";
  position: absolute;
  bottom: -6px;             /* distanza dal primo bordo */
  left: 25%;               /* bordo più corto: inizio dopo 25% */
  width: 50%;              /* lunghezza 50% rispetto a h2 */
  border-bottom: 2px solid #777; /* secondo bordo più sottile */
}
.card {
  position: relative;
  overflow: hidden; /* Empêche l’image de dépasser la card */
}

.card-img-top {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}

.card:hover .card-img-top {
  transform: scale(1.05); /* Zoom léger */
  cursor: pointer;
}
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus, .dropdown-submenu:hover > a, .dropdown-submenu:focus > a {
    text-decoration: none;
    color: #ffffff;
    background-color: #8e0c05 !important;
}
.footer ul.sub-menu {
	padding-left: 1rem;
}
#carousel2 .owl-item .item {
  height: 500px; /* Hauteur fixe souhaitée, modifiable */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

#carousel2 .owl-item .item img {
  height: 100%;
  width: auto;
  object-fit: cover;
}
#carousel2 {
  position: relative;
  margin-bottom: 60px; /* espace pour les contrôles */
}

#carousel2 .owl-controls {
  position: absolute;
  bottom: -60px; /* déplace sous le slider */
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}
.hidden-on-load {
  opacity: 0;
  transform: translateY(5px);
  transition: all 0.8s ease;
}

.visible-on-scroll {
  opacity: 1;
  transform: translateY(0);
}
.owl-carousel .item {
  overflow: hidden;
  position: relative;
}

.owl-carousel .item img {
  width: 100%;
  height: auto;
  transform: scale(1);
  animation: zoomEffect 30s linear infinite;
}

@keyframes zoomEffect {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.5);
  }
}

/* Animation fade-up */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp 0.8s ease-out forwards;
}

.fade-up:nth-child(1) { animation-delay: 0s; }
.fade-up:nth-child(2) { animation-delay: 0.2s; }
.fade-up:nth-child(3) { animation-delay: 0.4s; }

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.blocco_5 img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
}

.blocco_5 .zoom-effect > a > div {
  height: 100%;
}

.blocco_5 .zoom-effect {
  height: 100%;
}

@media (min-width: 992px) {
  .blocco_5 .zoom-effect {
    height: 500px; /* Choisis une hauteur adaptée à ton design */
  }
}

.wpcf7 {
    max-width: 600px;
    margin: 0px !important;
}

/* Container principal */
.rooms-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 2rem;
}

/* Titre principal */
.main-title {
    text-align: center;
    margin-bottom: 3rem;
    color: var(--secondary-color);
    font-size: 2.5rem;
    position: relative;
    padding-bottom: 1rem;
    opacity: 0;
    transform: translateY(-20px);
    animation: fadeInDown 0.8s ease forwards;
}

.main-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    transition: width var(--transition-speed) ease;
}

.main-title:hover::after {
    width: 150px;
}

/* Grille des chambres */
.rooms-grid {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

/* Carte de chambre */
.room-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    transition: all var(--transition-speed) cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: row;
    min-height: 400px;
    position: relative;
    opacity: 0;
    transform: translateY(30px);
    will-change: transform;
}

/* Alternance automatique de la position image/texte */
.room-card:nth-child(even) {
    flex-direction: row-reverse;
}

.room-card.visible {
    opacity: 1;
    transform: translateY(0);
}

.room-card:hover {
    transform: var(--hover-transform);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.room-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(52, 152, 219, 0.1), rgba(231, 76, 60, 0.1));
    opacity: 0;
    transition: opacity var(--transition-speed) ease;
    pointer-events: none;
}

.room-card:hover::before {
    opacity: 1;
}

/* Image de la chambre */
.room-image {
    width: var(--image-width);
    min-width: 500px;
    overflow: hidden;
    position: relative;
    aspect-ratio: var(--image-ratio);
    will-change: transform;
}

/* Ajustement du gradient pour les images à droite */
.room-card:nth-child(even) .room-image::after {
    background: linear-gradient(to left, rgba(0,0,0,0.2), transparent);
}

.room-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.2), transparent);
    opacity: 0;
    transition: opacity var(--transition-speed) ease;
    pointer-events: none;
}

.room-card:hover .room-image::after {
    opacity: 1;
}

.room-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    filter: brightness(0.95);
    will-change: transform;
}

.room-card:hover .room-image img {
    transform: scale(1.05);
    filter: brightness(1);
}

/* Contenu de la chambre */
.room-content {
    padding: 3rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.room-content h2 {
    color: var(--secondary-color);
    margin-bottom: 1.5rem;
    font-size: 2rem;
    position: relative;
    display: inline-block;
    transition: color var(--transition-speed) ease;
}

.room-content h2::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--primary-color);
    transition: width var(--transition-speed) ease;
}

.room-card:hover .room-content h2::after {
    width: 100%;
}

.room-content p {
    color: #666;
    font-size: 1.2rem;
    line-height: 1.8;
    transform: translateY(10px);
    opacity: 0.9;
    transition: all var(--transition-speed) ease;
}

.room-card:hover .room-content p {
    transform: translateY(0);
    opacity: 1;
}

/* Animations */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Media Queries pour la responsivité */
@media (max-width: 1200px) {
    .room-image {
        min-width: 400px;
    }
	.container-fluid-left.bg-cover.gallery-stripe {
    max-height: 70vh !important;
	}
    
    .room-content {
        padding: 2rem;
    }
}

@media (max-width: 992px) {
    .room-card {
        min-height: 350px;
    }
	.container-fluid-left.bg-cover.gallery-stripe {
    max-height: 70vh !important;
	overflow: hidden;
	}
    
    .room-image {
        min-width: 350px;
    }
    
    .room-content h2 {
        font-size: 1.8rem;
    }
    
    .room-content p {
        font-size: 1.1rem;
    }
}

@media (max-width: 768px) {
    .rooms-container {
        padding: 1rem;
    }

    .main-title {
        font-size: 2rem;
        margin-bottom: 2rem;
    }

    .room-card {
        flex-direction: column !important;
        min-height: auto;
    }

    .room-image {
        width: 100%;
        min-width: 100%;
        aspect-ratio: 16/9;
    }

    .room-content {
        padding: 1.5rem;
    }

    .room-content h2 {
        font-size: 1.5rem;
    }

    .room-content p {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .main-title {
        font-size: 1.8rem;
    }

    .room-content h2 {
        font-size: 1.3rem;
    }

    .room-content p {
        font-size: 0.9rem;
    }
}
.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
    color: #ffffff;
    text-decoration: none;
    outline: 0;
    background-color: rgb(142, 12, 5) !important;
}
.menu-footer li.menu-item a[href="#"] {
  pointer-events: none;
  cursor: default;
  color: inherit; /* pour éviter un style de lien bleu par défaut */
  text-decoration: none;
}
ul.menu-footer .lang-item {
    display: none !important;
}
.row.blocco_2, .row.blocco_3, .homepage-text-hotel p {
    font-size: 1.375rem;
    line-height: 37px;
    color: #000;
}
span#et-info-email {
    color: #8e0c05;
}
#wrapper-navbar {
  position: sticky;
  top: 0;
  z-index: 999;
  background-color: #fff;
  transition: all 0.3s ease;
  box-shadow: none;
}

#wrapper-navbar.is-sticky {
box-shadow: 0 2px 3px #000;
    padding: 0px 0;
    background-color: #ffffff;
    transform: translateY(30%);
}
#wrapper-navbar.is-sticky a.navbar-brand.custom-logo-link img {
    max-width: 40%
}

.blocco_2 {
  width: 70%;
  margin: auto;
  opacity: 0;
  transform: scale(0.95);
  transition: width 0.4s ease, opacity 0.4s ease, transform 0.4s ease; /* ici réduit de 0.8s à 0.4s */
}

.blocco_2.active {
  width: 100%;
  opacity: 1;
  transform: scale(1);
}

.swiper {
    max-width: 80%;
    overflow: visible;
    /* position: absolute; */
    /* top: 30%; */
    /* left: 50%; */
    transform: translate(0%, 0%);
	 position: relative;
	}
.swiper-slide {
  background-position: center;
  background-size: cover;
  width: 300px;
  height: 300px;
}

.swiper-slide::after {
  position: absolute;
  content: "";
  inset: 0;
  width: 100%;
  aspect-ratio: 1/1;
  background: linear-gradient(to bottom right, #b8b8b88f, #ffffff5e);
}
.swiper-slide-active::after {
  background: none;
}
.swiper-slide > div {
  text-align: center;
  display: none;
  opacity: 0;
}
.swiper-slide-active div {
  display: block;
  opacity: 1;
}

.swiper-slide h2 {
  font-size: 1.2rem;
  font-family: "Libre Baskerville", serif;
  position: relative;
}

.swiper-slide h2::after {
  position: absolute;
  content: "";
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  background: linear-gradient(#e66465, #9198e5);
}



.swiper-slide-active h2::after {
  animation: line 0.5s linear forwards;
}
.swiper-slide img {
  display: block;
  width: 100%;
  object-fit: cover;
  box-shadow: 0px 3px 17px rgb(0 0 0 / 25%);

  aspect-ratio: 1/1;
}

/* Hide default swiper arrows */
.swiper-button-prev,
.swiper-button-next {
  background: none !important; /* remove default background */
  width: 70px;
  height: 70px;
  border: 3px solid #4f3139; /* black circle border */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  transition: background-color 0.3s ease;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  background-color: #000;
}

.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
  color: #fff;
}

/* Create flat arrow using CSS */
.swiper-button-prev::after,
.swiper-button-next::after {
    font-weight: bold;
    font-size: 40px;
    position: relative;
    top: -5px;
	color: #4f3139;
}

/* Left arrow */
.swiper-button-prev::after {
  content: '←'; /* Unicode left arrow */
}

/* Right arrow */
.swiper-button-next::after {
  content: '→'; /* Unicode right arrow */
}

/* Position left and right buttons */
.swiper-button-prev {
  left: 20%;
}

.swiper-button-next {
  right: 20%;
}

.bg-cover.gallery-stripe {
    position: relative;
    background-color: #8e0c05;
    overflow: hidden;
    z-index: 1;
}

.bg-cover.gallery-stripe::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/wp-content/uploads/2025/06/logo-dante-e-beatrice-white-1.png'); /* mets ici le chemin de ton logo */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain; /* ou 'cover' */
    opacity: 0.1; /* ajuste selon ton besoin */
    z-index: 0;
}
div#wrapper-footer ul {
    list-style: none;
}
div#wrapper-footer h4 {
color: #c0a067;
}
.wpcf7-form {
  display: flex;
  flex-direction: column;
}

.wpcf7-response-output {
  order: -1; /* Affiche le message en premier */
  margin-bottom: 15px;
  margin-top: 0;
}
.mobile-phone-widget {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 1000;
}

.phone-call-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background-color: #8e0c05; /* Red background */
	border-radius: 50%;
	color: white;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(220, 53, 69, 0.4);
	transition: all 0.3s ease;
	font-size: 24px;
}

.phone-call-btn:hover {
	background-color: #c82333;
	transform: scale(1.1);
	color: white;
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(220, 53, 69, 0.6);
}

.phone-call-btn:focus {
	outline: none;
	color: white;
	text-decoration: none;
}

/* Show only on mobile devices */
@media (max-width: 768px) {
	.mobile-phone-widget {
		display: block;
	}
	.owl-carousel .owl-wrapper-outer {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 70vh !important;
}
}

/* Hide on desktop */
@media (min-width: 769px) {
	.mobile-phone-widget {
		display: none;
	}
}