/*
 Theme Name:   GeneratePress Child COM
 Theme URI:    https://generatepress.com
 Description:  GeneratePress Child Theme by Glarish
 Author:       Glarish
 Author URI:   https://www.linkedin.com/in/matteosilvestri
 Organization URI: Author URI:   https://www.linkedin.com/company/glarish-inc/
 Template:     generatepress
 Text Domain:	generatepress_child_com
 Version:      10.4 
*/
/*
	 * Date: June 13, 2025
	 */ 

/*****************************/
/* SPECIAL CSS TAGS */
/****************************/


/* LIST SPECIAL CSS
 * like-h1
 * like-h2
 * like-h3
 * v-align-center - vertical align center
 * justified-flex-container
 * zero-margin-bottom
 * over-block
 * noselect - no selectable blocks
 * show-pointer
 * 
 */




/* latin Italic */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-weight: 200 1000;
  font-stretch: 100%;
  font-display: swap;
  src: url('/wp-content/themes/generatepress-child-com/css/fonts/pe0OMImSLYBIv1o4X1M8cce4OdVisMz5nZRqy6cmmmU3t3NeCAAFOvV9SNjBznuB.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin Romans */
@font-face {
   font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 200 1000;
  font-stretch: 100%;
  font-display: swap;
  src: url('/wp-content/themes/generatepress-child-com/css/fonts/pe0AMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0lfUVwoNnq4CLz0_kJ3xzA.woff2') format('woff2');
   unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}




html{

font-size:18px;
}

.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 3000;
}

* {
  box-sizing: border-box;
}

body {
 
   font-family: Nunito, Nunito Sans, 'Nunito Sans', sans-serif;
  font-optical-sizing: auto;
font-weight:300 !important;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

/* General strong tag */
strong {
    font-weight: 700; /* Default bold */
    color: inherit; /* Inherits the color of the parent element unless overridden */
}

/* Strong within paragraphs */
p strong {
    font-weight: 600; /* Bold enough to stand out */
}

/* Strong within h1 */
h1 strong {
    font-weight: 800; /* Extra bold for strong emphasis */
    text-transform: uppercase; /* Optional for stronger impact */
}

/* Strong within h2 */
h2 strong {
    font-weight: 700; /* Slightly less bold than h1 */
}

/* Strong within h3 */
h3 strong {
    font-weight: 600; /* Consistent with body strong styling */
}

/* Strong within h4 */
h4 strong {
    font-weight: 600; /* Less emphasis compared to higher headers */
}

/* =10px */
body { 
      

} 
/* =14px */

p, li, a, body, button, input, select, textarea  {
   font-size: clamp(12px, 1.5vw, 16px);
    line-height: clamp(22px, 1.8vw, 28px);
    margin-bottom: clamp(2px, calc(2px + 0.5vw), 6px); /* Balanced spacing */
   text-align:left;
    letter-spacing: 0px;
    color: #333333;
}


.widget p, .widget li,.widget  a{
 color: #eee;
}

h1, .like-h1, h1>a, like-h1>a {

   font-family: Nunito, Nunito Sans, 'Nunito Sans', sans-serif;
font-size: clamp(20px, calc(20px + 1vw), 36px);
line-height: clamp(20px, calc(20px + 1vw), 36px);

    margin-bottom: clamp(4px, calc(4px + 1vw), 10px); /* Minimum: 8px, Maximum: 20px */
    margin-top: clamp(10px, calc(4px + 1vw), 24px); /* Minimum: 12px, Maximum: 24px */
    letter-spacing: 0px; /* No change */
font-weight: 500; 
}



h2, .like-h2, h2>a, like-h2>a{
font-size: clamp(18px, calc(16px + 1.5vw), 36px); /* Minimum: 18px, Maximum: 36px */
line-height: clamp(24px, calc(20px + 1vw), 48px); /* Minimum: 24px, Maximum: 48px */
margin-bottom: clamp(10px, calc(8px + 1vw), 20px); /* Minimum: 10px, Maximum: 20px */
margin-top: clamp(8px, calc(6px + 1vw), 16px); /* Minimum: 8px, Maximum: 16px */
letter-spacing: -1px; /* No change */
font-weight: 700; /* Slightly bolder for better visibility */

}

h2, .like-h2, h2 > a, .like-h2 > a {
font-size: clamp(1.125rem, calc(0.9rem + 1.5vw), 2.25rem);
line-height: clamp(1.5rem, calc(1.25rem + 1vw), 2.5rem);
margin-bottom: clamp(0.625rem, calc(0.5rem + 1vw), 1.25rem);
margin-top: clamp(0.5rem, calc(0.375rem + 1vw), 1rem);

  font-weight: 700;                                  /* Bold for clarity, not overbearing */
  letter-spacing: -1px;                                 /* Nunito needs no tuning here */
}




h3, .like-h3, h3>a, like-h3>a {
    font-size: clamp(20px, calc(18px + 1vw), 28px); /* Larger than `p` */
    line-height: clamp(26px, calc(22px + 1vw), 36px); /* Balanced spacing */
    margin-bottom: clamp(8px, calc(6px + 0.5vw), 16px);
    margin-top: clamp(6px, calc(4px + 0.5vw), 14px);
    letter-spacing: 0px; /* Neutral spacing */
    font-weight: 600; /* Keeps emphasis */
}


h3, .like-h3, h3 > a, .like-h3 > a {
  font-size: clamp(1rem, 1.375rem, 1.75rem);          /* ≈16–28px */
  line-height: clamp(1.375rem, 1.75rem, 2.25rem);     /* ≈22–36px */
  margin-bottom: clamp(0.5rem, 0.75rem, 1rem);        /* ≈8–16px */
  margin-top: clamp(0.375rem, 0.625rem, 0.875rem);    /* ≈6–14px */
  font-weight: 600;                                   /* Slightly less than h2 for balance */
  letter-spacing: 0;
}



h4, .like-h4, h4>a, like-h4>a {
    font-size: clamp(14px, calc(12px + 0.8vw), 20px);
    line-height: clamp(16px, calc(14px + 0.8vw), 24px);
    margin-bottom: clamp(2px, calc(2px + 0.5vw), 4px);
    margin-top: clamp(4px, calc(5px + 0.5vw), 7px);
    letter-spacing: 0px;
    font-weight: 600;

}


.home #breadcrumbs{
display:none;
}

