/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.8
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.site-branding .site-description, .site-branding .site-title {
    display: none;
}

a, a:hover {
    color: #000;
}
img, image, svg {
    pointer-events: none;
}

.testobianco {
	color:#f7f7f7;
}

.testonero {
	color:#000;
}

.testonero:hover {
	color:#000;
	border-bottom: solid 1px #000;
}

.testobianco:hover {
	color:#f7f7f7;
	border-bottom: solid 1px #f7f7f7;
}



.numerostory {
	font-size:16px;
}

.titoloregular{
	font-weight:400!important;

}

.titololight{
	font-weight:300!important
}


.width400 {width:400px!important;}
.width450 {width:450px!important;}

.width490 {width:490px!important;}



@media (max-width: 1199px) and (min-width: 1024px) {
.width490 {width:400px!important}
}


.width500 {width:500px!important}

.width540 {width:540px!important}

.width600 {width:600px!important}

.width650 {width:650px!important}
@media (max-width: 1199px) and (min-width: 1024px) {
.width650 {width:450px!important}
}

.width700 {width:700px!important}

.marginauto {margin:0 auto;}

.linkcontact {
	color: #f7f7f7;
	font-weight:400;
}

/* TOGGLE */

.elementor-toggle .elementor-tab-title {
	padding: 0;}


.elementor-share-btn__text {
    padding-right: 1em;
    display: block!important;
}

.elementor-share-buttons--view-text .elementor-share-btn__text {
    padding-left: 0em;
}

/* LINK */
.linksottolineatobianco {
	border-bottom:1px solid transparent;
	width:auto;
	text-align:center;
	margin:0 auto;
	
}
.linksottolineatobianco:hover {
	border-bottom:1px solid #f7f7f7;
	width:auto;
	text-align:center;
	margin:0 auto;
	
}

/* ICONE SVG*/

div.iconalogo .elementor-icon svg {
	width:auto!important;
	height: 45px!important;
}

div.iconafooter .elementor-icon svg {
	width:auto!important;
	height:5.4vw!important;
}

div.iconalogohome .elementor-icon svg {
	width:auto!important;
	height: 80px!important;
}

@media (max-width: 768px) {
	
div.iconalogo .elementor-icon svg {
	width:auto!important;
	height: 52px!important;
}	
	
div.iconafooter .elementor-icon svg {
	width:auto!important;
	height:80px!important;
}	

div.iconalogohome .elementor-icon svg {
	width:auto!important;
	height: 70px!important;
}	
	
	
}	


/* SPAZI FOOTER */
.spaziofooter1 {
margin-left:64px;	
}

.spaziofooter2 {

margin-left:32px;	
}



/* SPAZI PERCENTUALE */



.paddingleft {
padding-left: 2.15vw!important;
}

.paddingright{
padding-right: 2.15vw!important;
}	

.sopramenu {
padding-top: 1.5vw!important;
}

.sottomenu {
padding-bottom:1.5vw!important;
	
}

.soprasottologo {
padding-top: 0.9vw!important;
padding-bottom: 0.9vw!important;
}

.sezioneheader {
padding-top: 0.9vw!important;
padding-bottom: 0.9vw!important;
}

.sottofooter {
padding-bottom: 0.9vw!important;	
}

.paddingiconafooter {
padding-top: 6.83vw!important;
padding-bottom: 6.83vw!important;	
}

p {
    margin-bottom: 0rem;
}

.topsezionecollection {
	margin-top: 0!important;

}
.elementor-grid {
    grid-column-gap: 1.00vw;
    grid-row-gap: 1.00vw;
}
.spaziocollectiontestoalto {
		margin-top: 3.2vw!important;
}


@media (max-width: 768px) {
	
.paddingleft {
padding-left: 0vw!important;
}

.paddingright{
padding-right: 0vw!important;
}		
.elementor-grid {
    grid-column-gap:0vw;
    grid-row-gap: 0vw;
}	
	
	
	
}



/* SPAZI pagina collection */
.collectionspaziotitolo {
		padding-top: 2.85vw!important;
	
}

