/* Minification failed. Returning unminified contents.
(846,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(862,16): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(867,21): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(870,21): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(893,13): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(901,18): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(901,42): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(944,15): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(961,20): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(964,20): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(1292,1): run-time error CSS1019: Unexpected token, found '}'
(1310,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(1311,8): run-time error CSS1035: Expected colon, found '{'
(1360,3): run-time error CSS1019: Unexpected token, found '@keyframes'
(1361,10): run-time error CSS1035: Expected colon, found '{'
(1364,5): run-time error CSS1019: Unexpected token, found '@keyframes'
(1365,10): run-time error CSS1035: Expected colon, found '{'
(1379,1): run-time error CSS1019: Unexpected token, found '}'
(1460,18): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(1472,20): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(1518,16): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(1533,13): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(1534,30): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
(1616,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(1617,8): run-time error CSS1035: Expected colon, found '{'
(1671,22): run-time error CSS1039: Token not allowed after unary operator: '-navbar-height'
 */
/* ================================================================================
	 (c) 2018 ePublic Srl - www.epublic.it
================================================================================ */

/* -------------------------------------------------------------------------
		STILE DOCUMENTI ALLEGATI E LINK
   ------------------------------------------------------------------------- */

/* colori icone documenti */
.ico-pdf { color: #da251c; }
.ico-doc { color: #2A5699; }
.ico-xls { color: #207245; }
.ico-zip { color: #FF9408; }
.ico-txt { color: #4CA1B5; }
.ico-img { color: #669933; }
.ico-vid { color: #E62117; }
.ico-aud { color: #0080D1; }
.ico-p7m { color: #06c; } /* firma digitale p7m */
.ico-file { color: #666; } /* firma generico */
.ico-link { color: #999; }
.ico-folder { color: #fc6; }
.ico-rss { color: #FA9B39; }
.ico-gpx { color: #e545b0; }

/* icone utente */
.user-logged-in { color: #06B7E8; }
.user-logged-out { color: #808080; }
.user-logged-out:hover { color: #D4D8DA; }

/* estensione */
.ext {
  font-size: .8rem;
  color: #55585B;
  font-weight: 300;
  margin-left: .25rem;
}
@media (max-width:575px) {
  .ext abbr[title] { text-decoration: none; }
}

.detail-attach ul  {
  list-style: none;
  margin: 0;
  padding: 0;
}
.detail-attach li {
  padding-bottom: .5rem;
  padding-left: .25rem;
}
.detail-attach li:not(.subfolder):last-of-type { padding-bottom: 0; }
.detail-attach .ico, .doc .ico {
  font-size: 1.25rem;
  padding-right: .5rem;
  width: 1.75rem; /* circa 32px */
}
.detail-attach .podcasticon {
  padding-right: .5rem;
  width: 3rem;
}
.detail-attach .fa-link { /* rimpicciolisco leggermente icona link */
  font-size: 1.125rem;
}
.doc { /* documento singolo */
  margin-top: .5rem;
  word-break: break-all;
}
.doc-sm { /* allegati al documento */
  font-size: 90%;
}
.doc-sm .ico { font-size: 1.125rem; }
.doc-sm .ext { font-size: .75rem; }
.ico-left { padding-right: .5rem; }
.ico-right { padding-left: .5rem; }
/* ================================================================================
   COMWEB
	 (c) 2016 ePublic Srl - www.epublic.it
   ================================================================================ */

/* Default - Extra small devices (< 576px) */
/* SM - Small devices (576px - 767px) */
/* MD - Medium devices (768px - 991px) */
/* LG - Large devices (992px - 1199px) */
/* XL - Extra Large devices (> 1200px) */

/* -------------------------------------------------------------------------
		STILI GENERICI
   ------------------------------------------------------------------------- */

@font-face {
  font-family: 'Titillium Web', sans-serif;
  font-display: swap;
}

html, body {
  font-family: 'Titillium Web', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	background-color: #fff;
	color: #1C2024;
	margin: 0;
}
@media (min-width: 768px){
	html, body { font-size: 17px; }
}
@media (min-width: 992px){
	html, body { font-size: 17.5px; }
}
@media (min-width: 1200px){
	html, body { font-size: 18px; }
}

strong { font-weight: 700; }
b, .b, h1, h2, h3, h4, h5, h6, .h6 { font-weight: 600; }
hr { border-color: #dee2e6; }
hr.hrstrong { border-width: 3px; }
.text-condensed { letter-spacing:-.02rem }
a.underline { text-decoration: underline; }
.lh-sm { line-height: 1.25; }

/* --- Dimensioni font --- */
.font-xxxl { font-size: 1.5rem !important; }
.font-xxl { font-size: 1.375rem !important; }
.font-xl { font-size: 1.25rem !important; }
.font-lg { font-size: 1.125rem !important; }
.font-md { font-size: 1rem !important; }
.font-sm { font-size: .9rem !important; }
.font-xs { font-size: .8rem !important; }
.small-text { line-height: 1.25; }

/* --- Effetto di transizione globale --- */
a:hover { transition-duration: .25s; }

/* --- Focus da tastiera --- */
a:focus img:not(.main-logo) {
  outline-style: solid;
  outline-offset: -2px;
}
:not(a):focus { outline: 0 none; }

/* --- Link esterni --- */
figure a[target=_blank]::after {
  position: absolute;
  top: 10px;
  right: 30px;
  font-size: 1.25rem !important;
  color: #fff;
  text-shadow: 1px 1px 1px #808080;
}

/* --- Reset bordi arrotondati bootstrap --- */
* { border-radius: 0 !important; }


/* --- COLORI e SFONDI --- */

.color-light { color: #55585B; }
.color-inherit { color: inherit !important; }

.sfondochiaro { background-color: #EAEBEC; }
.sfondoscuro { background-color: #2a3036; }
.sfondocolore { /*background-color base*/ }
.sfondorollover { /*background-color rollover*/ }
.text-info { color: #117A8A !important; } /* sovrascrivo stile bootstrap */
code { color: #C53577 }


/* --- FORM --- */

button, input, optgroup, select, textarea { font-family: 'Titillium Web', sans-serif; }

.form-control { color: inherit; }
.form-control:hover, .custom-select:hover { border-color: #999; }
.form-control:focus, .custom-select:focus { /*border-color base*/ /*box-shadow base*/}
.form-control::placeholder, .form-control::-moz-placeholder { color: #767676; font-weight: 300; }
.form-group { margin-bottom: .75rem; }

.form-control.is-invalid { background-image: none; } /* sovrascrivo stile bootstrap */

label { padding-right: .5rem; }
.col-form-label { 
  padding-top: .25rem;
  padding-bottom: .25rem;
  line-height: 1.25;
}
.custom-checkbox .custom-control-label::before { border-width: 2px; border-radius: 2px; }
.custom-radio .custom-control-label::before { border-width: 2px; }

.form-control-file {
  width: 100%;
  padding: .5rem .75rem;
  border: 1px solid rgba(0,0,0,.15);
}

legend, h4.legend { 
  font-size: 1.125rem !important;
  font-weight: normal;
  margin-bottom: .75rem;
  padding-top: 1.25rem;
  border-bottom: 1px solid #dee2e6;
  color: #55585B;
  font-style: italic;
  line-height: inherit;
}
legend.form-title {
  font-weight: 600;
  font-style: normal;
  font-variant: small-caps
}
legend.col-form-label {
  font-size: inherit !important;
  color: inherit;
  font-style: normal;
  border-bottom: 0 none;
}

 /* campi annidati sotto i radio */
.form-group-nested {
  margin-bottom: .5rem;
  padding-left: 1.25rem;
}
.form-group-nested input { padding: .25rem .5rem; }

/* mostra password */
.form-password { position: relative; }
.form-password input { padding-right: 1.65rem; }
.psw-show {
  position: absolute;
  top: .25rem;
  left: auto;
  right: 0;
  opacity: .5;
  padding: .5rem;
}
.form-password.row .psw-show {
  right: 15px;
}

/* clear input */
.search-cancel-nobutton::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/* --- SELECT ---- */

.custom-select {
  width: 100%;
  height: auto;
  margin-bottom: .75rem;
  padding-left: .375rem;
  position: relative;
  color: #2a3036;
  font-weight: 600;
  font-size: 1.125rem;
}
.custom-select option { font-weight: normal; }


/* --- PULSANTI --- */

.btn { cursor: pointer; }
.btn.focus, .btn:focus { outline: auto; } /* regola per accessibilità */
.btn-custom {
	/*background-color base*/
	color: #fff !important;
}
.btn-custom-outline {
	border: 1px solid /*border-color base*/;
	background-color: transparent;
}
.btn-custom:focus, .btn-custom:hover { /*background-color rollover*/ }
.btn-custom-outline:focus, .btn-custom-outline:hover { color: #fff !important; }
.btn-light, .btn-light:hover {
  color: inherit;
  border-color: #EAEBEC;
}
.btn-light.dropdown-toggle { background-color: #F4F5F6; }
.btn-light.dropdown-toggle:hover { background-color: #dee2e6; }
.dropdown-toggle-split { min-width: 2rem; }
.btn-group-lg .dropdown-toggle-split { width: 3rem; }

.btn-none {
  color: #c6cace;
  background-color: transparent;
}
.btn:disabled { cursor: default; }

/* overwrite pulsante light */
.btn-outline-light { border-color: #EAEBEC; }
.btn-outline-light:hover {
  background-color: #EAEBEC;
  border-color: #EAEBEC;
}

/* pulsante arancione (carousel-pause) */
.btn-outline-orange {
  color: #FD7E14 !important;
  border-color: #FD7E14;
}
.btn-outline-orange:hover {
  color: #fff !important;
  background-color: #FD7E14;
  border-color: #FD7E14;
}
.btn-outline-orange:not(:disabled):not(.disabled).active, .btn-outline-orange:not(:disabled):not(.disabled):active {
  color: #fff !important;
  background-color: #FD7E14;
  border-color: #FD7E14;
}
.btn-outline-orange.focus, .btn-outline-orange:focus {
  box-shadow: 0 0 0 0.2rem rgba(253,126,20,.5)
}

/* --- DROPDOWN --- */

.dropdown-menu { /* sovrascrivo stili bootstrap */
  min-width: unset;
 /* margin-top: 0; */
  padding-top: 0;
  padding-bottom: 0;
  border: 0 none;
  background-color: #F4F5F6;
  box-shadow: 0 5px 10px 0 rgba(0,0,0,.25);
}
.dropdown-item { 
  /*color base*/
  padding: .5rem 1rem;
  border-bottom: 1px solid #EAEBEC;
}
.dropdown-item.active {
  color: #2a3036 !important;
  background-color: #dee2e6;
}

.dropdown-item:last-child { border-bottom: 0 none; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active:hover, .dropdown-item.active:focus { 
  color: #fff !important;
  /*background-color base*/
}

/* combo scelta galleria o tipologia segnalazioni */
.dropdown-select {
  width: 100%;
  margin-bottom: .5rem;
}
.dropdown-select .dropdown-title { 
  width: calc(100% - 3rem);
  overflow-x: hidden;
  text-align: left;
  cursor: default !important;
}
.dropdown-select .dropdown-title:hover { background-color: #f8f9fa; }
.dropdown-select .dropdown-title:focus { box-shadow: none; }
.dropdown-select .dropdown-menu { 
  width: 100%;
  max-height: 100vh;
  overflow-y: auto;
}
.dropdown-select .dropdown-item { max-width: 100%; overflow-x: hidden; }


/* --- LISTE --- */

/* Unordered list generica */
ul { list-style-type: square; }
ul ul, ol ul, ol ol, ul ol { list-style-type: circle; }

/* Definition list generica */
dl { padding: .75rem; }
dt { margin-bottom: .25rem; }
dd { margin-bottom: 1rem; }

/* lista puntata di link */
ul.chevron-list li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  padding-right: .5rem;
  color: #999;
}

/* --- TREEVIEW --- */

.treeview {
  margin: 0;
  padding: 0;
}
.treeview, .treeview ul { list-style: none; }
.treeview a {
  display: block;
  text-decoration: none;
}
.treeview [aria-expanded] > a::after, .treeview [aria-expanded="true"] > a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
  position: relative;
  right: -1rem;
}
.treeview [aria-expanded] > a:hover::after { color: #2a3036; }
.treeview [aria-expanded] > a::after { content: "\f078"; }
.treeview [aria-expanded="true"] > a::after { content: "\f077"; }
.treeview [aria-hidden="true"] { display: none; }
.treeview li a {
  cursor: pointer;
  margin: 0;
  padding: .375rem .25rem;
}
.treeview > li > a:first-child { font-weight: 600; }

/*.treeview li[tabindex]:focus {
  outline: 2px solid #8E4242 !important;
  background-color: #F4F5F6;
}*/


/* --- TABELLE --- */

caption { 
  caption-side: top;
  color: #55585B;
}
.table40-60 tbody th { width: 40%; }
.table30-70 tbody th { width: 30%; }
.table25-75 tbody th { width: 25%; }
.table20-80 tbody th { width: 20%; }
.table60-40 tbody th { width: 60%; }
.table70-30 thead th:first-of-type { width: 70%; }
.table50-50 tbody th, .td50 { width: 50%; }
.table-sm th { padding-right: .6rem; }
.table-xs td, .table-xs th {
  font-size: .9rem;
  padding: .25rem .15rem;
}
.table-nowrap td, .table-nowrap th, .cell-nowrap { white-space: nowrap; } /* evita che il testo della cella vada a capo */
.cell-break, text-break { word-break: break-all; }/* manda a capo indirizzi web o mail molto lunghe */

@media (min-width: 768px) { /* manda a capo eventuali link lunghi */
  .table-responsive { width: 100%; overflow-x: auto; } /* solo per IE/Edge */
  .table td a, .inner-list-table td a { /*al momento non supportato: */word-wrap: break-word; /* solo Chrome: */word-break: break-word; }
  .td-md-50 { width: 50%; }
}

.sfondochiaro .table td, .sfondochiaro .table th { border-color: #ccc; }

.sfondoscuro .table-dark td, .sfondoscuro .table-dark th, .sfondoscuro .table-dark thead th, .sfondoscuro .btn-dark { border-color: #555e66; }
.sfondoscuro .btn-dark { color: #D4D8DA; }
.sfondoscuro .btn-dark:hover, .sfondoscuro .btn-dark:focus { 
  color: #fff;
  border-color: #778088;
}


/* --- IMMAGINI --- */

.img-thumbnail {
  padding: .2rem;
  transition: border-color .25s, box-shadow .25s;
  object-fit: cover; /* fix per ios */
}
a .img-thumbnail:hover, a .img-thumbnail:focus {
  /*border-color base*/
  /*box-shadow base*/
}
a.fresco { cursor: zoom-in; }
.fr-info { font-size: 1rem !important; }  /* didascalia */

@media (min-width: 576px) {
  /* immagini verticali */
  .vertical-image {
    width: auto;
  }
  .vertical-image img {
    min-width: inherit !important;
    width: auto !important;
  }
}

/* --- Dimensioni immagini --- */
@media (min-width:768px) {
  .image-210 { /* immagine 210px 3:2 - solo >768px (usata in elenchi vivere e rubriche) */
    width: 210px !important;
    height: 140px !important;
  }
  .image-300 { /* immagine 300px 3:2 - solo >768px (usata in elenchi avvisi ed eventi) */
    width: 300px !important;
    height: 200px !important;
  }
}
.image-150 { /* immagine 150px 1:1 - tutte le risoluzioni (usata per foto giunta/consiglio) */
  width: 150px !important;
  max-height: 150px !important;
  overflow: hidden;
}
.image-100 { /* immagine 100px 1:1 - tutte le risoluzioni (usata per entweb) */
  width: 100px !important;
  max-height: 100px !important;
  overflow: hidden;
}
.image-100 img { width: 100%; }


/* --- Dimensioni video --- */

.videocontainer {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
.videoiframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}


/* --- GALLERIA FOTO/VIDEO --- */

#photo-gallery-select, #video-gallery-select {
  margin-bottom: 1rem;
}


/* --- TOOLTIP --- */

.tooltip-inner {
  /*background-color base*/
  border: 1px solid #000;
  color: #fff;
}


/* --- BADGE --- */

.badge { color: inherit; }
.table .badge { font-size: .9rem; }


/* --- IFRAME MAPPA --- */

#inner-map iframe, .detail-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}



/* --- PAGINA RICERCA NEL SITO --- */

/* versione mobile */
#search-form-input { width:calc(100% - 50px); }
#search-form-button { width: 50px; }

#search-result .media { margin-top: 1.5rem; }
h4.search-cat { /* titolo fuori dalla lista */
	font-weight: 400;
  /*background-color base*/
  color: #fff;
	margin-bottom: 1.5rem;
  padding: .1rem .2rem;
}
.media h5 { 
  color: inherit;
}

/* --- RUBRICHE --- */

.image-rubrica, .image-rubrica-par {
  max-width: 360px;
}
@media (min-width: 576px) {
  .image-rubrica {
    max-width: 300px;
    max-height: 360px;
  }
  .image-rubrica-par {
    max-width: 210px;
    max-height: 360px;
  }
}

/* --- COOKIE BAR 2021 --- */

.cookiebar {
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  position: fixed;
  width: 100%;
  z-index: 1100;
  background-color: rgba(42, 48, 54, .9);
  padding: 24px 32px;
  text-align: center;
}
.cookiebar.show {
  display: block;
}
.cookiebar .cookiebar-btn {
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  line-height: 1em;
}
.cookiebar .cookiebar-btn:hover {
  text-decoration: underline;
}
.cookiebar .close {
  top: .5rem;
  right: .75rem;
}

@media (min-width: 768px) {
  .cookiebar {
    padding: 32px 48px;
  }
}

/* --- HERO (Widget Benvenuto/Presentazione) --- */

.it-hero-wrapper {
  min-height: 50vh;
  position: relative;
  display: flex;
  align-items: center;
}
.it-hero-wrapper .img-responsive-wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}
.it-hero-wrapper .img-responsive-wrapper {
  overflow: hidden;
}
.it-hero-wrapper .img-responsive-wrapper .img-responsive {
  position: relative;
  padding-bottom: 56.25%;
  height: 100%;
}
@media (min-width:768px) {
  .it-hero-wrapper .img-responsive-wrapper .img-responsive {
    padding-bottom: 0;
  }
}
.it-hero-wrapper .img-responsive-wrapper .img-responsive .img-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.it-hero-wrapper .img-responsive-wrapper .img-responsive .img-wrapper img {
  width: 100%;
  display: block;
  height: 100%;
  object-fit: cover;
}
.it-hero-wrapper.it-overlay .img-responsive-wrapper:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, .5);
}
.sfondochiaro .it-hero-wrapper.it-overlay .img-responsive-wrapper:after {
  background-color: rgba(234, 235, 236, .5);
}
.sfondoscuro .it-hero-wrapper.it-overlay .img-responsive-wrapper:after {
  background-color: rgba(42, 48, 54, .5);
}


/* ================================================================================
   TURWEB 2022
	 (c) 2022 ePublic Srl - www.epublic.it
   ================================================================================ */

/* Default - Extra small devices (< 576px) */
/* SM - Small devices (576px - 767px) */
/* MD - Medium devices (768px - 991px) */
/* LG - Large devices (992px - 1199px) */
/* XL - Extra Large devices (> 1200px) */

/* Fonts: Thin 300 / Normal 400 + italic / Semibold 600 / Bold 700 */


/* -------------------------------------------------------------------------
		STILI GENERICI
   ------------------------------------------------------------------------- */

html { /* smooth scroller */
  scroll-behavior: smooth;
}
body {
  /*font-family: Roboto;
  font-weight: 300;*/
  color: #212529;
}
iframe {
  border: 0;
}

.border-white-50 {
  border-color: rgba(255, 255, 255, .5) !important;
}
.border-white-25 {
  border-color: rgba(255, 255, 255, .25) !important;
}
a.text-light:focus, a.text-light:hover {
  color: #fff;
}
#navbarNav a[target=_blank]::after,
#mainContent a[target=_blank]::after,
#sidebar a[target=_blank]::after,
.widget-nav a[target=_blank] h4::after {
  font-family: "Font Awesome 5 Free";
  font-size: 75%;
  font-weight: 900;
  content: " \f35d";
  opacity: .625;
  padding-left: .25rem;
  vertical-align: .05rem;
}
.widget-nav a[target=_blank]::after {
  display: none;
}

/* --- Focus da tastiera --- */
a:focus img#navbarLogo, .carousel-caption-img img {
  outline: 0 none;
}

/* ---  FONT CUSTOM --- */

.font-custom {
  /* da definire da PDC */
}
.navbar h1.font-custom {
  font-size: 1.5rem;
}
@media (min-width: 768px) {       
  .navbar h1.font-custom {
    font-size: 1.75rem;
  }
  .navbar-custom h1.font-custom {
    font-size: 2rem;
  }
}
.h1.font-custom {
  /* definire se diverso da dimensione standard */
}
@media (min-width: 768px) {
  .h1.font-custom {
    font-size: 4rem;
  }
}

/* --- TITOLI --- */

h3 { font-size: 1.5rem }
h4 { font-size: 1.375rem }
h5 { font-size: 1.25rem }

/* ---  LINK E PULSANTI --- */

.btn { letter-spacing: .5px; }
.btn-color-1,
.detail-nav .nav-link.active,
.btn-outline-color-1:hover, .btn-outline-color-1[aria-expanded="true"],
.badge-color-1 {
  /*background-color-1*/
  color: #fff;
}
.btn-color-1:hover,
.badge-color-1:hover, .badge-color-1.focus, .badge-color-1:focus {
  /*background-color-2*/
  color: #fff;
}
.btn-outline-color-1 {
  background-color: transparent;
  /*color-1*/
  /*border-color-1*/
}
/*
@keyframes ChevronSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(180deg);
  }
}*/
.btn[data-toggle="collapse"]::after, a[data-toggle="collapse"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078";
  margin-left: .5rem;
  transition: transform .5s ease-in-out;
}
a[data-toggle="collapse"]::after {
  float: right;
}
.btn[data-toggle="collapse"][aria-expanded="true"]::after, a[data-toggle="collapse"][aria-expanded="true"]::after {
  display: inline-block;
  transform: rotate(-180deg);
}
.btn[data-toggle="collapse"][aria-expanded="false"]::after, a[data-toggle="collapse"][aria-expanded="false"]::after {
  display: inline-block;
  transform: rotate(0deg);
}
.btn:hover .text-color-1-50,
.btn[aria-expanded="true"] .text-color-1-50 {
  color: rgba(255, 255, 255, .5);
}
.collapsing {
  transition-duration: .5s;
}
.anchor-offset {
  position: absolute;
  top: -2.5rem;
}
/*
.underline:hover {
  outline: 2px solid transparent;
  outline-offset: 1px;
  transition: 0s;
}
*/

/* --- ELENCHI --- */
dl {
  padding-top: 0;
}

/* --- VARIABILI --- */
:root {
  --navbar-height: calc(4rem + 3px);
}


/* -------------------------------------------------------------------------
		HEADER
   ------------------------------------------------------------------------- */

header {
  max-height: 100vh;
}

/* ---  NAVBAR --- */

.navbar {
  transition: .5s ease-in-out;
  height: var(--navbar-height);
  padding: .5rem;
  line-height: 0;
}
.navbar.shrink {
  height: calc(var(--navbar-height) - 1.5rem);
}
.navbar-custom.shrink {
  height: calc(var(--navbar-height) - 2rem);
}

.navbar-standard {
  /*background-color: rgba(0, 0, 0, .3);*/
  background-image: linear-gradient(rgba(0, 0, 0, .8), rgba(0, 0, 0, 0));
  border-bottom: 2px solid none;
}
.navbar-standard.open {
  /*background-color: rgba(76, 84, 0, .5);*/
  background-color: rgba(0, 0, 0, .8);
}
.navbar-standard.shrink {
  background-color: rgba(0, 0, 0, .8);
}
@media (max-width: 767.98px) {
  .inner-page .navbar-standard {
    background-color: rgba(0, 0, 0, .8)
  }
}

#headerSvg {
  position: fixed;
  top: var(--navbar-height);
  left: 0;
  width: 100%;
  filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .6));
  transition: .5s ease-in-out;
  z-index: -1;
}
.navbar.shrink #headerSvg {
  top: calc(var(--navbar-height) - (var(--navbar-height) * 2));
  filter: none;
}

#navbarNav, #navbarLang {
  line-height: initial /* ripristino line-height */
}

/* - TITOLO - */

.navbar #navbarTitle:hover, .navbar #navbarTitle:focus {
  text-decoration: none;
}
.navbar h1 {
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
  color: #fff;
  font-weight: normal;
  transition: font-size .5s ease-in-out;
}
.navbar.shrink h1 {
  font-size: 1rem;
}

/* - LOGO - */

.navbar #navbarLogo {
  /*width: 2.5rem;*/
  height: 2.5rem;
  transition: .5s ease-in-out;
}
.navbar.shrink #navbarLogo {
  /*width: 1.5rem;*/
  height: 1.5rem;
}


/* - OFF-CANVAS - */

@media (max-width: 991.98px) {
  .navbar .offcanvas-collapse {
    position: fixed;
    top: var(--navbar-height);
    bottom: 0;
    left: 100%;
    width: 100%;
    padding: 1rem;
    overflow-y: auto;
    visibility: hidden;
    background-color: rgba(0, 0, 0, .8);
    transition: transform .5s ease-in-out, visibility .5s ease-in-out, top .5s ease-in-out;
    z-index: -2;
  }
  .navbar .offcanvas-collapse.open {
    visibility: visible;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  .navbar.shrink .offcanvas-collapse {
    top: calc(var(--navbar-height) - 1.5rem);
  }
  .navbar-custom.shrink .offcanvas-collapse {
    top: calc(var(--navbar-height) - 2rem);
  }
}

/* - MENU MOBILE - */

.navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.6%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3' d='M4 7h22M4 15h22M4 23h22' /%3e%3c/svg%3e")
}
.navbar .navbar-toggler.active .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='40' width='40' viewBox='0 0 30 30'%3e%3cline x1='5' y1='6' x2='25' y2='23' style='stroke:rgba(255,255,255, .6);stroke-width:3;stroke-linecap:round' /%3E%3Cline x1='5' y1='23' x2='25' y2='6' style='stroke:rgba(255,255,255,.6);stroke-width:3;stroke-linecap:round' /%3e%3c/svg%3e")
}
.navbar .navbar-toggler-icon {
  transition: .5s ease-in-out;
  width: 2.5rem;
  height: 2.5rem;
}
.navbar.shrink .navbar-toggler-icon {
  width: 1.5rem;
  height: 1.5rem;
}
.navbar .nav-link {
  color: rgba(255, 255, 255, .75);
}
.navbar a:hover, .navbar a:focus,
.navbar .nav-link[aria-expanded="true"] {
  color: rgba(255, 255, 255, 1);
  text-shadow: 0 0 5px rgba(255, 255, 255, .5);
}
.navbar .nav-link {
  text-transform: uppercase;
  font-size: 1.5rem;
  transition: .5s ease-in-out;
  text-shadow: 0 0 5px rgba(0, 0, 0, .5);
}
@media (min-width: 992px) {
  .navbar-standard .nav-link {
    font-size: 1.25rem;
  }
}
@media (max-width: 991.98px) {
  .navbar .navbar-nav {
    width: 80%;
  }
}

/* - Megamenu - */

.navbar .navbar-nav .dropdown .dropdown-toggle::after {
  transition: border .25s ease-in-out, vertical-align .25s ease-in-out;
}
.navbar .navbar-nav .dropdown-toggle::after {
  border-top-width: .5rem;
  border-right-width: .5rem;
  border-left-width: .5rem;
  vertical-align: .355rem;
}
.navbar .navbar-nav .dropdown.show .dropdown-toggle::after {
  border-top: 0;
  border-bottom: .5rem solid;
  vertical-align: 0;
  transition: border .25s ease-in-out, vertical-align .25s ease-in-out;
}
@media (min-width: 992px) {
  .navbar.shrink .navbar-nav .dropdown-toggle::after {
    border-top-width: .3rem;
    border-right-width: .3rem;
    border-left-width: .3rem;
  }
  .navbar.shrink .navbar-nav .dropdown.show .dropdown-toggle::after {
    border-bottom: .3rem solid;
  }
}
/*
.navbar .dropdown-menu:before {
  display: none;
}
*/

/* - Sottomenu - */

.navbar-nav .dropdown-menu {
  transition: .5s ease-in-out;
  max-height: 0;
  display: block;
  overflow: hidden;
  opacity: 0;
  background-color: transparent;
  box-shadow: none;
  visibility: hidden;
}
.navbar-nav .dropdown-menu.show {
  max-height: 100vh;
  opacity: 1;
  visibility: visible;
}
.navbar-nav .dropdown-menu .link-list-wrapper {
  margin-bottom: 1rem;
}
.navbar-nav .dropdown-menu .link-list {
  list-style: none;
  padding: 0;
}
.navbar-nav .dropdown-menu .link-list li {
  padding: .25rem 0 .25rem .5rem;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
  /*border-left: .25rem solid transparent;*/
}
.navbar-nav .dropdown-menu .link-list li:hover, .navbar-nav .dropdown-menu .link-list li:focus {
  /*border-left-color: #9f6;*/
}


/* titolo sezione */
.navbar-nav .dropdown-menu .link-list-header {
  padding: .5rem .75rem;
  border-bottom: 1px solid rgba(255, 255, 255, .4);
}
.navbar-nav .dropdown-menu .dropdown-header {
  font-size: 1rem;
  text-transform: uppercase;
  color: #c6cace;
  padding-left: 0;
  padding-bottom: .25rem;
}

/* link sezione */
.navbar-nav .dropdown-menu .list-item {
  display: block;
  font-size: 1.125rem;
}
.navbar-nav .dropdown-menu .list-item:hover {
  color: #fff;
  text-shadow: 0 0 2px rgba(255, 255, 255, .5);
}

.nav-item.megamenu > a:before {
  display: none;
}

/* - Ricerca - */

.navbar #navbarSearch .form-control {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .75)
}
.navbar #navbarSearch .btn {
  background-color: rgba(255, 255, 255, .75);
}
.navbar #navbarSearch .btn:hover {
  background-color: rgba(255, 255, 255, .9);
}
.navbar .form-control:focus {
  border-color: rgba(255, 255, 255, 1);
  background-color: rgba(0, 0, 0, .5) !important;
  box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}
.navbar .btn.focus, .navbar .btn:focus {
  background-color: rgba(255, 255, 255, .9) !important;
  box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}
.navbar .form-control::placeholder {
  color: rgba(255, 255, 255, .75);
}

/* - Lingue - */

#navbarLang .dropdown-toggle {
  background-color: rgba(255, 255, 255, .75)
}
#navbarLang .dropdown-menu {
  background-color: rgba(255, 255, 255, .75);
  box-shadow: unset;
  top: calc(100% - 2px);
  width: 100%
}
#navbarLang .dropdown-item {
  border-bottom: 0;
}
#navbarLang .dropdown-item:focus {
  background-color: inherit;
}
#navbarLang .dropdown-item.active, #navbarLang .dropdown-item:active {
  background-color: rgba(255, 255, 255, .9)
}
@media (max-width: 991.98px) {
  #navbarLang {
    position: absolute;
    top: .5rem;
    right: 15px;
  }
  #navbarLang .dropdown-item {
    color: #212529 !important;
  }
}
@media (min-width: 767.98px) and (max-width: 991.98px) {
  .navbar-custom #navbarLang {
    top: 2rem;
  }
  .navbar-custom .navbar-nav {
    margin-top: 2rem;
  }
}


/* - MENU DESKTOP (> 992px) - */

@media (min-width: 992px) {
  .navbar {
    padding: .5rem 1rem;
  }
  .navbar .nav-link[aria-expanded="true"] {
    /*background-image: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .4));*/
  }
  .navbar.shrink {
    height: calc(2.5rem + 3px);
  }
  .navbar.shrink .nav-link {
    font-size: 1rem;
  }
  .navbar.shrink .nav-link[aria-expanded="true"] {
    background-color: rgba(0, 0, 0, 1);
  }
  .navbar.shrink h1 {
    font-size: 1rem;
  }
  /* - Megamenu - */
  .navbar-nav .dropdown-menu {
    position: absolute;
    top: calc(100%);
    left: 0 !important;
    right: 0 !important;
    z-index: 1000;
    /*float: left;*/
    min-width: 100vh;
    margin: 0;
    padding: 0;
    border-top: 2px solid rgba(255, 255, 255, .5);
    font-size: 1rem;
    color: #19191a;
    text-align: left;
    background-color: rgba(0, 0, 0, .8);
  }
  .navbar-nav .dropdown-menu.show {
    padding: 1rem 2rem;
  }
  .nav-item.megamenu {
    position: static;
  }
  .nav-item.megamenu > a.dropdown-toggle {
    position: relative;
  }

  /* - Sottomenu - */

  .navbar-nav .dropdown-menu .link-list li {
    padding: .5rem .75rem;
    border-left: 0;
  }
  /* titolo sezione */
  .navbar-nav .dropdown-menu .dropdown-header {
    padding-bottom: 0;
  }
  .navbar-nav .dropdown-menu .list-item {
    font-size: inherit;
  }

  /* - Ricerca/Lingue - */

  .navbar .btn.focus, .navbar .btn:focus {
    background-color: rgba(0, 0, 0, .6) !important;
    box-shadow: none;
  }
  #navbarSearchDesktop .btn[type=submit].focus, #navbarSearchDesktop .btn[type=submit]:focus {
    background-color: rgba(255, 255, 255, .9) !important;
    box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
  }
  #navbarSearchDesktop .dropdown-toggle, #navbarLang .dropdown-toggle {
    background-color: transparent;
    color: rgba(255, 255, 255, .75);
    border-left: 1px solid rgba(255, 255, 255, .5);
    transition: .5s ease-in-out;
  }
  #navbarSearchDesktop .dropdown-toggle:hover, #navbarLang .dropdown-toggle:hover {
    color: rgba(255, 255, 255, 1);
  }
  #navbarSearchDesktop .dropdown-toggle[aria-expanded="true"], #navbarLang .dropdown-toggle[aria-expanded="true"] {
    background-color: rgba(0, 0, 0, .6) !important;
    color: rgba(255, 255, 255, 1);
  }
  #navbarSearchDesktop .dropdown-menu, #navbarLang .dropdown-menu {
    background-color: rgba(0, 0, 0, .8);
    box-shadow: unset;
    top: calc(100% - 2px);
    /* border-top: 2px solid #fff; */
  }

@keyframes DropdownSlideIn {
  from {
    transform: translateY(-.5rem);
    opacity: 0;
  }
  to {
    transform: translateY(0rem);
    opacity: 1;
  }
}
  .dropdown-animate, .dropdown-animate {
    animation: DropdownSlideIn .5s ease-in-out;
  }

  #navbarLang .dropdown-menu {
    width: calc(100% - 1px);
  }
  .navbar.shrink #navbarSearchDesktop .dropdown-menu, .navbar.shrink #navbarLang .dropdown-menu {
    background-color: rgba(0, 0, 0, .8);
    top: 100%;
  }
  #navbarSearchDesktop .dropdown-item, #navbarLang .dropdown-item {
    border-bottom: 0;
  }
  #navbarSearchDesktop .dropdown-item:hover, #navbarLang .dropdown-item:hover {
    background-color: transparent;
    text-decoration: underline;
  }
  #navbarSearchDesktop .dropdown-item.active, #navbarSearchDesktop .dropdown-item:active, #navbarLang .dropdown-item.active, #navbarLang .dropdown-item:active {
    background-color: transparent;
  }
} /* /@media */