#breadcrumbs{
width:100vw;
padding: 0 0 0 3%;
}
.wp-block-boldblocks-breadcrumb-block ol{display:flex;flex-wrap:wrap;gap:var(--bb--crumb-gap,.4em);list-style:none;margin:0;padding:0}
.wp-block-boldblocks-breadcrumb-block ol {align-items:center;display:flex}
.wp-block-boldblocks-breadcrumb-block li {line-height:23px;}
.wp-block-boldblocks-breadcrumb-block ol li .sep{line-height:23px; margin-left:var(--bb--crumb-gap,.4em)}
.wp-block-boldblocks-breadcrumb-block .breadcrumb-item-name{word-break:break-word}
.wp-block-boldblocks-breadcrumb-block.hide-current-page .breadcrumb-item--current,.wp-block-boldblocks-breadcrumb-block.hide-current-page .breadcrumb-item--parent .sep,.wp-block-boldblocks-breadcrumb-block.hide-home-page .breadcrumb-item--home{display:none}
.wp-block-boldblocks-breadcrumb-block{padding: 5px 40px 0 40px;}



.inside-article{
position:relative;
}

    
    .wp-show-posts  .wp-show-posts-single{
    border: 5px solid;
    border-color: #dbe6f2;
    border-radius: 20px;
    padding: 10px;
    }
    
    


.main-navigation .main-nav ul li a{line-height:40px}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-weight:300;
}


.container.grid-container {
    width: 100%;
}
.site-footer {
    margin-top: auto;
}

.site{
position:relative;
height:100%;
margin: auto;
}

button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background) {
 border-radius: 3px;
}
button, input[type=button], input[type=reset], input[type=submit] {

    border-radius: 3px;
}

.site-header .site-logo-link, .site-header .site-logo-link:hover{
text-decoration:none;
color:#000;
}

.site-logo-link .site-logo{
margin-right: 3px;
}

.main-title{
font-weight:200;
}



input[type="checkbox"] {
margin: 9px 9px 1px 9px;
    height: 17px;
    width: 17px;
}

.privacy-inline{
display:inline-block;
}

.position-send{
padding: 20px 0;
    text-align: center;
}

.grecaptcha-badge{
right:-250px !important;
}





.v-align-center{
align-self: center;
}

.justified-flex-container{
display: flex;
justify-content: center; /* align horizontal */
align-items: center; /* align vertical */
}


.zero-margin-bottom{
margin-bottom:0;
}

input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
       color: #757575;
    background-color: var(--base-2);
    border-color: var(--base);
    border-radius: 0;
    padding: 10px 15px;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}


/*************************/
/***** ACCORDION  ***/
/*************************/







.faq-container {
width:100%;
    max-width: 600px;
    margin: 0 auto;
}

.faq-title{
display: flex;
    align-items: center;
    width:100%;
    padding: 10px;
   background-color: #edf4f3;
   border: 0.5px solid #d9dbdc;
}

.faq-sign{
right: 21px;
    position: absolute;
    top: 19px;

}

.faq-title:hover{
 box-sizing: border-box;
    box-shadow: 1px 1px 2px 1px #999;
    transition: 0.3s ease;
}

.faq {
	
    margin: 5px 0;
    padding: 5px;
    position: relative;
    overflow: hidden;
    transition: 0.3s ease;
    box-sizing: border-box;
    box-shadow: none;
}

.faq:hover{

    margin: 5px 0;
    padding: 5px;
 
 
    cursor:pointer;
}

