:root {
	--bkgbody: #3e2d21; /* */
	--textcolorwhite: white;
	--textcolorwhitehover: #A08D76;
	--textbrown: #786754;
	--semiopaque: rgba(203,208,213,.8);
	--whitesemi: rgba(255,255,255,.8);
	--panna: rgba(220,213,194,1);
	--greggradient: radial-gradient(circle, rgba(155,137,119,1) 31%, rgba(123,105,89,1) 70%, rgba(62,45,33,1) 100%);
}

* {margin:0; padding: 0;}
body {width: 100%; height: auto; min-height: 100%; font-family: Arial, sans-serif;}


.topbox {float: left; width: 100%; background: var(--bkgbody); color: var(--textcolorwhite); padding: 15px 0;}

.logo {width: 30vw; max-width: 530px; min-width: 150px;}
.logo img {width: 100%; height: auto; filter: drop-shadow(2px 2px 1px rgb(0 0 0 / 0.6));}

.menu {position:relative; width: calc(100% - 60px); max-width: 1600px; margin: 0 auto; padding: 0 30px; height: 80px; display: flex; flex-flow: row nowrap; align-items: center; justify-content:space-between;}
.menu a {color: var(--textcolorwhite); text-transform: uppercase; text-decoration: none;}
.menu a:hover {color: var(--textcolorwhitehover);}

.menuvoices {display: flex; flex-flow: row nowrap;}
.voiceslist {display: flex;}
.menu .item {padding: 0 7px; border-right: solid 1px var(--textcolorwhitehover); display: flex; flex-flow: row nowrap; align-items: center; gap:.4rem;}
.menu .item:last-child {border-right: 0;}
.menu .item svg {fill:var(--textcolorwhite);}
.menu .item:hover svg {fill:var(--textcolorwhitehover);}
.prenotacontatticontainer a svg {fill: var(--panna); width: 2rem; height: auto;}
.prenotacontatticontainer a:hover svg {fill: var(--textbrown);}
.menu .menubutton {display: none;}


