/*!
Theme Name: ssabap_istituzionale
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ssabap_istituzionale
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

ssabap_istituzionale is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li>ul,
li>ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

.wp-block-table td,
.wp-block-table th {
	border: none;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input {
	border: none;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
body .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input[type="text"],
body .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields input[type="url"],
textarea {
	color: var(--dark-black);
	border: 2px solid var(--transparent-green);
	background: #fff!important;
	border-radius: 1rem;
	padding: .7rem 1rem;
	font-size: 1rem;
	box-shadow: none!important;
	width: 100%!important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select, body .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-fields select {
	width: 100%;
	padding: .7rem 1rem;
	border: 2px solid #C9E0B8;
	border-radius: 1rem;
	font-size: 1rem;
	background-color: white;
	cursor: pointer;
	transition: border-color 0.3s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none!important;
	background-image: url('img/icon/icon__arrow__down__menu.svg');
	background-repeat: no-repeat;
	background-position: right 1rem center;
	box-shadow: none!important;
	height: auto!important;
}

select:hover {
	border-color: var(--primary-green);
}

select:focus {
	outline: none;
	border-color: var(--primary-green);
	box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

.main-navigation ul {
	display: flex;
	justify-content: flex-end;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}


}

.site-main {
	padding-top: 5rem;
	padding-bottom: 5rem;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page,
.single {}

#page {
	background: var(--extra-light-green);
}
.home #page {
	background: #fff;
}
.updated:not(.published) {
	display: none;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.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;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* SITE STYLE */
/* PRESET */
:root {
	--dark-black: #18240F;
	--primary-green: #77B34C;
	--transparent-green: #C9E0B8;
	--light-blue: #3653B380;
	--light-grey: #F2F2F2;
	--light-green: #ADD194;
	--extra-light-green: #F1F7ED;
	--error: #CC334D;
	--am-mw-main: 1130px !important;
}

/**RESET**/
body {
	color: var(--dark-black);
	font-family: "Libre Franklin", sans-serif;
	overflow-x: hidden;
}

body.page {
	background: #fff;
}

h1 {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 100%;
}

h2 {
	font: 700 2rem/2.5rem "Libre Franklin", sans-serif;
	color: var(--dark-black);
}

h3 {
	font: 700 1.5rem/2rem "Libre Franklin", sans-serif;
	color: var(--dark-black);
	margin-bottom: 1rem;
}

h4 {
	font: 700 1.25rem/1.75rem "Libre Franklin", sans-serif;
	color: var(--dark-black);
}

/*** COLORS ****/
.color__white {
	color: #fff;
}

.back__blu {
	background: var(--dark-blue);
}

.back__fb {
	background: #5890FF;
}

.back__yt {
	background: #CC0000;
}

.back__insta {
	background: #BB14AD;
}

.back__spoty {
	background: #1db954;
}

/*** UTILITIES ****/
.mt__16 {
	margin-top: 1rem;
}

.mb__16 {
	margin-bottom: 1rem;
}

.pt__20 {
	padding-top: 1.3rem;
}

.pb__20 {
	padding-bottom: 1.3rem;
}

.pt__35 {
	padding-top: 2.188rem;
}

.pb__35 {
	padding-bottom: 2.188rem;
}

.mt__35 {
	margin-top: 2.188rem;
}

.mb__35 {
	margin-bottom: 2.188rem;
}

.pt__40 {
	padding-top: 2.5rem;
}

.pb__40 {
	padding-bottom: 2.5rem;
}

.pt__50 {
	padding-top: 2.95rem;
}

.pb__50 {
	padding-bottom: 2.95rem;
}

.pt__60 {
	padding-top: 3.75rem;
}

.pb__60 {
	padding-bottom: 3.75rem;
}

.mt__60 {
	margin-top: 3.75rem;
}

.mb__60 {
	margin-bottom: 3.75rem;
}

.pt__70 {
	padding-top: 4.375rem;
}

.pb__70 {
	padding-bottom: 4.375rem;
}

.mb__70 {
	margin-bottom: 4.375rem;
}

.mb__100 {
	margin-bottom: 6rem;
}

.mt__100 {
	margin-top: 6rem;
}
#tooltip {
	position:absolute;
	background: #fff;
	border:0.5px solid var(--color-border-secondary);
	border-radius:.5rem;
	padding:.5rem 1rem;
	font-size:1rem;
	font-weight:600;
	color:var(--dark-black);
	pointer-events:none;
	opacity:0;
	transition:opacity 0.2s;
	z-index:10;
	white-space:nowrap;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
}
.overlay--open {
	overflow: hidden;
}
/**** FONT ****/
.bold {
	font-weight: 700;
}

.normal {
	font-weight: 400;
}

/**** BORDERS *****/
.border__top {
	position: relative;
}

.border__bottom {
	position: relative;
}

.border__top::before {
	content: "";
	position: absolute;
	top: 0;
	left: 12px;
	/* stesso valore del padding-left */
	right: 12px;
	/* stesso valore del padding-right */
	height: 1px;
	/* o lo spessore desiderato */
	background-color: var(--light-green);
	/* colore del bordo */
}

.border__bottom::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 12px;
	/* stesso valore del padding-left */
	right: 12px;
	/* stesso valore del padding-right */
	height: 1px;
	/* o lo spessore desiderato */
	background-color: var(--transparent-blue);
	/* colore del bordo */
}

/**** HEADER ****/
#masthead {
	background: #fff;
}

#masthead section {
	margin: 0;
}

#header {
	background-position: center center;
	background-size: cover;
	position: relative;
}

#header h1 {
	font-size: 2.5rem;
	font-weight: 700;
	color: #fff;
	margin: 2rem 0 1rem 0;
}

#header p {
	font-size: 1.5rem;
	color: #fff;
}

#logo__header {
	width: 155px;
}

.overlay__header {
	background: #00000099;
	width: 100%;
	height: 100%;
	padding: 4.5rem 2.5rem;
}

.site-header section {
	display: inline-block;
}

.site-header section p {
	margin: 0;
}

.site-header section#gtranslate-2 {
	margin-right: 8px;
}

