@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;700&family=Roboto:wght@400;700&display=swap');


/*
	Theme Name: Vanin onoranze funebri
	Theme URI: https://nomesito
	Description: Sito Web
	Version: 1.4.3
	
	Tags: HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
	
	famiglie di font:
	font-family: 'Cormorant Garamond', serif (500 700);
	font-family: 'Roboto', sans-serif; (400 700)
	
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/
:root{
	--red: #f92e2e;
	--black: #191919;
}

html {
  scroll-behavior: smooth;
}

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
	margin: 0;
	padding: 0;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font:500 16px/1.4 'Roboto', sans-serif;
	color:#333;
	margin: 0;
	padding:0;
	line-height: 1.55;
	background-color: #f1f1f1;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.light-background{
	background-color: #fff;
	color: #333;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
.grecaptcha-badge {
	display: none;
}
img {
	max-width:100%;
	width: 100%;
	height: auto;
}
picture {
	display: grid;
}
.ios .parallax {
	background-attachment: scroll !important;
}
.button{
	display: flex;
	align-items: center;
	margin-top: 20px;
	font-size: 20px;
	color: #fff;
	position: relative;
	transition:0.3s;
}
.button:hover {
	margin-left:30px;
	transition:0.3s;
}

.wpcf7-submit {
	display: inline-block;
	align-items: center;
	margin-top: 20px;
	font-size: 20px;
	font-weight: normal;
	color: #333;
	position: relative;
	transition:0.3s;
    border: 1px solid #333;
    text-transform: uppercase;
}
.wpcf7-submit:hover {
	/* margin-left:30px; */
	color: var(--red);
	border-color:var(--red);
	transition:0.3s;
}

.button.black{
	color: #333;
}
.button svg{
	width: 50px;
	margin-right: 15px;
}
a {
	color:#fff;
	text-decoration:none;
}
a:hover {
	color:#fff;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
}
ul {
	list-style-type: none;
}
h1,h2,h3,h4,h5,h6,p {
	padding: 0;
	margin: 0;
	font-weight: normal;
}
h1 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 3rem;
	line-height: 1;
	color: #fff;
	font-weight: 500;
	margin: 0;
	padding:0;
}
h2,.h2 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.7rem;
	color: #fff;
	font-weight: 500;
	margin: 0;
	padding:0;

}
h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.3rem;
	color: #fff;
	margin: 0;
	font-weight: 500;
	padding:0;
}

h4 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.5rem;
	color: #fff;
	margin: 0;
	font-weight: 500;
	padding:0;
}

p{
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	margin: 0;
	padding:0;
}

@media (min-width:1024px){
	h1 {
	font-size: 4rem;
	}
	h2, .h2 {
	font-size: 4.2rem;
	}
	h3 {
	font-size: 2.5rem;
	}
}

@media (min-width:1600px){
	h1 {
	font-size: 5.5rem;
	}
	h2, .h2 {
	font-size: 5rem;
	}
	h3 {
	font-size: 3.5rem;
	}
}

hr{
	border: .5px solid var(--red);
	width: 100%;
}
@media(min-width: 1024px){
	hr{
		border: .5px solid var(--red);
		width: 60%;
		margin: 0 auto;
	}
}

.text-right{
	text-align: right;
	
}
.up {
	position: fixed;
	top: 95%;
	right: 2%;
	z-index: 2;
}
.up img {
	max-width: 30px;
	cursor: pointer;
}
.zoom {
	transition-duration: 2s;
	-webkit-transition-duration: 2s;
	-o-transition-duration: 2s;
	-moz-transition-duration: 2s;
	-ms-transition-duration: 2s;
	transform: scale(1,1);
	-webkit-transform: scale(1,1);
	-o-transform: scale(1,1);
	-ms-transform: scale(1,1);
	-moz-transform: scale(1,1);
}
.zoom:hover {
	transition-duration: 4s;
	-webkit-transition-duration: 4s;
	-o-transition-duration: 4s;
	-moz-transition-duration: 4s;
	-ms-transition-duration: 4s;
	transform: scale(1.1,1.1);
	-webkit-transform: scale(1.1,1.1);
	-o-transform: scale(1.1,1.1);
	-ms-transform: scale(1.1,1.1);
	-moz-transform: scale(1.1,1.1);
}
.szoom {
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
	transform: scale(1,1);
	-webkit-transform: scale(1,1);
	-o-transform: scale(1,1);
	-ms-transform: scale(1,1);
	-moz-transform: scale(1,1);
}
.szoom:hover {
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
	transform: scale(0.9,0.9);
	-webkit-transform: scale(0.9,0.9);
	-o-transform: scale(0.9,0.9);
	-ms-transform: scale(0.9,0.9);
	-moz-transform: scale(0.9,0.9);
}

