/*
	Theme Name: GHD
	Theme URI: https://www.goodhomedesign.it/
	Description: Custom Wordpress theme
	Version: 1.0
	Author: Gabriel Nastase 
	Author URI: https://www.decoropubblicita.it/
	Tags: HTML5, CSS3
*/

/*------------------------------------*\
    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;
}

/* montserrat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/montserrat-v30-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/montserrat-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}

body {
    font-size: 1.6rem;
    overflow-x: hidden;
    color: #6E6A5E;
    font-family: 'Montserrat'; 
    font-weight: 500;
}
/* clear */

.clear {
    clear: both;
    height: 0;
}
img {
	max-width:100%;
	vertical-align:bottom;
    height: auto;
}
a {
	color:#6E6A5E;
	text-decoration:none;
    transition: all 200ms;
}
a:hover {
	color:#CBB17E;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}

.privacy-policy main a, .cookie-policy main a {
    text-decoration: underline;
}
input:focus {
	outline:0;
	border:1px solid #CBB17E;
}

h1, h2, .h2 {
    font-size: 6rem;
    font-weight: 700;
}

h3 {
    font-size: 3.6rem;
}
h4 {
    font-size: 2.2rem;
    font-weight: 300;
}
button, input, select, textarea {
    border: solid 1px #D7D2C3;
    background: #fff;
}
p {
    line-height: 1.5;
    font-size: 2rem;
}
.justify {
    text-align: justify;
}

.uppercase {
    text-transform: uppercase;
}

.dark {
    color: #F5EDDD;
}
.dark a {
    color: #F5EDDD;
}
.dark a:hover, .bg-verde a:hover  {
    color: rgb(245, 224, 178);
}
/* Icon 1 */

#nav-icon1 {
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
    display: none;
}

#nav-icon1 span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #DBBF87;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

#nav-icon1 span:nth-child(1) {
  top: 0px;
}

#nav-icon1 span:nth-child(2) {
  top: 10px;
}

#nav-icon1 span:nth-child(3) {
  top: 20px;
}

#nav-icon1.open span:nth-child(1) {
  top: 10px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}

#nav-icon1.open span:nth-child(2) {
  opacity: 0;
  left: -60px;
}

#nav-icon1.open span:nth-child(3) {
  top: 10px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* Shrink */
.hvr-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-shrink:hover, .hvr-shrink:focus, .hvr-shrink:active {
  -webkit-transform: scale(0.97);
  transform: scale(0.97);
}

/* Pulse */
@-webkit-keyframes hvr-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
@keyframes hvr-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
.hvr-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pulse:hover, .hvr-pulse:focus, .hvr-pulse:active {
  -webkit-animation-name: hvr-pulse;
  animation-name: hvr-pulse;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

input, textarea {
    padding: 10px;
    border-radius: 0;
    width: 100%;
    transition: all 200ms;
    margin-top: 5px;
    border: solid 1px #D7D2C3;
    background: #fff;
    margin-top: 5px;
}
select {
    padding: 10px;
    width: 100%;
    margin-top: 5px;
}
label {
    font-size: 1.4rem;
}
textarea {
    max-height: 170px;
}
input:hover, textarea:hover {
    border: solid 1px #c6c1b1;
}
input:focus, textarea:focus {
   border: solid 1px #DBBF87;
}
input[type="checkbox"], input[type="radio"] {
    width: auto!important;
}
.wpcf7-submit {
    border: solid 1px #CBB17E;
    background: #DBBF87;
    color: #524D3C;
    max-width: 90px;
    font-weight: 700;
    font-weight: 900;
    text-transform: uppercase;
    border-radius: 60px;
}
.wpcf7-submit:hover {
    background: #CBB17E;
}
.wpcf7 input[type="file"] {
    background: none;
}
.wpcf7 p {
    line-height: 1;
    margin: 10px 0;
}
.cols-modulo {
    display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 20px;
     align-items: end;
}
.bigger {font-size: 6rem; margin: 0;}
.fullheight {
    min-height: 100vh;
}

.height-100 {
    height: 100%;
}

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

/* wrapper */

.wrapper {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto!important;
	position: relative;
}

.narrow-wrapper {
	max-width:800px;
	width:95%;
	margin:0 auto;
	position:relative;
}
.narrower {
    max-width: 600px;
    width: 90%;
    margin: 0 auto;
}
.margin-bottom-0 {
    margin-bottom: 0;
}
.cols-no-margin .wp-block-column, .no-margin {
    margin: 0!important;
}

.center {
    text-align: center;
}
.relative {
    position: relative;
}

.left {
    float: left;
}
.right {
    float: right;
}
.align-right {
    text-align: right;
}
.flex-container {
    display: flex;
}

/* header */
.header {
    position: fixed;
    width: 100%;
    z-index: 900;
    padding: 20px 0;
    top: 0;
    left: 0;
    background: #FFFFFF;
    transition: all 500ms;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .14);
}