.faq button:hover, .faq button{}

.faq .dashicons{
color: #fff;
    font-size: 17px;
}

.faq .dashicons, .faq .dashicons-before:before{
width:30px;
height:30px;
background-color: #028084;
    padding: 8px 0 0 0;
    border-radius:50%;
}


.faq.active {}

.active .dashicons-arrow-down-alt2 {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
       transition: transform 0.5s ease-in-out; /* Add a delay of 0.3 seconds */
}


.faq-title {
    margin: 0 35px 0 0;
	font-size:20px;
	    display: inline-block;
}

.block-faq .faq-text {
    display: none;
    margin: 5px 10px 0 10px;
}

.block-faq.active .faq-text {
    display: inline-block;
}




.faq-toggle:focus {
    outline: 0;
}




.keep-block-centered,.no-sidebar .entry-content .alignfull{
	margin: 0 auto;
	
}



/* SITEMAP */

.hierarchical-sitemap ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.hierarchical-sitemap li {
    margin: 5px 0;
}

.hierarchical-sitemap a {
    text-decoration: none;
    color: #0073aa;
}

.hierarchical-sitemap a:hover {
    text-decoration: underline;
}
/* END SITEMAP */



.modulo-recension{
position:relative;
z-index:0;
}

/* SPECIAL CSS TAGS START */

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}
.show-pointer{
	cursor:pointer;
	
}


/* SPECIAL CSS TAGS ENDS */

/* HOME PAGE HERO CSS */


.over-block{
	position: absolute;
	top:5vw;
    z-index: 3;
}



.custom-adjust-container{
   max-height:90vh;
    overflow: hidden;
    width: 100%;
}



.custom-adjust-container .h1{
font-size: clamp(40px, calc(30px + 3vw), 72px); /* Minimum: 40px, Maximum: 72px */
line-height: clamp(48px, calc(36px + 2vw), 84px); /* Balanced spacing between lines */
margin-bottom: clamp(16px, calc(12px + 1vw), 32px); /* Maintains separation from subtitle */
letter-spacing: -0.5px; /* Slightly tighter for elegance */
font-weight: 800; /* Strong emphasis */

}

.custom-adjust-container .subtitle-hero{
font-size: clamp(20px, calc(16px + 1vw), 32px); /* Subtle but readable */
line-height: clamp(28px, calc(22px + 1.2vw), 40px); /* Balanced and legible */
margin-bottom: clamp(8px, calc(6px + 0.8vw), 16px); /* Clear separation from paragraph */
letter-spacing: 0px; /* Neutral spacing */
font-weight: 400; /* Lighter to contrast with H1 */
font-style: italic; /* Optional: Adds a softer, approachable feel */
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6); /* Soft shadow for better contrast */

}

.custom-adjust-container p{
font-size: clamp(18px, calc(16px + 0.8vw), 28px); /* Minimum: 18px, Maximum: 28px */
line-height: clamp(28px, calc(24px + 1vw), 40px); /* Minimum: 28px, Maximum: 40px */
margin-bottom: clamp(12px, calc(8px + 0.6vw), 20px); /* Minimum: 12px, Maximum: 20px */
letter-spacing: 0px; /* No change */
font-weight: 400; /* Keeps it light and readable */
color: #fff; /* Slightly darker for better contrast on large displays */

}





 .custom-adjust-container span{
   
    letter-spacing: 0px;
    font-weight: 500;
    font-style: italic;
    text-shadow: 1px 1px 2px rgb(41 62 63 / 76%);
	background-color: #50747969;
}

.hero-text{
padding: 30vh 5% 5% 5%;
}

#primary .gsh-simple-slider-container, .content-area .gsh-simple-slider-container{
margin-bottom:0;
}




.parent-height-servizi>div{
min-height:230px;
}

	.inside-top-bar,.inside-header{
padding: 0 40px;
}

.site-logo {
--margin-top: -2vh;
}

.main-navigation .main-nav ul li a {
    padding-left: 10px;
    }



/* Custom styles for the menu container */
.custom-menu-container {
    margin: 10px 0;
}

/* Custom styles for the menu */
.custom-menu-container .first-menu-item h3, .custom-menu-container .first-menu-item a{
text-decoration:none;
color: #000;
letter-spacing: -0.5px;
}


.custom-menu-container .first-menu-item, .custom-menu-container .first-menu-item h3 a{
line-height: clamp(26px, calc(22px + 1vw), 36px);
margin-left: -15px;
position: relative;
height: auto;

}

.custom-menu-container li {
position: relative;
    height: auto;
	/*clamp(8px, 15px, 25px); /* Ensures height stays between 45px and 60px */
    
	line-height: clamp(8px, 15px, 25px);
    --line-height: clamp(10px, 1vw, 20px); /* Adjusts the calculated line height */
    margin-bottom: clamp(8px, 15px, 25px); /* Sets a minimum and maximum margin between list items */
}

