@charset "utf-8";
/* CSS Document */

a:hover {
	color: #004687; 
}

.highlight {
	color: #004687 !important; 
}

#navi a {
	font-family: 'Montserrat', sans-serif;
}


#navi-trigger.white .navi-trigger-text,
#navi-trigger.white .navi-trigger-inn{
	color: #fff !important;
}

.show_mobile_menu #navi-trigger.white .navi-trigger-text,
.show_mobile_menu #navi-trigger.white .navi-trigger-inn,
.header-scrolled #navi-trigger.white .navi-trigger-text,
.header-scrolled #navi-trigger.white .navi-trigger-inn {
	color: #313139 !important;
}

#navi a.current-menu-item {
	background-color: #004687;
	color: #fff !important;
}

.lang_switch_flag {
	padding-top:  10px;
	margin-left: 15px;
	width: 20px;
}

/* fake sottovoce menu con padding left */


.fake-submenu {
	background-color: #f6f1e6;
}

.fake-submenu.current-menu-item {
	background-color: transparent;
}

.fake-submenu > a {
    padding-left: 10px !important;
	font-size: 20px !important;
}


.page-loading .site-loading-logo img {
	max-height: 210px;
	max-width: 250px;
	width: auto;
	height: auto;
}

.text-center {
	text-align: center !important;
}

.text-right {
	text-align: right !important;
}

.text-left {
	text-align: left !important;
}

.text-justify {
	text-align: justify !important;
}

.text-shadow-black {	
	text-shadow: 0 2px 0 #000;	
}

.text-shadow-white {	
	text-shadow: 0 2px 0 #fff;	
}

.white {
	color: #fff !important;
}

.black {
	color: #000 !important;
}

.gold {
	color: #CFBCA6 !important;
}

.light-black {
	color: #313139 !important;
}

.bg-white {
	background-color: #fff !important;
}

.no-padding-left {
	padding-left: 0px !important;
}

.no-padding-right {
	padding-right: 0px !important;
}


/* margin top */
.mt-0 {
	margin-top: 0px !important;
}

.mt-10 {
	margin-top: 10px !important;
}

.mt-20 {
	margin-top: 20px !important;
}

.mt-30 {
	margin-top: 30px !important;
}

.mt-40 {
	margin-top: 40px !important;
}

.mt-50 {
	margin-top: 50px !important;
}

.mt-60 {
	margin-top: 60px !important;
}

.mt-70 {
	margin-top: 70px !important;
}

.mt-80 {
	margin-top: 80px !important;
}


/* margin bottom */
.mb-0 {
	margin-bottom: 0px !important;
}

.mb-10 {
	margin-bottom: 10px !important;
}

.mb-20 {
	margin-bottom: 20px !important;
}

.mb-30 {
	margin-bottom: 30px !important;
}

.mb-40 {
	margin-bottom: 40px !important;
}

.mb-50 {
	margin-bottom: 50px !important;
}

.mb-60 {
	margin-bottom: 60px !important;
}

.mb-70 {
	margin-bottom: 70px !important;
}

.mb-80 {
	margin-bottom: 80px !important;
}


/* padding top */
.pt-0 {
	padding-top: 0px !important;
}


.pt-20 {
	padding-top: 20px !important;
}

.pt-40 {
	padding-top: 40px !important;
}

.pt-50 {
	padding-top: 50px !important;
}

.pt-80 {
	padding-top: 80px !important;
}

/* padding bottom */
.pb-0 {
	padding-bottom: 0px !important;
}

.pb-20 {
	padding-bottom: 20px !important;
}

.pb-40 {
	padding-bottom: 40px !important;
}

.pb-50 {
	padding-bottom: 50px !important;
}

.pb-80 {
	padding-bottom: 80px !important;
}

/* padding left */
.pl-0 {
	padding-left: 0px !important;
}

/* padding right */
.pr-0 {
	padding-right: 0px !important;
}


/* nuove */

/* Custom Bootstrap overwrite css */
@media (min-width: 1680px) {
  .container {
	width: 100%;
    max-width: 1320px;
  }
}


h1, h2, h3, h4, h5, h6, 
body.single .title-wrap-tit, 
.title-wrap-h1, .archive-grid-item-tit, 
.title-wrap-meta-a, 
.archive-grid-item-meta-item,
.title-section {
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	letter-spacing: 0.5px;
}

h1, h2, h3, h4, h5, h6 {
	margin-bottom: 15px;
}

h1 {
    font-size: clamp(30px, 2.5vw, 48px); /* usato per i titoli dei progetti e post */
}

h1, .entry h1 {
	font-weight: 700 !important;
}

.title-wrap-tit {
    font-size: clamp(36px, 3.5vw, 70px) !important;
}

.entry h2 {
    font-size: clamp(30px, 2.2vw, 40px);
    line-height: 1.4;
	font-weight: 700;
}

