/*
Theme Name: GD
Theme URI:
Author: Giuseppe De Sanctis
Author URI: https://www.fullcreative.it
Description: Starter Theme with Font Awesome and Bootstrap 5
Version: 0.1
Requires at least: 5.0
Tested up to: 5.4s
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, two-columns, right-sidebar, custom-header, custom-menu, editor-style, featured-images, sticky-post, translation-ready
Text Domain: gd
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nobile:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap');
*,
*::after,
*::before{margin: 0;padding: 0; box-sizing: border-box;}

#comments{margin-bottom: 40px;}
.comments{padding-top: 40px;}
.comments textarea{width: 100%;}
.comments label{ min-width: 80px;}
.comments ul,
.comments ol{list-style-type: none;}
.comment-author img{border-radius: 999px; width:50px;}
.comment .reply{border-bottom:  1px solid #ccc; margin-bottom: 30px;padding-bottom: 10px;}
input,
textarea{padding: 5px 10px; border: 1px solid #ccc;}
.widget_search .screen-reader-text{display: block;}
.widget_search #s{width:70%;float:left;}
.widget_search #searchsubmit{width:30%;float:left;background: #fff;}
.pagination{margin-bottom:40px}
.page-numbers{display: inline-block;padding: 10px 15px;border: 1px solid #ddd;margin-right:4px;}
.post img{max-width: 100%; height:auto;}
.gallery-caption{padding:5px; font-size: 10px;}
.bypostauthor{border-left: 3px solid #ddd;padding-left: 20px;}
.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 p.wp-caption-text {font-size: 11px;line-height: 17px; margin: 0; padding: 0 4px 5px;}
.screen-reader-text {clip: rect(1px, 1px, 1px, 1px);position: absolute !important;white-space: nowrap;height: 1px;width: 1px;overflow: hidden;}
.screen-reader-text:focus {	background-color: #f1f1f1;	border-radius: 3px;	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);	clip: auto !important;color: #21759b;display: block;font-size: 14px;font-size: 0.875rem;font-weight: bold;height: auto;	left: 5px;line-height: normal;padding: 15px 23px 14px;text-decoration: none;top: 5px;width: auto;z-index: 100000; /* Above WP toolbar. */}


/* Personalizzazione Tema */
html{scroll-behavior: smooth;}
body{display: flex; min-height: 100vh; flex-direction: column; position: relative; background-color: #F2F2F2;}
.main-content{flex:1;}

/* Colori */
:root{
    /* --colore-body: #fafafa; */
    --colore-body: rgb(250 250 250 /1);
    --colore-principale: #3FAD4A;
    --colore-bianco: #ffffff;
    --colore-nero: #111111;
    --colore-footer-top: #11221C;
    --colore-footer-bottom: #11221C;
}
/* Briciole */
ul#tsh_breadcrumbs{list-style: none; padding-left: 0rem;}
ul#tsh_breadcrumbs li{list-style: none; display: inline;}
ul#tsh_breadcrumbs a {color:#fff;} 
ul#tsh_breadcrumbs .bread-current,
.separator,
.item-current{color: #fff;}
.separator {padding: 0 4px;}

/* Bottoni castom bootstrap 5 */
.btn-info{background-color: var(--colore-principale); border: 1px solid var(--colore-principale); color: var(--colore-bianco); /* min-width: 280px; */}
.btn-info:hover{background-color: var(--colore-principale); border: 1px solid var(--colore-principale); color: var(--colore-bianco);}
/* .btn{padding-top: 0.2rem !important; padding-bottom: 0.2rem !important;} */
.gd__contatti_cta .btn{padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; padding-left: 0.5rem; padding-right: 0.5rem;}
.btn:active{ background-color: var(--colore-principale); border: 1px solid var(--colore-principale); color: var(--colore-bianco);}
:not(.btn-check)+.btn:active {background-color: var(--colore-principale);border: 1px solid var(--colore-principale);color: var(--colore-bianco);}
.btn-custom{display: inline-flex; align-items: center; justify-content: space-between; padding-right: 20px; padding-left: 20px; padding-top: 5px;}
.btn:focus-visible {color: var(--bs-btn-hover-color);background-color: var(--colore-principale);border-color: var(--colore-principale);outline: 0; color: var(--colore-bianco);}
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {background-color: var(--colore-principale);border-color: var(--colore-principale); color: var(--colore-bianco);}
@media (max-width: 768px) {
    .gd__contatti_cta .btn{padding-top: 0.2rem !important; padding-bottom: 0.2rem !important; padding-left: 0.2rem; padding-right: 0.2rem;}
}

/* Form contatti: checkbox e testo privacy sulla stessa riga */
.gd__contatti .form-check {
    padding-left: 0 !important;
}

.gd__contatti .form-check p {
    margin-bottom: 0 !important;
}

.gd__contatti .form-check-label {
    display: inline-block !important;
    margin-bottom: 0 !important;
    cursor: pointer;
}

.gd__contatti .form-check-label br {
    display: none !important;
}

.gd__contatti .form-check .wpcf7-form-control-wrap {
    display: inline !important;
}

.gd__contatti .wpcf7-acceptance {
    display: inline !important;
    margin: 0 0.5rem 0 0 !important;
    vertical-align: middle !important;
}

.gd__contatti .wpcf7-list-item {
    display: inline !important;
    margin: 0 !important;
}

/* Tutti gli altri wrapper in block per full-width */
.gd__contatti .col-12:not(:has(.form-check)) .wpcf7-form-control-wrap {
    display: block !important;
    width: 100%;
}

.gd__contatti input[type="checkbox"],
.gd__contatti .form-check-input {
    margin: 0 0.5rem 0 0 !important;
    vertical-align: middle !important;
    cursor: pointer;
}

/* Input full-width */
.gd__contatti .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]) {
    width: 100% !important;
    max-width: 100% !important;
}

