/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

:root {
--radius:20px;
--radius-s:10px;
--gap:40px;
--gap-xl:60px;
--gap-s:20px;
--gap-xxl:80px;
}

.menu-item-has-children .dropdown-menu-toggle{
	padding-left:2px
}
.wp-block-gallery.is-layout-flex {
    display: flex;
    flex-wrap: wrap;
}

.site-header {
	top:0px;
	max-width:1360px;
    position: sticky;
 transition: transform 0.3s ease-in-out;
	will-change: transform;
    z-index: 999;
	border-radius:var(--radius);
	background-color:var(--white);
}
@media (prefers-reduced-motion: reduce) {
  .site-header { transition: none; }
}
.site-header.hide {
  transform: translateY(-100%);
}

/* Se l'hamburger è aperto, non nascondere l'header */
.site-header:has([aria-expanded="true"]) { transform: none !important; }

@media (min-width:1101px){
	.site-header {
		 background: rgba(255, 255, 255, 0.8);
		background:linear-gradient(
135deg, rgba(255, 255, 255, .8), rgba(255, 255, 255, .6));	
		backdrop-filter: blur(8px); 
	}
	.home .site-header{
		top:15px;
		margin-bottom:15px
	}
	
	.site-header.hide {
  transform: translateY(-100%);
}
.home	.site-header.hide {
  transform: translateY(calc(-100% - 15px));
}
	
}

@media (min-width: 1101px) {

.main-navigation .menu > .menu-item > a::after {
        content: "";
        position: absolute;
        right: 0;
        left: 50%;
        bottom: 15px;
        -webkit-transform: translate3d(-50%,0,0);
        transform: translate3d(-50%,0,0);
        display: block;
        width: 0;
        height: 3px;
        background-color: var(--verdino);
        transition: 0.3s width ease-in-out;
    }

	
    .main-navigation .menu > .menu-item > a:hover::after,
	.main-navigation .main-nav ul li.current-menu-item > a:after{
        width: 60%;
    }
	
}


@media (max-width:768px){
	.site-logo{
		max-width:200px
	}
}
.image-background{
 position: relative;
 isolation: isolate;
	

	& img:first-of-type{
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
 }
}


.hero, .isolate{
	position: relative;
	isolation: isolate;
	
}

@media (min-width:769px) {
.corner::before{
	content:'';
	display:block;
	height:var(--radius);
	width:var(--radius);
	top:calc(var(--radius) * -1);
	left:0;
	position:absolute;
	background:transparent;
	background-image:radial-gradient(circle at 100% 0, transparent var(--radius), white var(--radius));
}

.corner::after{
	content:'';
	display:block;
	height:var(--radius);
	width:var(--radius);
	right:calc(var(--radius) * -1);
	bottom:0;
	position:absolute;
	background:transparent;
	background-image:radial-gradient(circle at 100% 0, transparent var(--radius), white var(--radius));
}
}
@media (min-width:1024px) {
.metapost::before{
	content:'';
	display:block;
	height:var(--radius);
	width:var(--radius);
	top:calc(var(--radius) * -1);
	left:0;
	position:absolute;
	background:transparent;
	background-image:radial-gradient(circle at 100% 0, transparent var(--radius), white var(--radius));
}

.metapost::after{
	content:'';
	display:block;
	height:var(--radius);
	width:var(--radius);
	right:calc(var(--radius) * -1);
	bottom:0;
	position:absolute;
	background:transparent;
	background-image:radial-gradient(circle at 100% 0, transparent var(--radius), white var(--radius));
}
}

header, main, footer {
  z-index: 1; 
	position:relative
}