.custom-menu-container a:not(h3 a) {
 
  font-weight: 300;
    font-size: clamp(14px, 1.5vw, 16.5px);
    line-height: clamp(12px, 23px, 30px);
    letter-spacing: 0px;
    display: block;
	  
    letter-spacing: 0px;
	
	    }
 
    .custom-menu-container li>a:hover {
    font-weight:700;
    }
    
.custom-menu-container {
    position: relative;
    z-index: 0;
}

.custom-menu-container a {
    display: inline-block;
    padding: 1px;
    text-decoration: none;
}

.custom-menu-container ul {
    list-style-type: disc; /* Adds bullets to all unordered lists */
}
.custom-menu-container .first-menu-item {
    list-style-type: none; /* Removes bullet from the first menu item */
}
.custom-menu-container ul ul {
    list-style-type: circle; /* Adds circle bullets to submenus */
    padding-left: 20px; /* Adds padding to indent submenus */
}

.specialization-block{
max-width:350px;
}

.is-layout-flex .specialization-block {
margin: 0 auto;
}


/* Add more menu item classes and icons as needed */

.footer-widgets {
    display: flex;
    flex-wrap: wrap;
}
.footer-widget-area {
    padding: 20px;
}
.footer-widget-area:first-child {
    min-width: 300px;
    flex: 0 0 300px;
}
.footer-widget-area:not(:first-child) {
    flex: 1;
}

.footer-widget-1{
   min-width: 240px;
    flex: 0 0 240px;
   max-width: 400px;
}

.footer-widget-1{
   min-width: 140px;
    flex: 0 0 140px;
   max-width: 400px;
}

.footer-widgets button, .footer-widgets input[type="button"], .footer-widgets input[type="reset"], .footer-widgets input[type="submit"], .footer-widgets  a.button, .footer-widgets  a.wp-block-button__link:not(.has-background)
{
    background-color: #e8eded;
    color: #02363a;
    border: solid #05a1ad 0.5px;
}
.footer-widgets button:hover, .footer-widgets input[type="button"]:hover, .footer-widgets input[type="reset"]:hover, .footer-widgets input[type="submit"]:hover, .footer-widgets  a.button:hover, .footer-widgets  a.wp-block-button__link:not(.has-background):hover
{
    background-color: #02363a;
   
    color: #e8eded;
    border: solid #05a1ad 0.5px;
}




.site-footer h2 {
    margin: 5px auto 0; /* Simplified and centered */
    font-size: clamp(18px, calc(16px + 1vw), 28px); /* Smarter scaling across screens */
    --font-size: calc(16px + 1.2vw); /* Consistent scaling */
    line-height: calc(16px + 1.4vw); /* Slightly increased for better readability */
    letter-spacing: 0px;
    font-weight: 800; /* Keeps the bold emphasis */
}


.copyright-bar span, 
.copyright-bar,
.copyright-bar a, 
.copyright-bar .copyright {
    font-size: clamp(10px, calc(8px + 0.3vw), 14px); /* Clearer scaling for small screens */
    line-height: clamp(12px, calc(10px + 0.5vw), 18px); /* Balanced spacing for tiny text */
    margin-bottom: 2px; /* Minimal spacing without cramping */
    letter-spacing: -0.2px; /* Softened tracking for readability */
    color: #000; /* Maintains consistent dark text color */
}


.send-me-class p,
.send-me-class > span,
.send-me-class a,
.send-me-class .wpcf7-list-item-label,
.wpcf7-list-item-label a,
.send-me-class-flex,
.wpcf7-form .send-me-class {
    font-size: clamp(14px, calc(12px + 0.6vw), 16px); /* Minimum: 14px, Maximum: 18px */
    line-height: clamp(20px, calc(18px + 0.6vw), 28px); /* Balanced for better readability */
    margin-bottom: clamp(2px, calc(1px + 0.3vw), 4px); /* Slightly increased spacing */
    letter-spacing: 0px; /* Neutral tracking for legibility */
    font-weight: 300; /* Lightweight but readable */
	padding: 5px 0;
}



.send-me-class .wpcf7-list-item, .send-me-class-flex .wpcf7-list-item{
margin:0;
}

.send-me-class-flex label{
display:flex;
}






#messaggio, .messaggio textarea{
height: 70px;
resize: both;
            overflow: auto;
}


.wpcf7-form-control-wrap {
    display: flex;
    align-items: baseline; /* Align items along the text baseline */
}
.wpcf7-form-control-wrap label {
    --display: flex;
    --align-items: baseline; /* Align label items along the text baseline */
}
.wpcf7-list-item-label {
    margin-left: 8px; /* Add some space between the checkbox and the text */
    line-height: normal; /* Ensure normal line height */
  
}

.wpcf7-list-item-label a{
  text-decoration: underline;
}

.wpcf7-list-item-label a:hover{
 color: #0628cd;
}

.wpcf7-form-control {
    vertical-align: middle; /* Align the checkbox in the middle */
}


