/*
 Theme Name:   GeneratePress TP
 Theme URI:    https://generatepress.com
 Description:  TP Wordpress Theme (a GeneratePress child theme)
 Author:       Tp Design
 Author URI:   https://tpdesign.it
 Template:     generatepress
 Version:      0.11
 Text Domain:  staging-sherpa42
*/


/*** Typography ***/
:root{
	--base-size: 16; 
	--px-rem: calc(1rem / var(--base-size));
}

html {
    font-size: 16px;
	scroll-behavior: smooth;
	scroll-padding-top: calc(100 * var(--px-rem));
}

a {
	text-underline-offset: 0.2em;
    text-decoration-thickness: 2px;
	transition:all .3s ease-in;
}

:is(h1, h2, h3, h4, h5, h6):has(+ :is(h1, h2, h3, h4, h5, h6)) {
	margin-bottom:0;
}

@media (max-width: 480px) {
	h1, .h1 {
		font-size: calc(34 * var(--px-rem));
	}
}

p:last-child {
	margin-bottom:0;
}

.full-width,
.alignfull {
	width: calc(100vw - var(--scrollbar-width))!important;
	margin-left: calc(-1 * (100vw - var(--scrollbar-width)) / 2 + 100% / 2);
	margin-right: calc(-1 * (100vw - var(--scrollbar-width)) / 2 + 100% / 2);
	max-width: calc(100vw - var(--scrollbar-width))!important;
}

.wp-block-pullquote,
blockquote { /*reset*/
	padding:0;
	margin:0;
	text-align:left;
	border-width:0;
}

.wp-block-pullquote {
	margin-bottom:calc(40 * var(--px-rem))!important;
}

blockquote {
	font-size:calc(20 * var(--px-rem))!important;
	font-style: normal!important;
	line-height:1;
	padding:calc(10 * var(--px-rem)) calc(30 * var(--px-rem)) calc(30 * var(--px-rem));
	margin-bottom:calc(40 * var(--px-rem))!important;
}

blockquote > p:first-child:before {
	content:"\f10d";
	display:block;
	font-family:"Font Awesome 7 Sharp";
	font-size:calc(80 * var(--px-rem))!important;
	color:var(--accent);
}

.wp-block-pullquote blockquote {
	margin-bottom:0!important;
}

cite {
	font-size:calc(16 * var(--px-rem))!important;
	font-style:italic!important;
}

ul, ol {
	margin: 0 0 calc(20 * var(--px-rem)) 1em;
}

ul li:not(:last-child), ol li:not(:last-child) {
	margin-bottom: calc(10 * var(--px-rem));
}

ul li::marker, ol li::marker {
	color:var(--accent);
	font-weight:700;
}

ul li.menu-item,
nav ul li {
	margin-bottom:0;
}

table {
	margin-bottom:calc(20 * var(--px-rem))!important;
}

table, td, th,
.wp-block-table thead,
.wp-block-table tfoot,
.wp-block-table td, .wp-block-table th {
	border:1px solid var(--base);
	font-size:calc(16 * var(--px-rem));
}

.wp-block-table thead,
.wp-block-table tfoot {
	background-color:var(--base-30);
	font-size:calc(20 * var(--px-rem));
}

.wp-block-table tfoot {
	font-size:calc(12 * var(--px-rem));
}

/*** navbar menu style ***/



.gb-site-header .gb-navigation .gb-menu-item {
	border-top:2px solid var(--contrast);
	width:100%;
}

.gb-site-header .gb-navigation .gb-menu-item > a {
	width:100%;
}

body #menu-main li.gbp-button--primary a{
	border-radius:0;
}

@media (min-width:1181px) {
	.gb-site-header .gb-navigation .gb-menu-item,
	.gb-site-header .gb-navigation .gb-menu-item > a {
		width: auto;
		border:0;
	}
	.gb-site-header .gb-navigation .gb-menu-link {
		padding: 0;
	}
	body #menu-main li.gbp-button--primary a {
		border-radius: 50px;
	}
}

#menu-main li a:hover,
#menu-main li a:focus {
	color:var(--accent);
}

#menu-main li.current-menu-item:not(.gbp-button--primary) a{
	color:var(--contrast-3);
}

/*** button style ***/

#menu-main li.gbp-button--primary {
	padding:0;
	border:0;
	background-color:transparent;
	color:initial;
}

.button,
.wp-block-button .wp-block-button__link,
ul.wp-block-categories-list li a,
footer.entry-meta span:not(.prev):not(.next) a,
#menu-main li.gbp-button--primary a {
    padding: 0.8rem 1.5rem;
    display: inline-flex;
    font-size: 1rem;
	font-weight: 600;
    line-height: 1.2em;
    letter-spacing: 0;
	border-radius: 50px;
}