/* ---  CAROUSEL --- */

.carousel-bg {
  width: 100%;
  height: 100svh;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover !important;
}

#headerCarousel.carousel-fade .active.carousel-item-left,
#headerCarousel.carousel-fade .active.carousel-item-right {
  transition: 0s 1.5s opacity; /* durata transizione carousel */
}

@keyframes captionFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Carousel caption */

header .carousel-caption {
  left: 10%;
  right: 10%;
  bottom: calc(10% + env(safe-area-inset-bottom) + env(safe-area-inset-top));
  padding: 5%;
  animation: captionFade 1.5s cubic-bezier(.33,.65,.49,.89);
}
@media (min-width: 768px) {
  header .carousel-caption {
    top: auto;
    bottom: 60px;
  }
}
header .carousel-caption.caption-left {
  left: 5%;
  right: auto;
  text-align: left;
}
.carousel-bg .carousel-caption {
  background-color: rgba(0, 0, 0, .25);
  animation: captionFadeTranslation 1.5s cubic-bezier(.33,.65,.49,.89);
}
.inner-page .carousel-bg .carousel-caption {
  left: 5%;
  right: 5%;
  bottom: 5%;
  animation: captionFadeInner 1.5s cubic-bezier(.33,.65,.49,.89);
}

@media (min-width: 768px) {
  .carousel-bg .carousel-caption {
    background-color: rgba(0, 0, 0, 0);
  }
  .inner-page .carousel-bg {
    height: 30vh;
    background-position-y: -10vh;
  }
}
@media (min-width: 992px) {
  @keyframes captionFade {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  @keyframes captionFadeTranslation {
    from { opacity: 0; bottom: 10%; }
    to { opacity: 1; bottom: 25%; }
  }
    @keyframes captionFadeInner {
    from { opacity: 0; bottom: 10%; }
    to { opacity: 1; bottom: 0; }
  }
  .inner-page .carousel-bg {
    height: 50vh;
    background-position-y: -15vh;
  }
  .carousel-bg .carousel-caption {
    bottom: 25%;
    padding: 2.5%;
  }
  .inner-page .carousel-bg .carousel-caption {
    bottom: 0;
  }
}
header .carousel-caption a {
  color: #fff;
  cursor: pointer;
}
header .carousel-caption a:hover {
  text-decoration: none;
}
header .carousel-caption-img, header .carousel-caption-title {
  text-shadow: 0 1px 5px rgba(0, 0, 0, .75);
}
.inner-page header .carousel-caption-title {
  margin-bottom: 0;
}
header .carousel-caption-text,
header .carousel-caption-suptitle {
  font-weight: normal;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .75);
}
header .carousel-caption-img,
header .carousel-caption-title,
header .carousel-caption-text,
header .carousel-caption-suptitle,
header .carousel-caption-btn {
  transition: .25s filter ease, .25s transform ease;
}
header .carousel-caption a:hover .carousel-caption-img,
header .carousel-caption a:hover .carousel-caption-title {
  filter: drop-shadow(0 1px 10px rgba(0, 0, 0, .9));
  transform: scale(105%)
}
header .carousel-caption a:hover .carousel-caption-text,
header .carousel-caption a:hover .carousel-caption-suptitle,
header .carousel-caption a:hover .carousel-caption-btn {
  filter: drop-shadow(0 1px 8px rgba(0, 0, 0, .9));
  transform: scale(105%)
}
header .carousel-caption-btn span {
  display: inline-block;
  background-color: #fff;
  padding: .5rem 1rem;
  transition: background-color .5s ease;
}
header .carousel-caption a:hover .carousel-caption-btn span {
  color: #fff;
}
@media (max-height: 576px) { /* smartphone in landscape */
  header .carousel-caption {
    bottom: 0;
  }
  header .carousel-caption-title {
    font-size: 2.5rem !important
  }
  header .carousel-caption-suptitle {
    font-size: 1.5rem !important
  }
  header .carousel-caption-text {
    font-size: 1.5rem !important
  }
}