body .wpcf7 form .wpcf7-response-output {
    margin: -1.5em 0.5em 1em;
    padding: 7px 5px;
    border: 3px solid #00a0d2;
    max-width: 60%;
    text-align: center;
    background: white;
    color: black;
    font-weight:400;
}



.my-custom-class{
margin-left:13%;
}

.my-custom-class a{
line-height:15px;

}



.submit-button{
text-align:right;
    width: 30%;
    float: right;
}


.footer-subcontainer {
    display: flex;
    flex-wrap: wrap;
}

.footer-subcolumn {
    flex: 1;
    padding: 0 10px;
        min-width: 210px;
}


.footer-widget-2{
margin: 0 auto;
max-width:440px;
padding: 0 2%;

}

.cookie-switch-footer{
max-width: 250px;
}

.footer-custom-class a{
color:#fff;
}

.footer-subcolumn .aligncenter{
width:100%;
padding: 5px 0;
}

button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background) {
background-color:#001819;
color:#fff;
border: solid #000 0.5px;
}
.better-mark{
text-shadow: 1px 1px 1px rgb(0 0 0);
}
.hero-home .overlay-container{
/*current as of 14 march 2025 */
/*
 background: linear-gradient(to bottom left, rgb(1 127 136 / 74%), rgb(58 192 207 / 74%));
*/

/* NEW as of 14 march 2025 */
/**/
background: linear-gradient(rgb(73 87 88 / 84%), /* Dark base */ rgb(46 62 67 / 83%) /* Slight teal tint */);

/* common rules*/
mix-blend-mode: multiply; /* Blends the overlay with the slider background */
z-index: 1; /* Ensure it layers above the slider background */
}

.home .wp-block-boldblocks-breadcrumb-block {
padding:0;

}

.gb-container-7d6ccd3c{
	--background: linear-gradient(to bottom left, rgb(1 127 136 / 74%), rgb(58 192 207 / 74%));
	
}

.inside-header .main-navigation a{
font-size: 16px;
letter-spacing: 0px;
font-weight:500;
}

.breadcrumb a, .breadcrumb  .sep, .breadcrumb .breadcrumb-item-name {
font-size:min( 14px, calc(10px + 0.8vw));
}


.zindex-1{
z-index:1;
}
	

:where(.wp-block-columns) {
    margin-bottom: 0;
}
:where(.wp-block-columns.has-background){
padding:0;
}

body{
max-width: 3840px;
margin:0 auto;
}

.wp-block-group__inner-container {
    max-width: 1320px;
	}


/*  #### MEDIA ALL ### */

@media all and (min-width: 600px)
{

.site-logo {
--margin-top: -4vh;
}
}








@media all and (max-width: 350px)
{

/*
.custom-adjust-container p, .custom-adjust-container strong
{
line-height:min( 25px, calc(18px + 1.5vw));
font-size:13px;
font-size:min( 18px, calc(12px + 1.5vw));
letter-spacing: 0px;
font-weight:600;
}

 .custom-adjust-container strong
{
    letter-spacing: 1px !important;
 
    background-color: rgb(255 255 255 / 63%);
    color: teal;
}
*/

.custom-adjust-container h1{ 

  
    font-size: clamp(20px, calc(20px + 1vw), 48px);
    line-height: clamp(20px, calc(28px + 0.6vw), 56px);
    margin-bottom: clamp(8px, calc(4px + 0.8vw), 20px);
    margin-top: clamp(12px, calc(10px + 0.8vw), 24px);
    letter-spacing: 0px;
}
.custom-adjust-container .subtitle-hero{ 
    font-size: clamp(20px, calc(16px + 1vw), 32px);
    line-height: clamp(20px, calc(16px + 1.2vw), 40px);
    margin-bottom: clamp(8px, calc(2px + 0.8vw), 16px);
    letter-spacing: 0px;
    font-weight: 400;
    font-style: italic;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
}
.custom-adjust-container p, .custom-adjust-container strong, .custom-adjust-container span {

    line-height: clamp(20px, calc(18px + 1vw), 40px);
    margin-bottom: clamp(2px, calc(4px + 0.6vw), 8px);
    text-align:center;

}



}


.search-form{
width:70vw;
max-width:800px;
margin: 0 auto;

}

.search-form {
    text-align: left; /* Align everything to the left */
    white-space: nowrap; /* Ensure elements stay on the same line */
}

.search-field, .search-submit {
    display: inline-block; /* Align input and button inline */
    vertical-align: middle; /* Align them properly vertically */
    margin: 5px; /* Add some spacing for visual balance */
}


.title-404-default, .text-404-default, .subtitle-404-ext, .title-search, .end-404-all{
text-align:center;
margin:0 auto;
padding: 10px;
}



/* Responsive styles */