#menu-main li.gbp-button--primary a {
	background-color:var(--accent);
	color:var(--base-2);
}

#menu-main li.gbp-button--primary a:hover {
	background-color:var(--accent-dark);
}

#menu-main li.gbp-button--primary a:focus {
	background-color:var(--contrast-3);
}

.button:focus,
.wp-block-button .wp-block-button__link:focus {
    background-color: var(--contrast-3);
}

.button:hover,
.wp-block-button .wp-block-button__link:hover {
    background-color: var(--contrast);
}

.wp-block-button.gbp-button--secondary .wp-block-button__link {
	color: var(--contrast);
	background-color: transparent;
	border: 2px solid var(--contrast);
}

.wp-block-button.gbp-button--secondary .wp-block-button__link:hover {
    background-color: var(--contrast);
    color: var(--base-2);
}
.wp-block-button.gbp-button--secondary .wp-block-button__link:focus {
    background-color: var(--accent);
    color: var(--base-2);
    border-color: var(--accent);
}

ul.wp-block-categories-list {
	display: flex;
	flex-wrap:wrap;
	flex-direction: row;
	gap: calc(20 * var(--px-rem));
}

ul.wp-block-categories-list li {
	display:inline-block;
}

ul.wp-block-categories-list li a,
footer.entry-meta span:not(.prev):not(.next) a {
	border: 2px solid rgba(245,81,152,0);
	color:  var(--base);
	border-color:var(--base);
	background-color: transparent;
	text-decoration:none;
}

ul.wp-block-categories-list li.current-cat a,
footer.entry-meta span:not(.prev):not(.next) a {
	border-color:var(--accent);
	color:var(--accent);
}

ul.wp-block-categories-list li a:hover,
ul.wp-block-categories-list li a:focus,
footer.entry-meta span:not(.prev):not(.next) a:hover,
footer.entry-meta span:not(.prev):not(.next) a:focus {
	color:  var(--base-2);
	border-color:var(--contrast);
	background-color:var(--contrast);
}

/* accordion toggle */
.gb-accordion__toggle-icon-open svg,
.gb-accordion__toggle-icon-close svg {
	fill:currentColor;
	stroke: currentColor;
}

/* icone box h-360 */
.icon-stroke-avory svg path {
    stroke: currentColor;
}
/* card post */
.card-post h3 a {
    text-decoration: none;
}

.label-meta a {
    background-color: var(--accent);
    color: var(--base-2);
    width: fit-content;
    border-radius: 14px;
    padding: calc(2 * var(--px-rem)) calc(8 * var(--px-rem));
	text-decoration: none;
	display: inline-block;
}

.label-meta a:hover,
.label-meta a:focus {
	background-color:var(--contrast);
}

/* Carosello */
.gb-carousel .gb-carousel-horizontal-nav button svg {
	width:calc(20 * var(--px-rem));
}

.gb-carousel .gb-carousel-horizontal-nav button.gbp-button--secondary {
	background-color:transparent;
	color:var(--accent);
	border-color:var(--accent);
	padding-block: .5rem;
}

.gb-carousel .gb-carousel-horizontal-nav button.gbp-button--secondary:focus {
	background-color:var(--accent);
}

.gb-carousel .gb-carousel-horizontal-nav button.gbp-button--secondary:hover {
	background-color:var(--contrast);
	border-color:var(--contrast);
}

.gb-carousel .gb-carousel-horizontal-nav button.gbp-button--secondary:focus svg,
.gb-carousel .gb-carousel-horizontal-nav button.gbp-button--secondary:hover svg{
	fill:var(--base-3);
}

.gb-carousel .gb-carousel-horizontal-nav .gb-carousel-pagination {
	gap:calc(10 * var(--px-rem));
}

.gb-carousel .gb-carousel-horizontal-nav .gb-carousel-pagination .gb-carousel-dot {
	background-color:var(--contrast);
	width:calc(10 * var(--px-rem));
	height:calc(10 * var(--px-rem));
}

.gb-carousel .gb-carousel-horizontal-nav .gb-carousel-pagination .gb-carousel-dot.is-active {
	transform:scale(1);
	background-color:var(--accent);
}

/* form e Contact form 7*/
form {
	container-type: inline-size;
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	column-gap:calc(-20 * var(--px-rem));
}

form input,
form textarea,
form select {
	border-radius:calc(14 * var(--px-rem))!important;
	border: 0!important;
	font-size:calc(16 * var(--px-rem));
	line-height:1.2!important;
	padding:calc(14.5 * var(--px-rem)) calc(20 * var(--px-rem))!important;
}

form input[type="submit"] {
	border-radius:calc(50 * var(--px-rem))!important;
	min-width:calc(120 * var(--px-rem))!important;
	text-align:center;
	padding:0.8rem 1.5rem!important;
}