/* Controlli scroller */

#headerCarousel .carousel-control-next, #headerCarousel .carousel-control-prev {
  width: 10%;
}
#headerCarousel .carousel-control-next-icon, #headerCarousel .carousel-control-prev-icon {
  width: 1.5rem;
  height: 1.5rem;
}
@media (min-width: 992px) {
  #headerCarousel .carousel-control-next-icon, #headerCarousel .carousel-control-prev-icon {
    width: 2rem;
    height: 2rem;
  }
}

/* Comandi play/pause */

#headerCarousel .carousel-commands {
  position: absolute;
  top: calc(var(--navbar-height) + .5rem);
  right: .5rem;
  z-index: 1001;
}
#headerCarousel.header-custom .carousel-commands {
  top: auto;
  bottom: 1rem;
  right: 1rem;
}
@media (min-width: 992px) {
  #headerCarousel .carousel-commands {
    position: sticky;
    top: calc(var(--navbar-height) + 1rem);
    text-align: right;
    margin-top: -30px;
    padding-right: 1rem;
  }
  #headerCarousel.header-custom .carousel-commands {
    position: absolute;
    top: auto;
    bottom: 1rem;
    right: 0;
    z-index: 1031;
  }
}
.carousel-play, .carousel-pause {
  background-color: transparent;
  width: 30px;
  padding-left: 0;
  padding-right: 0;
  border: 0 none;
  text-align: center;
  font-size: 1.25rem;
  transition: .25s;
}