@media all and (max-width: 768px)
{
.footer-widgets-container{
margin:0 auto;
}

.over-block{
	top:-10px;
}

  .footer-subcolumn {
        flex: 100%;
    }

.hero-home .overlay-container{
---background-color:rgba(0,11,12, 0.7);
--background: linear-gradient(to right, teal, transparent);
--background: linear-gradient(135deg, #55afb2 30%, #fff 80%, transparent 90%);
--background: linear-gradient(to bottom left, rgb(1 127 136 / 74%), rgb(58 192 207 / 74%));


}


}


/* additional style */
.featured-image{
    margin: 0 auto;
    width: 100%;
    text-align: center;
}

.featured-image img{
max-height: 65vh;
    width: auto;
    margin: 0 auto;
}	


.gb-grid-column.has-post-thumbnail{
    margin: 0 auto;
    text-align: center;
}
.gb-grid-column.has-post-thumbnail img{
max-height: 50vh;
    width: auto;
    margin: 0 auto;
}

.type-post.has-post-thumbnail{
    margin: 0 auto;
    text-align: center;
}


.type-post.has-post-thumbnail img{
max-height: 50vh;
    width: auto;
    margin: 0 auto;
}

  .gsh-distance-calculator input {
    display: block;
    margin: 10px 0;
    padding: 5px;
}
.gsh-distance-calculator button {
    padding: 8px 16px;
    background: #0073aa;
    color: white;
    border: none;
    cursor: pointer;
}




/* STARS STATIC */    
 
 .central-stars{
 text-align:center;
 display:block;
 visibility: visible;
 }
 
  .central-stars   ul {
    list-style: none; /* removes default bullet points */
    padding: 0; /* removes default padding */
    margin: 0; /* removes default margin */
  }
 .central-stars li {
    display: inline-block; /* makes list items display horizontally */
    margin-right: 10px; /* adds space between list items */
  }
    
    .stars-home{
    color: gold;
font-size:35px;

 text-shadow:
    -1px -1px 0 #aaa,
    1px -1px 0 #aaa,
    -1px 1px 0 #aaa,
    1px 1px 0 #333;  
    }
  /* END STAR STATICS */  
  /* star rating block - START */

.survey-block .wp-survey-block{
overflow:hidden;
}

.survey-block .wp-survey-block .responsive-row{
    display: block;
    width: 100%;
	text-align:left;
}

.survey-block .wp-survey-block .responsive-row >div:first-child {
    float: left;
	min-width:250px;
	width:60%;
	 display: inline-block;
}
.survey-block .wp-survey-block .responsive-row .rating{
    display: inline;
	  margin: 0 auto;
   }
.survey-block .wp-survey-block .responsive-row div:nth-child(2){
 min-width:156px;
    display: inline-block;
   }

.survey-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
}

.survey-item:last-child {
    border-bottom: none;
}


.rating input {
    display: none;
}

.rating label {
    font-size: 1.6em;
    cursor: pointer;
    color: #eee;
	 padding: 0 3px 0 0;
	padding-right: clamp(3px, 2vw, 20px);

   
	text-shadow: -1px 1px 2px #2b2a2a, 0px 0px 1px #2b2a2a;
    
}

.rating input:checked ~ label {
    color: gold;
}

/* Change color of all previous labels on hover */
.rating label:hover,
.rating label:hover ~ label {
    color: gold;
}

.rating label:hover ~ label,
.rating label:hover ~ input ~ label {
    color: #ddd;
}

.rating label:hover,
.rating label:hover ~ label,
.rating input:hover ~ label,
.rating input:hover ~ label ~ label {
    color: gold;
}

  
  .rating > label{float:right}  
  .topic{
  margin:0 auto;
  text-align:center;
  }
    


/* star rating block - END */

/* VERSION 8.0 */
/* additional style to V4-v7.2 */

.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child){
margin:0;

}

.no-comments,.display-none{
display: none;
}

  .gsh-distance-calculator input {
    display: block;
    margin: 10px 0;
    padding: 5px;
}
.gsh-distance-calculator button {
    padding: 8px 16px;
    background: #0073aa;
    color: white;
    border: none;
    cursor: pointer;
}

.inside-top-bar{
background-color:#33575e;
}

/* TOP BAR */



/* General Top Bar Styling */
.top-bar-small {
    text-align: center;
   
    display: flex;
    justify-content: center;
    gap: 20px; /* Space between icons */
}

.top-bar-small .hover-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
	margin: 0 10px;
	color:#fff;
	font-size: clamp(9px, 2vw, 13px);
}

.top-bar-small svg {
    vertical-align: bottom;
	
}

/* Hover Content Styling */
.hover-content {
    display: none;
    position: absolute;
    left: 33px;
    top: 28px;
    transform: translateX(-50%);
    color: #000;
    z-index: 999100;
    font-size: 14px;
    width: 250px;
    background-color: #fff;
}

.hover-content.first-in-line{
  left: 53px;
}

.hover-content.last-in-line{
  left: 13px;
}