.collectionspaziodescrizione {
		margin-top: 2vw!important;
	
}
.collectionspaziomisure {
		margin-top: 2.78vw!important;
	
}

.collectionspazioinquire {
		margin-top: 2.78vw!important;
	
}

.collectionspaziocopyright {
			margin-top: 6vw!important;

}

/* PORTFOLIO STORIES */

div.portfoliostories div.elementor-portfolio-item__overlay {
	background-color: transparent;
}

div.portfoliostories div.elementor-portfolio-item__overlay h2.elementor-portfolio-item__title {
position: absolute;
bottom: 0px;
background-color: rgb(0 0 0 / 50%);
width: 100%;
text-align:left;
	font-size:30px;
	line-height:30px;
	padding: 15px 20px 8px 20px;
	text-transform:uppercase!important;
	font-weight:400;
  margin-left: -15px;
}


/* PORTFOLIO COLLECTION */
div.portfoliocollection div.elementor-portfolio-item__overlay h3.elementor-portfolio-item__title {
	line-height:50px;
}
/* SCROLLING HEADER */

.she-header-hide-on-scroll-yes {
    -webkit-transition: transform 0s ease-in-out !important;
    -o-transition: transform 0s ease-in-out !important;
    -webkit-transition: -webkit-transform 0s ease-in-out !important;
    transition: -webkit-transform 0s ease-in-out !important;
    transition: transform 0s ease-in-out !important;
    transition: transform 0s ease-in-out, -webkit-transform 0s ease-in-out !important;
}



.headerup {
    -webkit-transition: transform 0s ease-in-out !important;
    -o-transition: transform 0s ease-in-out !important;
    -webkit-transition: -webkit-transform 0s ease-in-out !important;
    transition: -webkit-transform 0s ease-in-out !important;
    transition: transform 0s ease-in-out !important;
    transition: transform 0s ease-in-out, -webkit-transform 0s ease-in-out !important;
    -webkit-transform: translateY() !important;
    -ms-transform: translateY() !important;
    transform: translateY() !important;
}





/* SCROLLBAR */
::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
::-webkit-scrollbar-button {
  width: 0px;
  height: 0px;
}
::-webkit-scrollbar-thumb {
  background: #000000;
  border: 0px none #ffffff;
  border-radius: 50px;
}
::-webkit-scrollbar-thumb:hover {
  background: #d20000;
}
::-webkit-scrollbar-thumb:active {
  background: #d20000;
}
::-webkit-scrollbar-track {
  background: #fcfcfc;
  border: 0px none #ffffff;
  border-radius: 50px;
}
::-webkit-scrollbar-track:hover {
  background: #fcfcfc;
}
::-webkit-scrollbar-track:active {
  background: #000;
}
::-webkit-scrollbar-corner {
  background: transparent;
}

/* CONTORNO BLU MOBILE TAP */
input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
outline: none;
}

/* Remove outline for non-keyboard :focus */
*:focus:not(.focus-visible) {  outline: none;
}