.rotation {
	transform: rotateZ(0deg);
	-moz-transform: rotateZ(0deg);
	-webkit-transform: rotateZ(0deg);
	-ms-transform: rotateZ(0deg);
	-o-transform: rotateZ(0deg);
	transition-duration: 0.8s;
	-webkit-transition-duration: 0.8s;
	-moz-transition-duration: 0.8s;
	-ms-transition-duration: 0.8;
	-o-transition-duration: 0.8s;
}
.rotation:hover {
	transform: rotateZ(360deg);
	-moz-transform: rotateZ(360deg);
	-webkit-transform: rotateZ(360deg);
	-ms-transform: rotateZ(360deg);
	-o-transform: rotateZ(360deg);
	transition-duration: 0.8s;
	-webkit-transition-duration: 0.8s;
	-moz-transition-duration: 0.8s;
	-ms-transition-duration: 0.8;
	-o-transition-duration: 0.8s;
}
.rotation-inverse {
	animation-name: rotation-inverse;
	-webkit-animation: rotation-inverse;
	-ms-animation-name: rotation-inverse;
	-moz-animation-name: rotation-inverse;
	animation-timing-function: linear;
	-webkit-animation-timing-function: linear;
	-ms-animation-timing-function: linear;
	-moz-animation-timing-function: linear;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	-ms-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-duration: 6s;
	-webkit-animation-duration: 6s;
	-ms-animation-duration: 6s;
	-moz-animation-duration: 6s;
}
@keyframes rotation-inverse {
	0% {transform: rotateZ(0);}
	25% {transform: rotateZ(-90deg);}
	50% {transform: rotateZ(-180deg);}
	75% {transform: rotateZ(-270deg);}
	100% {transform: rotateZ(-360deg);}
}

.lampeggio {
	position: fixed;
	max-width: 50px;
	bottom: 2%;
	right: 2%;
	opacity: 0;
	animation-name: lampeggio;
	-webkit-animation: lampeggio;
	-ms-animation-name: lampeggio;
	-moz-animation-name: lampeggio;
	animation-timing-function: linear;
	-webkit-animation-timing-function: linear;
	-ms-animation-timing-function: linear;
	-moz-animation-timing-function: linear;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	-ms-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-duration: 3s;
	-webkit-animation-duration: 3s;
	-ms-animation-duration: 3s;
	-moz-animation-duration: 3s;
}
@keyframes lampeggio {
	0% {opacity:0;}
	25% {opacity:0.5;}
	50% {opacity:1;}
	75% {opacity:0.5;}
	100% {opacity:0;}
}
.pulsazione {
	animation-name: pulsazione;
	-webkit-animation: pulsazione;
	-ms-animation-name: pulsazione;
	-moz-animation-name: pulsazione;
	animation-timing-function: linear;
	-webkit-animation-timing-function: linear;
	-ms-animation-timing-function: linear;
	-moz-animation-timing-function: linear;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	-ms-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-duration: 5s;
	-webkit-animation-duration: 5s;
	-ms-animation-duration: 5s;
	-moz-animation-duration: 5s;
}
@keyframes pulsazione {
	0% {transform: scale(0.5,0.5);}
	25% {transform: scale(0.65,0.65);}
	50% {transform: scale(0.75,0.75);}
	75% {transform: scale(0.65,0.65);}
	100% {transform: scale(0.5,0.5);}
}
/* SLIDE */
.slick-dots {
	position: absolute;
    right: 0;
    bottom: 5%;
    z-index: 1;
    width: 100%;
    text-align: center;
}
.slick-dots .slick-active {
    background-color: var(--red);
}
.slick-dots li {
    display: inline-block;
    width: 8px;
    height: 8px;
    overflow: hidden;
    background-color: transparent;
    border-radius: 50%;
    margin: 20px 5px 0;
    border: 1px solid var(--red);
}
.slick-dots button {
	color: transparent;
	background-color: transparent;
	display: contents;
}
.slick-prev {
	background-image: url(img/header/left.svg);
	background-repeat: no-repeat;
	background-color: transparent;
	border: none;
	color: transparent;
	position: absolute;
	top: 45%;
	left: 5%;
	z-index: 1;
	outline: none;
}
.slick-next {
	background-image: url(img/header/right.svg);
	background-repeat: no-repeat;
	background-color: transparent;
	border: none;
	color: transparent;
	position: absolute;
	top: 45%;
	right: 0;
	z-index: 1;
	outline: none;
}
/* FORM */
label {
	color: #555;
}
input,
textarea {
	outline: none;
	padding: 5px;
	color: #333;
	margin-top: 10px;
	margin-bottom: 20px;
	background-color: #fff;
	border: 1px solid #c5c5c5;
	width: 100%;
	border-radius: 10px;
	padding-left: 15px;
}
input {
	height: 40px;
}
::placeholder {
	color: #333;
}

.wpcf7-not-valid-tip {
color: #dc3232;
font-size: 1em;
font-weight: normal;
display: inline;
}

.wpcf7-form #privacy {
	height: auto;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid #333;
	background-color: transparent;
	padding: 6px;
	margin-bottom: 0;
	max-width: 6px;
}
.wpcf7-form #privacy:checked {
	background-color: #333;
}
.wpcf7-form a {
	color: #333;
	text-transform: lowercase;
	font-size: 16px;
	text-decoration: underline;
}
span.wpcf7-list-item {
	margin: 0;
}

div.wpcf7-response-output {
	padding: 0;
}
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	border: none;
	color: #333;
}
/* Style the tab */
.tab {
  	overflow: hidden;
}

