/*
	Theme Name: Cuore Verde
	Theme URI: http://www.cuore-verde.it
	Description: 
	Version: 1.0.0
	Author: dhynet (@dhynet)
	Author URI: https://www.dhynet.com
	Tags: 

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*, *:after, *:before { -moz-box-sizing:border-box; box-sizing:border-box; -webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}


/* clear */
.clear:before, .clear:after {content:' '; display:table;}
.clear:after {clear:both;}
.clear {*zoom:1;}
img {max-width:100%; vertical-align: middle;}


html, body {width:100%; margin:0; padding:0;}
html {scroll-padding-top: 140px; scroll-behavior: smooth; overflow-x: hidden;}
body { 
	
	background:var(--background);  
	color:var(--main-text);
	font-size:1rem;
	line-height: 1.5;
	font-family: "Poppins", sans-serif;
  	font-optical-sizing: auto;

}

a {color:#444; text-decoration:none; transition: 0.3s ease;}
a:hover {color:#444; transition: 0.3s ease;}
a:focus {outline:0;}
a:hover, a:active {outline:0;}
input:focus {outline:0; border:1px solid #04A4CC;}


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

main {width:100%; margin:0; padding:0;}

/* wrapper */
.wrapper 		{width: min(98%, 1024px); margin:0 auto;}
.wrapper-big 	{width: min(98%, 1480px); margin:0 auto;}
.wrapper-medium {width: min(98%, 1280px); margin:0 auto;}
.wrapper-small 	{width: min(98%,  960px); margin:0 auto;}


/* header */
.header {position:fixed; top:0; left:0; width:100%; margin:0; padding: 0 48px; background:white; z-index:12;}
.header-inner {display:flex; align-items: center; gap:16px;}
.logo {padding: 16px 0 12px 0;}
.logo-img {height:72px; width:auto;}

.contact-now {display:inline-block; position:fixed; bottom:24px; right:40px; z-index:11;}

.claim {}
.claim h1 {font-size:14px; line-height:18px; font-weight:300; margin:0;}

/* nav */
.nav {flex:1; margin:0; padding:0;}
.nav ul {display:flex; justify-content: flex-end; gap:1.5vw; margin:0; padding:0; list-style:none; font-size:14px; font-weight:500;}
.nav ul li {position:relative; margin:0; padding:0;}
.nav ul li a {color:var(--alt-color-dark);}
.nav ul li a:hover {}
.nav .current_page_item:before {content:''; position:absolute; top:-12px; left:calc(50% - 4px); width:8px; height:8px; border-radius:50%; background:var(--main-color);}

.sub-nav {position:relative;}
.sub-menu {border:1px solid #eaeaea; position:absolute; z-index:9; flex-direction: column; background:white; margin-top:8px !important; padding:18px !important; width:max-content; row-gap:8px;}

.get-in-touch {display:flex; align-items: center; gap:8px; padding-left:1vw; margin-left:1vw; color:var(--main-color);}
.get-in-touch a {display: flex; align-items: center; justify-content: center; background:var(--alt-color-dark); width:72px; height:38px; border-radius:50px; padding:8px;}
.get-in-touch a:hover {background:var(--main-color);}
.get-in-touch svg {height:22px; width:auto; stroke:white;}

/* Hamburgher Menù */
*{-webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color: transparent; /* For some Androids */}

.mobilenav-hidden {overflow:hidden;}

.top-animate {top: 13px !important; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.mid-animate {opacity: 0;}
.bottom-animate {top: 13px !important; -webkit-transform: rotate(-225deg); transform: rotate(-225deg);}

.top-menu {top: 5px; width: 30px; height: 3px; border-radius: 0px;}
.mid-menu {top: 13px; width: 30px; height: 3px; border-radius: 0px;}
.bottom-menu {top: 21px; width: 30px; height: 3px; border-radius: 0px;}

.icon {display:none; width:30px; height:30px; padding:0; margin:0;}
.hamburger {position:relative; display:block;}
.menui {background: black; position: absolute; transition: 0.6s ease; transition-timing-function: cubic-bezier(.75, 0, .29, 1.01);}


.mobilenav {display:none; position:fixed; top: 0; left:0; z-index: 9; width:100vw; height:100vh; overflow-x: hidden; overflow-y: auto;}
.mobilenav .mobilenav-inner {position:relative; width:100%; height:auto; padding:120px 24px 48px 24px; margin:0; background:white;}
.mobilenav ul {margin:0; padding:0; list-style:none; font-size:28px; line-height:32px; font-family: "Noto Serif JP", serif;}
.mobilenav li {padding:0 0 18px 0; margin:0;}
.mobilenav li a {}
.mobilenav li a:hover {opacity: 0.4;}
.mobilenav .current_page_item a {color:var(--second-color);}





/* footer */
.footer {width:100%; margin:0; padding:80px 42px 120px 42px; background:var(--alt-color-dark); line-height:32px;}
.footer, .footer h4, .footer h5 {color:white;}
.footer a {color:var(--main-color);}
.footer a:hover {opacity:0.6;}
.footer h5 {font-size:16px; line-height:16px; text-transform:uppercase; font-weight:700; margin-bottom:28px;}
.footer ul {margin:0; padding:0; list-style: none;}
.footer_inner {display:flex; align-items: flex-start;}
.footer_inner .footer_aside {width:25%; margin:0; padding:0;}
.footer_inner .footer_aside .logo-img {width:180px; height:auto; margin-bottom:32px;}
.footer_inner .footer_content {display:flex; flex-wrap: wrap; column-gap:2%; width:75%; margin:0; padding:0;}
.footer_inner .footer_content .claim {width:100%; padding:24px 8px; margin-bottom:48px; border-bottom:1px solid rgba(255,255,255,0.3);}
.footer_inner .footer_content .col {width:31.33%; padding-inline:8px;}
.footer_inner .footer_content .colophon {display:flex; align-items: center; justify-content: space-between; column-gap:2%; font-size:12px; line-height:12px; padding:24px 8px; margin-top:48px; width:100%; border-bottom:1px solid rgba(255,255,255,0.3); border-top:1px solid rgba(255,255,255,0.3);}
.footer_inner .footer_content .social svg {fill:white; width:48px; height:auto;}
.footer_inner .footer_content .contact_item {display:flex; align-items: center; column-gap:8px;}
.footer_inner .footer_content .contact_item svg {stroke:white; height:20px; width:auto;}

.call-to-action {width:100%; background:var(--alt-color); padding:130px 8px 72px; text-align:center;}
.call-to-action p {color:var(--alt-color-dark); font-size:42px; line-height:46px; font-weight:700;}
.call-to-action p span {color:var(--second-color); text-decoration: underline;}
.call-to-action a {display:inline-block; padding:18px 32px; margin:48px 0 0 0; background:var(--second-color); border-radius:50px; font-size:16px; color:white; font-weight:bold;}
.call-to-action a:hover {background:var(--main-color);}


/* sidebar */
.sidebar {}














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







/*------------------------------------*\
    LIBRARY
\*------------------------------------*/

:root {

	/* Colors Palette */
	--background: #ffffff;
	--text-color: #201d1c;
	--title-color: #201d1c;

	--main-color: #AECC53;
	--second-color: #027641;
	--main-color-light: #d8ed97;
	--alt-color:#DFD2BF;
	--alt-color-light:#F9F7F6;
	--alt-color-dark:#32281e;

}

.test {border:1px solid red;}
.hidden {display:none !important;}
.flex {display:flex;}
.grid {display:grid;}

.col-padding {padding:60px;}
.row-margin {margin-inline:48px;}

.btn-default, .btn-default a {padding:12px 24px; background:var(--second-color); color:white !important;}
.btn-default-outline, .btn-default-outline a {border:1px solid var(--alt-color-light); border-radius:50px; padding:12px 24px; background:var(--background);}

.deco-title {position:relative; z-index: 1;}
.deco-title::before {content:''; position:absolute; top:-10px; left:0; width:180px; height:1px; background:var(--alt-color-dark); z-index:1;}
.deco-title::after {content:''; position:absolute; top:-40px; left:-40px; width:80px; height:80px; background:var(--main-color); border-radius:80px; z-index:-1;}

.deco-square-full {position:relative; z-index: 1;}
.deco-square-full::before {content:''; position:absolute; bottom:-12px; left:-12px; width:40%; height:30%; background:var(--main-color); z-index:-1;}
.deco-square-full::after {content:''; position:absolute; top:-12px; right:-12px; width:30%; height:20%; background:var(--alt-color); z-index:-1;}

.deco-square-br {position:relative; z-index: 1;}
.deco-square-br::before {content:''; position:absolute; bottom:-40px; right:-40px; width:40%; height:40%; background:var(--main-color); z-index:-1;}

.deco-square-bl {position:relative; z-index: 1;}
.deco-square-bl::before {content:''; position:absolute; bottom:-24px; left:-24px; width:40%; height:40%; background:var(--main-color); z-index:-1;}


.deco-circle {position:relative;}
.deco-circle:before {content:''; position: absolute; border: 1px solid var(--second-color); top: -0.5rem; left: -0.5rem; right: -0.5rem; bottom: -0.5rem; border-right-color: transparent; border-left-color: transparent; border-radius: 50%; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg);}

.deco-bg {position:relative;}
.deco-bg:before {content:''; position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); width:80%; height:80%; background:var(--main-color-light); z-index:-1;}

.foogallery .fg-caption-desc {display:none !important;}




/* Typography
--------------------------------------------- */
  

p {margin:0 0 18px 0;}

p b, p strong {font-weight:700;}

h1, h2, h3, h4, h5 {
	font-family: "Noto Serif JP", serif;
	color:var(--title-color); 
	font-weight:700; 
	margin:0 0 24px 0; 
	padding:0;
}

h1 {font-size:52px; line-height:62px;}
h2 {font-size:34px; line-height:40px;}
h3 {font-size:32px; line-height:38px;}
h4 {font-size:24px; line-height:34px;}
h5 {font-size:20px; line-height:30px;}

small, .text-small {font-size: 12px; line-height:14px;}



/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 12px;
	width:100%;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 12px;
	width:100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}








/*------------------------------------*\
    ANIMATIONS
\*------------------------------------*/


/* Fade-in */

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
  
.fade-in {animation: fadeIn 1s ease-in-out 1s forwards;}


/* Fade-up */

@keyframes fadeUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.fade-up {animation: fadeUp 1s ease-out 1s forwards;} 
  
  
/* Ritardi progressivi */
.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;}
.fade-up:nth-child(4) {animation-delay: 0.6s;}
.fade-up:nth-child(5) {animation-delay: 0.8s;}
.fade-up:nth-child(6) {animation-delay: 1s;}  





/*------------------------------------*\
    MISC
\*------------------------------------

::selection {background:yellow; color:black; text-shadow:none;}
::-webkit-selection {background:yellow; color:black; text-shadow:none;}
::-moz-selection {background:yellow; color:black; text-shadow:none;}

*/

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

/* Galleries
--------------------------------------------- */
.gallery {margin-bottom: 1.5em; display: grid; grid-gap: 1.5em;}
.gallery-item {display: inline-block; text-align: center; width: 100%;}
.gallery-columns-2 {grid-template-columns: repeat(2, 1fr);}
.gallery-columns-3 {grid-template-columns: repeat(3, 1fr);}
.gallery-columns-4 {grid-template-columns: repeat(4, 1fr);}
.gallery-columns-5 {grid-template-columns: repeat(5, 1fr);}
.gallery-columns-6 {grid-template-columns: repeat(6, 1fr);}
.gallery-columns-7 {grid-template-columns: repeat(7, 1fr);}
.gallery-columns-8 {grid-template-columns: repeat(8, 1fr);}
.gallery-columns-9 {grid-template-columns: repeat(9, 1fr);}
.gallery-caption {display: block;}

/* Alignments
--------------------------------------------- */
.alignnone {margin:1.5em;}
.alignleft {float: left; margin-right: 1.5em; margin-bottom: 1.5em;}
.alignright {float: right; margin-left: 1.5em; margin-bottom: 1.5em;}
.aligncenter {clear: both; display: block; margin-left: auto; margin-right: auto; margin-bottom: 1.5em;}

a img.alignright {float:right; margin:5px 0 20px 20px;}
a img.alignnone {margin:5px 20px 20px 0;}
a img.alignleft {float:left; margin:5px 20px 20px 0;}
a img.aligncenter {display:block; margin-left:auto; margin-right:auto;}

.wp-caption {background:#FFF; border:1px solid #F0F0F0; max-width:96%; padding:5px 3px 10px; text-align:center;}
.wp-caption.alignnone {margin:5px 20px 20px 0;}
.wp-caption.alignleft {margin:5px 20px 20px 0;}
.wp-caption.alignright {margin:5px 0 20px 20px;}
.wp-caption img {border:0 none; height:auto; margin:0; max-width:98.5%; padding:0; width:auto;}
.wp-caption .wp-caption-text, .gallery-caption {font-size:11px; line-height:17px; margin:0; padding:0 4px 5px;}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {background:transparent !important; color:#000 !important; box-shadow:none !important; text-shadow:none !important;}
	a, a:visited {text-decoration:underline;}
	a[href]:after {content:" (" attr(href) ")";}
	abbr[title]:after {content:" (" attr(title) ")";}
	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {content:"";}
	pre,blockquote {border:1px solid #999; page-break-inside:avoid;}
	thead {display:table-header-group;}
	tr,img {page-break-inside:avoid;}
	img {max-width:100% !important;}
	@page {margin:0.5cm;}
	p, h2, h3 {orphans:3; widows:3;}
	h2, h3 {page-break-after:avoid;}
}






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

@media only screen
    and (min-width: 300px)
    and (max-width: 767px)
    and (orientation: portrait) {

		body {overflow-x:hidden;}

		.row-margin {margin-inline: 24px;} 
		.col-padding {padding: 24px;}
		.logo-img {height:62px;}
		.icon {display:flex;}
		.nav, .claim {display:none;}
		.header {padding-inline:18px;}
		.header-inner {gap: 24px;}
		.get-in-touch {flex:1; justify-content: flex-end;}
		.get-in-touch a {width: 52px;}
		.footer {padding-inline:24px; padding-bottom:42px; line-height: 24px;}
		.footer_inner, .footer_inner .footer_content, .footer_inner .footer_aside, .footer_inner .footer_content .colophon {width:100%; flex-direction: column;}
		.footer_inner .footer_content .claim, .footer_inner .footer_content .col {width:100%; padding-inline:0;}
		.footer_inner .footer_content {row-gap: 32px;}
		.footer_inner .footer_aside {text-align:center;}
		.footer h5 {font-size: 22px; line-height: 26px; margin-bottom: 18px;}
		.credits {text-align:center; margin-top:24px;}
		.call-to-action p {font-size:32px; line-height:36px;}

	}	

@media only screen
    and (min-width: 768px)
    and (max-width: 1023px)
    and (orientation: portrait) {

		body {overflow-x:hidden;}

		.row-margin {margin-inline: 24px;} 
		.col-padding {padding: 24px;}
		.header {padding-inline:24px;}
		.claim,
		.footer_inner .footer_aside {display:none;}
		.footer {padding-inline:24px;}
		.footer_inner .footer_content {width:100%;}

		.call-to-action p {font-size: 32px; line-height: 38px;}

}	


@media only screen
    and (min-width: 1024px)
    and (max-width: 1280px)
    and (orientation: landscape) {

		body {overflow-x:hidden;}

	}