a.glink {
	text-decoration: none;
	border: 1px solid var(--dark-black);
	padding: 0px 6px;
	color: var(--dark-black);
}
@media screen and (max-width: 767px) {
	#gtranslate-2 {
		width: 100%;
		text-align: center;
		margin-bottom: 1rem!important;
	}
}
/**** SEARCH OVERLAY ****/
#search__overlay {
	position: absolute;
	background: #fff;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 10000;
}
#close__overlaysearch {
	width: 30px;
	height: 30px;
	position: absolute;
	top: 30px;
	right: 30px;
	fill: #fff;
	cursor: pointer;
}
.search-results .search-form span {
	color: var(--dark-black);
}
/**** MENU ****/
#menu-top-menu {
	margin: 0;
	padding: 0;
	display: inline-block;
}

#menu-top-menu li {
	list-style: none;
	display: inline-block;
}

.menu-menu-principale-container ul,
#footer-menu-1 {
	margin: 0;
	padding: 0;
}

.menu-menu-principale-container ul li,
#footer-menu-1 li {
	list-style-type: none;
	display: inline-block;
}
.menu-menu-principale-container ul li {
	border-bottom: 4px solid transparent;
}
.menu-menu-principale-container ul li:focus, .menu-menu-principale-container ul li.current-menu-item {
	border-bottom: 4px solid var(--dark-black);
}
.menu-menu-principale-container ul li:hover {
	border-bottom: 4px solid var(--light-green);
}
.menu-menu-principale-container ul li a,
#footer-menu-1 li a {
	font-size: 1.125rem;
	color: var(--dark-black);
	font-weight: 700;
	display: block;
	padding: .6rem 1rem;
}
.menu-menu-principale-container .sub-menu {
	display: block;
	background-color: #fff;
}
.menu-menu-principale-container .sub-menu li {
	display: block;
}
.menu-menu-principale-container .sub-menu li a {
	text-align: left;
}

.arrow__end a::after  {
	content: url('img/icon/icon__arrow__down__menu.svg');
	display: inline-block;
	margin-left: .5rem;
}
.arrow__end .sub-menu a::after  {
	content: '';
}
#footer-menu-1 li a {
	text-decoration: underline;
	text-decoration-color: var(--dark-blue);
	text-underline-offset: 2px;
}

@media screen and (max-width: 767px) {
	.menu-pre-header-container ul li {
		display: block;
		margin-top: 2rem;
		margin-bottom: 2rem;
	}
	#menu-top-menu {
		display: block;
	}
	#menu-top-menu li {
		list-style: none;
		display: block;
	}
}
/**** MOBILE MENU ****/
.overlay__menu {
	position: absolute;
	background: #fff;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	padding: 3rem 1.5rem;
}
#close__overlay {
	position: absolute;
	top: 30px;
	right: 30px;
	cursor: pointer;
	
}
#close__overlay svg {
	fill: var(--dark-black);
}
.overlay__content .menu-menu-principale-container ul li {
	list-style-type: none;
	display: block;
}
/* MENU UERSERS */
.wpuf-menu-item.invoices {
	display: none;
}
/**** FOOTER ****/
#colophon {
	background: #fff;
	padding-top: 2rem;
}

#colophon .widget {
	margin: 0;
}

.site-info .custom-logo-link img {
	width: 419px;
}

#logo__sitar {
	background: #000;
	padding: 8px 10px;
	margin: 0 0 0 2rem;
}

#social__share {
	margin: 0;
	padding: 0;
}

#social__share li {
	display: inline-block;
	list-style-type: none;
	margin: 0 0 0 .5rem;
	padding: .6rem;
	border-radius: 1rem;
	transition: all .2s ease-in-out;
}

.logos__ministeri img {
	height: 50px;
}

.logos__ministeri img:last-child {
	margin-left: -4px;
}

#social__share li a {
	display: block;
}

#social__share li a img {
	width: 28px;
}

#social__share li:hover {
	background-color: var(--primary-green);
}

#colophon section.widget.widget_block.widget_media_image {
	display: inline-block;
}

.widget.widget_nav_menu {
	display: inline-block;
}


.menu-menu-footer-1-colonna-container ul,
.menu-menu-footer-2-colonna-container ul,
#footer-menu {
	padding: 0;
	margin: 0;
}

.menu-menu-footer-1-colonna-container ul li,
.menu-menu-footer-2-colonna-container ul li {
	list-style: none;
	margin-bottom: 1.2rem;
}

#footer-menu li {
	list-style: none;
	display: inline-block;
	margin-right: 2rem;
}

#footer-menu li:last-child {
	margin-right: 0rem;
}

.menu-menu-footer-1-colonna-container ul li a,
.menu-menu-footer-2-colonna-container ul li a,
#footer-menu li a {
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--primary-green);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	color: var(--dark-black);
	transition: all .2s ease-in-out;
}

.menu-menu-footer-1-colonna-container ul li a:hover,
.menu-menu-footer-2-colonna-container ul li a:hover,
#footer-menu li a:hover {
	text-decoration: none;
}

/**** ULTIMATE MEMBER ****/
#page .um input[type="submit"].um-button,
#page .um input[type="submit"].um-button:focus {
	background: var(--dark-blue);
}

#page .um input.um-button {
	border-radius: 0px !important;
}

#page .um .um-field-label,
#page .um-field-checkbox-option,
#page .um-alt,
#page .um-link-alt {
	color: var(--dark-black) !important;
}

#page .um-form-field {
	border: 2px solid var(--transparent-blue) !important;
}

.um-account-main div.um-account-heading,
.um:not(.um-admin),
.um-account-side li a span.um-account-title,
.um-account-name a {
	color: var(--dark-black) !important;
}

.um-account-side li a {
	font-size: 1rem !important;
}

.um .um-cover-add:hover,
.um .um-field-checkbox.active:not(.um-field-radio-state-disabled) i,
.um .um-field-radio.active:not(.um-field-radio-state-disabled) i,
.um .um-item-meta a,
.um .um-member-less a:hover,
.um .um-member-more a:hover,
.um .um-member-name a:hover,
.um .um-members-pagi a:hover,
.um .um-profile-subnav a.active,
.um .um-tip:hover,
.um-account-name a:hover,
.um-account-nav a.current,
.um-account-side li a.current span.um-account-icon,
.um-account-side li a.current:hover span.um-account-icon,
.um-dropdown li a:hover,
i.um-active-color,
span.um-active-color {
	color: var(--dark-blue) !important;
}