/* Style the buttons that are used to open the tab content */
.tab button {
  	background-color: inherit;
  	float: left;
  	border: none;
  	outline: none;
  	cursor: pointer;
  	transition: 0.3s;
  	width: 31%;
  	border-bottom: 2px solid #999;
  	margin: 0 1%;
  	text-transform: uppercase;
  	color: #666;
  	font-size: 16px;
}

/* Create an active/current tablink class */
.tab button.active {
  	color: #ff5028;
  	border-bottom: 2px solid #ff5028;
}

/* Style the tab content */
.tabcontent {
 	display: none;
 	padding: 20px 0 0;
  	border-top: none;
}
.tabcontent h4 {
	margin-top: 20px;
}
/* Style the buttons that are used to open and close the accordion panel */
.accordion {
	background-color: transparent;
	cursor: pointer;
	padding: 30px;
	width: 100%;
	text-align: center;
	border: none;
	outline: none;
	transition: 0.4s;
	border: 1px solid #199095;
	border-radius: 100px;
}
.accordion :after {
	content: ">";
	color: #f7c231;
	margin-top: 20px;
	transform: rotateZ(0deg);
	-o-transform: rotateZ(0deg);
	-webkit-transform: rotateZ(0deg);
	-moz-transform: rotateZ(0deg);
	-ms-transform: rotateZ(0deg);
	transition-duration: 0.5s;
	-o-transition-duration: 0.5s;
	-webkit-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
	-ms-transition-duration: 0.5s;
}
.accordion h3 {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.accordions .active, 
.accordion:hover {
	
}
.accordions {
	margin-top: 30px;
}
.active :after {
	transform: rotateZ(90deg);
	-o-transform: rotateZ(90deg);
	-webkit-transform: rotateZ(90deg);
	-moz-transform: rotateZ(90deg);
	-ms-transform: rotateZ(90deg);
	transition-duration: 0.5s;
	-o-transition-duration: 0.5s;
	-webkit-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
	-ms-transition-duration: 0.5s;
}
/* Style the accordion panel. Note: hidden by default */
.panel {
	padding: 0 20px;
	background-color: #199095;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-out;
	border-radius: 20px;
	margin: 20px auto;
	color: #fff;
	text-align: left;
}
.panel p {
	margin: 30px auto;
}

/*--------------GDPR------------------*/
.page-template-template-gdpr .header {
	background-color: #333;
}
.page-template-template-gdpr h2 {
	padding-bottom: 20px;
	padding-top: 60px;
	color: #333;
}
.page-template-template-gdpr h3,
.page-template-template-gdpr a {
	color: #333;
}
.page-template-template-gdpr p {
	max-width: 800px;
}
.page-template-template-gdpr .header-button {
	color: #fff;
}
.page-template-template-gdpr .elenco-sezione-dati {
	display: none;
}
#cmplz-document, 
.editor-styles-wrapper .cmplz-unlinked-mode {
	max-width: 100% !important;
}
#cmplz-cookies-overview .cmplz-dropdown summary div, 
#cmplz-document .cmplz-dropdown summary div,
#cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header {
	display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}
#cmplz-cookies-overview .cmplz-dropdown summary div input[data-category="functional"], #cmplz-document .cmplz-dropdown summary div input[data-category="functional"], .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary div input[data-category="functional"] {
	width: 5% !important;
}
.page-template-template-gdpr input[type=checkbox], .page-template-template-gdpr input[type=radio] {
	height: auto;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid #000;
	background-color: transparent;
	padding: 6px;
	margin: 0;
	max-width: 6px;
	margin-right: 10px;
}
.page-template-template-gdpr input[type=checkbox]:checked, .page-template-template-gdpr input[type=radio]:checked {
	background-color: #000;
}
.page-template-template-gdpr label {
	padding: 0;
	width: 25%;
	text-align: left;
}
#cmplz-cookies-overview .cmplz-dropdown summary div h3, #cmplz-document .cmplz-dropdown summary div h3, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary div h3 {
	width: 50%;
}
#cmplz-cookies-overview .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div p, #cmplz-document .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div p, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div p {
	width: 15%;
	text-align: left;
}
.cmplz-category-title{
	width: 80%;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	width:100%;
	margin:0 auto;
	position:relative;
}
.content {
	max-width:1400px;
	width:90%;
	margin:0 auto;
	position:relative;
}

/* header */
.header {
	position: absolute;
	width: 100%;
	height: 100px;
}

.hero-home i{
	margin-right: 10px;
}
.header-button{
	display: none;
}

/* impostazioni per header pagina single necrologio */

.single-necrologio .header svg text{
	fill:#333;
}
.single-necrologio .openclose .iconbar{
	background-color: #333;
}

@media(min-width: 1024px){
	.single-necrologio .header .nav ul li a, .page-template-template-necrologi .header .nav ul li a{
		color: #333;
	}
	
	.single-necrologio .header .nav ul li a:hover, .page-template-template-necrologi .header .nav ul li a:hover{
		color: #333;
		text-decoration: underline;
	}
	
	.single-necrologio .header-button{
		color: #fff !important;
		/* border-color: #333; */
	}
	
	
	
	.single-necrologio .header svg text{
		fill:#333;
	}
}