.header .flex-container {
    justify-content: space-between;
    align-items: center;
}
.header-scroll {
    padding: 5px 0;
}
/* logo */

.logo-img {
    width: 200px;
    height: auto;
    transition: all 300ms;
}
.header-scroll .logo-img {
    width: 160px;
}
/* nav */
.nav {
    text-transform: uppercase;
    font-weight: 900;
    line-height: 0;
}
.nav ul {
    display: flex;
    margin: 0;
    padding: 0;
}
.nav ul li {
    list-style: none;
    margin: 0 10px;
    padding: 0;
    position: relative;
}
.nav ul li a {
    font-size: 1.4rem;
    transition: all 200ms;
    border-bottom: solid 1px transparent;
    padding: 7px 12px;
    line-height: auto;
    border-radius: 40px;
}
.nav ul li a:hover {
    color: #DBBF87;
}
.nav ul .sub-menu {
    display: block;
    background: #fff;
    position: absolute;
    top: 15px;
    left: 0;
    width: auto;
    padding: 0 20px;
    border-radius: 3px;
    transition: all 200ms ease-out;
    visibility: hidden;
    opacity: 0;
    box-shadow: 0 20px 30px rgba(168, 157, 128, 0.2);
}
.nav ul li:hover .sub-menu {
    visibility: visible;
    opacity: 1;
    top: 25px;
}
.nav ul .sub-menu li {
    display: block;
    margin: 10px 0;
    width: 220px;
    line-height: normal;
}
.nav ul .sub-menu li a {
    font-size: 1.3rem;
    color: #6E6A5E;
    padding: 3px 0;
    border: none;
    display: block;
    text-transform: uppercase;
}
.nav ul .sub-menu li a:hover {
    color: #DBBF87;
}
.nav .current-menu-item a {
     border: solid 1px #DBBF87;
}
.nav .current-menu-item .sub-menu a {
    border: none;
}
.nav .sub-menu a {
   border-bottom: none!important;
}
.nav .sub-menu .current-menu-item a {
    color: #DBBF87;
}
.nav .lang-item a {
    border: none!important;
}
.header .header-icons {
    font-size: 25px;
}
.header .header-icons i {
    margin-left: 20px;
}
.header-icons {
        display: flex;
        align-items: center;
    }
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.content-padding {
    padding-top: 100px;
    padding-bottom: 100px;
}
.content-padding-s {
    padding: 50px 0;
}
.content-padding-bottom {
    padding-bottom: 100px;
}
.content-padding-top {
    padding-top: 100px;
}
.page-header {
    background: #e8e5dd;
}
.page-header .flex-container {
    align-items: center;
    justify-content: space-between;
}
.wrap-left {
    padding-left: calc( (100% - 1200px) / 2)!important;
}
.wrap-right {
    padding-right: calc( (100% - 1200px) / 2)!important;
}
.negative-top {
    margin-top: -50px;
    position: relative;
    z-index: 100;
}
.negative-bottom-80 {
    margin-bottom: -80px;
}
.negative-right {
    margin-right: -80px;
}
.margin-top-50 {
    margin-top: 50px;
}
.first-content {
    padding-top: 200px;
}
.no-padding-top {
    padding-top: 0;
}
.box-padding {
    padding: 60px;
}
.box-padding-xs {
    padding: 15px;
}
.bordered {
    border: solid 1px #ccc;
}
.rounded {
    border-radius: 3;
}
.is-style-checkbox li {
    margin-bottom: 15px;
}