/**** SCROLL DOWN ****/
.menu__left {
	position: sticky;
	top: 20px;
	/* Distanza dal bordo superiore quando diventa sticky */
	max-height: calc(100vh - 40px);
	/* Altezza massima per assicurare che si adatti alla viewport */
	overflow-y: auto;
	/* Permette lo scroll del menu se è troppo lungo */
}

.menu__left ul {
	margin: 0;
	padding: 0;
}

.menu__left ul li {
	list-style-type: none;
	margin: 0 0 20px 0;
}

.menu__left ul li a {
	display: block;
	border: 2px solid var(--transparent-blue);
	color: var(--dark-blue);
	padding: 5px 10px;
	background: #fff;
	text-decoration: none;
}

.menu__left ul li a:active,
.menu__left ul li a:focus {
	background: var(--dark-blue);
	color: #fff;
}

.div__right figure {
	margin: 0;
}

/**** CONTENT ****/
.divider__hr {
	height: 4px;
	background: #456AE5;
	opacity: .5;
	border-top: none;
}

/**** SITE ****/

/**** BUTTON ****/

.btn__primary, body .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type="submit"] {
	background: var(--primary-green);
	color: var(--dark-black);
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.50rem;
	padding: .7rem 1rem;
	display: inline-block;
	margin-top: 1rem;
	transition: all .2s ease-in-out;
	text-decoration: none;
	border-radius: 1rem;
}
body .wpuf-form-add.wpuf-style ul.wpuf-form .wpuf-submit input[type="submit"] {
	border: none!important;
	box-shadow: none!important;
	text-shadow: none!important;
}
.btn__primary img {
	margin-left: .5rem;
}
.btn__primary:hover {
	background: var(--dark-black);
	color: #fff;
}
.btn__primary:hover img {
	filter: invert(90%) sepia(100%) saturate(2%) hue-rotate(137deg) brightness(113%) contrast(101%);
}
.btn__primary__choice {
	background: var(--primary-green);
	color: var(--dark-black);
	font-weight: 700;
	font-size: 1.25rem;
	padding: .54rem 1rem;
	display: inline-block;
	transition: all .2s ease-in-out;
	text-decoration: none;
	border-radius: 1rem;
}

.btn__primary__choice img, .btn__primary__choice svg {
	display: inline-block;
    width: 17px;
    height: auto;
    vertical-align: middle;
    margin-right: .3rem;
    margin-top: -5px;
}

li.btn__primary__choice__menu a {
	background: var(--primary-green);
	color: var(--dark-black);
	font-weight: 700;
	font-size: 1.25rem;
	padding: .54rem 1rem;
	display: inline-block;
	transition: all .2s ease-in-out;
	text-decoration: none;
	border-radius: 1rem;
}

li.btn__primary__choice__menu a img {
	margin-right: .5rem;
	margin-top: -5px;
}

.btn__primary__choice__menu:hover a {
	color: #fff !important;
	background: var(--dark-black);
}

.btn__primary__negative {
	color: var(--dark-black);
	font-weight: 700;
	font-size: 1.25rem;
	padding: .45rem 1rem;
	border: 2px solid var(--dark-black);
	display: inline-block;
	transition: all .2s ease-in-out;
	text-decoration: none;
	border-radius: 1rem;
}

.btn__primary__negative::after {
	content: url(img/icon/icon__arrow__right.svg);
	display: inline-block;
	width: 20px;
	height: 20px;
	vertical-align: middle;
	margin-left: .5rem;
	margin-top: -5px;
}

.btn__outline__secondary {
	background: #fff;
	color: var(--dark-black) !important;
	font-weight: 700;
	font-size: 1.25rem;
	padding-top: calc(.7rem - 2px);
	padding-bottom: calc(.7rem - 2px);
	padding-left: 1rem;
	padding-right: 1rem;
	border: 2px solid var(--dark-black);
	display: inline-block;
	transition: all .2s ease-in-out;
	text-decoration: none;
	cursor: pointer;
	border-radius: 1rem;
	line-height: 1.50rem;
}

.btn__outline__secondary img {
	display: inline-block;
	width: 17px;
	height: auto;
	vertical-align: middle;
	margin-right: .3rem;
	margin-top: -5px;
}

.btn__outline__secondary:hover img {
	filter: invert(100%) sepia(6%) saturate(732%) hue-rotate(227deg) brightness(170%) contrast(100%);
}

.btn__outline__secondary:hover {
	color: #fff !important;
	border: 2px solid var(--dark-black);
	background: var(--dark-black);
}
button.btn__outline__secondary {
	display: inline-block;
	border: 2px solid var(--dark-black);
	border-radius: 1rem;
	padding: .5rem 1rem;
}
.btn__secondary__negative__outline {
	color: #fff;
	font-weight: 700;
	font-size: 1.25rem;
	padding: .45rem 1rem;
	border: 2px solid #fff;
	display: inline-block;
	transition: all .2s ease-in-out;
	text-decoration: none;
	border-radius: 1rem;
	cursor: pointer;
}
.btn__secondary__negative__outline img {
	margin-left: .5rem;
	filter: invert(90%) sepia(100%) saturate(2%) hue-rotate(137deg) brightness(113%) contrast(101%);
}
.btn__secondary__negative__outline:hover {
	border: 2px solid var(--dark-black);
	background: var(--dark-black);
}
#cards__repeater a:hover .btn__primary,
.btn__primary__choice:hover,
.btn__primary__negative:hover,
.btn__primary__outline:hover {
	background: var(--dark-black);
	color: #fff;
}

.btn__primary__negative:hover {
	color: #fff;
	border: 2px solid var(--dark-black);
}


.btn__primary__negative:hover::after {
	filter: invert(100%) sepia(6%) saturate(732%) hue-rotate(227deg) brightness(170%) contrast(100%);
}