/* fine impostazioni per header pagina single necrologio */


@media (min-width: 992px){
.header-button{
	text-transform: uppercase;
	font-size: 18px;
	display: inline-block;
	padding: 5px 25px;
	border-radius: 5px;
	background-color: #C03732;
	transition: .3s;	
	}

.header-button:hover{
		background-color: #ff3636;
		transition: .3s;
	}
}

.hero-home .header-button{
	text-transform: uppercase;
	font-size: 18px;
	display: inline-block;
	padding: 5px 25px;
	border-radius: 5px;
	background-color: #C03732;
	transition: .3s;	
}

.hero-home .header-button:hover{
		background-color: #ff3636;
		transition: .3s;
	}
/* logo */
.logo{
	position: absolute;
	top: 25px;
	left: 20px;
	width: 20%;
	z-index: 20;
	
}

.logo a{
	display: flex;
	align-items:center;
}


.logo img {
	max-width: 130px;
}
/* nav */
.nav {
	display: none;
	background-color: #333;
	color: #fff;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	justify-content: center;
	align-items: center;
}
.nav a {
	color: #fff;
	text-transform: uppercase;
}
.nav a:hover {
	text-decoration: underline;
}
.nav .current_page_item a {
	text-decoration: underline;
}
.nav .current_page_item a:hover{
	text-decoration: underline;
	color: #fff;
}
.nav ul {
	list-style-type: none;
	text-align: center;
	width: 100%;
	
}
.nav ul li {
	padding: 15px 0;
	line-height: 1;
	position: relative;
}

.nav ul li a{
	transition: 0.2s;
}
.nav ul li:hover a{
	text-decoration: none;
/* 	color: var(--red); */
	transition: 0.2s;
}
.openclose {
	position: absolute;
	top: 35%;
	right: 5%;
	z-index: 90;
	cursor: pointer;
}
.openclose .iconbar {
	height: 2px;
	width: 20px;
	background-color: #fff;
	display: block;
	margin: 5px 0;
}
.openclose img {
	max-width: 20px;
}
.openclose .uno {
	width: 15px;
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
}
.openclose .tre {
	width: 10px;
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
}
.openclose:hover .uno {
	width: 5px;
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
}
.openclose:hover .tre {
	width: 20px;
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
}


/* footer */

.footer{
	background-color: #f1f1f1;
	color: #333;
}
.footer a, .footer p, .footer h3{
	color: #333;
}
.footer .informazioni-generali,
.footer .contatti,
.footer .navigazione
 {
	padding-bottom: 20px;
}
.transparent{
	color: transparent;
}
.footer a:hover{
	color: var(--red);
	transition: 0.2s;
}
.elenco-sezione-dati i{
	font-size: 20px;
	/* padding-right: 15px; */
	display: block;
	padding-bottom: 15px;
	padding-top: 15px;
}
.sezione-dati-01{
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
	color: #333;
	padding: 30px;
	border-radius: 10px;
	margin-bottom: 30px;
	margin-top: 80px;
}

.sezione-dati-01 i, .sezione-dati-02 i{
	display: none;
}

.sezione-dati-01 a{
	color: #333;
}

.sezione-dati-02{
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
	color: #333;
	padding: 30px;
	border-radius: 10px;
	margin-bottom: 30px;
}
.sezione-dati-02 a{
	color: #333;
}
.copyright{
	display: flex;
	justify-content: space-between;
	padding-bottom: 80px !important;
}
.copyright i{
	font-size: 30px;
	transition: .3s;
}
.copyright i:hover{
	color: var(--red);
	transition: .3s;
}

@media(min-width: 768px){
	.elenco-sezione-dati i{
		font-size: 20px;
		padding-right: 15px;
		display: inline;
		padding-bottom: 15px;
		padding-top: 15px;
	}
}

	.whatsapp {
	display: inline-block;
	width: 50px;
	height: 50px;
	background-color: rgb(72, 159, 72);
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 1;
	animation-name: lampeggio;
	animation-duration: 3s;
	animation-iteration-count: infinite;
}
.whatsapp i{
	margin: 0;
	padding: 0;
	font-size: 35px;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/

.container{
	width:90%;
	margin: 0 auto;
}

.white{
	color:#fff;
}
.black{
	color: #333;
}
.z-index{
	position: relative;
	z-index: 1;
}
.red{
	color: var(--red);
}

.black{
	color: var(--black);
}

.big{
	font-size: 2rem;
}
.light-background{
	background-color: #fff;
}
.pt10{
	padding-top: 10px;
}

.pb10{
	padding-bottom: 10px;
}

.pt20{
	padding-top:20px;
}

.pb20{
	padding-bottom:20px;
}
.pb30{
	padding-bottom:30px;
}
.mb30{
	margin-bottom:30px;
}

.pb50{
	padding-bottom:50px;
}

.mb50{
	margin-bottom: 50px;
}

.pb100{
	padding-bottom:100px;
}

.pt30{
	padding-top:30px;
}

.pt40{
	padding-top: 40px;
}

.pt50{
	padding-top:50px;
}

.pt100{
	padding-top:100px;
}

/*--------------HOME------------------*/

#home-page .hero-home{
	height:100vh;
	display: flex;
	align-items: center;
	justify-content: left;
	position: relative;
	background-position: right !important;
}