form input[type="submit"].gbp-button--secondary-avory {
	border:2px solid var(--base-2)!important;
	background-color:transparent!important;
}

form input[type="submit"].gbp-button--secondary-avory:hover {
	background-color:var(--contrast)!important;
	border-color:var(--contrast)!important;
}

form input[type="checkbox"],
form input[type="radio"]{
	position: absolute;
	opacity: 0;
	cursor: pointer;
	z-index:999;
	width:calc(24 * var(--px-rem));
	height:calc(24 * var(--px-rem));
}

form input[type="checkbox"] + span,
form input[type="radio"] + span {
	display:inline-block;
}

form input[type="checkbox"] + span::before,
form input[type="radio"] + span::before {
	content:"";
	display:inline-block;
	width:calc(24 * var(--px-rem));
	height:calc(24 * var(--px-rem));
	background-color:var(--base-2);
	vertical-align:baseline;
	margin-right:.5em;
	border-radius:calc(8 * var(--px-rem));
	transform:translatey(25%);
}

form input[type="radio"] + span::before {
	border-radius:50px;
}

form input[type="checkbox"]:focus + span::before,
form input[type="radio"]:focus + span::before {
	background-color:var(--base-3);
}

form input[type="checkbox"]:checked + span::after,
form input[type="radio"]:checked + span::before{
	content:"";
	display:inline-block;
	width:calc(12 * var(--px-rem));
	height:calc(12 * var(--px-rem));
	background-color:var(--contrast);
	position:absolute;
	border-radius:50px;
	top:0;
	left:0;
	transform:translate(calc(25% + (3 * var(--px-rem))), calc(25% + (9 * var(--px-rem))));;
}

#cmplz-datarequest-form input:not(input[type="button"]), .form-input-border input, 
#cmplz-datarequest-form form input[type="checkbox"] + span::before, .form-input-border form input[type="checkbox"] + span::before,
#cmplz-datarequest-form form input[type="radio"] + span::before, .form-input-border form input[type="radio"] + span::before,
#cmplz-datarequest-form textarea, .form-input-border textarea,
#cmplz-datarequest-form select, .form-input-border select,
input[name="post_password"]{
	border:2px solid var(--contrast)!important;
}

input[name="post_password"]{
	margin-block:calc(20 * var(--px-rem)); 
}

#cmplz-datarequest-form input[type="button"] {
	width: auto;
	min-width:calc(120 * var(--px-rem));
	border-radius: 50px!important;
}

#cmplz-datarequest-form div {
	width: 100%;
	margin-bottom:calc(10 * var(--px-rem));
}

.form-input-border input[type="submit"].gbp-button--secondary-avory {
	background-color:var(--accent)!important;
	border:0!important;
}

.form-input-border input[type="submit"].gbp-button--secondary-avory:hover {
	background-color:var(--accent-dark)!important;
}

input[type="submit"]:disabled,
.form-input-border [type="submit"]:disabled,
[type="submit"].gbp-button--secondary-avory:disabled,
.form-input-border [type="submit"].gbp-button--secondary-avory:disabled,
[type="submit"].gbp-button--secondary-avory:disabled:hover,
.form-input-border [type="submit"].gbp-button--secondary-avory:disabled:hover,
[type="submit"].gbp-button--secondary-avory:disabled:focus,
.form-input-border [type="submit"].gbp-button--secondary-avory:disabled:focus {
	background-color:var(--base)!important;
	color:var(--base-3)!important;
	border:2px solid var(--base-3)!important;
	cursor:default;
}

form p,
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
	width:100%
}

@container (width > 560px) {
	#cmplz-datarequest-form div:has(input[type="text"]), form p:has(input[type="text"]),
	#cmplz-datarequest-form div:has(input[type="email"]), form p:has(input[type="email"]),
	form p:has(input[type="tel"]),
	form p:has(input[type="password"]),
	form p:has(input[type="url"]),
	form p:has(input[type="number"]),
	form p:has(input[type="date"]),
	form select{
		width:calc(50% - (10 * var(--px-rem)));
		display:inline-block;
	}
	form p:has(input[autocomplete="new-password"]):has(textarea) {
		width:100%!important;
	}
}

form label,
.wpcf7-not-valid-tip{
	font-size:calc(16 * var(--px-rem));
}

.wpcf7-response-output {
	margin-top:calc(20 * var(--px-rem)) 0;
	padding:calc(20 * var(--px-rem))!important;
	border:2px solid var(--accent-dark)!important;
	background-color:var(--accent-dark);
	color:var(--base-2);
	border-radius:50px;
}

.wpcf7-list-item {
	margin-left:0;
	position:relative;
}