.menu .item:hover svg.whatsapp,
.prenotacontatticontainer a:hover svg.whatsapp {fill:#00A884 !important;}

.section {width: 100%; float: left; padding-top: 30px; position: relative;}
.sectiontitle {display: flex; width: 100%; justify-content:center; align-items: center; padding: 10px 0; color: var(--textbrown); font-size: clamp(1.5rem, 5vw, 4rem);}
.sectiontitle span.tiletext {font-family: 'PT Serif', serif; font-weight: 400; letter-spacing: -.05em;}


/*----- STAFF ----*/
.staffsection .sectiontitle {color: #F1DBBC;}

.staffsection {background:url("img/ricciolo.webp") no-repeat top right, var(--greggradient); background-size: 40%, auto;}
.staff {width: calc(100% - 60px); max-width: 1600px; margin: 0 auto; padding: 30px;
		display:grid; grid-template: auto / repeat(4, 1fr); grid-gap: 15px;}

.staffitem {display:flex; flex-flow: column nowrap; justify-content:space-between; background: var(--semiopaque);}
.staffitem .portrait {padding-top: 85%; background-size: cover !important; clip-path: polygon(0% 0%, 100% 0%, 100% 92%, 70% 92%, 60% 100%, 50% 92%, 0 92%);}

.staff1 .portrait {background:url("img/staff/01.webp");}
.staff2 .portrait {background:url("img/staff/02.webp");}
.staff3 .portrait {background:url("img/staff/03.webp");}
.staff4 .portrait {background:url("img/staff/04.webp");}


.staffitemdesc {padding: 15px;}
.staffitem h1 {font-family: 'Water Brush', cursive; text-align: center; font-size: clamp(2rem, 4vw, 5rem); color:var(--textbrown);}
.staffitem p {border-top: dotted 5px #ccc; padding-top: 1rem;}


/*--------- SERVIZI ---------*/
.servizisection {border-top: 0.5em solid var(--panna); background:url("img/spabkg.webp") no-repeat center top, #F9F9F6; background-size: 100% auto, auto; padding-bottom: 50px;}
.servizisection .sectiontitle .faceicon { font-size: 1.5em; background: url("img/face01.svg") no-repeat center right; background-size: contain; color: transparent;}

.elencoservizi {width: 100%; max-width: 1200px; margin: 30px auto; display: grid; grid-template: auto / .3fr repeat(3, 1fr); column-gap: 2rem; grid-row-gap: 4rem;}


.prenotaservizio {display: flex; justify-content:center; align-items:center; grid-row: 1 / span 1; grid-column: 1 / span 2;}
.prenotacontatticontainer {display: grid; grid-template: min-content / 1fr 1fr; grid-gap: 1rem;}

.prenotaistruzioni {grid-column: 1 / -1; padding: 1rem; color: var(--bkgbody); font-family: 'PT Serif', serif; font-weight: 400; letter-spacing: -.05em; font-size: 2em; line-height: .9em;}
.prenotacontatticontainer a {display: flex; flex-flow: row nowrap; align-items:center; justify-content:center; gap:1em; background:var(--textbrown); box-sizing: border-box; border-radius:1rem; border: solid .3rem var(--panna); color: var(--panna); padding: 1rem; font-family: 'PT Serif', serif; font-weight: 400; letter-spacing: -.05em; text-decoration: none; transition: all .1s;}
.prenotacontatticontainer a:hover {background:var(--panna); border: solid .3rem var(--textbrown); color: var(--textbrown); box-shadow: 0 .5rem 5px rgba(0,0,0,.1); transform: translateY(-.3rem) scale(1.03);}
.prenotacontatticontainer a:hover span.call {color: red; font-size: 2.5em;}
.prenotacontatticontainer a:hover span.message {color: #00A884; font-size: 2.5em;}
.prenotacontatticontainer a span {font-size: 2em; transition: all .5s;}

.serviziitem {position:relative; padding: 1.5rem; border: dashed 2px var(--semiopaque); background: var(--whitesemi); font-family: sans serif;}
.serviziitem .serviziotitle {font-family: 'PT Serif', serif; font-weight: 400; letter-spacing: -.05em; color: var(--textbrown); font-size: 2em;}
.serviziitem p {font-size: 1.2em;}
.serviziitem .elencoaltriservizi {display: flex; flex-flow: row wrap; gap: .3em; list-style: none; margin-top: 20px; border-top:dashed 2px var(--semiopaque); padding: 1.5rem 0 0;}
.serviziitem .elencoaltriservizi li {color: var(--textcolorwhite); font-weight: lighter; background: var(--textbrown); padding: .4em; font-size: 1em;}

.serviziocorpo {grid-column: auto / span 2;}


/*--- icone servizi --*/
.serviziitem:before {content:""; display:block; position: absolute; width: 5rem; height:5rem; left: 50%; top:-3rem; transform: translateX(-50%); border-radius: 50%; background-size: contain !important;}
.serviziotaglio:before {background:url("img/servizi/hair.png") no-repeat center, var(--panna);}
.servizioviso:before {background:url("img/servizi/viso.png") no-repeat center, var(--panna);}
.serviziocorpo:before {background:url("img/servizi/corpo.png") no-repeat center, var(--panna);}
.serviziomani:before {background:url("img/servizi/cerimonie.png") no-repeat center, var(--panna);}
.servizicerimone:before {background:url("img/servizi/salone.png") no-repeat center, var(--panna);}
.serviziobarba:before {background:url("img/servizi/mani.png") no-repeat center, var(--panna);}



/*------ SALONE -------*/
.salonesection {background:var(--panna); padding-top: 60px;}
.salonesection:before {content: ""; position: absolute; display: block; width: 250px; max-width: 100%; height: 75px; top: -55px; left: 50%; transform: translateX(-50%); background: url("img/servizi/separator.svg") no-repeat; background-size: contain, auto; background-position: center, bottom;}

.salonesection .bloccouno h2 {display:flex; flex-flow: row nowrap; align-items:center;}
.salonesection span.tiletext {font-family: 'PT Serif', serif; font-weight: 400; letter-spacing: -.05em; color: var(--textbrown); font-size: 2.5em; line-height: .7em;}
.salonesection .relaxicon { font-size: 5em; line-height: .8em; background: url("img/servizi/relax.png") no-repeat center left; background-size: contain; color: transparent;}

.containersalone {max-width: 1200px; width: 100%; margin: 0 auto 30px; display: grid; grid-template: auto / auto 300px; grid-column-gap: 3rem; grid-row-gap: 2rem;}
.saloneimg {width: 100%; height: auto; -webkit-mask-image: url("img/salone_img_mask.svg"); -webkit-mask-size: 100% auto;  box-sizing: border-box; border-right: solid 15px var(--semiopaque);}

.salonedescrizione p {margin-bottom: 1em;}
.salonedescrizione .titoletto {margin:0; text-transform: uppercase; color: var(--textbrown);}

.bloccodue {display: grid; grid-template: auto / 1fr 1fr; grid-gap: 20px;}
.bloccodue img {width: 100%; height: auto; -webkit-mask-image: url("img/fotosalone/pathsalone.svg"); mask-image: url("img/fotosalone/pathsalone.svg");}
.bloccodue p {text-align: right; display: flex; align-items:center; justify-content: flex-end; font-family: 'PT Serif', serif; color: var(--textbrown); font-size: clamp(13px, 3vw, 17px);}


/*-------- lista prodotti e marchi ---*/
.productssection {background: var(--panna); padding-top: 30px; border-top: dashed 1px var(--textbrown);}
.productlist {max-width: 1200px; width: calc(100% - 40px); margin: 0 auto 30px; padding: 0 20px; display: flex; flex-flow: row wrap; justify-content: space-evenly; align-items: center;}
.productlist a {width: calc(100% / 7); min-width: 150px; transition: all 0.2s ease;}
.productlist a:hover {opacity: .5;}
.productlist a img{width: 100%; height: auto;}


/*----- GALLERY ----*/
.gallerycontainer {grid-row:2 / span 1; grid-column: 1 / -1; overflow-y: scroll; height: 35vw; min-height: 500px; position: relative;}
.gallerycontainer::-webkit-scrollbar-track {background: var(--panna); border-radius: 10px;}
.gallerycontainer::-webkit-scrollbar-thumb {background: var(--textbrown); border-radius: 10px;}
.gallerycontainer::-webkit-scrollbar {width: 10px;}

.gallery {display: flex; flex-flow: row wrap; justify-content: space-between; column-gap: 2%; row-gap: 1em; list-style: none;}
.gallery .item {display: flex; width: calc(95% / 3); height: auto; align-items: center;}
.gallery .item a img {width: calc(100% - 10px); height: auto; border:  solid 5px rgba(245,245,245,.5); transition: all 0.2s ease;}
.gallery .item a:hover img{opacity: .8; transform: scale(.95); border:  solid 5px rgba(245,245,245,1);}
.gallery .item p {margin: 10%; font-family: 'PT Serif', serif; color: var(--textbrown); font-size: 1.2em; line-height: .9em;}


/*-- orari apertura --*/
.orariapertura {position:relative; grid-row: 1 / span 1; grid-column: span 1 / -1;  background: rgba(255,255,255,.2); padding: 20px; border: solid 10px var(--semiopaque);}
.orariapertura:before {content:""; position: absolute; width: 5rem; height:3rem; border-radius: 50%; left: 50%; top:-1.8rem; transform: translateX(-50%); background: url("img/servizi/salone.png") no-repeat center, var(--semiopaque); background-size: contain, auto;}
.orariapertura h2 {font-family: 'PT Serif', serif; font-weight: 400; letter-spacing: -.05em; color: var(--textbrown); font-size: 2em;}
.orariapertura ul {padding-left: 1em; list-style-type: none;}
.orariapertura ul li {display:flex; align-items:center;}
.orariapertura ul li strong {margin: 0 .2rem; color:#690000;}
.orariapertura ul .giorno {margin-top: 1rem;}
.orariapertura ul .orario {padding-bottom: 1rem; border-bottom: dashed 2px var(--textbrown);}
.orariapertura ul .orariofirstline {padding-bottom: 0; border-bottom: 0;}
.orariapertura ul .giorno:before {content:"\ebcc"; font-family: 'Material Icons'; color:var(--bkgbody); margin-right: .5rem;}
.orariapertura ul .orario:before {content:"\e8b5"; font-family: 'Material Icons'; color:var(--bkgbody); margin-right: .5rem;}


@media (max-width: 1250px) {
	.bloccodue {grid-template: auto / 100%; grid-gap: 20px;}
	.elencoservizi {grid-template: auto / repeat(4, 1fr);}
	.serviziomani {grid-column: auto / span 2;}
}

@media (max-width: 850px) {
	.salonedescrizione {grid-row: 1/2; grid-column: 1 / -1;}
	.orariapertura {grid-row: 2/3; grid-column: 1/-1;}
	.gallerycontainer {grid-row: 3/4; grid-column: 1/-1;}
	.gallery .item {display: block; width: calc(96% / 2); height: auto;}
	.serviziomani {grid-column: auto / span 1;}
	.serviziocorpo {grid-column: auto / span 2;}
}

@media (max-width: 680px) {
	.productssection {overflow:hidden;}
	.productlist {width: 500vw; max-width: inherit; flex-flow: row nowrap; padding: 0; animation: slideproducts 10s linear infinite;}
	.productlist a {width: 100vw; height: auto; display: flex; justify-content: center; align-items: center;}
	.productlist a img {width: 70%; height: auto;}
	
	.serviziitem .elencoaltriservizi li {font-size: 1.5em;}
}


@keyframes slideproducts {
	0% {transform: translateX(0);}
	18% {transform: translateX(0);}
	20% {transform: translateX(-100vw);}
	38% {transform: translateX(-100vw);}
	40% {transform: translateX(-200vw);}
	58% {transform: translateX(-200vw);}
	60% {transform: translateX(-300vw);}
	78% {transform: translateX(-300vw);}
	80% {transform: translateX(-400vw);}
	98% {transform: translateX(-400vw);}
	100% {transform: translateX(-500vw);}
	100% {transform: translateX(-500vw);}
}

@media (max-width: 500px) {
	.gallery .item p {margin: 3%; font-size: 1em; line-height: .8em;}
	.serviziocorpo {grid-column: auto / span 1;}
}

@media (max-width: 400px) {
	.gallerycontainer::-webkit-scrollbar {width: 5px;}
	.gallery .item p {margin: 3%; font-size: .9em; line-height: 1em;}
}








/*------ MAPPA e contatti ---*/
.mapbox {width: 100%;  background: var(--bkgbody); padding-top: 0;}
.mapcontainer {width: calc(100% - 40px); max-width: 1600px; display:grid; grid-template: 400px / 2fr 1fr; padding: 3rem 0; margin: 0 auto;}
.mapbox iframe {width: 100%; height: 100%;}



/*---- insta feed ----*/
.socialblock {margin-bottom: 80px;}
.feedsection {background:#fafafa; padding-bottom:80px;}
.feedsection h1 {font-size:3em;} .feedsection h1 .tiletext {color:#231F20; font-family: 'Billabong', sans-serif; letter-spacing: inherit;}
.instaicon {font-size: 1em; line-height: .8em; background: url("img/servizi/Instagram.svg") no-repeat center left; background-size: contain; color: transparent; margin-right: 0.1em;}


/*---- footer ----*/
.footersection {background: var(--bkgbody);}
.footercontainer {max-width: 1200px; width:100%; margin: 0 auto 80px; display: grid; grid-template: auto / repeat(3, 1fr); grid-gap: 20px; color: var(--textcolorwhite);}
.incipit .titolohide {display: none;}
.incipit img {width: 20vw; max-width: 500px; min-width: 150px; height: auto;}
.incipit address {font-style: normal; font-size: .85em; color: #DBD4C1; font-weight: 100;}



@media (max-width: 1250px) {
	.elencoservizi {max-width: 800px; grid-template: auto / repeat(3, 1fr);}
	.containersalone {max-width: 800px; grid-gap: 5rem;}
	.salonesection .bloccouno h2 {margin: 20px 0;}
	.mapcontainer {max-width: 800px}
	.footercontainer {max-width: 800px;}
}


@media (max-width: 900px) {
	.logo {width: 70vw; max-width: 530px; min-width: 150px;}
	.menu .menubutton {display: flex; cursor: pointer;}
	.menu .voiceslist {display: none; flex-flow: column; position:absolute; z-index: 9999; right:0; top:100%; background:var(--bkgbody); font-size: 2em;}
	.menu .item {padding: 7px 7px; border-right: 0; border-bottom: solid 1px var(--textcolorwhitehover);}
	.menu .item:last-child {border-right: 0; border-bottom: 0;}
}


@media (max-width: 850px) {
	.elencoservizi {width: calc(100% - 2rem);  max-width: 600px; grid-template: min-content / repeat(2, 1fr); padding: 0 1rem;}
	.containersalone {max-width: 600px; width: calc(100% - 40px); grid-template: auto / 100%; grid-gap: 2rem; padding: 0 20px;}
	.mapcontainer {width: calc(100% - 2rem); display:grid; grid-template: 300px 200px / 100%; grid-gap: .5rem;}
	.mapcontainer {max-width: 600px}
	.footercontainer {max-width: 600px; width: calc(100% - 40px);}
}


@media (max-width: 800px) {
	.staff {grid-template: auto / repeat(2, 1fr);}
}

@media (max-width: 600px) {
	.sectiontitle {font-size: clamp(2rem, 8vw, 6rem); line-height: .7em;}
	.servizisection .sectiontitle .faceicon {display: block; font-size: 2em; height: 2em;}
	.salonesection .sectiontitle .saloneicon {display: block; font-size: 2em; height: 2em;}
}

@media (max-width: 500px) {
	.staff {grid-template: auto / 1fr 1fr; padding: 10px; width: calc(100% - 20px); grid-gap: 5px;}
	.staffitem p {font-size: .7em; display: none;}
	.elencoservizi {width: calc(100% - 2rem);  grid-template: min-content / 100%; padding: 0 1rem;}
	.elencoservizi .prenotaservizio {grid-column: 1 / -1;}
	.prenotaistruzioni {font-size: 1.5em;}
	.prenotacontatticontainer {grid-gap: .6rem;}
	.prenotacontatticontainer a {gap: .2em; padding: .5rem;}
	.prenotacontatticontainer a span {font-size: 1.5em;}
	.containersalone {padding: 0 10px; width: calc(100% - 20px);}
	.salonesection span.tiletext {font-size: 2em;}
	.salonesection .relaxicon { font-size: 3em;}
	.orariapertura {padding: 5px;}
	.orariapertura ul {padding-left: 0;}
	
}


@media (max-width: 300px) {
	.staff {width: calc(100% - 20px); padding: 10px;}
	.staff .staffitem p {display:none;}
	.prenotacontatticontainer {grid-template: min-content / 100%;}
}