#home-page h1{
	text-align:center; 
	font-size: 4rem; 
	line-height: 1;
}

.hero-home:after{
	content:"";
	top:0;
	position: absolute;
	left:0;
	width:100%;
	height: 100%;
	background-color: rgba(0,0,0,0.45);
}

.separator{
	display: none;
}

.elenco-servizi span{
	width: 90px;
	height: 90px;
	background-color: rgba(255,255,255,0.5);
	border-radius: 50%;
	display: flex;
	align-items:center;
	justify-content: center;
	background: rgb(255,255,255);
	background: linear-gradient(155deg, rgba(255,255,255,0.3) 1%, rgba(255,255,255,0) 100%);
	position: relative;
	left: -42px;
	top: 15px;
	font-size: 3rem;
	font-family: 'Cormorant Garamond', serif;
}

.necrologio{
	padding: 30px;
	box-shadow: 0 0 15px rgba(0,0,0,0.15);
	border-radius: 10px;
	overflow: hidden;
	text-align:center;
}

.necrologio-full{
	padding: 20px;
	border-radius: 10px;
	overflow: hidden;
	text-align:center;
}

.necrologio-full a:hover{
	cursor: pointer;
}

#gallery-home .necrologio{
	width: 90%; 
	/* height: 700px; */
	margin: 0 auto;
	padding: 0 0 40px 0;
	
}

#gallery-home .necrologio hr{
	width: 90%;
	margin: 0 auto;
}

#gallery-home .necrologio-text{
	padding-top: 20px;
}

#gallery-home{
	padding-top: 50px;
	padding-bottom: 50px;
}

.company{
	background-color: var(--black);
}
.company .company-desc .button{
	margin-top: 30px !important;
}

.company .company-desc{
	width: 100% !important;
	padding: 50px 30px 50px 30px !important;
	position: relative;
	z-index: 1;
}
.company .mobile{
	display: block;
	position: relative;
}
.company .mobile::after{
	content: "";
	width: 100%;
	position: absolute;
	height: 100%;
	top: 0;
	left: 0;
	background: rgb(25,25,25);
	background: linear-gradient(180deg, rgba(25,25,25,1) 0%, rgba(255,255,255,0) 60%);
}

.call-to-action{
	background-color: var(--red);
}

.necrologi .button{
	display: inline-flex;
}

.back-roses{
	background: url(./img/pages/albero-vita-vanin.jpg) no-repeat center;
	background-size: cover;
	position: relative;
}

.back-roses::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);	
}
.footer hr{
	border-color: #ddd;
	width: 100%;
}

.slick-list{
	padding-top: 30px;
	padding-bottom: 50px;
}

/* ------ CHI SIAMO ------ */

.hero-chisiamo{
	height:100vh;
	display: flex;
	align-items: center;
	justify-content: left;
	position: relative;
	background-position: center !important;
}

.hero-chisiamo::after{
	content:"";
	top:0;
	position: absolute;
	left:0;
	width:100%;
	height: 100%;
	background-color: rgba(0,0,0,0.35);
}

#chisiamo .story-text{
	padding-top: 50px;
	padding-bottom: 50px;
}

#chisiamo .story01{
	background-color: #fff;
	padding-bottom: 50px;
}



.banner-roses-chisiamo{
	background: url(./img/pages/vanin-uffici-03.JPG) no-repeat top;
	background-size: cover;
	height: 700px;
	display: flex;
	align-items: center;
	text-align: left !important;
	position: relative;
}

.banner-roses-chisiamo::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
}

#chisiamo .story02{
	margin-bottom: 50px;
}

/* ---- SERVICES ---- */

.elenco-servizi-services .button{
	margin-top: 5px;
	margin-bottom: 5px;
	border:none;
	background-color: transparent;
}

#services .single-service h2{
	padding-top: 30px;
}
.hero-servizi{
	height:100vh;
	display: flex;
	align-items: center;
	justify-content: left;
	position: relative;
	background-position: right 25% !important;
	background-size: cover;
}

.hero-servizi::after{
	content:"";
	top:0;
	position: absolute;
	left:0;
	width:100%;
	height: 100%;
	background: rgb(25,25,25);
    background: linear-gradient(93deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(255,255,255,0) 100%);
}

/* ------ CONTACTS ------*/

#contacts .hero-contatti{
	height:100vh;
	display: flex;
	align-items: start;
	justify-content: center;
	text-align: left;
	position: relative;
	background-position: center !important;
	flex-direction: column;
}
.uppercase{
	text-transform: uppercase;
}
#contacts .hero-contatti::after{
	content:"";
	top:0;
	position: absolute;
	left:0;
	width:100%;
	height: 100%;
	background-color: rgba(0,0,0,0.1);
}
.social-media i{
	font-size: 30px;
	transition: 0.5s;
}
.social-media i:hover{
	color: var(--red);
	transition: 0.5s;
}
#contacts .banner-contatti h2{
	border-bottom: .5px solid rgba(255, 255, 255, 0.322);
	padding-bottom: 10px;
	margin-bottom: 20px;
	color: #333;
}
#contacts .banner-contatti a, #contacts .banner-contatti p{
	color: #333;
}
#single-necrologio .card-left img{
	border-radius:10px;
	overflow: hidden;
	border: 15px solid #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.05);	
}