.no-margin .wp-block-column .wp-block-image {
    margin-bottom: 0;
}
.btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 30px;
    background: #DBBF87;
    border: solid 1px #CBB17E;
    color: #524D3C;
    font-weight: 600;
    line-height: 20px;
    transition: all 300ms;
}
.btn:hover {
    background: #CBB17E;
}

.btn i {
    margin-left: 15px;
}
.btn-icon-left i {
    margin-left: 0;
    margin-right: 10px;
}
.is-style-my-btn a {
    border: solid 1px #CBB17E;
}


/* sidebar */
.sidebar {
    position: fixed;
    top: 0;
    right: -600px;
    width: 480px;
    height: 100%;
    z-index: 400;
    background: rgb(255, 255, 255);
    padding: 120px 5%;
    color: #fff;
    text-align: right;
    box-shadow: -2px 5px 5px rgba(0,0,0,.15);
    transition: all 400ms ease-in;
}
.sidebar-open {
    right: 0;
}
.sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-weight: 700;
    text-transform: uppercase;
}
.sidebar ul li {
    margin: 15px 0;
}
.sidebar .current-menu-item a {
    color: #CBB17E;
}


/* footer */
.footer {
    background: #6E6A5E;
    position: relative;
    position: relative;
    z-index: 5;
}


.footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}
.footer ul li {
    margin-right: 30px;
}
.footer p {font-size: 1.4rem; line-height: 1.5; margin: 0; margin-top: 5px;}
.footer h3 {
    color: #DBBF87;
    text-transform: uppercase;
}
.pulsante-wa {
    font-size: 2rem;
    font-weight: 700;
    position: fixed;
    bottom: 80px;
    right: 70px;
    z-index: 900;
    padding: 8px 15px;
    padding-left: 14px;
    border-radius: 30px;
    background-color: #bcf1a1;
    border: solid 1px #a9da91;
    box-shadow: 0 10px 10px rgba(0, 0, 0, .14);
    color: #524d3c;
    transition: all 220ms ease-in;
    cursor: pointer;
}
.pulsante-wa a {
    color: #524d3c;
    display: flex;
    align-items: center;
}
.pulsante-wa a:hover {
    color: #6E6A5E;

}
.pulsante-wa:hover {
    background-color: #f6efe3;
    border: solid 1px #f6efe3;
}
.pulsante-wa i {
    font-size: 35px;
}

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

.wp-block-video {
    margin: 0!important;
}

.loop-block {
    width: 32%;
    margin-bottom: 25px;
    background-color: #fff;
    transition: all 200ms;
}

.loop-block:hover {
    background: #e1ece4;
}
.loop-block .padding {
    padding: 20px;
}
.loop-block .btn {
   margin-top: 20px;
   background: #333;
   color: #fff;
   padding-top: 5px;
   padding-bottom: 5px;
}
.date {
    color: rgb(137, 137, 137);
    margin-bottom: 10px;
    display: block;
}