#headerCarousel .carousel-play, #headerCarousel .carousel-pause {
  color: rgba(255, 255, 255, .6);
}
#headerCarousel .carousel-commands .btn.active, #videoControls .btn:hover, #videoControls .btn:focus {
  color: rgba(255, 255, 255, 1);
  box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .5);
}
#headerCarousel .carousel-commands .btn:not(.active):hover, #videoControls .btn {
  color: rgba(255, 255, 255, .8);
  box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}
#headerCarousel .carousel-commands .btn:focus, #headerCarousel .carousel-commands .btn.focus {
}

/* --- HEADER VIDEO --- */

#headerVideo.header-custom::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: var(--navbar-height);
}

#headerVideo .embed-responsive {
  height: 100svh;
}

#headerVideo #videoContainer video {
  object-fit: cover;
  object-position: center;
}
#headerVideo.header-standard #videoContainer video {
  height: 100%;
}
#headerVideo.header-custom #videoContainer video {
  top: var(--navbar-height);
  height: calc(100svh - var(--navbar-height));
}

#videoControls {
  position: absolute;
  width: 100%;
  bottom: calc(.5rem + env(safe-area-inset-bottom) + env(safe-area-inset-top));
  padding-right: .5rem;
  text-align: right;
  z-index: 1;
}
@media (min-width: 992px) {
  #videoControls {
    bottom: 1.5rem;
    padding-right: 1.5rem;
  }
}