.card-left, .single .intro{
	text-align: center;
}

#single-necrologio p, #single-necrologio h2, #single-necrologio h1, #single-necrologio a, #single-necrologio span{
	color: #333;
}

#contacts .banner-contatti{
	padding-bottom: 180px;
}

#contacts .form-section .container{
	width:92%;
	background-color:#fff;
	position: relative;
	top: -100px;
	padding: 50px 30px;
	border-radius: 10px;
	box-shadow: 0 0 15px rgba(0,0,0,0.05);		
}

/* --- NECROLOGI ---- */

.hero-necrologi{
	height:100vh;
	display: flex;
	align-items: center;
	justify-content: left;
	position: relative;
	background-position: center !important;
}

.hero-necrologi::after{
	content:"";
	top:0;
	position: absolute;
	left:0;
	width:100%;
	height: 100%;
	background-color: rgba(0,0,0,0.35);
}
#single-necrologio #card-defunto{
	padding-bottom: 130px;
}
.form-necrologio .container{
	width:92%;
	background-color:#fff;
	color: #333;
	position: relative;
	top: -100px;
	padding: 50px 30px;
	border-radius: 10px;
	box-shadow: 0 0 15px rgba(0,0,0,0.05);
}

#contacts .cartina-geografica{
	position: relative;
	margin-top: -70px;
}
#contacts .cartina-geografica::after{
	content: "";
	height: 80px;
	width: 100%;
	background-color: #fff;
	top: -10px;
	left: 0;
	position: absolute;
	z-index: 1;
}

.totop{
	display: none;
}
/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
	font-family:'Font-Name';
	src:url('fonts/font-name.eot');
	src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
    font-weight:normal;
    font-style:normal;
}

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

@media only screen and (min-width:768px) {
	.wpcf7-form label {
		
	}
	.wpcf7-form .flex {
		display: flex;
	    flex-direction: row;
	    flex-wrap: wrap;
	    justify-content: space-between;
	    align-items: flex-start;
	    align-content: center;
	}
	.wpcf7-form .flex div {
		width: 48%;
	}
	.touch .parallax {
		background-attachment: scroll !important;
	}
	.nav ul li {
		padding: 15px 0;
	}
	.nav a {
		font-size: 20px;
	}
	
	.logo{
		position: relative;
		top: 22px;
	}
	.logo a{
		z-index: 20;
		display: flex;
		align-items: center;
	}
	
	/* elenco necrologi */
	
	.elenco-necrologis .container{
		display: inline-flex;
		justify-content: center;
		flex-wrap:wrap;
		
	}
	
	.elenco-necrologis .container .necrologio-full{
		box-shadow: 0 0 15px rgba(0,0,0,0.05);
	
		width: 47%;
		padding: 0 0 20px 0 ;
		padding-bottom: 30px;
		margin: 0 5px;
	}
	
	.elenco-necrologis .container .necrologio-full img{
		filter: grayscale(100%);
		transition: 0.5s;
	}
	
	.elenco-necrologis .container .necrologio-full:hover img{
		filter: grayscale(0);
		transition: 0.5s;
	}
	#home-page #gallery-home .necrologio img{
		filter: grayscale(100%);
		transition: 0.5s;
	}
	
	#home-page #gallery-home .necrologio:hover img{
		filter: grayscale(0);
		transition: 0.5s;
	}
	
	
	.totop{
		display: block;
	}
	
	
}