.intro {
    position: relative;
    z-index: 50;
    margin-top: 90px;
}
.intro h2 {
    font-size: 8rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .24);
}
.titolo-page-header {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, .24);
    font-size: 6rem!important;
}
.ultimi-progetti {
    background-color: #cbb17e27;
}
.modulo-home {
    background-color: #cbb17e42;
}
.footer i {
    font-size: 22px;
    float: right;
    margin-top: 10px;
    margin-left: 20px;
}
.page-header-cover {
    margin-top: 90px;
}
.blocco-servizi {
    transition: all 300ms;
    padding: 20px;
    margin-top: 40px!important;
}
.blocco-servizi:hover {
}
.wp-block-kadence-pane {
    margin-bottom: 5px;
}
#mappa {
    filter: saturate(0);
    mix-blend-mode: multiply;
}
.bg-mappa {
    background-color: #cbb17e4c;
}
/*------------------------------------*\
    IMAGES
\*------------------------------------*/



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



@media only screen and (max-width: 1200px) {
    .wrapper {
        max-width: 90%;
        width: 90%;
    }
    .nav ul li a {
        padding: 7px;
    }
    .intro h2 {
        font-size: 6rem;
    }
    .titolo-page-header {
        font-size: 6rem!important;
    }
    h1, h2, .h2 {
        font-size: 4rem;
    }
    .blocco-servizi h3 {
        margin-top: 0;
        font-size: 3rem;
    }
    p {
        line-height: 1.3;
        font-size: 1.8rem;
    }
}

@media only screen and (max-width: 1000px) {
    .header .nav {
        display: none;
    }
    #nav-icon1 {
        display: block;
        margin-left: 20px;
    }
    .header .header-icons i {
        margin-left: 20px;
    }
    .wp-block-cover {
        min-height: 500px!important;
    }
}

@media only screen and (max-width: 782px) {
    .reverse {
        flex-direction: column-reverse;
    }
    .content-padding {
        padding: 60px 0;
    }
    .content-padding-bottom {
        padding-bottom: 60px;
    }
    .content-padding-top {
        padding-top: 60px;
    }
    .intro h2 {
        font-size: 4rem;
    }
    .titolo-page-header {
        font-size: 4rem!important;
    }
    h1, h2, .h2 {
        font-size: 4rem;
    }
    h3 {
        font-size: 2.6rem;
    }
    .gli-ultimi-progetti-intro {
        gap: 0;
    }
    .gap-0 {
        gap: 0;
    }
    .footer .wp-block-image .alignleft {
        float: none;
        margin-bottom: 20px;
    }
    .footer i {
        float: none;
        margin-bottom: 10px;
        margin-left: 0;
        margin-right: 10px;
    }
    .pulsante-wa {
        right: 5%;
        bottom: 30px;
    }
    .wp-block-cover {
        min-height: 350px!important;
    }
}

@media only screen and (max-width: 600px) {
    .header .logo-img {
        width: 160px;
    }
    .intro h2 {
        font-size: 3.4rem;
    }
    .titolo-page-header {
        font-size: 3.4rem!important;
    }
    h1, h2, .h2 {
        font-size: 3.4rem;
    }
    h3 {
        font-size: 2.6rem;
    }
    .sidebar {
        max-width: 100%;
        padding: 80px 5%;
    }
    .content-padding {
        padding: 40px 0;
    }
    .content-padding-bottom {
        padding-bottom: 40px;
    }
    .content-padding-top {
        padding-top: 40px;
    }
    .header-icons i {
        display: none;
    }
    .intro, .page-header-cover {
        margin-top: 80px;
    
    }
    .wp-block-cover {
        min-height: 300px!important;
    }
    .page-header-cover p {
        padding-bottom: 40px;
    }
    .footer .has-background {
        padding-bottom: 80px;
    }
}




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

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

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

.wp-block-cover, .wp-block-cover-image {
    overflow-y: hidden;
    padding: 0;
}

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
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;
}
.sticky {

}
.bypostauthor {

}

.wp-block-image img {
    height: auto!important;
}
hr {
    opacity: .3;
}

/*------------------------------------*\
    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;
	}
}