.entry h3 {
    font-size: clamp(28px, 2vw, 34px);
    line-height: 1.3;
	font-weight: 700;
}

.entry h4 {
    font-size: clamp(24px, 1.5vw, 26px);
    line-height: 1.2;
	margin-bottom: 0px; /* usato per i titoli dei paragrafi nei progetti e post */
}

.entry h5 {
    font-size: clamp(20px, 1.2vw, 22px);
    line-height: 1.2;
	letter-spacing: 0.5px;
}

.entry h6 {
	letter-spacing: 0.5px;
}

.section {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-top: 40px;
	margin-bottom: 40px;
}

.double-padding {
	padding-top: 160px;
	padding-bottom: 160px;
}

.title-section {
	font-size: 66px;
	margin-bottom: 40px;
}

#content_wrap .entry p {
	margin-bottom: 15px;
}


#content {
	padding-bottom: 50px;
}


/* FOOTER */

.footer-info .footer-container {
	height: 150px;
}

#footer.footer-cols-layout .footer-info .footer-container > [class*="span"]:last-child::before {
	top: 75px;
}


#footer a:hover {
	color: #004687 !important;
}

#back-top::before, 
#back-top::after {
	top: 100%;
}

.banner-footer-link {
	border: 1px solid #000;
  	display: inline-block;
  	width: auto;
	max-width: 300px;
}



/* INDEX */


/* hero nuova */

.hero {
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero h1 {
    margin: 0;
	font-family: "Arial", sans-serif !important;
    font-weight: 700 !important;

    color: transparent;
    -webkit-text-fill-color: transparent;

    -webkit-text-stroke: 2px #fff;
	text-stroke: 2px #fff;

    font-size: clamp(3rem, 8vw, 20rem);
    line-height: 1;
    letter-spacing: 0.08em;
    text-align: center;
}

/* contenitore */
.my-grid-item-con {
	position: relative;
	overflow: hidden;
}

/* immagine */
.my-grid-bg {
	width: 100%;
	padding-top: 75%;
	background-size: cover;
	background-position: center;
}

/* LINK FULL BLOCK */
.my-grid-item-mask-link {
	position: absolute;
	inset: 0;
	z-index: 3;
}

/* OVERLAY */
.my-grid-item-con::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255,255,255,0.85);
	opacity: 0;
	z-index: 1;
}

/* CORNICE (compare in hover) */
.my-grid-item-con::before {
	content: "";
	position: absolute;
	inset: 20px; /* distanza dal bordo */
	border: 1px solid rgba(0,0,0,0.7);
	opacity: 0;
	transform: scale(1.1);
	z-index: 2;
}

/* TESTO nascosto */
.my-grid-item-con-text {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;  /* verticale */
	align-items: center;      /* orizzontale */
	text-align: center;
	color: #313139;
	z-index: 2;

	opacity: 0;
	transform: translateY(15px);
	transition: all .3s ease;
}

.my-grid-item-tit {
	font-size: 2vw;
}


/* HOVER */

/* overlay animato */
.my-grid-item-con:hover::after {
	animation: my-boxed-effect .35s ease-out both;
	opacity: 1;
}

/* cornice animata */
.my-grid-item-con:hover::before {
	opacity: 1;
	transform: scale(1);
	transition: all .35s ease-out;
}

/* testo */
.my-grid-item-con:hover .my-grid-item-con-text {
	opacity: 1;
	transform: translateY(0);
}

@keyframes my-boxed-effect {
  0% {
    transform: scale(1.05);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* rimuove margini laterali bootstrap */
.row-portfolio {
	margin-left: -20px;
	margin-right: -20px;
}

/* crea spazio SOLO tra colonne */
.row-portfolio > [class*="col-"] {
	padding-left: 20px;
	padding-right: 20px;
	/* margin-bottom: 40px; */
}

@media (max-width: 767px) {
	.row-portfolio > [class*="col-"] {
		margin-bottom: 30px;
	}
}

.latest-news h2 {
	font-size: 33px;
	padding-left: 15px;
	margin-bottom: 15px;
}

.latest-news .section-more {
	padding-right: 20px;
}

.latest-news-container {
	margin: 30px 0 0 0;
}

.latest-projects h2 {
	font-size: 33px;
	padding-left: 15px;
	margin-bottom: 15px;
}

.latest-projects-container {
	background-color: #f6f1e6;
	margin: 30px 0 0 0;
	padding-bottom: 30px;
}

.latest-projects .archive-item {
	margin: 0 15px;
	padding-left: 0px;
	padding-right: 0px;
	padding-top: 25px;
	padding-bottom: 25px;
}


/* PARTNER */

.elenco-partner a {
	color: #414145 !important;
}

.elenco-partner a:hover {
	color: #004687 !important;
}


/* PRODOTTI */

#prodotti .owl-carousel:hover {
	cursor: url("../img/sito/icon-move-light.png"), move;
}

#prodotti .ux-slider-down:hover {
	cursor: pointer;
}