@media (min-width:769px){
	.updx{

	}
.updx::after {
  content: '';
  position: absolute;
  top: -400px;
	right:0px;
  width: 800px;
  height: 800px;  
background-image: radial-gradient(
    circle,
	var(--bolla) 0%, 
    transparent 100%  
  );
  filter: blur(150px);
  z-index:-1;
}
	
	.btmsx::before{
		content: '';
  position: absolute;
		width: 800px;
  height: 800px;
		left:-400px;
		bottom:-300px;
		background-image: radial-gradient(
    circle,
		var(--bolla) 0%,
     transparent 100% 
  );
  filter: blur(150px);
  z-index:-1;
	}
	
	.darkblur::before{
		content: '';
  position: absolute;
		width: 600px;
  height: 600px;
		left:50%;
		-webkit-transform: translate3d(-50%,0,0);
        transform: translate3d(-50%,0,0);
		bottom:-50px;
		background-image: radial-gradient(
    circle,
		var(--bolla-dark) 0%,
    transparent 100% 
  );
  filter: blur(150px);
  z-index: -1;
	}
	
	.lightblur::before{
		content: '';
  position: absolute;
		width: 600px;
  height: 600px;
		left:50%;
		-webkit-transform: translate3d(-50%,0,0);
        transform: translate3d(-50%,0,0);
		bottom:0;
		background-image: radial-gradient(
    circle,
		var(--bolla) 0%,
    transparent 100% 
  );
  filter: blur(150px);
  z-index: -1;
	}
	
}
@media (max-width:1024px){
	.updx::after {
	top: -400px;
  right: -100px;
  width: 600px;
  height: 600px;
	}
	.btmsx::before {
	left:-200px;
	bottom:-120px;
  width: 600px;
  height: 600px;
	}
}


.badge .ti-widget .ti-fade-container{
	flex-direction:column!important;
	align-items:start!important;
}
.badge .ti-small-logo,
.badge .ti-stars{
	margin-bottom:5px
}
.balance{
	text-wrap: wrap;
	text-wrap:balance
}
.backdrop{
	backdrop-filter: blur(4px);
}

.main-navigation ul ul{
	border-radius: var(--radius-s);
	width:max-content;
	padding:5px;
	min-width: 100px;
}

.glassmorphism {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
    background-clip: padding-box;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    color: #fff;
}


.ti-widget .ti-widget-container .ti-footer .ti-rating-text span.nowrap,
.ti-widget .ti-widget-container .ti-footer .ti-rating-text span.nowrap strong,
.ti-widget .ti-widget-container .ti-footer .ti-rating-text span.nowrap a{
	color:var(--white)
}
.ti-widget .ti-widget-container .ti-footer .ti-rating-text span.nowrap a:hover {
	text-decoration:none!important
}

.ti-widget .ti-date {
	color:var(--accent-scuro)!important
}
.toc .lwptoc_item a{
	text-decoration-style:dotted;
	text-decoration-thickness: from-font;
}
.toc .lwptoc_title{
	font-family:var(--gp-font--oswald);
	text-transform:uppercase;
	color:var(--accent--scuro)
}
.dynamic-entry-content img{
	border-radius:var(--radius);
}

.line-clamp{
	display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;  
  overflow: hidden;}


.anima-link a{
	display: inline;
        background-image: linear-gradient(0deg, currentColor, currentColor 0.08em, transparent 0.08em, transparent);
        background-repeat: no-repeat;
        background-size: 100% 100%;
        position: relative;
        text-decoration: none;
        transition: none; 
}
.anima-link a:hover{
	background-size: 0 100%;
}

@media (prefers-reduced-motion: no-preference) {
  .anima-link a {
    transition: background-size .2s, color .2s;
  }
  .anima-link a:hover{
    background-size: 0 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .anima-link a:hover {
    color: currentColor;
  }
}

.hero img[data-position="bottom right"]{ 
  object-position: bottom right; 
}
.hero img[data-position="bottom left"]{ 
  object-position: bottom left; 
}

.gp-search-modal .gp-modal__overlay{
	padding-top:10vh
}

.search-modal-form{
	border-radius:var(--radius);
	width:800px;
}

#ais-wrapper{
	width:100%
}
#ais-facets{
	width:30%
}
#ais-facets .widgettitle{
	font-size:24px
}

#cmplz-document {max-width:100%}

.wp-block-search .wp-block-search__label{
	width:auto
}

.toc-desktop .lwptoc:first-child{
	margin:0
}
/*/ COMPLIANZ ICONA /*/
#cmplz-manage-consent .cmplz-manage-consent.cmplz-show {
	box-shadow:none!important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background-color: #097668 !important; /* change color */
 	background-image: url("/wp-content/themes/generatepress_child/cookies.svg") !important; /*  use your .svg path*/
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 50% !important;
    bottom: 12px !important;
    right: 12px !important;
    display: block !important;
    padding: 0 !important;
	position:fixed!important;
    min-width: unset !important;
	z-index:999;
    color: transparent !important; /* hiding . text */
}

/* Hide the dot (text inside the button) */
.cmplz-manage-consent::before {
    content: "" !important;
}
#cmplz-document{max-width:100%}