.btn__extra {
	display: inline-block;
	background: #fff;
	font-weight: 700;
	padding: .3rem 1rem;
	margin-right: 1.5rem;
}

.btn__extra img {
	height: 16px;
	width: auto;
	margin-right: .5rem;
}
@media screen and (max-width: 767px) {
	li.btn__primary__choice__menu a {
		display: block;
		margin-top: 1rem;
		text-align: center;
	}
	.btn__outline__secondary {
		display: inline-block;
		width: calc(50% - .7rem);
		text-align: center;
	}
	.btn__primary {
		text-align: center;
	}
}
/**** ICON ****/
.icon__sostienici:before {
	content: url(img/icon/icon__sostienici.svg);
	display: inline-block;
	width: 18px;
	height: 16px;
	margin-right: .5rem;
}

.icon__send:before {
	content: url(img/icon/icon__send.svg);
	display: inline-block;
	width: 18px;
	height: 16px;
}

li.btn__primary__choice__menu:hover a .icon__sostienici:before {
	filter: invert(100%) sepia(6%) saturate(732%) hue-rotate(227deg) brightness(170%) contrast(100%);
}

/**** BORDER ****/
.border__y {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

/**** LABELS ****/
.label__black__12 {
	display: inline-block;
	background: var(--dark-black);
	color: #fff;
	font-size: .75rem;
	padding: 0 .3rem;
	margin-right: .5rem;
	font-weight: 700;
}

.label__black__14 {
	display: inline-block;
	background: var(--dark-black);
	color: #fff;
	font-size: .875rem;
	padding: .2rem 1rem;
	font-weight: 700;
}

.label__extra {
	display: block;
	font-weight: 700;
	margin: 0 0 .6rem 0;
	color: var(--dark-black);
}

.label__extra img {
	height: 16px;
	width: auto;
	margin-right: .5rem;
}

/**** TEXT ****/
.title__xs {
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.8rem;
}

/**** BREADCRUMBS ****/
.breadcrumbs {
	margin: 0;
}

.breadcrumbs ol {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.breadcrumb-item {
	display: flex;
	align-items: center;
}

.breadcrumb-link {
	color: #fff;
}

.breadcrumb-link:hover {
	text-decoration: underline;
}

.breadcrumbs .current {
	color: #fff;
	font-weight: 500;
}

.breadcrumbs .separator {
	margin: 0 5px;
	color: #fff;
}

@media (max-width: 768px) {
	.breadcrumbs {
		font-size: 12px;
	}

	.breadcrumbs .separator {
		margin: 0 4px;
	}
}

/**** HOMEPAGE ****/
#logo__animated {
	max-width: 770px;
	margin: 0 auto;
}
#mainSvg {
	max-width: 770px;
	margin: 0 auto;
}
#layer1 {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s ease-in-out;
	z-index: 1;
	background-size: cover;
	background-position: center center;
}
#layer1__mask, .alternative__mask, .search__mask {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
}
#layer1 h2 {
	font-size: 2.5rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
}
#layer1 p {
	font-size: 1.5rem;
	color: #fff;
	text-align: center;
	margin-top: 1rem;
}
#target__animation {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 1000;
	transition: opacity 0.6s ease, visibility 0.6s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: red;
}

#target__animation.active {
	opacity: 1;
	visibility: visible;
}

.svg-animated-clone {
	transition: all 0.3s ease;
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));
}

#target__animation {
	display: none;
}

.svg-animated-clone path {
	transition: fill 0.3s ease;
}

.svg-animated-clone:hover path {
	filter: brightness(1.2);
}

/* Bottone di chiusura */
.close-btn {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	background: transparent;
	border: 2px solid #fff;
	border-radius: 50%;
	cursor: pointer;
	z-index: 1002;
	transition: transform 0.3s ease, background 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.close-btn:hover {
	transform: rotate(90deg);
	background: rgba(255, 255, 255, 0.1);
}

.close-btn::before,
.close-btn::after {
	content: '';
	position: absolute;
	width: 20px;
	height: 2px;
	background: #fff;
}

.close-btn::before {
	transform: rotate(45deg);
}

.close-btn::after {
	transform: rotate(-45deg);
}


/* Logo animato */
#logo__animated {
	position: relative;
	z-index: 1;
}
.alternative__content {
	min-height: 400px;
	text-align: center;
	position: relative;
}
.alternative__content h2 {
	color: #fff;
}
.alternative__content p {
	color: #fff;
	font-size: 1rem;
	margin-bottom: 2.5rem;
}
/**** FORM FIELDS ****/


/*** CARDS ****/
.card__link {
	text-decoration: none;
	transition: all .2s ease-in-out;
}
.card__link:hover, .card__link:hover h3 {
	text-decoration-color: transparent!important;
}
#cards__repeater {
	border-top: 1px solid var(--transparent-blue);
}

/* #cards__repeater a {
	text-decoration: none;
} */

#cards__repeater a:hover h3 {
	text-decoration: none;
}

#cards__repeater .btn__primary:hover {
	background: var(--dark-black);
	color: #fff;
}

.card__simple {
	border: 1px solid var(--transparent-green);
	transition: transform 0.3s;
	padding: 1.5rem;
	background: #fff;
	margin-bottom: 1.5rem;
	border-radius: 1rem;
}

.card__simple__container h3 {
	white-space: nowrap;
	text-decoration: underline;
	text-decoration-color: var(--primary-green);
	text-underline-offset: 4px;
	transition: all .2s ease-in-out;
	overflow: hidden;
	text-overflow: ellipsis;
}

.card__simple__container .icon__image {
	width: 64px;
	height: auto;
	background: #000;
	padding: 16px;
	margin-bottom: 1rem;
}

/* #cards__repeater a {
	text-decoration: none;
} */

.card__advanced {
	border: 1px solid var(--transparent-green);
	transition: transform 0.3s;
	background: #fff;
	margin-bottom: 1.5rem;
	border-radius: 1rem;
	overflow: hidden;
	position: relative;
	transition: all .2s ease-in-out;
}
.card__advanced:after {
	border-radius: 1rem;
	content: '';
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: all .3s ease-in-out;
	border: 1px solid var(--primary-green);
}