/* Show Content on Hover */
.hover-wrapper:hover .hover-content {
    display: block !important;
}
.top-bar-small .hover-wrapper a{
 text-decoration:none;
}
.top-bar-small .hover-wrapper span {
  position: relative; /* This is key */
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}
.top-bar-small .hover-wrapper span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px; /* increased thickness */
  background: rgba(255, 255, 255, 0.9); /* brighter white */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
  box-shadow: 0 0 4px rgba(255, 255, 255, 0.4);

}


.top-bar-small .hover-wrapper span:hover::after {
  transform: scaleX(1);
}
.top-bar-small a {
 color: #000 !important;
  font-size: clamp(9px, 1.5vw, 14px) !important;
 letter-spacing: 1px;
 font-weight: 800;
text-decoration:underline;
}
.hover-wrapper svg{
stroke:#fff;
stroke-width: 1px;

}
.hover-wrapper svg:hover{
stroke:#fff;
stroke-width: 4px;

}

.survey-block .label-class{
font-weight:800;

}

.survey-block-master .spacing-pad{
padding: 10px 0;
}


.survey-block-master .spacing-pad input[type="checkbox"]{
vertical-align:sub;
}

.survey-block-master .send-me-class-flex.first-spacing-pad{
padding: 25px 0 0 0;
}

 .send-me-class,.send-me-class-flex{
padding: 15px 0 10px 0;
}

.survey-block-master .send-me-class, .survey-block-master .send-me-class-flex{
padding: 15px 0 10px 0;
}
.send-me-class input[type="checkbox"], .send-me-class-flex input[type="checkbox"]  {
margin: 0px 0px 0px 0px; height: 17px;  width: 17px; 
}

.wpcf7-list-item-label {
line-height:20px;
text-align:left;
}

.stretch-container{
 position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
}

.hero-home .overlay-container{
background: linear-gradient(to right, rgb(73 87 88 / 84%) 30%, /* Dark base */ rgb(46 62 67 / 20%) 100% /* Slight teal tint */)
}






input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea:not(#comment){
font-family: Nunito, Nunito Sans, 'Nunito Sans', sans-serif;
color: #000 !important;
opacity:1;
font-weight:700;
border-color: #c3c3c6 ;
}

.window-privacy a {
color: #000 !important;
text-decoration: underline !important;
}

.comment-form-comment textarea{
font-weight:200 !important;
}

.wp-block-button.button-book > .wp-block-button__link:not(.has-background) {
    background-color: #16b1d0;
    color: white;
    padding: 8px 12px;
    border-radius: 8px;
    border: 2px solid #117a8c;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    font-weight: 800;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-button.button-book > .wp-block-button__link:not(.has-background):hover {
  background-color: #117a8c;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}
.wp-block-button.button-book > .wp-block-button__link:not(.has-background) {
  outline: 1px solid rgba(0, 0, 0, 0.05); /* barely visible outline for UX subtlety */
}

@media all and (min-width: 781px)
{
.hero-button-centered .wp-block-buttons.is-content-justification-center {
justify-content:left;
}
}

.bookly\:cursor-pointer{
font-weight:500;
}

.bookly\:cursor-pointer.font-weight-500 {
    font-weight: 500 !important;
}

.bookly\:cursor-pointer.font-weight-300 {
    font-weight: 300 !important;
    opacity: 0.8 !important;
}

.bookly\:rounded-t.bg-bookly.bookly\:relative {
    color: white !important; /* Ensures text is white */
   
}

.bookly-css-root .bookly\:bg-white{
 --background-color: transparent !important; /* Makes background transparent */
}

.bookly\:bg-white.bookly\:font-sans.bookly\:p-4{
--background-color: transparent !important; /* Makes background transparent */
}

.bookly\:flex.bookly\:bg-white.bookly\:float-right.bookly\:p-2.bookly\:border.bookly\:border-default-border.bookly\:absolute.bookly\:right-2.bookly\:bottom-2.bookly\:card-title{
background-color: transparent !important; /* Makes background transparent */

}



.bookly-css-root .bookly\:border-default-border {
    border: 0px solid #fff !important;
}

.bookly:rounded-b .bookly:flex .bookly:flex-col .bookly:p-4 .bookly:overflow-hidden{
height:auto !important;
}

.bookly\:flex-1.bookly\:p-4.bookly\:rounded.bookly\:flex.bookly\:flex-col{
background-color:#e7e8eff9;

}

.bookly\:w-full.bookly\:h-14.bookly\:bg-white {
  background-color: #fff !important;
}
textarea.bookly\:w-full.bookly\:bg-white {
  background-color: #fff !important;
}


.bookly-css-root .bookly\:absolute.bookly\:top-2.bookly\:w-72.bookly\:p-2.bookly\:bg-white.bookly\:border.bookly\:border-default-border.bookly\:rounded.bookly\:min-w-\[200px\].bookly\:start-0, .bookly-css-root .bookly\:bg-white.bookly\:min-w-[200px]  {
  background-color: #fff !important;
}

.bookly-css-root .bookly\:z-10{
    z-index: 10 !important;
    position: absolute !important;
    top: -200px;
      background-color: #fff !important;
}

.bookly\:text-gray-600.bookly\:mx-2 {
    display: none;
}


.bookly-css-root .bookly\:flex.bookly\:mb-2 
  > div > button > span {
    display: none ;
}


.bookly\:text-gray-600.bookly\:opacity-50 > span {
    font-size: 20px !important;
    color: black !important;
    font-weight: bold !important;
      display: block !important;
}


.bookly\:mb-3.bookly\:me-3.bookly-service-card-mark.bookly-card-mark:not(:hover)  {
background-color:#e2f0f0 !important;
}

.bookly\:mb-3.bookly\:me-3.bookly-services-category-mark:not(:hover)  {
background-color:#e2f0f0 !important;
} 

.bookly-css-root .privacy-class-book{
text-decoration: underline;
color: #0070ff;
}

.bookly-css-root .privacy-class-book:hover{
color: #333;
}

.pagare-style{
font-size:16px;
}


.wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin: 4px 0;       /* vertical spacing */
  padding-left: 0;     /* removes left padding */
}