.header--scuro { color: #000; }
.header--chiaro { color: #fff; }
.header--rosso { color: #D20000; }


/* effetto cover YSL */
.home-slide {
  position: sticky;
  top: 0;
  min-height: 100vh;
  overflow: hidden;
}




.logo-link,
.logo-icon { overflow: visible; }
.logo-icon svg {
  display: block;
  width: 100%;
  height: auto;      
}


.elementor-location-header .elementor-nav-menu .elementor-item {
  font-size: 11px !important;
  font-weight: 400 !important;
}


.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li.menu-item {
  margin-left: 2.5px;
  margin-right: 2.5px;  
}


/* ===========================================================
   IMPIANTO HOME COMPLETO — riccardovillafabbiati.com
   Replica l'impianto Monstrum: slide sticky con effetto cover
   + varianti colore header. Incolla TUTTO nel child style.css
   di RVF e ALZA la versione del tema (obbligatorio, altrimenti
   il browser serve il CSS vecchio).
   =========================================================== */

/* ---- 1. SLIDE STICKY (effetto cover YSL) ---- */
.home-slide {
  position: sticky !important;   /* !important per battere il transform di Elementor */
  top: 0;
  min-height: 100vh;
  overflow: hidden;
}

/* ---- 2. VARIANTI COLORE HEADER ---- */
.elementor-location-header .elementor-item,
.elementor-location-header .elementor-item:hover,
.elementor-location-header .logo-icon svg {
  transition: color .3s ease, fill .3s ease;
}

.elementor-location-header.header--scuro .logo-icon { color: #000; }
.elementor-location-header.header--scuro .elementor-nav-menu .elementor-item,
.elementor-location-header.header--scuro .elementor-nav-menu .elementor-item:hover,
.elementor-location-header.header--scuro .elementor-nav-menu .elementor-item:focus,
.elementor-location-header.header--scuro .elementor-nav-menu .elementor-item.elementor-item-active {
  color: #000 !important; fill: #000 !important;
}

.elementor-location-header.header--chiaro .logo-icon { color: #f7f7f7; }
.elementor-location-header.header--chiaro .elementor-nav-menu .elementor-item,
.elementor-location-header.header--chiaro .elementor-nav-menu .elementor-item:hover,
.elementor-location-header.header--chiaro .elementor-nav-menu .elementor-item:focus,
.elementor-location-header.header--chiaro .elementor-nav-menu .elementor-item.elementor-item-active {
  color: #f7f7f7 !important; fill: #f7f7f7 !important;
}

.elementor-location-header.header--rosso .logo-icon { color: #D20000; }
.elementor-location-header.header--rosso .elementor-nav-menu .elementor-item,
.elementor-location-header.header--rosso .elementor-nav-menu .elementor-item:hover,
.elementor-location-header.header--rosso .elementor-nav-menu .elementor-item:focus,
.elementor-location-header.header--rosso .elementor-nav-menu .elementor-item.elementor-item-active {
  color: #D20000 !important; fill: #D20000 !important;
}


/* forza il logo RVF (SVG testo-tracciato) a seguire lo schema colore */
.elementor-location-header.header--scuro .logo-icon svg,
.elementor-location-header.header--scuro .logo-icon svg * { fill: #000 !important; }

.elementor-location-header.header--chiaro .logo-icon svg,
.elementor-location-header.header--chiaro .logo-icon svg * { fill: #f7f7f7 !important; }

.elementor-location-header.header--rosso .logo-icon svg,
.elementor-location-header.header--rosso .logo-icon svg * { fill: #D20000 !important; }

.elementor-location-header.header--hide-logo .logo-icon {
  opacity: 0;
  pointer-events: none;
}

.elementor-location-header {
  position: relative;
  z-index: 1001 !important;
}

/* X di chiusura menu fullscreen: rosso, vince sulle regole schema header */
.elementor-location-header.header--chiaro .menu-icona [class*="close"],
.elementor-location-header.header--chiaro .menu-icona [class*="close"] i,
.elementor-location-header.header--chiaro .menu-icona [class*="close"] svg,
.elementor-location-header.header--chiaro .menu-icona [class*="close"] svg *,
.elementor-location-header.header--scuro .menu-icona [class*="close"],
.elementor-location-header.header--scuro .menu-icona [class*="close"] i,
.elementor-location-header.header--scuro .menu-icona [class*="close"] svg,
.elementor-location-header.header--scuro .menu-icona [class*="close"] svg *,
.elementor-location-header.header--rosso .menu-icona [class*="close"],
.elementor-location-header.header--rosso .menu-icona [class*="close"] i,
.elementor-location-header.header--rosso .menu-icona [class*="close"] svg,
.elementor-location-header.header--rosso .menu-icona [class*="close"] svg * {
  color: #D20000 !important;
  fill: #D20000 !important;
  stroke: #D20000 !important;
}
.elementor-location-header.header--chiaro .menu-icona [class*="close"] span,
.elementor-location-header.header--scuro .menu-icona [class*="close"] span,
.elementor-location-header.header--rosso .menu-icona [class*="close"] span {
  background-color: #D20000 !important;
}

div[data-elementor-type="header"] {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100% !important;
  z-index: 99999 !important;
}
div[data-elementor-type="header"] .elementor-section {
  width: 100% !important;
  left: 0 !important;
}