a:hover .card__advanced:after {
	border: 2px solid var(--primary-green);
	opacity: 1;
}
.card__advanced__label {
	font-size: 1rem;
	font-weight: 600;
	background: var(--dark-black);
	padding: .5rem .6rem;
	display: inline-flex;
	margin-bottom: 1rem;
	border-radius: .6rem;
	color: #fff;
	margin-right: .5rem;
}

.card__advanced__label img {
	width: 16px;
	margin-right: .25rem;
}
.card__advanced__info {
	font-size: 1rem;
	font-weight: 600;
	display: inline-flex;
	margin-bottom: 1rem;
	color: var(--dark-black);
	margin-right: .5rem;
}
.card__advanced__info img {
	width: 16px;
	margin-right: .25rem;
}
.card__advanced figure {
	margin: 0;
	height: 245px;
	position: relative;
}

.card__advanced__container {
	padding: 1.5rem;
}

.card__advanced__title {
	min-height: 4rem;
}

.card__advanced .card__image {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.card__large__image {
	height: 380px;
	border-top: 1px solid var(--transparent-blue);
	border-bottom: 1px solid var(--transparent-blue);
	border-left: 1px solid var(--transparent-blue);
}

.card__large__container {
	background: #fff;
	height: 100%;
	width: 100%;
	border-top: 1px solid var(--transparent-blue);
	border-bottom: 1px solid var(--transparent-blue);
	border-right: 1px solid var(--transparent-blue);
}

.card__advanced__excerpt {
	color: var(--dark-black);
	font-size: 1rem;
	line-height: 1.5rem;
	margin: 1rem 0;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* .card__advanced__container h3 {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
} */
/* exeptcion */
.page-template-page-luoghi-cultura .card__advanced__container h3 {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.card__advanced__container h3 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-decoration: underline;
	text-decoration-color: var(--primary-green);
	text-underline-offset: 4px;
	transition: all .2s ease-in-out;
}
.card__4 .card__advanced__container h3 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	text-decoration: underline;
	text-decoration-color: var(--primary-green);
	text-underline-offset: 4px;
	transition: all .2s ease-in-out;
}
.card__4 .card__advanced__container p {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--dark-black);
}
.card__4 .card__advanced__title {
	min-height: 2rem;
}
/**** CARD SINGLE ****/
.patrimoni__list a {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	text-decoration-color: var(--primary-green);
	color: var(--primary-green);
}
.card__comunity__logo {
	margin: 0 0 1.2rem 0;
}

.card__comunity__logo img {
	width: 140px;
	height: auto;
	object-fit: contain;
}
.card__meta__label {
	padding: 2rem 1.5rem 0 1.5rem;
}
.card__data {
	font-size: 1rem;
	font-weight: 600;
	color: var(--dark-black);
	text-decoration: none;
}
.card__label__patrimonio {
	background: #92C270;
	color: var(--dark-black);
	font-size: 1rem;
	font-weight: 600;
	padding: .5rem .6rem;
	display: inline-block;
	border-radius: .6rem;
	position: absolute;
	bottom: 1rem;
	left: 1rem;
}
.card__label__percorsi {
	background: #E5B219;
	color: var(--dark-black);
	font-size: 1rem;
	font-weight: 600;
	padding: .5rem .6rem;
	display: inline-block;
	border-radius: .6rem;
	position: absolute;
	bottom: 1rem;
	left: 1rem;
}
.card__label__attivita {
	background: #409DBF;
	color: var(--dark-black);
	font-size: 1rem;
	font-weight: 600;
	padding: .5rem .6rem;
	display: inline-block;
	border-radius: .6rem;
	position: absolute;
	bottom: 1rem;
	left: 1rem;
}
.card__label__novita {
	background: var(--dark-black);
	color: #ffff;
	font-size: 1rem;
	font-weight: 600;
	padding: .5rem .6rem;
	display: inline-block;
	border-radius: .6rem;
}
.card__advanced__category {
	background: var(--dark-black);
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	padding: .5rem .6rem;
	display: inline-block;
	border-radius: .6rem;
	position: absolute;
	top: 1rem;
	right: 1rem;
}

/**** SLIDER ****/
#slider .item {
	background-size: cover;
	background-position: center center;
	height: 425px;
}

#slider h2 {
	font-size: 2.5rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 1rem;
}

#slider p {
	font-size: 1.5rem;
	color: #fff;
	margin-bottom: 1rem;
}

.banner__overlay {
	width: 100%;
	height: 100%;
	background: #0F1833B2;
}

.owl-nav {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90%;
	display: flex;
	transform: translate(-50%, -50%);
}

.owl-carousel .owl-nav button.owl-next {
	margin-left: auto;
}

#page .owl-carousel .owl-nav button.owl-next .button__slider,
#page .owl-carousel .owl-nav button.owl-prev .button__slider {
	border: 2px solid #fff !important;
	padding: 1rem 1.5rem;
	display: block;
	border-radius: 0;
}

#page .owl-carousel .owl-nav button.owl-next img,
#page .owl-carousel .owl-nav button.owl-prev img {
	width: 9px;
}

@media screen and (max-width: 767px) {
	#slider .item {
		height: unset;
	}

	#slider .container {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}

	#slider h2 {
		font-size: 2rem;
	}

	#slider p {
		font-size: 1rem;
	}
}

/**** BANNER CTA ****/

#section__cta {
	padding-top: 4rem;
	padding-bottom: 4rem;
	position: relative;
	height: 450px;
}

#section__cta h2 {
	font-size: 2.5rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 1rem;
}

#section__cta p {
	font-size: 1.5rem;
	color: #fff;
	margin-bottom: 1rem;
}

.banner__cta__background__slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 1.5s ease-in-out;
}

.banner__cta__background__slide.active {
	opacity: 1;
}

.overlay__banner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 10;
}

.text-content {
	text-align: center;
	color: white;
	padding: 20px;
}

/**** HOME ****/
#last__post {
	padding-bottom: 5rem;
}