@media only screen and (min-width:1024px) {
	
	.pt50{
		padding-top: 90px;
	}
	.pb50{
		padding-bottom: 90px;
	}
	
	/* nav */
	.container{
		width: 90%;
		margin: 0 auto;
	}
	.header{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-left: 50px;
		padding-right: 50px;
		background-color: rgba(255,255,255,0.1);
		z-index: 1;
	}

	.nav {
		display: block;
		background-color: transparent;
		height: auto;
		width: 60%;
		position: relative;
		color: #fff;
	}
	.nav ul{
		text-align: center;
		margin-top: 0;
	}
	.nav a{
		color: #fff;
	}
	.cinquanta-desktop{
		width: 50%;
		margin: 0 auto;
		padding-bottom: 50px;
	}
	.contacts{
		width: 20%;
		position: relative;
		z-index: 1;
		text-align: right;
	}
	
	.separator{
		display: block;
		color: #fff;
	}
	
	.pr15{
		padding-right: 15px;
	}
	.pl15{
		padding-left: 10px;
	}
	
	.nav ul li {
		padding: 0;
		display: inline-block;
		text-transform: none;
	}
	.nav ul li a {
		padding: 0 15px 0 15px;
		height: 30px;
		line-height: 30px;
		font-size: 14px;
		font-weight: 700;
		color: #fff;
		text-transform: uppercase;
		letter-spacing: 1px;
	}
	.openclose {
		display: none;
	}
	
	.logo img {
		max-width: 130px;
	}
	
	.hero-home::after{
		background-color: rgba(0,0,0,0.45);
	}
	
	.red-hover a:hover{
		border-bottom: 1px solid var(--red);
	}

	.company{
		position: relative;
		display: flex;
		justify-content: space-between;
		height:100%;
		overflow: hidden
	}
	.company .company-desc{
		padding-left: 150px !important;
		width: 60% !important;
		padding-top: 120px !important;
		padding-bottom: 200px !important;
		position: relative;
	}
	
	.company .company-image{
		background-image: url(./img/pages/hands-vanin-onoranze-funebri.png);
		background-size: cover;
		width: 55%;
		height: 100%;
		position: absolute;
		right: 0;
		top: 0;
	}
	
	/* #home-page .hero-home a, #home-page .hero-home span{
		font-size: 20px;
	} */
	
	.copyright{
	justify-content: center;
	align-items: center;
	padding-bottom: 30px !important;
	}
	
	.copyright i{
		margin-left: 10px;
	}
	
	#home-page .hero-home h1{
		text-align:center; 
		/* font-size: 6rem !important;  */
		/* line-height: 2; */
	}
	
	.contatti-hero{
		display: flex;
		align-items:center;
		justify-content: center;
	}
	
	.company .company-image::after{
		content: "";
		width: 100%;
		position: absolute;
		height: 100%;
		top: 0;
		left: 0;
		background: rgb(25,25,25);
		background: linear-gradient(93deg, rgba(25,25,25,1) 0%, rgba(255,255,255,0) 100%);
	
	}
	
	.company .mobile{
		display: none;
	}
	
	.company .company-desc .button{
		margin-top: 80px !important;
	}

	#gallery-home .necrologio{
		width: 90%; 
		height: 690px;
		margin: 0 auto;
		padding: 0 0 20px 0;
	}
	.necrologio-text{
		width: 80%;
		margin: 0 auto;
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.necrologi{
		text-align: center;
	}
	.necrologi .necrologio hr{
		width: 95%;
	}
	.necrologi .padding-50{
		padding-bottom: 80px;
	}
	
	.back-roses .container{
		text-align: center;
	}
	
	.back-roses .pb50{
		padding-bottom:150px;
	}
	
	.back-roses .container h2{
		padding-bottom: 70px;
	}
	
	.back-roses .container .elenco-servizi{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		text-align: left;
	}
	
	.back-roses .container .elenco-servizi .servizio{
		width:29%;
		position: relative;
	}
	.elenco-servizi span{
		position: absolute;
		width: 110px;
		height: 110px;
		font-size: 5rem;
		left: -85px;
		top: -30px;
	}
	.call-to-action{
		text-align: center;
	}
	.call-to-action .button{
		display: inline-flex;
	}
	.referenze{
		text-align: center;
		padding-bottom: 150px;
	}
	.elenco-sezione-dati{
		display: flex;
		justify-content: space-between;
		position: relative;
		margin-top: -100px;
	}
	.elenco-sezione-dati h3{
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
	}
	.footer{
		position: relative;
	}
	
	.text-center{
		text-align: center;
	}
	.sezione-dati-01,.sezione-dati-02{
		width: 30%;
		box-shadow: 0 0 15px rgba(0,0,0,0.05);
		padding: 70px 40px;
		margin-bottom: 0;
		margin-top: 0;
		line-height: 2;
	
	}
	
	.sezione-dati-01 i, .sezione-dati-02 i{
		display: inline;
	}
	
	.elenco-sezione-dati.container{
		width: 90%;
	}
	.elementi-informazioni{
		display: flex;
		justify-content: space-between;
		padding-top: 30px;
		padding-bottom: 30px;
		width:90%;
		margin: 0 auto;
	}
	.elementi-informazioni .informazioni-generali{
		width: 33%;
		text-align: center;
		padding: 0;
	}
	.elementi-informazioni .informazioni-generali h3{
		padding-top: 0;
	}
	.elementi-informazioni .contatti{
		width: 33%;
		text-align: center;
	}
	.elementi-informazioni .navigazione{
		width: 33%;
		padding-top: 20px;
		text-align: center;
	}
	
	.servizio_05,.servizio_02{
		padding-top: 50px;
	}
	.servizio_05 span,.servizio_02 span{
		top:20px;
	}
	
	#contacts .banner-contatti{
		display: flex;
		justify-content: space-between;
		text-align: center;
	}
	
	#contacts .banner-contatti{
		padding-bottom: 200px;
	}
	
	#contacts .form-section .container{
		width:60%;
		background-color:#fff;
		position: relative;
		top: -100px;
		padding: 50px 60px;
		border-radius: 10px;
		box-shadow: 0 0 15px rgba(0,0,0,0.05);		
	}
	

	/* ------- SERVICES ------ */
	
	.hero-servizi{
		height:100vh;
		display: flex;
		align-items: center;
		justify-content: left;
		position: relative;
		background-position: right 20% !important;
		background-size: cover;
	}
	
	.hero-servizi::after{
		content:"";
		top:0;
		position: absolute;
		left:0;
		width:100%;
		height: 100%;
		background: rgb(25,25,25);
		background: linear-gradient(93deg, rgba(25,25,25,1) 57%, rgba(255,255,255,0) 100%);
	}
	.hero-servizi p{
		width: 45%;
	}
	
	
	.elenco-servizi-services .button:hover{
		margin-left:0 !important;
		color: var(--red);
	}
	
	#services .back-services{
		position: relative;
	}
	
	#services .back-services .black, #services .back-services p{
		color: #333 !important;
	}
	

	#services .back-services::after{
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 80%;
		height: 65%;
		background-color: rgba(225, 225, 225, 1);
	}

	
	#services .call-to-action{
		padding-bottom: 50px;
	}
	
	#services .elenco-servizi-descrizione{
		position: relative;
		z-index: 1;
	}

	#services .elenco-servizi-descrizione .single-service{
		display: flex;
		justify-content: space-between;
		align-items:center;
	}
	#services .elenco-servizi-descrizione .single-service .single-image{
		width:46%;
	}
	#services .elenco-servizi-descrizione .single-service .single-text{
		width: 47%;
	}
	#services .reverse{
		flex-direction: row-reverse;
	}
	#services .elenco-servizi-services{
		display: flex;
		justify-content: space-between;
	}
	
	/* ------ CHI SIAMO ------ */
	
	.hero-chisiamo::after{
		background: rgb(0,0,0);
		background: linear-gradient(133deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.1) 100%);
	}
	
	#chisiamo .story-text{
		padding-top: 30px;
		padding-bottom: 0;
	}
	
	#chisiamo .call-to-action{
		padding-bottom: 50px;
	}
	
	#chisiamo .story01 .container{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		padding-top: 90px;		
		position: relative;
	}
	
	#chisiamo .story01 .story-text {
		width: 48%;
	}
	
	
	#chisiamo .story01 .story-image{
		width: 47%;
	}
	
	#chisiamo .story01 .story-image img{
		position: absolute;
		width:47%;
		height: auto;
		top:90px;
		left:0;
	}
	
	#chisiamo .story02 {
		display: flex;
		justify-content: space-between;
		margin-bottom: 90px;
		padding-top:90px;
		align-items: center;
		/* margin-top: -100px; */
	}
	
	#chisiamo .story02 .story-text {
		width: 48%;	
		/* padding-top: 150px; */
	}
	
	#chisiamo .story02 .story-image{
		width: 48%;
	}
	
	/* ---- NECROLOGI ---- */
	
	.hero-necrologi{
		text-align:left;
	}
	
	.elenco-necrologis .container .necrologio-full{
		width: 23%;
		margin: 0 10px;
		margin-bottom: 20px;
		margin-top: 20px;
	}
	
	#page-necrologi .call-to-action{
		padding-bottom: 50px;
	}
	/* ---- SINGLE necrologio --- */
	
	#single-necrologio{
		padding-top: 50px;
	}
	
	#single-necrologio #card-defunto {
		width: 70%;
		margin: 0 auto;
	}
		
	#single-necrologio #card-defunto{
		display: flex;
		justify-content: space-between;
		
	}
	
	#single-necrologio #card-defunto .card-left, #single-necrologio #card-defunto .card-right{
		width:45%;
	}
	.form-necrologio{
		padding-bottom:50px;
	}
	.form-necrologio .wpcf7-submit{
		width: 250px;
	}
	#single-necrologio #card-defunto{
		padding-bottom: 200px;
	}
	.form-necrologio .container{
		width:60%;
		background-color:#fff;
		position: relative;
		top: -100px;
		padding: 50px 60px;
		border-radius: 10px;
		box-shadow: 0 0 15px rgba(0,0,0,0.05);
	}
	
	
}
@media only screen and (min-width:1280px) {
	
	.elenco-sezione-dati.container{
		width: 90%;
	}
	#services .elenco-servizi-descrizione .single-service{
		width: 80%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	
	#chisiamo .story01 .container{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		padding-top: 90px;
		padding-bottom: 90px;
		position: relative;
	}
	#single-necrologio #card-defunto {
		width: 60%;
		margin: 0 auto;
	}
	.elenco-servizi-services{
		width: 70%;
		margin: 0 auto;
	}
}

@media only screen and (min-width:1430px) {
	
	
	#chisiamo .story01 .story-text  {
		width: 48%;
		padding-left: 50px;
		padding-right: 90px;
		padding-top: 50px;
		color: var(--black);
	}
	
	#chisiamo .story01 .story-text h2{
		color: var(--black);
	}
		
	#chisiamo .story02 .story-text {
		width: 47%;
		padding-left: 120px;
		padding-top: 15%;
	}
	
	#chisiamo .story02 .story-image{
		width: 47%;
	}
	
	#gallery-home .necrologio{
		
		height: 750px;
	}
}

@media only screen and (min-width:1600px) {
	.elenco-sezione-dati.container{
		width: 80%;
	}
	
	.hero-servizi p{
		width: 35%;
	}
}


.wpcf7 form.sent .wpcf7-response-output{
	background-color: #C03732;
	color: #fff;
	width: 100%;
}

.wpcf7-not-valid-tip{
	color: #C03732 !important;
}