.gd__contatti p {
    width: 100%;
    margin-bottom: 0;
}

/* Form contatti: pulsante Invia come gli altri (verde tema) */
.gd__contatti .wpcf7-form input[type="submit"],
.gd__contatti input[type="submit"].wpcf7-submit {
    background-color: var(--colore-principale) !important;
    border: 1px solid var(--colore-principale) !important;
    color: var(--colore-bianco) !important;
    padding: 0.5rem 1rem;
    border-radius: 0;
}
.gd__contatti .wpcf7-form input[type="submit"]:hover:not(:disabled),
.gd__contatti input[type="submit"].wpcf7-submit:hover:not(:disabled) {
    background-color: var(--colore-principale) !important;
    border-color: var(--colore-principale) !important;
    color: var(--colore-bianco) !important;
}
.gd__contatti .wpcf7-form input[type="submit"]:disabled,
.gd__contatti input[type="submit"].wpcf7-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Helper */
a{text-decoration: none; color: var(--colore-principale);} 
.gd__evidenza a{font-weight: 700 !important;}

.menu-footer-bottom ul{list-style: none;margin-bottom: 0rem; padding-left: 0rem;}
.menu-footer-bottom li{display: inline-block;}
.page-template-default .type-page ul{padding-left: 2rem;margin-bottom: 1rem;}
.lead{font-weight: 400;font-size: 1.10rem;}
b, strong {font-weight: 500;}
p {margin-top: 0;margin-bottom: .5rem;}