#last__post__item {
	padding-top: 3rem;
}

#last__post__item a {
	color: #fff;
	text-decoration: none;
}

#last__post__item a:hover h3 {
	text-decoration: underline;
	text-decoration-color: var(--dark-blue);
}

#last__post__item a:hover .btn__primary {
	background: var(--dark-black);
}

/**** COMMENT ****/
/* Stili per il form commenti */
.comment-form {
	max-width: 650px;
}

/* Nome ed Email affiancati */
.comment-form-author,
.comment-form-email {
	display: inline-block;
	width: 48%;
	vertical-align: top;
}

.comment-form-author {
	margin-right: 4%;
}

/* Sito web a tutta larghezza */
.comment-form-url {
	width: 100%;
	clear: both;
}

/* Stili per i campi input */
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	box-sizing: border-box;
	background-color: #fff;
	transition: border-color 0.3s;
}

.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: #999;
}

/* Placeholder styling */
.comment-form input::placeholder,
.comment-form textarea::placeholder {
	color: #999;
	opacity: 1;
}

/* Label */
.comment-form label {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
	font-size: 14px;
	color: #333;
}

/* Checkbox per salvare i dati */
.comment-form-cookies-consent {
	margin: 15px 0;
}

.comment-form-cookies-consent input[type="checkbox"] {
	width: auto;
	margin-right: 8px;
	vertical-align: middle;
}

.comment-form-cookies-consent label {
	display: inline;
	font-weight: normal;
	font-size: 13px;
	cursor: pointer;
}

/* Campo commento */
.comment-form-comment {
	width: 100%;
	margin-bottom: 20px;
}

.comment-form-comment textarea {
	min-height: 150px;
	resize: vertical;
}

/* Pulsante Commenta */
.submit-button {
	background-color: #7fb842;
	color: white;
	border: none;
	border-radius: 8px;
	padding: 12px 30px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.3s;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.submit-button:hover {
	background-color: #6fa035;
}

.submit-button .icon {
	font-size: 20px;
	font-weight: bold;
}

/* Responsive per mobile */
@media (max-width: 600px) {

	.comment-form-author,
	.comment-form-email {
		width: 100%;
		margin-right: 0;
	}

	.comment-form-author {
		margin-bottom: 15px;
	}
}

/**** SINGLE****/
.entry-content {
	padding-bottom: 4rem;
}

#section__map,
#section__aperture,
#section__arrivare,
#section__biglietteria,
#section__video,
#section__audio,
#section__gallery,
#section__logo {
	padding-bottom: 1.5rem;
}

#section__related {
	border-top: 1px solid var(--transparent-blue);
	padding-top: 4rem;
}

/***** SINGLE *****/
/*************************/

/***** GALLERY *****/
.gallery__grid {
	margin-top: 2rem;
}

.gallery__column {
	margin-bottom: 1.5rem;
}

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

.gallery__image img {
	width: 100%;
	height: 140px;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.gallery__image a:hover img {
	transform: scale(1.05);
}

/* Loading animation */
.gallery__loading {
	text-align: center;
	padding: 60px 20px;
	color: #666;
}

.spinner {
	border: 3px solid #f3f3f3;
	border-top: 3px solid #2c3e50;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1s linear infinite;
	margin: 0 auto 20px;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

.lb-overlay {
	z-index: 9999 !important;
}

.lb-outerContainer {
	z-index: 10000 !important;
}

/* Responsive */
@media (max-width: 768px) {
	.gallery__item {
		padding: 20px 15px;
	}

	.owl-carousel .owl-item {
		padding: 0 5px;
	}

	.gallery__slide {
		gap: 10px;
	}

	.gallery__row {
		gap: 10px;
	}
}

@media (max-width: 480px) {
	.gallery__row {
		flex-direction: column;
		gap: 10px;
	}
}

/**** TRASPORTI ****/
.trasporti {
	display: inline-block;
	margin-right: 1rem;
}

.trasporto {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
	background: #fff;
	padding: .3rem .5rem;
}

.trasporto img {
	width: auto;
	height: 16px;
	margin-right: .5rem;
	display: inline-block;
}

.trasporto h4 {
	font-size: 1rem;
	font-weight: 700;
	margin-right: .5rem;
	margin-bottom: 0;
}

.trasporto p {
	margin-bottom: 0;
}

/**** ACCORDION ****/
.accordion h2 img {
	width: 20px;
	margin-right: .5rem;
}

.accordion h2 button {
	font-size: 1.25rem;
	font-weight: 700;
}

.accordion {
	border-radius: 0;
}

.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.accordion-item:first-of-type>.accordion-header .accordion-button {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.accordion-item:last-of-type {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.accordion-item:first-of-type {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.accordion-item {
	color: var(--bs-accordion-color);
	background-color: var(--bs-accordion-bg);
	border: 2px solid var(--transparent-blue);
}

.accordion-button {
	padding: .7rem 1rem;
}

.accordion-button h4 {
	margin: 0;
}

.accordion-button:hover h4 {
	text-decoration: underline;
	text-decoration-color: var(--dark-blue);
}

.accordion-button:not(.collapsed) {
	color: var(--bs-accordion-active-color);
	background-color: transparent;
	box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.accordion-button::after {
	filter: invert(32%) sepia(57%) saturate(1857%) hue-rotate(209deg) brightness(99%) contrast(89%);
}

.accordion-body {
	padding: .7rem 1rem 1.5rem 1rem;
}

.orario__row {
	display: flex;
	justify-content: space-between;
	padding: .2rem 0;
	border-bottom: 1px solid var(--light-grey);
}

.orario__time {
	color: var(--dark-gray);
}

/**** ALERTS ****/
.alerts {
	display: flex;
	align-items: center;
	margin-bottom: 1.5rem;
	padding: .7rem 1rem;
	background: #fff;
}

.alerts:not(.alerts + .alerts) {
	margin-top: 1.5rem;
}

.alerts img {
	width: 20px;
	height: auto;
	margin-right: .5rem;
	display: inline-block;
}

.alerts p {
	margin-bottom: 0;
}

.alerts.danger {
	border: 2px solid #CC334D;
}

.alerts.warning {
	border: 2px solid #CC7A00;
}

.alerts.info {
	border: 2px solid #405EBF;
}
/**** WIDGETS AUDIO ****/
.single-audioguida .wp-block-audio {
	padding: 19.5rem 5rem 7.5rem 5rem;
	background: #fff;
	border-radius: 1rem;
	border: 1px solid var(--transparent-green);
}
/* Sovrascrivi il colore principale (es. un arancione o il colore del tuo tema) */
:root {
    --plyr-color-main: #77B34C; /* Colore pulsanti e barra */
    --plyr-audio-controls-background: #f4f4f4; /* Sfondo del player */
    --plyr-audio-control-color: #333; /* Colore icone */
    --plyr-control-radius: 0; /* Arrotondamento */
}
.plyr--audio {
    border: 1px solid #ddd;
    border-radius: 10px;
}
.plyr--html5 {
	border: none;
}
.plyr--audio .plyr__controls {
	background: transparent!important;
}
.plyr-big-play {
    width: 174px!important;
	height: 160px;
    background: #77B34C;
	border-radius: 56px;
    position: absolute;
    top: -200px;
    left: 50%;
    transform: translateX(-87px);
	display: flex;
    align-items: center;
    justify-content: center;
}
.plyr-big-play svg {
	width: 30px;
}
.plyr__progress__buffer {
    -webkit-appearance: none;
    background: #0000;
    border: 0;
    border-radius: 100px;
    height: 5px;
    height: var(--plyr-range-track-height, 15px)!important;
    left: 0;
    margin-top: -2.5px;
    margin-top: calc((var(--plyr-range-track-height, 5px) / 2) * -3)!important;
    padding: 0;
    position: absolute;
    top: 50%;
}
	
/**** RELATED ****/
#section__related a {
	color: #fff;
	text-decoration: none;
}

#section__related a:hover h3 {
	text-decoration: underline;
	text-decoration-color: var(--dark-blue)
}

#section__related a:hover .btn__primary {
	background: var(--dark-black);
}

/**** ATTIVITA ISTITUZIONALE ****/
#last__post,
#last__press,
#last__avvisi {
	border-top: 1px solid var(--transparent-blue);
	padding-top: 4rem;
	padding-bottom: 4rem;
}

#last__avvisi {
	padding-bottom: 0;
}

#last__post a,
#last__press a,
#last__avvisi a {
	color: #fff;
	text-decoration: none;
}