/* --- SCROLL DOWN/UP  --- */

.btn-scroll {
  font-size: 30px;
  width: 40px;
  height: 40px;
  z-index: 999;
  color: #fff;
  background-color: rgba(0, 0, 0, .15);
  visibility: hidden;
  transition: opacity .5s ease-out, background-color .25s ease-in-out;
}
.btn-scroll.show {
	visibility: visible;
}
.btn-scroll:hover {
  color: #fff;
  opacity: 1;
  background-color: rgba(0, 0, 0, .5);
}
@media (min-width: 992px) {
	.btn-scroll {
		font-size: 40px;
		width: 60px;
		height: 60px;
	}
}
#scrollTop {
  position: fixed;
  left: auto;
  right: 2.5%;
  bottom: 2.5%;
}
#scrollDown {
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-left: -25px;
  background-color: transparent;
}
.btn-scroll-icon {
  position: absolute;
  top: calc(20px - 15px);
  left: calc(20px - 13.125px);
  opacity: .75;
  transition: opacity .25s ease-in-out;
}
.btn-scroll:hover .btn-scroll-icon {
  opacity: 1;
}
#scrollDown .btn-scroll-icon {
  animation: scrollDown 1.5s infinite;
}
@media (min-width: 992px) {
  .btn-scroll-icon {
    top: calc(30px - 20px);
    left: calc(30px - 17.5px);
  }
  #scrollTop {
    right: 5%;
    bottom: 5%;
  }
}
@keyframes scrollDown {
  from { top: -10px; opacity: 0; }
  to { top: 15px; opacity: 1; }
}
.inner-page #scrollDown {
  top: 40vh;
}


/* --- EXTRA MENU (scelta stagione) --- */
/* !!! attualmente non usato !!! */

#headerExtra {
  position: absolute;
  top: calc((4rem + 3px) + .5rem);
  left: 0;
  z-index: 1001;
  background-color: rgba(0, 0, 0, .3);
}
#headerExtra .btn {
  height: calc(2.5rem *  1.55);
  transition: .25s linear;
  padding-top: 0;
  padding-bottom: 0;
}
#headerExtra .btn span {
  font-size: 1.75rem;
  transition: .5s ease-in-out;
}
#headerExtra .btn.active span, #headerExtra .btn:hover span {
  font-size: 2.5rem;
}
@media (min-width: 768px) {
  #headerExtra {
    background-color: rgba(0, 0, 0, 0);
  }
  #headerExtra .btn span {
    font-size: 2rem;
  }
  #headerExtra .btn.active span, #headerExtra .btn:hover span {
    font-size: 3rem;
  }
}


/* -------------------------------------------------------------------------
		BREADCRUMBS
   ------------------------------------------------------------------------- */

#briciole {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #DEE2E6;
}
@media (max-width:767.98px) {
  #briciole {
    margin-top: var(--navbar-height);
  }
}
.breadcrumb {
  background-color: #fff;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

.breadcrumb-item a {
  /*color-1*/
}
.breadcrumb-item + .breadcrumb-item::before {
  font-family: 'Font Awesome 5 Free';
  content: "\f105";
  font-size: 125%;
  font-weight: 900;
  line-height: 1.25;
}


/* -------------------------------------------------------------------------
		MAIN
   ------------------------------------------------------------------------- */

.section-row {
  padding: 3rem 0 2rem;
  border-bottom: 1px solid #EAEBEC;
}
.section-row.text-light, .section-row.sidebar-wrapper {
  border-bottom: 0 none;
}
.inner-page .section-row:first-of-type {
  padding-top: 2rem;
}
@media (min-width: 992px) {
  .inner-page .section-row:last-of-type {
    border-bottom: 0 none;
  }
}
.section-title {
  text-transform: uppercase;
  /*color-1*/
  font-size: 2rem;
  margin-bottom: 2rem;
}
.section-goto {
  text-align: center;
  text-transform: uppercase;
  padding: 0;
  margin-top: 1.5rem;
}

/* ---  COLORI TESTO --- */

.text-dark .card-date, .text-dark .card-text {
  color: #444c54;
  transition: color .25s;
}
.text-dark a:hover .card-date, .text-dark a:hover .card-text {
  color: initial;
}
.text-light a:not(.btn) {
  color: #f8f9fa;
}
.text-light a:not(.btn):hover {
  color: #fff;
}

/* Animazione sottolineatura link */

.underline-fade a, a.card-wrapper, .headline-item-body a {
  text-decoration-color: transparent;
  transition: color .25s ease-in-out, text-decoration-color .25s ease-in-out !important;
}
.underline-fade a, a.card-wrapper:hover, .headline-item-body a:hover {
  text-decoration-color: inherit;
}

.emphasis {
  border-left: .5rem solid transparent;
  padding: .5rem .5rem .5rem 1rem;
}


/* -------------------------------------------------------------------------
		HOME PAGE
   ------------------------------------------------------------------------- */

/* --- HERO (Welcome) --- */

/*.it-hero-wrapper {
  max-height: 540px;
}*/
.it-hero-wrapper.it-overlay .img-responsive-wrapper:after {
  background-color: rgba(255, 255, 255, .8);
}
.sfondochiaro .it-hero-wrapper.it-overlay .img-responsive-wrapper:after {
  background-color: rgba(234, 235, 236, .8);
}
.sfondoscuro .it-hero-wrapper.it-overlay .img-responsive-wrapper:after {
  background-color: rgba(42, 48, 54, .8);
}

.it-hero-wrapper .card {
  padding: 3rem calc(10% - 15px);
  background-color: transparent;
  position: relative;
}
@media (min-width: 992px) {
  .it-hero-wrapper .card {
    padding-left: 0;
    padding-right: 0;
  }
}


/* --- IN PRIMO PIANO --- */

/* Elemento */

.headline-item-image figure {
  border: 0;
  max-height: 240px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .headline-item {
    height: 300px;
  }
  .headline-item-image figure {
    max-height: 280px;
  }
}
@media (min-width: 992px) {
  .headline-item {
    height: 360px;
  }
  .headline-item-image figure {
    max-height: 340px;
  }
}
.headline-item-image img {
  width: 100%;
}
.headline-item-body .headline-item-cat {
  font-size: 90%;
}
.headline-item-body .home-news-date,
.headline-item-body .home-event-date {
  font-size: 1.25rem;
  font-weight: 300;
}
.headline-item-body .headline-item-text {
  font-size: 1.125rem;
  color: #444c54;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  transition: 0.6s 0s opacity; /* modifico default bootstrap */
}

/* Navigazione */

.headline-nav {
  margin-top: .5rem;
  border-top: 0;
  border-bottom: 0;

}
@media (min-width: 768px) { 
  .headline-nav {
    background-color: transparent;
  }
}
.headline-nav-link a {
  padding: .5rem .75rem;
  display: block;
  width: 100%;
  opacity: .8;
  font-size: 1.125rem;
  transition: opacity .25s ease
}
@media (min-width: 768px) {
  .headline-nav-link a {
    
  }
}
.headline-nav-link a:hover, .headline-nav-link a:focus {
  opacity: 1;
  text-decoration: none;
}
.headline-nav-link a .ico {
  font-size: 1.5rem;
  opacity: .5;
  transition: opacity .25s ease
}
.headline-nav-link a:hover .ico {
  opacity: 1;
}

/* Comandi play/pause */

.headline-nav .carousel-play {
  color: #28A745 !important;
  opacity: .5;
}
.headline-nav .carousel-pause {
  color: #FD7E14 !important;
  opacity: .5;
}
.headline-nav .carousel-play:hover, .headline-nav .carousel-play:focus {
  box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25);
  opacity: .75;
}
.headline-nav .carousel-play.active {
  box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5);
  opacity: 1;
}
.headline-nav .carousel-pause:hover, .headline-nav .carousel-pause:focus {
  box-shadow: 0 0 0 .2rem rgba(253, 126, 20, .25);
  opacity: .75;
}
.headline-nav .carousel-pause.active {
  box-shadow: 0 0 0 .2rem rgba(253, 126, 20, .5);
  opacity: 1;
}