/* Tratto */
.gd__trattino{width: 120px;height: 3px;background-color: var(--colore-principale); margin-top: 20px;}
.gd__trattino-small{width: 60px;height: 3px;background-color: var(--colore-principale); margin-top: 20px;}
.bg-body {background-color: var(--colore-bianco);}
.animate{
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.navbar{box-shadow: 0 1px 2px 0px rgb(51 51 51 / 23%);}
.navbar-brand {width: 160px;}
.navbar-brand img {width:100%;}
.navbar.is-scrolled .navbar-brand {width: 100px;}
.navbar-brand-footer{width: 210px;}
.navbar-brand-footer img {width:100%;}
.nav-link{text-transform: uppercase;font-size: 14.2px; font-weight: 500;}
.nav-link:hover{text-decoration: none;}
.gd__barra_menu_mobile-laterale{display: none;}
@media (max-width: 768px){
	.navbar-brand img {width: 70%;}
    .nav-hamburger {margin: 0; width: 2em; height: 1em;z-index: 110; position: relative; transform: rotate(0deg); transition: all 0.35s cubic-bezier(.215, .61, .355, 1); }
    .nav-hamburger span { position: absolute; left: 0; width: 100%; height: 2px; display: block; background-color: #1d1d1f; border-radius: 10px; transition: all 0.35s cubic-bezier(.215, .61, .355, 1);}
    .nav-hamburger span:nth-child(1) {top: 0; width: 100%;}
    .nav-hamburger span:nth-child(2),
    .nav-hamburger span:nth-child(3) {top: 8px; width: 50%;}
    .nav-hamburger span:nth-child(4) {top: 16px; width: 80%;}
    .nav-hamburger:before { content: "Menu"; position: absolute; top: -20px; left: 0; width: 100%; height: 2em; text-transform: uppercase; font-size: 11px;}
    .menu-open .nav-hamburger{transform: rotate(180deg);position: relative; margin-bottom: 30px;}
    .menu-open .nav-hamburger:before{content:"Chiudi"; position: absolute; top: -27px; left: 0; width: 100%; height: 2em; text-transform: uppercase; font-size: 9px; transform:rotate(180deg)}
    .menu-open .nav-hamburger span:nth-child(1){top: 2em;width: 0;}
    .menu-open .nav-hamburger span:nth-child(2){transform: rotate(45deg); width: 100%;}
    .menu-open .nav-hamburger span:nth-child(3){transform: rotate(-45deg); width: 100%;}
    .menu-open .nav-hamburger span:nth-child(4){top: 18px; width: 0; left: 50px;}    
    .gd__barra_menu_mobile-laterale {position: absolute;top: 76px; left: -100%;  width: 100%;height: 100vh; overflow: hidden; transition: all 1s cubic-bezier(.215, .61, .355, 1); background-color: hsla(230, 12%, 96%, .6); backdrop-filter: blur(16px); z-index: 9999; padding: 30px; }
    .menu-open .gd__barra_menu_mobile-laterale {left: 0;}
    .gd__barra_menu_mobile-laterale{display: unset;}
    .gd__barra_menu_mobile-laterale li {display: block; padding-bottom: 10px;}
    .menu-menu-principale-container ul{padding-left: 0rem;}
} 


/* ****************** Home page ******************** */
.gd__carosello{width: 100%;height: 300px;}
.carousel-item{position: relative; height: 300px; overflow: hidden;}
.carousel-item img{position: absolute; top: 0; left: 0; width: 100%; height: 300px; object-fit: cover;}
.carousel-caption{left: 5%; right: 5%;top: 50%; transform: translateY(-50%); bottom: initial; text-align: left;z-index: 10;}
.carousel-caption h5{font-size: 1.8rem; max-width: 500px;}
.carousel-indicators [data-bs-target] { width: 20px;}
@media (max-width: 768px){}

/* *************** Chi siamo *********************** */
.section {color: #212529;padding: 40px 0;scroll-margin-top: 90px;overflow: clip;}
.about .content ul {list-style: none;padding: 0;}
.about .content ul li {padding-bottom: 10px;}
.about .content ul i {font-size: 1.25rem;margin-right: 4px;color: #465367;}
.about .content .who-we-are {text-transform: uppercase;margin-bottom: 15px; color: color-mix(in srgb, #212529, transparent 40%);}
.about .about-images img {border-radius: 10px;}

/* *********** Eventi ***************** */
.gd__sezione_eventi{background-color: #fff;}
.section-title .section-title-container {padding-bottom: 10px;border-bottom: 2px solid #212529;}


/* ****************** La deputazione ******************** */
.gd__testata_template{height: 240px;width: 100%; position: relative;}
.gd__testata_template h1{font-size: 1.9666666667rem;}
.gd__img_testata{position: absolute; top: 0; left: 0; width: 100%;z-index: 0;}
.gd__img_testata img{width: 100%; height: 240px; object-fit: cover;}
.gd__deputazione{position: relative; width: 100%; display: flex; align-items: center; }
.gd__deputazione-content{width: 100%;}
.gd__deputazione .card{background-color: transparent;}

.menu-deputazione-uno-container ul li{padding-bottom: 10px;}
.menu-deputazione-uno-container a{color: #111 !important; font-size: 18px;font-weight: 500;}
.menu-deputazione-uno-container a:hover{color: var(--colore-principale) !important;}
.menu-deputazione-due-container ul li{padding-bottom: 10px;}
.menu-deputazione-due-container a{color: #111 !important; font-size: 18px;font-weight: 500;}
.menu-deputazione-due-container a:hover{color: var(--colore-principale) !important;}
.gd__sfondo{position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(23,50,77,.50);}

/* ************* Pubblicazioni ******************* */
.gd__template_pubblicazioni .gd__template_pubblicazioni-card .card{background-color: #fff; color: #3FAD4A; display: flex;align-items: center;justify-content: center;height: 60px; font-size: 19px; font-weight: 600;}
.gd__template_pubblicazioni .gd__template_pubblicazioni-card a .card:hover{color: #3FAD4A !important;}
.gd__template_pubblicazioni .gd__template_pubblicazioni-card a:hover{color: #3FAD4A !important;}



/* ****************** Blocco card con link ******************** */
.gd__blocco_card{width: 100%; background-color: #F2F2F2; padding:40px 0 40px 0;}
.gd__blocco_card .card{position: relative;}
.gd__blocco_card .card img{transition: transform .9s;}
.gd__blocco_card .card img:hover{ transform: scale(1.2);}
.gd__card-titolo{position: absolute;left: 0;bottom: 0; width: 100%;}
.gd__card-titolo .card-body{position: relative;}
.gd__card-titolo .card-body h3{margin-bottom: .8rem;font-size: 19px;color: #fff;position: relative; z-index: 10;}
.gd__card-titolo .card-body::after {position: absolute;content: '';left: 0;bottom: 0;width: 100%; height: 100px;background: linear-gradient(0deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, 0) 100%);}
.gd__blocco_card-content-img {height: 340px;}


/* **************** Blocco eventi ********************* */
.gd__excerpt p{line-height: 20px; display: -webkit-box;  line-clamp: 4; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;}
.gd_altri_eventi img{width: 120px;}

/* Footer */
#info{width: 100%; background-color: #333333; color: #fff;}
#info .sezione__footer-top-menu li{padding-bottom: 6px;}
#info .sezione__footer-top-menu li a{color: var(--colore-nero);font-size: 15px;}
#info .sezione__footer-top-menu li a:hover{color: var(--colore-principale);}
#sezione__footer-bottom{width: 100%;background-color: #333333; color: #fff; font-size: 13px; border-top: 1px solid #fefefe70;}
.menu-footer-bottom li a{color: #fff;padding-left: 10px;}
#info .card.gd__box_card-indirizzo{width: 100%;min-height: 301px;background-color: transparent !important; color: #fff;}
#info .card-body h5{font-size: 26px;}
#info .card-body-contatti{font-size: 19px;}
#info .card.gd__box_apertura{width: 100%; min-height: 301px; color: #fff; background-color: transparent;}
#info .gd__box_card-map{width: 100%; min-height: 301px;}
@media (max-width: 768px){ 
    .menu-menu-footer-bottom-container ul{padding-left: 0rem; padding-top: 10px;}
}

/* Pagina interna */
.gd__testata-page{position: relative; width: 100%; min-height: 180px;}
.gd__testata-page img{position: absolute;top: 0;left: 0;width: 100%;height: 180px;object-fit: cover;}

/* Stili per la pagina evento */
.evento-header {
    position: relative;
}

.evento-meta {
    color: #666;
    font-size: 0.9rem;
}

.evento-thumb {
    flex: 0 0 80px;
}

.evento-description {
    line-height: 1.7;
}

/* Stili per la locandina */
.locandina-container {
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
    padding-bottom: 10px;
}

.locandina-img {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: 400px;
    display: block;
    margin: 0 auto;
}

.pdf-preview {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

.pdf-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    text-decoration: none;
}

.pdf-preview:hover .pdf-overlay {
    opacity: 1;
}