#last__post a:hover h3,
#last__press a:hover h3,
#last__avvisi a:hover h3 {
	text-decoration: underline;
	text-decoration-color: var(--dark-blue);
}

#last__post a:hover .btn__primary,
#last__press a:hover .btn__primary,
#last__avvisi a:hover .btn__primary {
	background: var(--dark-black);
}

#last__post .btn__primary__negative,
#last__press .btn__primary__negative,
#last__avvisi .btn__primary__negative {
	color: var(--dark-blue);
}

#last__post .btn__primary__negative:hover,
#last__press .btn__primary__negative:hover,
#last__avvisi .btn__primary__negative:hover {
	color: #fff;
}

/**** REPEATERS *****/
.embed__container {
	position: relative;
	padding-bottom: 56.25%;
	overflow: hidden;
	max-width: 100%;
	height: auto;
}

.embed__container iframe,
.embed__container object,
.embed__container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.youtube__video, #section__video iframe {
	aspect-ratio: 16 / 9;
	width: 100%;
	border-radius: 1rem;
}

.video__item {
	padding-bottom: 4rem;
}

.video__item:last-child {
	padding-bottom: 0;
}

/* Rendi il video player responsive */
.wp-video {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
}

.mejs-container {
	width: 100% !important;
	height: 70px !important;
	min-width: auto !important;
}

.mejs-container video {
	width: 100% !important;
	height: auto !important;
}

.mejs-inner {
	width: 100% !important;
	height: auto !important;
}

.mejs-offscreen {
	display: none !important;
}

.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
.mejs-controls .mejs-time-rail .mejs-time-total {
	background: var(--dark-blue) !important;
}

.mejs-container .mejs-controls,
.mejs-embed,
.mejs-embed body {
	background: #fff !important;
	border: 1px solid var(--transparent-blue) !important;
	height: 70px !important;
	padding: 1rem !important;
}

.mejs-controls {
	align-items: center !important;
}

.mejs-currenttime,
.mejs-duration {
	color: var(--dark-black) !important;
}

.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current,
.mejs-controls .mejs-time-rail .mejs-time-loaded {
	background: #fff;
	border: 1px solid var(--dark-black);
}

.mejs-controls .mejs-time-rail .mejs-time-current {
	background: var(--dark-blue) !important;
}

.mejs-time-handle-content {
	border: 4px solid var(--dark-black);
}

.mejs-button.mejs-playpause-button.mejs-play,
.mejs-button.mejs-playpause-button.mejs-pause,
.mejs-button.mejs-volume-button.mejs-mute {
	background: var(--dark-blue) !important;
	width: 40px !important;
}

.mejs-button.mejs-playpause-button.mejs-play button,
.mejs-button.mejs-playpause-button.mejs-pause button,
.mejs-button.mejs-volume-button.mejs-mute button {
	margin: 10px !important;
}

.mejs-horizontal-volume-slider {
	margin-left: 8px !important;
}