/* Indicatori */

#headlineCarousel .carousel-indicators {
  bottom: calc(-23px - (1.125rem * 1.55))
}
#headlineCarousel .carousel-indicators-desktop {
  bottom: calc(-23px - (1.125rem * 1.55) - 1rem - 2rem)
}
.text-light .carousel-indicators li {
  background-color: #f8f9fa;
}
.carousel-indicators li {
  opacity: .3;
}
.carousel-indicators li:not(.active):hover {
  opacity: .6;
}


/* --- CAROUSEL EVENTI/NEWS --- */

.card-carousel {
  width: 80%;
  max-height: 100vh;
  padding-bottom: 1.5rem;
}
.card-carousel .carousel-inner .carousel-item {
  transition-timing-function: ease-in-out;
}
@media (max-width: 767.98px) {
  .card-carousel .section-title {
    margin-left: -15px;
    margin-right: -15px;
  }
  .card-carousel .carousel-inner .carousel-item > div {
    display: none;
    padding: 0;
  }
}
.card-carousel .carousel-inner .carousel-item.active,
.card-carousel .carousel-inner .carousel-item-next,
.card-carousel .carousel-inner .carousel-item-prev {
  display: flex;
}
.card-carousel .carousel-inner .carousel-item-next,
.card-carousel .carousel-inner .carousel-item-prev {
  z-index: 1; /* l'elemento che scorre rimane sempre in primo piano */
}
.card-carousel .carousel-inner .carousel-item.active {
  transform: translateX(0); /* previene effetto doppia animazione */
}
@media (max-width: 767.98px) {
  .card-carousel .carousel-inner .carousel-item > div:first-child {
    display: flex;
    flex-direction: column;
  }
  .card-carousel .carousel-control-prev, .card-carousel .carousel-control-next {
    font-size: 1.5rem;
    align-items: unset;
    padding-top: 85px;
  }
}
.card-carousel .carousel-control-prev {
  left: -10%;
  justify-content: flex-start;
}
.card-carousel .carousel-control-next {
  right: -10%;
  justify-content: flex-end;
}
.card-carousel .carousel-indicators {
  bottom: calc(-23px - 1rem);
  margin: 0;
}

@media (min-width: 768px) {
  .card-carousel .carousel-inner .carousel-item-right.active,
  .card-carousel .carousel-inner .carousel-item-next,
  .card-carousel .carousel-inner .carousel-item-left.active,
  .card-carousel .carousel-inner .carousel-item-prev {
    transition-timing-function: ease-in-out;
  }
  .card-carousel-3 .carousel-inner .carousel-item-right.active,
  .card-carousel-3 .carousel-inner .carousel-item-next {
    transform: translateX(50%);
  }
  .card-carousel-3 .carousel-inner .carousel-item-left.active,
  .card-carousel-3 .carousel-inner .carousel-item-prev {
    transform: translateX(-50%);
  }
  .card-carousel-4 .carousel-inner .carousel-item-right.active,
  .card-carousel-4 .carousel-inner .carousel-item-next {
    transform: translateX(33.333333%);
  }
  .card-carousel-4 .carousel-inner .carousel-item-left.active,
  .card-carousel-4 .carousel-inner .carousel-item-prev {
    transform: translateX(-33.333333%);
  }
  .card-carousel .carousel-control-prev, .card-carousel .carousel-control-next {
    font-size: 2rem;
    justify-content: center;
  }
}
@media (min-width: 992px) {
  .card-carousel-3 .carousel-inner .carousel-item-right.active,
  .card-carousel-3 .carousel-inner .carousel-item-next {
    transform: translateX(33.333333%);
  }
  .card-carousel-3 .carousel-inner .carousel-item-left.active,
  .card-carousel-3 .carousel-inner .carousel-item-prev {
    transform: translateX(-33.333333%);
  }
  .card-carousel-4 .carousel-inner .carousel-item-right.active,
  .card-carousel-4 .carousel-inner .carousel-item-next {
    transform: translateX(25%);
  }
  .card-carousel-4 .carousel-inner .carousel-item-left.active,
  .card-carousel-4 .carousel-inner .carousel-item-prev {
    transform: translateX(-25%);
  }
}
.card-carousel .carousel-inner .carousel-item-right,
.card-carousel .carousel-inner .carousel-item-left {
  transform: translateX(0);
}

.text-light .card {
  background-color: transparent;
}
.card-carousel .card-body {
  padding: 1rem .5rem 0;
  /*min-height: calc(1rem + ((1rem * 1.55) + .5rem) + ((1.375rem * 3) * 1.2) + .75rem); /* altezza data + 3 righe di titolo */
}
.card-carousel .card-date {
  font-weight: 600;
  margin-bottom: .5rem;
}
.card-carousel .card-title {
  font-size: 1.375rem;
  font-weight: 700;
}
.card-carousel .card-text, .widget .card-text {
  font-size: .9rem;
}
.sfondochiaro .card-carousel .card {
  background-color: #eaebec;
}


/* - Carousel-4 - */

.card-carousel.card-carousel-4 .card-body {
  padding: .75rem .25rem 0;
}
.card-carousel.card-carousel-4 .card-title {
  font-size: 1.25rem;
}

.btn-goto {
  display: inline-flex;
  align-items: center;
}


/* --- CALENDARIO EVENTI --- */

.text-light .btn-prev, .text-light .btn-next {
  color: #fff;
}
#eventCalendar {
  text-align: center;
}
#eventCalendar h3 {
  font-size: 1.5rem;
}
#eventCalendar th, #eventCalendar td {
  padding: .125rem;
  vertical-align: middle;
}
#eventCalendarMonth .btn-prev:hover, #eventCalendarMonth .btn-next:hover,
#eventCalendarMonth .btn-prev:focus, #eventCalendarMonth .btn-prev:focus,
#eventCalendarMonth .btn-next:focus, #eventCalendarMonth .btn-next:focus {
  background-color: rgba(255, 255, 255, .9);
}
.text-dark #eventCalendarMonth .btn-prev:hover, .text-dark #eventCalendarMonth .btn-next:hover,
.text-dark #eventCalendarMonth .btn-prev:focus, .text-dark #eventCalendarMonth .btn-prev:focus,
.text-dark #eventCalendarMonth .btn-next:focus, .text-dark #eventCalendarMonth .btn-next:focus {
  background-color: rgba(0, 0, 0, .1);
}
#eventCalendarMonth .btn-prev:focus, #eventCalendarMonth .btn-prev:focus,
#eventCalendarMonth .btn-next:focus, #eventCalendarMonth .btn-next:focus {
  box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}
.text-dark #eventCalendarMonth .btn-prev:focus, .text-dark #eventCalendarMonth .btn-prev:focus,
.text-dark #eventCalendarMonth .btn-next:focus, .text-dark #eventCalendarMonth .btn-next:focus {
  box-shadow: 0 0 0 .2rem rgba(0, 0, 0, .05);
}
#eventCalendarDay th {
  text-transform: uppercase;
}
#eventCalendarDay td.active {
  font-weight: 700;
  /*letter-spacing: .025rem;*/
}
#eventCalendarDay td .current {
  font-weight: 600;
  cursor: help;
}
#eventCalendarDay td.active a {
  background-color: rgba(255, 255, 255, .9)
}
#eventCalendarDay td .current, #eventCalendarDay td.active a {
  display: inline-block;
  line-height: calc(1.125rem * 1.5);
  width: calc(1.25rem * 1.5);
  height: calc(1.25rem * 1.5);
  border: .125rem solid transparent;
  border-radius: 33% !important;
}
#eventCalendarDay td.active a:hover,
#eventCalendarDay td.active a:focus,
#eventCalendarDay td.active a.focus {
  text-decoration: none;
  background-color: #fff;
  box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}
.text-light #eventCalendarDay td .current {
  color: #fff;
  border: .125rem solid rgba(255, 255, 255, .5);
}
.text-dark #eventCalendarDay td .current {
  color: #000;
  border: .125rem solid rgba(0, 0, 0, .25);
}
.text-dark #eventCalendarDay td.active a:hover,
.text-dark #eventCalendarDay td.active a:focus,
.text-dark #eventCalendarDay td.active a.focus {
  box-shadow: 0 0 0 .2rem rgba(0, 0, 0, .1);
}
@media (max-width: 767.98px) {
  #eventCalendarMonth {
    padding: .25rem 0;
    background-color: rgba(255, 255, 255, .1);
  }
}

/* --- METEO --- */

#widgetMeteoToday img, #widgetMeteoNext img {
  cursor: help;
}

.btn.level0 {
  color: #6c0;
  border-color: #6c0;
}
.btn.level0:hover {
  color: initial;
  background-color: #6c0;
}
.btn.level1 {
  color: #fd0;
  border-color: #fd0;
}
.btn.level1:hover {
  color: initial;
  background-color: #fd0;
}
.btn.level2 {
  color: #f90;
  border-color: #f90;
}
.btn.level2:hover {
  color: initial;
  background-color: #f90;
}
.btn.level3 {
  color: #f00;
  border-color: #f00;
}
.btn.level3:hover {
  color: initial;
  background-color: #f00;
}
.btn.level0:focus, .btn.level1:focus, .btn.level2:focus, .btn.level3:focus {
  box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}


/* --- MAPPA --- */

.mappawidget {
  width: 100%;
  height: 60vh;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .mappawidget {
    height: 40vh;
  }
}

/* --- WIDGET CUSTOM --- */