#prodotti #ux-slider-down::before, #prodotti #ux-slider-down::after {
	color: #fff;
}

#prodotti .owl-dots {
	color: #fff;
}

/* DENOMINAZIONI */

.denominazione-info {
	font-size: 22px;
	margin-bottom: 40px;
	font-family: 'Montserrat', sans-serif;
}

.denominazione-titolo {
	font-size: 20px;
	color: #CFBCA6;
	font-weight: bold;
	margin-bottom: 10px;
}

.denominazione-descrizione {
	font-size: 14px;
	text-align: justify;
}

.denominazione-descrizione p {
	margin-bottom: 10px;
}

.denominazione-descrizione p:last-of-type {
    margin-bottom: 0;
}

.denominazione_divider {
	margin-top: 30px !important;
	margin-bottom: 30px !important;
}

.denominazione_divider hr {
	border-top: 1px solid #ddd;
}

/* NEWS */

.sidebar-layout #content_wrap {
	margin-bottom: 60px;
}

#sidebar-widget {
	background: #f6f1e6;
	padding: 20px;

}

@media (min-width: 992px) {

	.wrap-equal {
		position: relative;
	}

	/* sidebar "finta full height" */
	#sidebar-widget {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;

		width: 25%; /* equivalente col-md-3 */

		z-index: 1;
	}

	/* content sopra */
	#content_wrap {
		position: relative;
		z-index: 2;
	}

}

.ux-lazyload-wrap {
	background-color: #fff;
}

.gird-blog-meta {
	margin-top: 10px;
}

.blog-item-foot {
	text-align: right;
	margin-top: 15px;
}