/* Mantieni aspect ratio */
.wp-video {
	position: relative;
	padding-bottom: 56.25%;
	/* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
}

.wp-video .mejs-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/**** ALLEGATI****/
.allegato__item {
	background: #fff;
	padding: 1rem;
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
	border: 1px solid var(--light-green);
	border-radius: 1rem
}

.allegato__item .icon__allegato {
	width: 36px;
	height: auto;
	margin: 0 1.8rem 0 0;
}

.allegato__item .allegato__download {
	background: var(--dark-blue);
	padding: .6rem 1rem;
	display: inline-block;
}

.allegato__item .icon__download {
	width: 62px;
	height: 47px;
	background: var(--primary-green);
	border-radius: 1rem;
	padding: .6rem 1rem;
	transition: all .2s ease-in-out;
}

.allegato__link {
	text-decoration: none;
	color: var(--dark-black);
	padding-bottom: 4rem;
	;
}

.allegato__link:last-child {
	padding-bottom: 0;
}

.allegato__item .allegato__meta {
	font-size: .875rem;
	width: 100%;
}

.allegato__item .allegato__date {
	margin-right: 2rem;
}

.allegato__item h3 {
	margin-bottom: .5rem;
	text-decoration: underline;
	text-decoration-color: var(--primary-green);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	transition: all .2s ease-in-out;
}

.allegato__link:hover h3 {
	text-decoration: none;
}

.allegato__link:hover .allegato__download img {
	background: var(--dark-black);
}

.icon__istituzionali {
	color: #fff;
}

.icon__istituzionali img {
	height: 46px;
	width: auto;
	margin-right: .8rem;
}

.info__header__istituzionali {
	font-family: Roboto Mono;
	font-size: 1.125rem;
}

/**** PAGE ARCHIVE EVENTS ****/
#last__post__news__events {
	padding-top: 2rem;
}

#last__post__news__events a {
	color: #fff;
	text-decoration: none;
}

#last__post__news__events a:hover h3 {
	text-decoration: underline;
	text-decoration-color: var(--dark-blue)
}

#last__post__news__events a:hover .btn__primary {
	background: var(--dark-black);
}

/***** PATRIMONIO *****/
.patrimoni__section {
	margin-top: 3rem;
}
.filters__container {
	margin-bottom: 20px;
	margin-top: 5rem;
}

.filters-title {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 15px;
	color: #2c3e50;
}
.btn-apply {
	background: #3498db;
	color: white;
	border: none;
	padding: 10px 20px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	transition: background 0.3s;
}

.btn-apply:hover {
	background: #2980b9;
}

.btn-reset {
	background: #95a5a6;
	color: white;
	border: none;
	padding: 10px 20px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	transition: background 0.3s;
}

.btn-reset:hover {
	background: #7f8c8d;
}

.active-filters {
	margin-top: 15px;
	padding: 10px;
	font-size: 13px;
	display: none;
}

.active-filters.show {
	display: block;
}

.filter-tag {
	display: inline-block;
	background: #3498db;
	color: white;
	padding: 4px 8px;
	border-radius: 3px;
	margin-right: 5px;
	font-size: 12px;
}

#map {
	width: 100%;
	height: calc(100vh - 280px);
	min-height: 765px;
	overflow: hidden;
}

.no-results {
	text-align: center;
	padding: 50px 20px;
	margin: 30px 0;
}

.reset-button {
	margin-top: 20px;
	padding: 10px 30px;
	background: #3498db;
	color: white;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	font-size: 16px;
	transition: background 0.3s;
}

.reset-button:hover {
	background: #2980b9;
}
.patrimoni-header {
	display: none;
}
.patrimoni-pagination {
	margin: 40px 0;
	text-align: center;
}

.patrimoni-pagination ul {
	display: flex;
	justify-content: center;
	gap: 10px;
	list-style: none;
	padding: 0;
}

.patrimoni-pagination li {
	display: inline-block;
}

.patrimoni-pagination a,
.patrimoni-pagination span {
	display: block;
	padding: 8px 15px;
	background: white;
	border: 2px solid #3498db;
	border-radius: 5px;
	color: #3498db;
	text-decoration: none;
	transition: all 0.3s;
}

.patrimoni-pagination a:hover {
	background: #3498db;
	color: white;
}

.patrimoni-pagination .current {
	background: #3498db;
	color: white;
}
/**** COMUNITA'****/
.leaflet-popup-content {
    margin: 15px;
    line-height: 1.6;
}
.popup-title {
    font-size: 16px;
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 8px;
    border-bottom: 2px solid #27ae60;
    padding-bottom: 5px;
}
.popup-info {
    font-size: 14px;
    margin-bottom: 6px;
}
.popup-label {
    font-weight: bold;
    color: #34495e;
}
.popup-link {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 10px;
    background: #27ae60;
    color: #fff!important;
    border-radius: 4px;
    font-size: 13px;
    text-decoration: none;
}
.popup-link:hover { background: #1e8449; color: #fff; }
#map-comunita {
    width: 100%;
    height: 765px;
}
#loading-comunita {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    padding: 20px 30px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,.15);
    z-index: 9999;
    text-align: center;
}
.spinner-comunita {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #27ae60;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    animation: spin-c 1s linear infinite;
    margin: 0 auto 10px;
}
@keyframes spin-c {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/**** SIDEBAR ***/
#sidebar {
	background: #fff;
	border: 1px solid var(--transparent-green);
	border-radius: 1rem;
	padding: 2rem 1.5rem;
}
.sidebar__title {
	margin-bottom: .5rem;
}
#sidebar .btn__primary {
	margin-top: 0;
}
#sidebar .btn__primary:before {
	content: url(img/icon/icon__ticket.svg);
	display: inline-block;
	margin-right: 5px;
}
#sidebar .btn__primary:hover:before {
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(110deg) brightness(110%) contrast(108%);
}
#sidebar ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
.label__services_bevande, .label__services_bike, .label__services_cibo, .label__services_parcheggio, .label__services_wc, .label__services_bevande_wifi {
	font-weight: 600;
	margin-bottom: .5rem;
}
.label__services_bevande:before {
	content: url(img/icon/icon__bevande.svg);
	display: inline-block;
	margin-right: 5px;
}
.label__services_bike:before {
	content: url(img/icon/icon__bike.svg);
	display: inline-block;
	margin-right: 5px;
}
.label__services_cibo:before {
	content: url(img/icon/icon__cibo.svg);
	display: inline-block;
	margin-right: 5px;
}
.label__services_parcheggio:before {
	content: url(img/icon/icon__parcheggio.svg);
	display: inline-block;
	margin-right: 5px;
}
.label__services_wc:before {
	content: url(img/icon/icon__wc.svg);
	display: inline-block;
	margin-right: 5px;
}
.label__services_wifi:before {
	content: url(img/icon/icon__wifi.svg);
	display: inline-block;
	margin-right: 5px;
}