.widget .card {
  border: 0;
  background-color: inherit;
}
.widget .card-title {
  text-transform: uppercase;
  font-size: 1.375rem;
}
/*.card .card-wrapper {
  transition: transform .25s;
}
.card .card-wrapper:hover {
  text-decoration: none !important;
  transform: scale(105%);
  transition: transform .25s;
}
*/
.card .card-wrapper img {
  opacity: 1;
  transition: .25s ease-in-out;
}
.card .card-wrapper:hover img {
  opacity: .75;
}

/* --- CUSTOM 1 --- */
/* (img sopra + titolo + testo (facoltativo)) */

.widget-custom-1 .card-body {
  padding: 1rem .5rem;
}
.img-75 .widget-custom-1 img { /* dimensione immagini widget al 75% */
  width: 75%;
}
.img-50 .widget-custom-1 img { /* dimensione immagini widget al 50% */
  width: 50%;
}
.widget-custom-1 .card-title {
  margin-bottom: 0;
}
.widget-custom-1 .card-text {
  margin-top: .75rem;
}

/* --- CUSTOM 2 --- */
/* (img a sx + titolo + testo) */

.widget-custom-2 .card-body {
  padding: 0;
}
.widget-custom-2 a[target=_blank]::after {
  position: absolute;
  top: 2px;
  right: -10px;
}

/* --- CUSTOM 3 --- */
/* (img + testo sovrapposto) */

.widget-custom-3 .card .card-wrapper,
.widget-nav .card .card-wrapper {
  color: #f8f9fa;
}
.widget-custom-3 .card .card-wrapper:hover,
.widget-nav .card .card-wrapper:hover {
  color: #fff;
}
.widget-custom-3 .card .card-img {
  display: block;
}
.widget-custom-3 .card .card-caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  min-height: calc((1.375rem * 1.2));
  overflow: visible;
  text-align: center;
  background-image: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .8));
  transition: .5s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
}
.widget-custom-3 .card .card-caption .card-title {
  margin: 0;
  padding: .25rem;
}
.widget-custom-3 .card:hover .card-caption {
  min-height: 100%;
}
.img-75 .widget-custom-3 .card { /* dimensione immagini widget al 75% */
  width: 75%;
  margin-left: auto;
  margin-right: auto;
}
.widget-custom-3 a[target=_blank]::after {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 150% !important;
}


/* --- colonne aggiuntive --- */

@media (min-width: 992px) {
  .row-cols-lg-8 > * {
    -ms-flex: 0 0 12.5%;
    flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}
@media (min-width: 1200px) {
  .row-cols-xl-7 > * {
    -ms-flex: 0 0 14.285714%;
    flex: 0 0 14.285714%;
    max-width: 14.285714%;
  }
  .row-cols-xl-8 > * {
    -ms-flex: 0 0 12.5%;
    flex: 0 0 12.5%;
    max-width: 12.5%;
  }
  .row-cols-xl-9 > * {
    -ms-flex: 0 0 11.11111%;
    flex: 0 0 11.11111%;
    max-width: 11.11111%;
  }
  .row-cols-xl-10 > * {
    -ms-flex: 0 0 10%;
    flex: 0 0 10%;
    max-width: 10%;
  }
}

/* --- VIRTUAL TOUR --- */

#widgetVirtuaTour iframe {
  height: 750px;
  max-height: 100vh;
}


/* -------------------------------------------------------------------------
		INNER PAGES
   ------------------------------------------------------------------------- */

/* --- MENU LATERALE --- */

#sidebar {
  transition: .5s ease-in-out;
  border-left: 1px solid transparent;
  padding-top: 1.5rem;
}
@media (max-width: 767.98px) {
  #sidebar .section-row {
    padding-top: 0;
  }
}
.sidebar-toggle {
  position: absolute;
  top: 0;
  right: .2rem;
}
.sidebar-toggle span {
  transition: .5s ease-in-out;
}
.sidebar-nav h3 {
  text-transform: uppercase;
  font-size: 2rem;
  opacity: .8;
}
@media (min-width: 992px) {
  #sidebar {
    padding-top: 0;
  }
  #sidebar.open {
    background-color: #f8f9fa;
    margin-left: 15px;
    border-left: 1px solid #DEE2E6;
  }
  .sidebar-wrapper {
    top: calc(2.5rem + 2rem);
  }
  .sidebar-nav {
    width: 0;
    height: 0;
    overflow: hidden;
    transition: .5s ease-in-out;
    transition-delay: .5s;
    opacity: 0;
  }
  .sidebar-nav.open {
    width: auto;
    height: auto;
    opacity: 1;
  }
}
.sidebar-nav .link-list {
  list-style: none;
  padding: 0;
}
.sidebar-nav .link-list li {
  border-bottom: 1px solid #ddd;
}
.sidebar-nav .link-list li .list-item {
  display: block;
  padding: .25rem .25rem .25rem 0;
}
.sidebar-nav .link-list li:not(.active) .list-item {
  padding-left: calc(.4rem + .4rem);
}
.sidebar-nav .link-list li.active .list-item {
  color: #fff;
}
.sidebar-nav .link-list li.active .list-item::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin-top: -.15rem;
  margin-right: .5rem;
  border-top: .6rem solid transparent;
  border-right: 0;
  border-bottom: .6rem solid transparent;
  border-left: .5rem solid #f8f9fa;
}

.sidebar-nav .link-list .dropdown-header {
  padding-left: 0;
  padding-right: 0;
}

/* --- TITOLI --- */

h2.page-title {
  font-size: 2rem;
  font-weight: 700;
  text-transform: uppercase;
  /*color-1*/
}
@media (min-width: 768px) {
  h2.page-title {
    font-size: 2.5rem;
  }
}


/* --- PAGINE DI INDICE --- */

.widget-nav .card {
  overflow: hidden;
}
.widget-nav .card .card-img {
  max-height: 200px;
}
.widget-nav .card .card-img img {
  width: 100%;
}
.widget-nav .card .card-body {
  width: 100%;
}
.widget-nav .card-noimg .card-body {
  padding: .75rem;
  text-align: center;
  color: #fff;
}
.widget-nav .card-wrapper .card-body {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  min-height: calc((1.375rem * 1.2));
  padding: 0;
  overflow: visible;
  text-align: center;
  background-image: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .8));
  transition: .5s ease-in-out;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.widget-nav .card-wrapper:hover .card-body {
  min-height: 100%;
}
.widget-nav .card .card-body .card-title {
  margin-bottom: .25rem;
}
.widget-nav .card-wrapper .card-body .card-title {
  margin: 0;
  padding: .25rem;
}
.widget-nav .card-body .card-text {
  color: rgba(255, 255, 255, .9);
}
.widget-nav .card .card-body .card-text,
.widget-nav .card-wrapper:hover .card-body .card-text {
  font-size: 1rem;
  opacity: 1;
  padding: 0 .25rem .5rem;
}
@media (min-width:992px) {
  .widget-nav .card-wrapper .card-body .card-text {
    height: 0;
    opacity: 0;
    padding: 0;
    transition: all .5s ease-in-out;
  }
}

/* Territorio - Storia */
@media (min-width: 768px) {
  .detail-card .detail-img {
    width: calc(360px + 1px + .2rem + .2rem + 1px); /* img 360px */
    margin-right: 1rem;
    float: left;
  }
}
.detail-body {
  margin-bottom: 2rem;  
}

/* --- PAGINA ELENCO --- */

.page-intro {
  margin-bottom: 1.5rem;
}

.page-intro::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f45c";
  margin-right: .5rem;
  float: left;
}

/* - Filtro categorie - */
.list-btn .btn {
  font-size: 110%;
}
.btn-filter {
  color: initial;
  box-shadow: none;
}
.list-filter-check .custom-control {
  margin-bottom: .5rem;
}
legend, .legend {
  font-size: 1rem !important;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 600;
  color: #55585B;
  border-bottom: none;
}

/* - Mappa elenco - */
.list-map .modal {
}
.list-map .modal-dialog {
  width: auto;
  height: 100%;
  max-width: 100%;
}
.list-map .modal-body {
  line-height: 0;
}
.list-map .modal-content .detail-map {
  height: 70vh;
}

#collapseMapBtn[aria-expanded="true"] #collapseMapLabel::before {
  content: "Nascondi mappa"
}
#collapseMapBtn[aria-expanded="false"] #collapseMapLabel::before {
  content: "Mostra mappa"
}

/* - Elenco - */
.grid-list {
  margin-top: 2rem;
  padding-bottom: 1rem;
}
.grid-list:not(:first-of-type) .grid-list-cat {
  margin-top: 2rem;
}
.grid-list-cat {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  font-weight: 300;
}
.grid-list .card, .top-event {
  border: 0;
  transition: box-shadow .25s;
}
.grid-list .card a:hover, .top-event a:hover {
  text-decoration: none;
}
.grid-list .card .card-header, .grid-list .card .card-body {
  padding: .75rem;
}
.grid-list .card .card-footer {
  padding: .375rem .75rem;
  border-top: 0;
}
.grid-list .card .card-title {
  font-size: 1.375rem;
}

.img-overlay {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 0;
  height: 0;
  border-top: 50px solid transparent;
  border-right: 50px solid transparent;
  text-align: center;
  filter: drop-shadow(1px 1px 1px rgba(0,0,0,.2));
  z-index: 2
}
.img-overlay-2 {
  border-top: 80px solid transparent;
  border-right: 80px solid transparent;
  z-index: 1
}
.img-overlay:after {
  position: absolute;
  top: -46px;
  left: 1px;
  color: #fff;
  transform: rotate(-45deg);
}
.img-overlay-2:after {
  top: -58px;
  left: 14px;
}
.img-overlay-gpx {
  border-top-color: #C33B96;
}
.img-overlay-gpx:after {
  content: "GPX";
  font-size: 18px;
}
.img-overlay-poi {
  border-top-color: #EBC714;
}
.img-overlay-poi:after {
  font-family: "Font Awesome 5 Free";
  font-size: 20px;
  font-weight: 900;
  content: "\f4d7";
  color: #212529;
}

.badge-gpx {
  background-color: #C33B96 !important;
  color: #fff !important;
  vertical-align: middle;
}
.badge-poi {
  background-color: #EBC714 !important;
  color: #212529 !important;
  vertical-align: middle;
}
  

/* --- PAGINA DETTAGLIO --- */