/********
 * LAYOUT *
 ******** */

.blog .gb-loop-item,
.archive .gb-loop-item {
	width:100%;
}

@media (min-width:769px){
	.blog .gb-loop-item,
	.archive .gb-loop-item {
		width:calc((100% - (40 * var(--px-rem))) / 2);
	}	
}

@media (min-width:1025px){
	.blog .gb-loop-item,
	.archive .gb-loop-item {
		width:calc((100% - (40 * var(--px-rem))) / 3);
	}	
}

.gb-loop-item-article h3 a {
	text-decoration: none;
}

.gbp-section-border-radius-top + .gbp-section-border-radius-top {
	margin-top:calc(-48 * var(--px-rem));
	z-index:1;
}

.one-container .site-main section:not(.gbp-section-border-radius-top):last-child, .separate-containers .site-main section:last-child:not(.gbp-section-border-radius-top) {
	margin-bottom:calc(120 * var(--px-rem));
}

footer.entry-meta {
	margin-block:calc(120 * var(--px-rem));
	display:flex;
	flex-direction: column;
	gap:calc(20 * var(--px-rem));
}

footer.entry-meta > span {
	display:block;
	color:transparent;
}

footer.entry-meta > span:before {
	color:var(--contrast);
}

footer.entry-meta > nav {
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	border-top:2px solid var(--contrast);
	padding-top:calc(20 * var(--px-rem));
}

footer.entry-meta nav a {
	color:var(--accent);
}

footer.entry-meta nav a:hover,
footer.entry-meta nav a:focus {
	color:var(--accent-dark);
}

footer.entry-meta nav .nav-next .next:before {
	content:'';
}

footer.entry-meta nav .nav-next .next:after,
footer.entry-meta nav .post-navigation-link-next:after,
footer.entry-meta nav .post-navigation-link-previous:before{
	content: "\f105";
	font-family:GeneratePress;
	text-decoration:inherit;
	position:relative;
	margin-left:.6em;
	width:13px;
	text-align:center;
	display:inline-block;
	opacity:.7;
}

footer.entry-meta nav .post-navigation-link-previous:before{
	content: "\f104";
	margin-left:0;
	margin-right:.6em;
}

.site-footer {
	z-index: 1;
    position: relative;
}

.gbp-footer a {
	font-size:inherit!important;
}

section:has(+ section.full-width-background),
.gbp-section:has(+ .gbp-section.full-width-background) {
	margin-bottom:0;
}

section.full-width-background + section,
.gbp-section.full-width-background + .gbp-section{
	margin-top:0;
}

@media (max-width:768px) {
	.grid-column:empty {
		display:none;
	}
}

@media (min-width:1280px) and (max-width:1320px) {
	.one-container .site-content{
		padding-inline:calc( 20px + (20 - 18) * ( ( 100vw - 1280px ) / ( 1320 - 1280 ) ) )!important;
	}
}

@media (max-width: 1280px) {
	.one-container .site-content{
		padding-inline: calc(20 * var(--px-rem))!important;
	}
	.gbp-section:has(.gbp-mobile-carousel-container),
	section:has(.gbp-mobile-carousel-container) {
		overflow:hidden;
	}	
}

/********
 * COMPLIANZ *
 ******** */
#cmplz-document, .editor-styles-wrapper .cmplz-unlinked-mode {
	max-width: 100%;
}

#cmplz-document p,
#cmplz-document li,
#cmplz-document td,
.editor-styles-wrapper .cmplz-unlinked-mode p,
.editor-styles-wrapper .cmplz-unlinked-mode li,
.editor-styles-wrapper .cmplz-unlinked-mode td,
#cmplz-cookies-overview .cmplz-dropdown p,
#cmplz-cookies-overview .cmplz-dropdown a,
#cmplz-document .cmplz-dropdown p,
#cmplz-document .cmplz-dropdown a,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown p,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown a{
	font-size: calc(16 * var(--px-rem));
}

#cmplz-cookies-overview .cmplz-dropdown,
#cmplz-document .cmplz-dropdown,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown {
	background-color:var(--base-30);
	border:2px solid var(--contrast);
	border-radius:calc(14 * var(--px-rem));
	margin-block:calc(10 * var(--px-rem));
}

#cmplz-cookies-overview .cmplz-dropdown[open],
#cmplz-document .cmplz-dropdown[open],
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown[open] {
	padding-bottom:calc(10 * var(--px-rem));
}

#cmplz-cookies-overview .cmplz-dropdown summary,
#cmplz-document .cmplz-dropdown summary,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary {
	background-color:transparent;
}

/********
 * UTILITY *
 ******** */
@media (min-width: 1181px){
	.hide-desktop{
		display:none;
	}
}