.masonry-list .grid-item-standard:hover {
    -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    -moz-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.widget {
	margin-bottom: 50px;
}

.widget-title {
	font-size: 22px;
}

.search-wrap {
    position: relative;
    width: 100%;
}

.search-field {
    width: 100%;
    padding-right: 40px; /* spazio per la lente */
    box-sizing: border-box;
}

.search-button {
    position: absolute;
	margin: 0px !important;
	width: 40px;
	height: 40px;
    right: 1px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.elenco-anni li {
	padding-top: 5px;
	padding-bottom: 5px;
}

.anno-current a {
	font-weight: 700;
}

/* pagination */ 

.pagination {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination li {
    display: inline-block;
    margin: 0 4px;
}

.pagination li a {
    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #ddd;
    color: #414145;
    text-decoration: none;

    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
}

/* hover */
.pagination li a:hover {
    background: #414145;
    color: #fff;
    border-color: #fff;
}

/* active */
.pagination li.active a {
    background: #414145;
    color: #fff;
    border-color: #fff;
}

/* PROGETTI */

.archive-list {
	margin-top: 0px;
}

.archive-item {
	margin-top: 0px;
	margin-bottom: 50px;
	padding-bottom: 30px;
	border-bottom: 1px solid #ddd;

}

.arvhive-tit {
	font-size: 20px;
}



/* youtube video responsive */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; 
    height: 0; 
    overflow: hidden;
    
    margin-bottom: 10px;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* contatti */

.contactform {
	margin: 40px 0;
}

input[type="email"] {
	margin-bottom: 20px;
}

.formfield-container {
	margin-bottom: 20px;
}

.formlabel {
	font-size: 12px;
	padding: 5px 0;
}

.error {
	color: #F00;
	margin: 5px 0;
	font-size: 13px;
}

.post-meta-social-li .fa {
  display: block; 
}

.success-box {
	padding: 15px;
	color: #3c763d;
	background-color: #dff0d8;
	border-color: #d6e9c6;
	
	margin: 20px 0;
}


.error-box {
    padding: 15px;
	color: #a94442;
	background-color: #f2dede;
	border-color: #ebccd1;
    
	margin: 20px 0;
}


/* form */

.form input.newsletter-field-error,
.form select.newsletter-field-error,
.form input.newsletter-field-error:focus,
.form select.newsletter-field-error:focus {
    border-color: #e41919;
}


/* progetto filiera */


/* progetto cms */

.mappa-italia {
	max-width: 450px;
}

.cta-comunicazione {
    display: block;
    padding: 25px 30px;
    background: #313139;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: all .3s ease;
	margin-bottom: 40px;
	border: 1px solid transparent;
}

.cta-comunicazione:hover {
    background: #fff;
    color: #313139;
    text-decoration: none;
	border: 1px solid #313139;
}


#progetto-di-filiera .entry h4 {
	font-size: clamp(24px, 1.8vw, 60px);
    line-height: 1.4;
}

.img-profondita {
  /* Ombra morbida: leggera, estesa e poco opaca per un effetto naturale */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 
              0 1px 3px rgba(0, 0, 0, 0.05);
  
  /* Bordo sottile grigio chiaro per definire bene i contorni dell'immagine */
  border: 1px solid rgba(0, 0, 0, 0.06);
  margin-bottom: 20px;
}

.section-beige {
  background-color: #f6f1e6; 
  padding: 5%;            
  border: 1px solid #000;    
  border-radius: 4px;        
  margin-bottom: 60px;
}

.section-azzurro {
  background-color: #f0f4f9; 
  padding: 5%;            
  border: 1px solid #000;    
  border-radius: 4px;        
  margin-bottom: 60px;
}


ul.aziende-list li {
	font-size: 18px;
	list-style: square !important;
  	margin-left: 15px !important;
}


ul.aziende-list a {
	text-decoration: none;
	font-size: 18px;
	color: #004687;
}

ul.aziende-list a:hover {
	text-decoration: underline;
	color: #d2007b;
}



.tab-link {
	font-size: 24px !important;
}

.tpl-tabs {
	font-size: 16px;
}

.tpl-tabs li.active {
	border-bottom: 1px solid #fff;
	border-top: 1px solid #e5e5e5;
	border-left: 1px solid #e5e5e5;
	border-right: 1px solid #e5e5e5;
}

.tab-content.tpl-minimal-tabs-cont {
	border: 1px solid #e5e5e5;
  	border-top: none;
  	padding: 5%;
}

.js-newsletter-popup p {
	margin-bottom: 10px;
}

/* IFRAME POPUP PER NEWSLETTER MAILCHIMP */

.mfp-iframe-holder .mfp-content {
    max-width: 1000px;
    height: 90vh;
}

.mfp-iframe-holder .mfp-iframe {
    height: 90vh;
}

.mfp-iframe-holder .mfp-close {
	top: -65px !important;
}


/* RESPONSIVE MEDIA QUERIES */

@media (max-width: 991px) {

	.entry h3 {
		font-size: 3.5vw;
	}	

    .latest-news-container .col-md-6 {
        padding-left: 0;
        padding-right: 0;
    }

	.responsive-ux h1 {
		font-size: 33px;
	}

	.section {
		padding-top: 40px;
		padding-bottom: 40px;
		margin-top: 20px;
		margin-bottom: 20px;
	}	


	/* index */

	.hero h1 {
		-webkit-text-stroke: 1px #fff !important;
		text-stroke: 1px #fff !important;
		font-size: clamp(4rem, 9vw, 20rem) !important;
	}		

	.latest-news h2 {
		padding-left: 0px;
		margin-bottom: 15px;
	}

	.latest-news .section-more {
		padding-right: 0px;
	}
	.latest-projects h2 {
		padding-left: 0px;
		margin-bottom: 15px;
	}	



	/* partner */

	.sticky_column {
		padding-top: 50px;
	}

	/* news */

	.section-title {
		margin-top: 30px;
		margin-bottom: 30px !important;
	}

	.responsive-ux .container-masonry {
		margin-top: 30px;
	}	

	.post {
		margin-top: 30px;
	}

	body.single.responsive-ux .title-wrap-tit {
		font-size: 26px;
		line-height: 30px;
	}	

	/* progetti */
	.responsive-ux h2 {
		font-size: 18px;
		line-height: 22px;
	}

	.archive-list h2 u {
		font-size: 24px !important;
		line-height: 28px !important;
	}

	#progetto-di-filiera.responsive-ux .post h1 {
		font-size: 30px;
	}

	.responsive-ux .post h1 {
		font-size: 22px;
	}	

	/* contatti */
	.formfield-container {
		margin-bottom: 0px;
	}

	#captcha_image {
		margin-bottom: 20px;
	}

	/* navigazione interna pagine */

	body.post-navi-single-mobile-padding .blog-unit-meta-bottom {
		padding-left: 20px;
		padding-right: 20px;
	}	

	.arrow-item.arrow-next:hover .navi-title-tag {
		-webkit-transform: translateX(-30px);
		-moz-transform: translateX(-30px);
		-ms-transform: translateX(-30px);
		transform: translateX(-30px);
	}	

	.arrow-item.arrow-prev:hover .navi-title-tag {
		-webkit-transform: translateX(30px);
		-moz-transform: translateX(30px);
		-ms-transform: translateX(30px);
		transform: translateX(30px);
	}

	.arrow-item.arrow-prev:hover .navi-arrow {
		left: -10px;
	}


	/* footer */

	#footer .credits {
		margin-bottom: 20px;
	}

	.footer-info {
		padding-top: 0px !important;
	}

}

@media (max-width: 767px) {
	
	.column-banner-footer-container {
		margin-top: 25px;
	}


}