/* - Navigazione a tab - */
.detail-nav {
  margin-bottom: 1.5rem;
  padding-top: 2px; /* per il focus da tastiera */
  border-bottom: 2px solid;
  /* scorrimento orizzonale del menu (! da valutare se usabile - aggiungere una freccia? !) */
  flex-wrap: nowrap;
  overflow-x: auto;
}
.detail-nav .nav-link {
  text-transform: uppercase;
}
.detail-nav .nav-link:not(.active) {
  transition: background-color .25s ease-in-out;
}
.detail-nav .nav-link:not(.active):hover {
  text-decoration: underline;
}

/* - Scheda contenuti - */

.detail-img {
  max-height: 60vh;
  overflow: hidden;
}
.detail-img img {
  width: 100%;
}
.detail-img a, a.fresco {
  cursor: url(/Img/cursor-zoom-in.png) 12 12, zoom-in;
  transition: opacity .25s;
}
.detail-img a:hover, a:hover .img-thumbnail, a.fresco:hover, figure a:hover {
  opacity: .75;
  transition: .25s;
}
.detail-img figcaption, .detail-source {
  font-size: 80%;
  padding: .25rem;
  color: #444c54;
}
.detail-img figcaption {
  background-color: #F4F5F6;
}
.detail-text {
  margin-bottom: 1.5rem;
}
.detail-source {
  margin-top: 1.5rem;
  border-top: 1px solid #DEE2E6;
}
.detail-title {
  font-size: 1.375rem;
  text-transform: uppercase;
  color: #55585B;
}

/* Documenti */
.detail-attach .detail-attach-list {
  background-color: #f8f9fa;
  margin-bottom: 1.5rem;
  padding: .75rem;
}
.detail-attach .ico, .doc .ico {
  font-size: 1.5rem;
  width: 2rem;
  vertical-align: middle;
  opacity: .6;
}
.detail-attach .fa-link { /* rimpicciolisco leggermente icona link */
  font-size: 1.25rem;
}
.detail-attach li a:hover .ico,
.detail-attach li a:focus .ico, .detail-attach li a.focus .ico {
  transition: .25s ease-in-out;
}
.detail-attach li a:hover .ico {
  opacity: 1;
}

/* Tabelle */

.detail-table {
  background-color: #f8f9fa;
}
.detail-table td, .detail-table th {
  border-top: .25rem solid #fff;
}
.detail-table tr:first-of-type td, .detail-table tr:first-of-type th {
  border-top: 0;
}
.detail-table .ico {
  font-size: 1.5rem;
  opacity: .5;
  cursor: help;
}
@media (min-width: 768px) {
  .detail-table {
    font-size: 90%;
  }
}

/* - Mappa - */

#inner-map iframe, .detail-map {
  height: 60vh;
}
@media (min-width: 992px) {
  #inner-map iframe, .detail-map {
    height: 50vh;
  }
}


/* - Servizi offerti - */

.detail-icon .ico-color {
  font-size: 1.375rem;
  margin-right: .5rem;
  padding: .25rem;
  width: calc(1.25rem + .75rem);
  text-align: center;
  /*color base*/
}

/* - Punti di interesse - */

.detail-poi-item {
  background-color: #f8f9fa;
}
.detail-poi-item:nth-of-type(even) {
  background-color: #F4F5F6;
}
.detail-poi-item .media-body h4 {
  font-size: 1.125rem;
  margin-bottom: 0;
}

/* --- GALLERIA FOTO/VIDEO --- */

#video-gallery figcaption {
  line-height: 1.25;
}
.virtual-tour-image {
  margin-top: 2rem;
}
.virtual-tour-image:first-of-type {
  margin-top: 1rem;
}
.card-columns {
  column-gap: .5rem;
}
.card-columns .card {
  margin-bottom: .5rem;
  border: 0 none;
}

/* --- EVENTI/NEWS --- */

/* Elenco */
.inner-event .card-date,
.inner-news .card-date {
  font-size: 112.5%;
  font-weight: 600;
}
.inner-event .card-date::before,
.inner-news .card-date::before,
.detail-date::before,
.top-event-date::before,
.inner-event-place::before,
.event-time::before {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f133";
  width: 1.25rem;
  margin-right: .5rem;
}
.inner-news .card-date::before, .event-time::before {
  opacity: .5;
}
.inner-event-place::before {
  content: "\f3c5";
}
.top-event-date::before {
  content: "\f784";
  margin-right: 0;
}

/* --- Eventi principali --- */

.top-event {
  background-color: #F4F5F6;
  padding: 1rem 1rem .5rem;
}
.top-event:nth-of-type(even) {
  background-color: #EAEBEC;
}

.top-event-title {
  font-size: 1.5rem;
}
@media (min-width:768px) {
  .top-event-body { margin-left: calc(300px + 1rem); }
  .top-event figure {
    margin-right: 1rem;
    padding-top: .1rem; /* per allineare meglio al testo */
    float: left;
  }
}
.top-event:hover img {
  opacity: .75;
}

/* Dettaglio */
.detail-event-desc {
  font-size: 1.125rem;
  padding: .75rem;
}
.detail-date {
  font-size: 125%;
  font-weight: 600;
}
.event-time {
  display: block;
  font-size: 1.125rem;
  font-weight: 400;
}
.event-time::before {
  font-weight: 400;
  content: "\f017";
}
.detail-event-map #inner-map iframe {
  max-height: 22rem;
}
@media (min-width: 576px) {
  /* immagini verticali */
  .vertical-image {
    display: inline-block;
  }
  .vertical-image img {
    max-height: 50vh;
  }
}


/* --- RUBRICHE --- */

/* --- Accordion --- */

.accordion .card {
  border-left: 0;
  border-right: 0;
  /*border-bottom: 0;*/
}
.accordion .card-header {
  background-color: #fff;
  border-bottom: 0;
}
.accordion .card-title {
  font-size: 1.375rem;
  font-weight: 600;
  margin: 0;
}
.accordion .card-title a {
  display: block;
  width: 100%;
  height: 100%;
}
.card-body.detail-attach .detail-attach-list {
  padding: 0.75rem 1.25rem;
}

/* --- Bottone mostra --- */

.read-more-state { display: none; }
.read-more-target, .read-more-target div {
  opacity: 0;
  max-height: 0;
  font-size: 0;
  transition: .25s ease;
  display: block;
}
.read-more-state:checked ~ .read-more-wrap .read-more-target, .read-more-state:checked ~ .read-more-wrap .read-more-target div {
  opacity: 1;
  font-size: inherit;
  max-height: 999em;
}
.read-more-state:checked ~ .read-more-wrap .read-more-target {
  display: inline; /* evita spazio iniziale */
}
.read-more-state ~ .read-more-trigger:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078";
  padding-right: .5rem;
}
.read-more-state:checked ~ .read-more-trigger:before {
  content: "\f077";
}
.read-scheda ~ .read-more-trigger:after {
  content: "Mostra scheda"
}
.read-scheda:checked ~ .read-more-trigger:after {
  content: "Nascondi scheda"
}
.read-scheda ~ .read-more-wrap { height: 0; }
.read-scheda:checked ~ .read-more-wrap { 
  height: auto;
  margin-top: 1rem;
}
.read-more-trigger {
  margin-top: 1rem;
  float: right;
}


/* --- RICERCA --- */

#search-result .media-body h5 {
  font-size: 1.125rem;
}
#search-result .media-body {
  font-size: .9rem;
}


/* --- Widget Podcast / Popup generico --- */

#widgetPodcast, #widgetPopup {
  position: fixed;
  right: 0;
  top: 17.5vh;
  width: 350px;
  z-index: 1001;
  transform: translate(90%);
  transition: .5s transform;
  color: rgba(255,255,255,.75);
  filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .6));
  line-height: 1.25;
}
@media (min-width: 992px) {
  #widgetPodcast, #widgetPopup {
    width: 500px;
    top: 20vh;
  }
}
#widgetPodcast:hover, #widgetPopup:hover {
  transform: translate(0);
  color: rgba(255,255,255,1);
  opacity: 1
}
#widgetPodcastButton, #widgetPopupButton {
  height: calc(22px + 1.5rem);
  flex: 0 0 10%;
  max-width: 10%;
  padding: .75rem 0;
}
#widgetPodcastContent, #widgetPopupContent {
  flex: 0 0 90%;
  max-width: 90%;
  padding: .75rem 1rem 1rem;
}
#widgetPodcastContent .btn, #widgetPopupContent .btn {
  background-color: #fff;
  border: none;
}
#widgetPodcastContent .btn:hover, #widgetPopupContent .btn:hover {
  color: #fff;
}

/* --- Widget Popup --- */

#widgetPopup {
  top: calc(17.5vh + 50px);
  transition: .5s all;
}
@media (min-width: 992px) {
  #widgetPopup {
    top: calc(20vh + 55px);
  }
}
/* quando si apre il widgetPodcast viene nascosto widgetPopup */
#widgetPodcast:hover ~ #widgetPopup {
  opacity: 0;
}


/* -------------------------------------------------------------------------
		FOOTER
   ------------------------------------------------------------------------- */

footer {
  margin-top: 1.5rem;
}
footer, footer a:hover, .cookiebar a:hover {
  color: #fff;
}
footer a:hover, footer a:focus {
  text-shadow: 0 0 2px rgba(255, 255, 255, .5);
}
footer .section-title {
  font-size: 1.25rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .8)
}
#footerLogo {
  max-height: 5rem;
}

#footerSocial {
  font-size: 1.75rem;
}
#footerSocial a:hover, #footerSocial a:focus {
  text-shadow: 0 1px 5px rgba(255, 255, 255, .75);
}

#footerBottom {
  background-color: rgba(0, 0, 0, .2);
  padding: 1rem 0;
}
#footerBottom .list-inline-item:not(:last-child) {
  margin-right: .9rem;
}

svg#wave {
  transform: translateY(1px) !important
}

/* --- COOKIE BAR --- */

.cookiebar {
  background-color: rgba(0, 0, 0, .8);
}

/* reset style link esterni */
.target-unstyled a[target="_blank"]::after {
  display: none;
}