.wpcf7-list-item {
  display: block;
  margin-bottom: 8px;
  padding-left: 0 !important;
}

.wpcf7-list-item label {
  margin-left: 0 !important;
  display: flex;
  align-items: center;
}

.send-me-class {
  padding-left: 0 !important;
  margin-left: 0 !important;
  text-align: left;
}

.send-me-class label {
  display: flex;
  align-items: center;
  gap: 6px; /* optional spacing between checkbox and text */
}




input[type=email]::placeholder, input[type=number]::placeholder, input[type=password]::placeholder, input[type=search]::placeholder, input[type=tel]::placeholder, input[type=text]::placeholder, input[type=url]::placeholder, select::placeholder, textarea::placeholder{

color: #686a7b !important;
font-weight:400;
opacity:0.9;
}

.wpcf7-not-valid-tip {
	color: #ff0505; /* Red */
	font-size: 90%;
	font-weight: normal;
	display: block;
	position:absolute;
	z-index:1;

right:3px;
}

input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], select, textarea:not(#comment){
z-index:3;
background-color: #ffffff9e !important;

}

.whatsapp-float {
    position: fixed;
    bottom: auto;
    top: 75vh;
    right: 10px;
    background-color: #25D366;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    z-index: 1000;
}
.whatsapp-float img {
  width: 30px;
  height: 30px;
}
@media (min-width: 980px) {
  .whatsapp-float {
    display: none;
  }
}

.generate-back-to-top {
 
    bottom: 60px !important;
    right: 10px !important;
  
}
.hide-bullet{
margin: 0;
list-style: none;
}

.invisible-comment{
visibility:hidden;
height:0 !important;
}


.comment-form-comment textarea{
font-weight:200 !important;
}

.pwd-toggle-class{
display: block;
    margin: 0 0 40px 0;
}

.login-eye-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    cursor: pointer;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23555'><path d='M10 3C5.5 3 2.1 6.2 1 10c1.1 3.8 4.5 7 9 7s7.9-3.2 9-7c-1.1-3.8-4.5-7-9-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm0-8c-1.7 0-3 1.3-3 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z'/></svg>");

  -webkit-user-select: none; /* Chrome, Safari */
    -moz-user-select: none;    /* Firefox */
    -ms-user-select: none;     /* IE/Edge */
    user-select: none;         /* Standard */

}

.password-field-wrapper {
    position: relative;
    display: flex;
    align-items: center;


}

#login_error {
  display: none !important;
}


/* stylesheet for CHIUSURA TOP BAR */
 .top-chiusura-banner {
    width: 100vw;
    background-color: #e2f4f7;
    color: #325357;
       font-size: clamp(0.75rem, 2.5vw, 25px);
    font-weight: 600;
    text-align: center;
    padding: 1em 1.2em;
    box-sizing: border-box;
    margin-bottom: 1em;
    display: inline-block;
    line-height: 30px;
   
    
  }

   .top-chiusura-banner span {
        white-space: nowrap;
    }

   .top-bar .top-chiusura-banner a {
        color:#000;
    }
      .top-bar .top-chiusura-banner a:hover {
        text-decoration: underline;
    }


  .top-chiusura-banner span:first-child {
    color: #325357;
     text-transform: uppercase;
  }

  .top-chiusura-banner span:last-child {
    color: #02808e;
  }
  
  .inside-top-bar, .inside-header {
    padding: 0 0; */
}
  @media all and (max-width: 720px)
{

.inside-top-bar, .inside-header {
    --padding: 0 10px; */
}

}
  
body{
background: linear-gradient(180deg, #FFFFFF 0%, #F9F6F5 40%, #F4EDEE 100%);
    background-color: #F9F6F5;  
}