/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */



/* ==========================================================================
   WEBFONT
   ========================================================================== */

@font-face {
  font-family: 'HelveticaNormal';
  src: url('../font/HelveticaNeueLTStd-Md.woff2') format('woff2'),
       url('../font/HelveticaNeueLTStd-Md.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'HelveticaItalic';
  src: url('../font/HelveticaNeueLTStd-MdIt.woff2') format('woff2'),
       url('../font/HelveticaNeueLTStd-MdIt.woff') format('woff');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

/* ==========================================================================
   C O L O R S
   ========================================================================== */

:root {
    /* Color system */
    --blu: #0000FF;
    --bianco: #FFFFFF;
    --nero: #000000;
    --rosso: #AA0000;
    --riga:rgba(0,0,0,0.33);
    --grigio_chiaro: #F1F1F1;
    --grigio_scuro: #D9D9D9;
    --mid-gray: #999;
    --dark-gray: #555;
    --font-65: clamp(2rem, calc(0.774rem + 3.226vw), 6.4rem) / clamp(1.5rem, calc(0.68rem + 2.98vw), 6rem) 'HelveticaNormal';
    --font-32: clamp(1.8rem, calc(1.1rem + 1.5vw), 3.2rem) / clamp(1.6rem, calc(1.1rem + 1.5vw), 2.9rem) 'HelveticaNormal';
    --font-24: clamp(1.6rem, calc(1.0rem + 1.0vw), 2.4rem) / clamp(1.6rem, calc(1.0rem + 1.0vw), 2.4rem) 'HelveticaNormal';
    --font-16: clamp(1.2rem, calc(0.9rem + 0.5vw), 1.6rem) / clamp(1.3rem, calc(0.9rem + 0.5vw), 1.7rem) 'HelveticaNormal';
}

/* ==========================================================================
   G R I G L I A   L A Y O U T
   ========================================================================== */

/* === GRID SYSTEM 12 COLONNE === */
.container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-flow: row;
    gap: 1rem;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1rem;
    box-sizing: border-box;
}
.container_noborder {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-flow: row;
    gap: 0;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    width:100%
}


/* === DEFAULT: MOBILE FIRST (FULL WIDTH) === */
[class*="col-"] {
  grid-column: span 12;
  grid-column-end: auto;
}

.col-1  { grid-column: span 1; grid-column-end: auto; }
.col-2  { grid-column: span 2; grid-column-end: auto; }
.col-3  { grid-column: span 3; grid-column-end: auto; }
.col-4  { grid-column: span 4; grid-column-end: auto; }
.col-5  { grid-column: span 5; grid-column-end: auto; }
.col-6  { grid-column: span 6; grid-column-end: auto; }
.col-7  { grid-column: span 7; grid-column-end: auto; }
.col-8  { grid-column: span 8; grid-column-end: auto; }
.col-9  { grid-column: span 9; grid-column-end: auto; }
.col-10 { grid-column: span 10; grid-column-end: auto; }
.col-11 { grid-column: span 11; grid-column-end: auto; }
.col-12 { grid-column: span 12; grid-column-end: auto; }

/* === MARGINI UTILITY (GRID-BASED) === */
/* Margini sinistra: spostano l'inizio della colonna (lascia N colonne vuote a sinistra) */
.mar_sx-1 { grid-column-start: 1; }
.mar_sx-2 { grid-column-start: 2; }
.mar_sx-3 { grid-column-start: 3; }
.mar_sx-4 { grid-column-start: 4; }
.mar_sx-5 { grid-column-start: 5; }
.mar_sx-6 { grid-column-start: 6; }
.mar_sx-7 { grid-column-start: 7; }
.mar_sx-8 { grid-column-start: 8; }
.mar_sx-9 { grid-column-start: 9; }
.mar_sx-10 { grid-column-start: 10; }
.mar_sx-11 { grid-column-start: 11; }
.mar_sx-12 { grid-column-start: 12; }

/* Margini destra: limitano la fine della colonna (lascia N colonne vuote a destra) */
/* Esempio: col-10 mar-dx-2 = 10 colonne occupate + 2 vuote a destra = grid-column: 1 / 11 */
/* Usa grid-column-end che funziona insieme a grid-column-start (da mar_sx) o span (da col-*) */
.mar_dx-1 { grid-column-end: 13; }
.mar_dx-2 { grid-column-end: 12; }
.mar_dx-3 { grid-column-end: 11; }
.mar_dx-4 { grid-column-end: 10; }
.mar_dx-5 { grid-column-end: 9; }
.mar_dx-6 { grid-column-end: 8; }
.mar_dx-7 { grid-column-end: 7; }
.mar_dx-8 { grid-column-end: 6; }
.mar_dx-9 { grid-column-end: 5; }
.mar_dx-10 { grid-column-end: 4; }
.mar_dx-11 { grid-column-end: 3; }
.mar_dx-12 { grid-column-end: 2; }

/* ≥ 768px: sm */
@media (min-width: 768px) {
    .col-sm-1  { grid-column: span 1; }
    .col-sm-2  { grid-column: span 2; }
    .col-sm-3  { grid-column: span 3; }
    .col-sm-4  { grid-column: span 4; }
    .col-sm-5  { grid-column: span 5; }
    .col-sm-6  { grid-column: span 6; }
    .col-sm-7  { grid-column: span 7; }
    .col-sm-8  { grid-column: span 8; }
    .col-sm-9  { grid-column: span 9; }
    .col-sm-10 { grid-column: span 10; }
    .col-sm-11 { grid-column: span 11; }
    .col-sm-12 { grid-column: span 12; }

    /* Margini responsive sm */
    .mar_sx-sm-1 { grid-column-start: 1; }
    .mar_sx-sm-2 { grid-column-start: 2; }
    .mar_sx-sm-3 { grid-column-start: 3; }
    .mar_sx-sm-4 { grid-column-start: 4; }
    .mar_sx-sm-5 { grid-column-start: 5; }
    .mar_sx-sm-6 { grid-column-start: 6; }
    .mar_sx-sm-7 { grid-column-start: 7; }
    .mar_sx-sm-8 { grid-column-start: 8; }
    .mar_sx-sm-9 { grid-column-start: 9; }
    .mar_sx-sm-10 { grid-column-start: 10; }
    .mar_sx-sm-11 { grid-column-start: 11; }
    .mar_sx-sm-12 { grid-column-start: 12; }

    .mar_dx-sm-1 { grid-column-end: 13; }
    .mar_dx-sm-2 { grid-column-end: 12; }
    .mar_dx-sm-3 { grid-column-end: 11; }
    .mar_dx-sm-4 { grid-column-end: 10; }
    .mar_dx-sm-5 { grid-column-end: 9; }
    .mar_dx-sm-6 { grid-column-end: 8; }
    .mar_dx-sm-7 { grid-column-end: 7; }
    .mar_dx-sm-8 { grid-column-end: 6; }
    .mar_dx-sm-9 { grid-column-end: 5; }
    .mar_dx-sm-10 { grid-column-end: 4; }
    .mar_dx-sm-11 { grid-column-end: 3; }
    .mar_dx-sm-12 { grid-column-end: 2; }
}

/* ≥ 980px: md */
@media (min-width: 980px) {
    .col-md-1  { grid-column: span 1; }
    .col-md-2  { grid-column: span 2; }
    .col-md-3  { grid-column: span 3; }
    .col-md-4  { grid-column: span 4; }
    .col-md-5  { grid-column: span 5; }
    .col-md-6  { grid-column: span 6; }
    .col-md-7  { grid-column: span 7; }
    .col-md-8  { grid-column: span 8; }
    .col-md-9  { grid-column: span 9; }
    .col-md-10 { grid-column: span 10; }
    .col-md-11 { grid-column: span 11; }
    .col-md-12 { grid-column: span 12; }

    /* Margini responsive md */
    .mar_sx-md-1 { grid-column-start: 1; }
    .mar_sx-md-2 { grid-column-start: 2; }
    .mar_sx-md-3 { grid-column-start: 3; }
    .mar_sx-md-4 { grid-column-start: 4; }
    .mar_sx-md-5 { grid-column-start: 5; }
    .mar_sx-md-6 { grid-column-start: 6; }
    .mar_sx-md-7 { grid-column-start: 7; }
    .mar_sx-md-8 { grid-column-start: 8; }
    .mar_sx-md-9 { grid-column-start: 9; }
    .mar_sx-md-10 { grid-column-start: 10; }
    .mar_sx-md-11 { grid-column-start: 11; }
    .mar_sx-md-12 { grid-column-start: 12; }

    .mar_dx-md-1 { grid-column-end: 13; }
    .mar_dx-md-2 { grid-column-end: 12; }
    .mar_dx-md-3 { grid-column-end: 11; }
    .mar_dx-md-4 { grid-column-end: 10; }
    .mar_dx-md-5 { grid-column-end: 9; }
    .mar_dx-md-6 { grid-column-end: 8; }
    .mar_dx-md-7 { grid-column-end: 7; }
    .mar_dx-md-8 { grid-column-end: 6; }
    .mar_dx-md-9 { grid-column-end: 5; }
    .mar_dx-md-10 { grid-column-end: 4; }
    .mar_dx-md-11 { grid-column-end: 3; }
    .mar_dx-md-12 { grid-column-end: 2; }
}

/* ≥ 1200px: lg */
@media (min-width: 1200px) {
    .col-lg-1  { grid-column: span 1; }
    .col-lg-2  { grid-column: span 2; }
    .col-lg-3  { grid-column: span 3; }
    .col-lg-4  { grid-column: span 4; }
    .col-lg-5  { grid-column: span 5; }
    .col-lg-6  { grid-column: span 6; }
    .col-lg-7  { grid-column: span 7; }
    .col-lg-8  { grid-column: span 8; }
    .col-lg-9  { grid-column: span 9; }
    .col-lg-10 { grid-column: span 10; }
    .col-lg-11 { grid-column: span 11; }
    .col-lg-12 { grid-column: span 12; }

    /* Margini responsive lg */
    .mar_sx-lg-1 { grid-column-start: 1; }
    .mar_sx-lg-2 { grid-column-start: 2; }
    .mar_sx-lg-3 { grid-column-start: 3; }
    .mar_sx-lg-4 { grid-column-start: 4; }
    .mar_sx-lg-5 { grid-column-start: 5; }
    .mar_sx-lg-6 { grid-column-start: 6; }
    .mar_sx-lg-7 { grid-column-start: 7; }
    .mar_sx-lg-8 { grid-column-start: 8; }
    .mar_sx-lg-9 { grid-column-start: 9; }
    .mar_sx-lg-10 { grid-column-start: 10; }
    .mar_sx-lg-11 { grid-column-start: 11; }
    .mar_sx-lg-12 { grid-column-start: 12; }

    .mar_dx-lg-1 { grid-column-end: 13; }
    .mar_dx-lg-2 { grid-column-end: 12; }
    .mar_dx-lg-3 { grid-column-end: 11; }
    .mar_dx-lg-4 { grid-column-end: 10; }
    .mar_dx-lg-5 { grid-column-end: 9; }
    .mar_dx-lg-6 { grid-column-end: 8; }
    .mar_dx-lg-7 { grid-column-end: 7; }
    .mar_dx-lg-8 { grid-column-end: 6; }
    .mar_dx-lg-9 { grid-column-end: 5; }
    .mar_dx-lg-10 { grid-column-end: 4; }
    .mar_dx-lg-11 { grid-column-end: 3; }
    .mar_dx-lg-12 { grid-column-end: 2; }
}

/* ≥ 1600px: xl */
@media (min-width: 1600px) {
    .col-xl-1  { grid-column: span 1; }
    .col-xl-2  { grid-column: span 2; }
    .col-xl-3  { grid-column: span 3; }
    .col-xl-4  { grid-column: span 4; }
    .col-xl-5  { grid-column: span 5; }
    .col-xl-6  { grid-column: span 6; }
    .col-xl-7  { grid-column: span 7; }
    .col-xl-8  { grid-column: span 8; }
    .col-xl-9  { grid-column: span 9; }
    .col-xl-10 { grid-column: span 10; }
    .col-xl-11 { grid-column: span 11; }
    .col-xl-12 { grid-column: span 12; }

    /* Margini responsive xl */
    .mar_sx-xl-1 { grid-column-start: 1; }
    .mar_sx-xl-2 { grid-column-start: 2; }
    .mar_sx-xl-3 { grid-column-start: 3; }
    .mar_sx-xl-4 { grid-column-start: 4; }
    .mar_sx-xl-5 { grid-column-start: 5; }
    .mar_sx-xl-6 { grid-column-start: 6; }
    .mar_sx-xl-7 { grid-column-start: 7; }
    .mar_sx-xl-8 { grid-column-start: 8; }
    .mar_sx-xl-9 { grid-column-start: 9; }
    .mar_sx-xl-10 { grid-column-start: 10; }
    .mar_sx-xl-11 { grid-column-start: 11; }
    .mar_sx-xl-12 { grid-column-start: 12; }

    .mar_dx-xl-1 { grid-column-end: 13; }
    .mar_dx-xl-2 { grid-column-end: 12; }
    .mar_dx-xl-3 { grid-column-end: 11; }
    .mar_dx-xl-4 { grid-column-end: 10; }
    .mar_dx-xl-5 { grid-column-end: 9; }
    .mar_dx-xl-6 { grid-column-end: 8; }
    .mar_dx-xl-7 { grid-column-end: 7; }
    .mar_dx-xl-8 { grid-column-end: 6; }
    .mar_dx-xl-9 { grid-column-end: 5; }
    .mar_dx-xl-10 { grid-column-end: 4; }
    .mar_dx-xl-11 { grid-column-end: 3; }
    .mar_dx-xl-12 { grid-column-end: 2; }
}

/* ≥ 1920px: xxl */
@media (min-width: 1920px) {
    .col-xxl-1  { grid-column: span 1; }
    .col-xxl-2  { grid-column: span 2; }
    .col-xxl-3  { grid-column: span 3; }
    .col-xxl-4  { grid-column: span 4; }
    .col-xxl-5  { grid-column: span 5; }
    .col-xxl-6  { grid-column: span 6; }
    .col-xxl-7  { grid-column: span 7; }
    .col-xxl-8  { grid-column: span 8; }
    .col-xxl-9  { grid-column: span 9; }
    .col-xxl-10 { grid-column: span 10; }
    .col-xxl-11 { grid-column: span 11; }
    .col-xxl-12 { grid-column: span 12; }

    /* Margini responsive xxl */
    .mar_sx-xxl-1 { grid-column-start: 1; }
    .mar_sx-xxl-2 { grid-column-start: 2; }
    .mar_sx-xxl-3 { grid-column-start: 3; }
    .mar_sx-xxl-4 { grid-column-start: 4; }
    .mar_sx-xxl-5 { grid-column-start: 5; }
    .mar_sx-xxl-6 { grid-column-start: 6; }
    .mar_sx-xxl-7 { grid-column-start: 7; }
    .mar_sx-xxl-8 { grid-column-start: 8; }
    .mar_sx-xxl-9 { grid-column-start: 9; }
    .mar_sx-xxl-10 { grid-column-start: 10; }
    .mar_sx-xxl-11 { grid-column-start: 11; }
    .mar_sx-xxl-12 { grid-column-start: 12; }

    .mar_dx-xxl-1 { grid-column-end: 13; }
    .mar_dx-xxl-2 { grid-column-end: 12; }
    .mar_dx-xxl-3 { grid-column-end: 11; }
    .mar_dx-xxl-4 { grid-column-end: 10; }
    .mar_dx-xxl-5 { grid-column-end: 9; }
    .mar_dx-xxl-6 { grid-column-end: 8; }
    .mar_dx-xxl-7 { grid-column-end: 7; }
    .mar_dx-xxl-8 { grid-column-end: 6; }
    .mar_dx-xxl-9 { grid-column-end: 5; }
    .mar_dx-xxl-10 { grid-column-end: 4; }
    .mar_dx-xxl-11 { grid-column-end: 3; }
    .mar_dx-xxl-12 { grid-column-end: 2; }
}





/* ==========================================================================
   H A M B U R G E R   M E N U
   ========================================================================== */


.ham {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 400ms;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transform: scale(1)

}
.ham_open .hamRotate {
    transform: rotate(45deg);
}
.ham_open .hamRotate180 {
    transform: rotate(180deg);
}
.line {
    fill:none;
    transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
    stroke:var(--blu);
    stroke-width:5.5;
    stroke-linecap:square;
}
.ham8 .top {
    stroke-dasharray: 40 160;
    transform: translateY(4px);
}
.ham8 .middle {
    stroke-dasharray: 40 142;
    transform-origin: 50%;
    transition: transform 400ms;
}
.ham8 .bottom {
    stroke-dasharray: 40 85;
    transform-origin: 50%;
    transition: transform 400ms, stroke-dashoffset 400ms;
    transform: translateY(-4px);
}
.ham_open .ham8 .top {
    stroke-dashoffset: -64px;
    transform: translateY(0);
}
.ham_open .ham8 .middle {
    /*stroke-dashoffset: -20px;*/
    transform: rotate(90deg);
}
.ham_open .ham8 .bottom {
    stroke-dashoffset: -64px;
    transform: translateY(0);
}


/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */


html {
	font-size:62.5%;
}
html, body {
    margin:0;
    padding: 0;
    height: 100%;
    width: 100%;
}
ul, ol, li {
    margin:0px;
    padding:0px;
}
button,
input,
select,
textarea {
    color: var(--nero);
	font-family: 'HelveticaNormal';
}
input,
select,
textarea {
    font-size:16px
}
a {
    text-decoration:none;
    color:var(--blu)
}
body {
	color:var(--nero);
	background-color: var(--bianco);
    font:var(--font-16);
}
/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: var(--grigio_chiaro);
    text-shadow: none;
	color:var(--bianco);
}

::selection {
    background: var(--grigio_chiaro);
    text-shadow: none;
	color:var(--bianco);
}

*:focus {
    outline:0;
    outline-style: none;
}
/*
 * A better looking default horizontal rule
 */
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: var(--blu); font-family: 'HelveticaNormal';
}
::-moz-placeholder { /* Firefox 19+ */
  color: var(--blu);font-family: 'HelveticaNormal';
}
:-ms-input-placeholder { /* IE 10+ */
  color: var(--blu);font-family: 'HelveticaNormal';
}
:-moz-placeholder { /* Firefox 18- */
  color: var(--blu);font-family: 'HelveticaNormal';
}

input[type=submit] {
  -webkit-appearance: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

.field_codice_embed_youtube {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    padding-top: 30px;
    position: relative;
}
.field_codice_embed_youtube iframe,
.field_codice_embed_youtube object,
.field_codice_embed_youtube embed {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}


/* fix preload bug*/
.body_preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}



/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

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

/*
 * Remove default fieldset styles.
 */

fieldset {
	border:1px solid var(--blu);
	padding: 1em;
	margin-top: 2em;
}
legend {
	font-size: 1.2em
}
/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
    margin: 0.2em 0;
    background: var(--grigio_chiaro);
    color: var(--nero);
    padding: 0.2em 0;
}



/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* === Sticky footer === */

.dialog-off-canvas-main-canvas {
  min-height: 100vh; /* oppure 100dvh per mobile */
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}

footer {
  flex-shrink: 0;
}


/* === logo HP === */

body.path-frontpage.yi-acd-home-intro .main {
  box-sizing: border-box;
}

body.path-frontpage.yi-acd-home-intro .page_content {
  will-change: transform;
}

body.path-frontpage.yi-acd-home-intro .servizio {
  visibility: hidden;
  pointer-events: none;
}

body.path-frontpage .yi-acd-home-logo-clone {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  will-change: width, height, top, opacity;
  margin: 0;
  padding: 0;
  float: none;
  order: unset;
  max-width: calc(100vw - 1rem);
  overflow: hidden;
  opacity: 0;
  display: none;
  margin-top: 3rem;
}

body.path-frontpage .yi-acd-home-logo-clone img,
body.path-frontpage .yi-acd-home-logo-clone object,
body.path-frontpage .yi-acd-home-logo-clone svg {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: top left;
}

.yi-acd-real-logo-hidden {
  
}

/* === UTILITY === */

.text-center { text-align: center; }
.center {
  display: flex;
  align-items: center;
  justify-content: center;
}


/* REGIONI DRUPAL */

/* messaggi */
.messages_full { position:fixed; width: 95vw; margin: auto; top: 0; z-index: 20}

/*header*/
.header_fixed { width:100%; position: fixed; top: 0; height: 8rem; background-color: var(--bianco); transition:ease all 0.3s; z-index: 1000}
.ham_open .header_fixed { height: 100vh; }
.scroll-body .header_fixed { /*background-color:var(--grigio_chiaro)*/}
.logo { order:1}
.logo img, .logo svg, .footer img { height: 4rem; margin-top: 2rem;}
.menu_responsive {}
.menu_1 { order: 3; }
.menu_div1, .menu_div2 { display:none; margin-top: 2rem}
.ham_open .menu_div1 { display:block}
.menu_div1 > nav > ul > li a { display: inline-block;}


/* === Layout a due colonne dentro .menu_div1 === */
.menu_div1 {
  --left-col: 25%;   /* ≈ col-md-2 su col-md-8 */
  --gap: 16px;       /* spazio tra colonne */
  position: relative;
  min-height: 240px;
}

.menu_div1 > nav > ul {
    margin: 0;
    padding: 0;
    list-style: none;
    width: var(--left-col);
    font: var(--font-24);
    line-height: 2rem;
}

.menu_div1 ul li { margin: 0; padding: 0; padding-bottom: 0.5rem; }
.menu_div1 a  { color:var(--nero); transition:ease all 0.3s }
.menu_div1 ul li a:hover, .menu_div1 ul li span:hover { color:var(--blu)}

/* Titoli 1° livello: span.menu_int (o eventualmente link foglia) */
.menu_div1 > nav > ul > li > .menu_int,
.menu_div1 > nav > ul > li > a {
  display: block;
  text-decoration: none;
  cursor: pointer;             /* anche sugli span */
  user-select: none;
}
.menu_div1 > nav > ul > li > a.dashboard {
    color: var(--dark-gray);
  border-top: 1px solid var(--grigio_scuro);
  padding-top: 1.5rem;
  margin-top: 0.5rem;
}

/* Pannello submenu (UL del 1° livello) a destra */
.menu_div1 > nav > ul > li > ul {
  position: absolute;
  top: 0;
  left: calc(var(--left-col) + var(--gap));
  width: calc(100% - var(--left-col) - var(--gap));
  display: none;               /* nascosto di default */
  margin: 0;
  list-style: none;
}

/* Mostra solo quello dell'elemento aperto */
.menu_div1 > nav > ul > li.menu-item--active-trail > ul { display: block; }

/* Stili link nel pannello destro */
.menu_div1 > nav > ul > li > ul > li > a {
  display: block;
  text-decoration: none;
}
.menu_div1 > nav > ul > li > ul > li > a:hover {
}

/* Feedback visivo sulla voce attiva */
.menu_div1 > nav > ul > li.menu-item--active-trail > .menu_int,
.menu_div1 > nav > ul > li.menu-item--active-trail > a,
.menu_div1 > nav > ul > li.menu-item--active-trail > span,
.menu_div1 > nav > ul > li.menu-item--active-trail ul li.menu-item--active-trail a,
.menu_div1 > nav > ul > li.menu-item--active-trail ul li.menu-item--active-trail span {
  color:var(--blu)
}

/* Pulizia bullets/spaziatura ereditati */
.menu_div1 ul ul { list-style: none; padding-left: 0; }

.servizio { order: 2; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; font-size: 1.6rem; transform: scale(0.8); transform-origin: right center; width: fit-content; margin-left: auto;}
.menu_responsive { grid-area: 1 / 1 / 2 / 2; align-items: start; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; }
.menu_responsive span { display:inline-block; color:var(--blu); padding-top: 2.5rem;}
.login { grid-area: 1 / 2 / 2 / 3;align-items: start;}
.login ul { margin: 0; padding: 0; list-style: none;}
.login ul li a { padding-left:4.6rem; display: block; position: relative; padding-top: 0.5rem;}
.login ul li a::before { content:""; width: 3.6rem; height: 3.6rem; border-radius: 50%; background-color: var(--blu); position: absolute; left: 0; margin-top: -0.5rem; }
.href_cerca, .href_contatti { display:none; }
.coronavirus { display:none;}

/* main */
.main { margin-top:7rem; }

/* login page */
.path-user-login .page_content, .path-user .page_content {
  padding-top: 10rem;
}

/* briciole e titolo nascosti */
.briciole, .titolo { display:none}
.user-logged-in .titolo { display:block; border-bottom:1px solid var(--blu); margin-bottom: 5rem}
.user-logged-in .titolo h1 { margin-bottom:0;}

/* NODE PAGE */
.presentazione, h1, .presentazione h2 { font: var(--font-65); letter-spacing: -1px; text-wrap: balance; position: relative;}
.presentazione h1 { font: var(--font-16); text-wrap: balance; color:var(--blu); position: absolute; top: -1rem; letter-spacing: -0.5px;}
.para_titolo, .para_titolo h3 { font: var(--font-24); color:var(--blu); padding-right: 2rem; text-wrap: balance; letter-spacing: -0.5px; margin: 0 }
.para_titolo_appro { font: var(--font-16); color:var(--blu); padding-right: 2rem; text-wrap: balance; margin-top: 1rem; border-top:1px solid var(--riga); padding-top:1rem }
.para_testo { font: var(--font-24); text-wrap: pretty; }
.field_testo_approfondimento img { margin-bottom:2rem; }
.para_testo strong { font-weight:normal;}
.para_testo_appro { font: var(--font-16); text-wrap: pretty;border-top:1px solid var(--riga); margin-top:1rem; padding-top:1rem; }
.accordion_item { position:relative}
.accordion_item::after { content: ""; position: absolute; right: 20px; top: 10px; width:13px; height: 13px; background-image: url("../images/acco_giu.svg"); background-size: contain; background-repeat: no-repeat; transition: transform 0.3s ease }
.accordion_item .field_titolo_approfondimento { cursor: pointer; transition: ease all 0.3s  }
.accordion_item .field_titolo_approfondimento:hover { color: var(--blu)  }
.accordion_item.is-open::after { transform: rotate(180deg);}
.para_testo_appro_accordion {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.45s ease;
}
.para_testo_appro h2 { font: var(--font-16); color:var(--blu)}
.para_testo_appro table { width: 100%; border-collapse: collapse;}
.para_testo_appro table tr { border-top: 1px solid var(--riga);}
.para_testo_appro table td { padding:1rem}
.para_testo p { margin: 0; padding: 0; padding-bottom: 2rem; letter-spacing: -0.5px;}
.container_noborder ul { padding-left: 2rem; padding-bottom: 2rem; padding-top: 1rem; }

.footer { font: var(--font-16); margin-top: 5rem; color:var(--blu); margin-bottom: 5rem;font-kerning:normal}
.footer strong { font-weight: normal;}
.footer ul { margin:0; padding: 0; list-style: none; }
.footer_vivi { color:var(--blu); padding-top: 2rem; font: var(--font-65)}
.footer .footer-right-block {margin-top:2rem}

/* nascondo paragrafi che non ci saranno più */
.paragraph--type--nota { display:none; }
.field_scarica_allegati { padding-bottom:2rem;}

/* vista agenda */
.agenda_2026 { margin-top: 50px; }
.container.agenda-riga { padding-bottom:1rem; border-top:1px solid var(--riga); padding-top: 0.5rem;}
.agenda-grid { border-bottom:1px solid var(--riga); padding-top: 2rem; }
.agenda-grid__body { padding-top:1rem;}
.agenda-grid .views-field-field-data, .agenda-grid .views-field-field-tag, .agenda-grid .views-field-field-luogo { font: var(--font-16); color:var(--blu) }
.agenda-grid .views-field-title { font: var(--font-32); padding-right: 30px; }
.agenda-grid .views-field-title a { color:var(--nero) }
.agenda-grid .views-field-title a:hover { color:var(--blu) }
.agenda-grid .views-field-nothing { padding-right: 30px; font: var(--font-32); color: var(--nero); }
.agenda-grid .views-field-nothing .para_testo_appro_accordion { font: var(--font-16); color: var(--nero); }
.agenda-grid .views-field-nothing .field_titolo_approfondimento {font: var(--font-32);}
.agenda-grid .views-field-nothing .field_titolo_approfondimento:hover { color:var(--blu) }
.agenda-grid__col--tag, .agenda-grid__col--luogo, .agenda-grid__col--data { position: relative; }
.agenda-grid__col--actions { display:none;}
.perchi-overlay, .luogo-overlay, .quando-overlay { display: none; position: absolute; z-index: 10; background: var(--grigio_scuro); padding: 1rem; min-width: 200px; max-height: 300px; overflow-y: auto; top: 100%; left: 0; margin-top: 1rem; color:var(--blu) }
.quando-overlay { max-height: 500px; min-width: 280px; }
.perchi-overlay.is-open, .luogo-overlay.is-open, .quando-overlay.is-open { display: block; }
.perchi-overlay__list, .luogo-overlay__list { margin: 0; padding: 0; list-style: none; }
.perchi-overlay__list li, .luogo-overlay__list li { margin: 0; padding: 0; }
.perchi-overlay__list a, .luogo-overlay__list a, .quando-overlay a { display: block; padding-top: 0.5rem; color: var(--blu); text-decoration: none; font: var(--font-16); transition: ease all 0.2s; }
.perchi-overlay__list a:hover, .luogo-overlay__list a:hover, .quando-overlay a:hover { background-color: var(--blu); color: var(--bianco); }
.perchi-overlay__list a.is-selected, .luogo-overlay__list a.is-selected { background-color: var(--blu); color: var(--bianco); }
.agenda-grid .views-field-field-data .field-content {max-width: 100px;}

.agenda-tag .presentazione h1.term-title {position:initial;margin-bottom:2rem}
.agenda-tag .presentazione h2.term-subtitle {font: var(--font-16)}
.agenda-tag .presentazione h2.term-subtitle a {color: var(--nero)}

/* Webform aggiunte a Eventi in agenda */
.display-grid {
  display: grid;
}


/* Calendario sempre visibile */
.quando-calendar { width: 100%; margin-top: 1rem; padding-top: 1rem; border-top:1px solid var(--grigio_scuro) }
.quando-calendar__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.quando-calendar__nav { background: none; border: none; font-size: 2rem; color: var(--blu); cursor: pointer; padding: 0.5rem; line-height: 1; transition: ease all 0.2s; }
.quando-calendar__nav:hover { color: var(--bianco); background-color: var(--blu); }
.quando-calendar__month-year { display: flex; gap: 0.5rem; font: var(--font-16); color: var(--blu); }
.quando-calendar__weekdays { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0.25rem; margin-bottom: 0.5rem; }
.quando-calendar__weekdays > div { text-align: center; font: var(--font-16); color: var(--blu); padding: 0.25rem; }
.quando-calendar__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0.25rem; }
.quando-calendar__day { text-align: center; padding: 0.5rem; font: var(--font-16); color: var(--blu); cursor: pointer; transition: ease all 0.2s; border-radius: 0.25rem; }
.quando-calendar__day--empty { cursor: default; }
.quando-calendar__day:not(.quando-calendar__day--empty):hover { background-color: var(--blu); color: var(--bianco); }
.quando-calendar__day.is-selected { background-color: var(--blu); color: var(--bianco); font-weight: bold; }

.agenda_nascondo_filtri { display:none; }
.agenda_titolo_link { font: var(--font-16); }
.agenda_titolo_link_freccia { display:block; height: 100%; background-image:url("../images/giu.svg"); background-repeat: no-repeat; background-size: 22px; background-position: left bottom;}
.agenda-filter-value, .agenda-label-mobile { display: none; }
.agenda-label-desktop { display: inline; }
.agenda-grid__col--titolo input { background-color:var(--grigio_chiaro); color:var(--blu); border: none; padding: 0.2rem; font: var(--font-32); }
.agenda_dett_data, .agenda_dett_perchi, .agenda_dett_luogo { font: var(--font-16); color:var(--blu)}
.agenda_dett_data h1 { font: var(--font-24); color:var(--nero)}
.agenda_dett_foto { font: var(--font-16); color:var(--blu)}
.agenda_dett_testo { font: var(--font-16); padding-top:5rem;}
.agenda_dett_titolo { font: var(--font-32);}
.agenda_dettaglio_top { margin-top:10rem; border-top:1px solid var(--riga); padding-top:0.5rem; }
.news_testo { font: var(--font-24); padding-top:5rem;}
.news_summary  { font: var(--font-24); margin-top:1rem;}
.notizie-storie-view .pager {
    grid-column: 1 / -1;
    justify-self: center;
    margin-top: 3rem;
}


/* HP */
.hp_blocco_singolo, .hp-blocco-singolo { background-color: var(--grigio_chiaro); padding: 1rem; box-sizing: border-box; font:var(--font-24)}
.hp_blocco_singolo p, .hp-blocco-singolo p { margin:0; padding: 0; padding-bottom: 1rem;}
.hp_blocco_img { margin-bottom:2rem;}
.paragraph--type--home-page-2026-singolo-blocco { display:flex; flex-direction: column; justify-content: space-between; height: 100%}
.hp_blocco_link, .hp-blocco-link { margin-top:8rem;}
.hp_blocco_alto img, .hp-blocco-alto img { width:100%;}
.notizie-storie-data { color: var(--blu); margin-bottom: 2rem; font: var(--font-16);}
.notizie-storie-titolo { display: block; min-height: 10rem; margin-top: 1rem;  margin-bottom: 2rem;}
.notizie-storie-titolo a { color:var(--nero)}
.notizie-storie-tipo  { color: var(--blu);  font: var(--font-16);}

.video-wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
  aspect-ratio: auto 600 / 400; /* o il rapporto reale del video */
}
.video-wrapper iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
.video-cookie-banner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  text-align: center;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
}
.video-cookie-banner__btn {
  cursor: pointer;
  padding: 0.5rem 1.25rem;
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
  border-radius: 4px;
}
.video-cookie-banner__btn:hover {
  background: #fff;
  color: #000;
}
/* nasconde il banner appena arriva il consenso */
.video-wrapper.iub-consent-given .video-cookie-banner {
  display: none;
}

.hp_blocco_video {
	margin-bottom: 2rem;
}

.video-box {
  position: relative;
  overflow: hidden;
  margin-bottom: 2rem;
  aspect-ratio: auto 600 / 400; /* stessa proporzione dei box immagine */
}

.video-box video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;   /* qui basta object-fit, molto più semplice del trick di scala per iframe */
  transform: translate(-50%, -50%);
}

/* FAQ */
.faq_domanda { font:var(--font-24); border-top:1px solid var(--riga); padding-top:0.5rem; padding-bottom: 1rem; position: relative; cursor: pointer; transition:all ease 0.3s}
.faq_domanda::before { font:var(--font-24); position:absolute; color:var(--blu); right: 0; top: 0.5rem; content:"+"}
.faq_risposta { display: none;}
.faq_on, .faq_domanda:hover { color:var(--blu)}
.faq_on::before { content:"-"}


/* PROGETTI */
.field_gallery  { position:relative}
.slidesjs-previous {
    display: none;
}

.slidesjs-next {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    white-space: nowrap;
    z-index: 10
}

/* ==========================================================================
   B R E A K P O I N T   R E S P O N S I V E
   ========================================================================== */


/* Responsivo: su schermi stretti, impila e mostra il pannello sotto */
@media (max-width: 980px) {
    .logo img { margin-top: 1rem;}
    .footer img { height: 2rem;}
    .ham { margin-top:-1rem;}
    .menu_div1 { --left-col: 100%; min-height: auto; }
    .menu_div1 > nav > ul { width: 100%; font: var(--font-65); }
    .header_fixed { height: 6rem; } 

    /* I LI diventano blocchi verticali */
    .menu_div1 > nav > ul > li {  }

    /* Il trigger a tutta larghezza */
    .menu_div1 > nav > ul > li > .menu_int,
    .menu_div1 > nav > ul > li > a {
        display: block;
    }
    .menu_div1 > nav > ul > li.menu-item--mobile-login {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .menu_div1 > nav > ul > li.menu-item--mobile-footer-link {
        font: var(--font-16);
    }

    /* Il submenu deve stare nel flusso e partire chiuso */
    .menu_div1 > nav > ul > li > ul {
        position: static;      /* << toglie l’assoluto del desktop */
        width: 100%;
        display: none;         /* chiuso di default, verrà gestito in JS (slide) */
        padding: 1rem;
    }

    /* Stato aperto (fallback in assenza di JS durante painting) */
    .menu_div1 > nav > ul > li.menu-item--active-trail > ul {
        display: block;
        padding: .6rem 0;
    }
    .agenda-grid { padding-top: 0; }
    .agenda-grid__body { margin-top:2rem;}
    .agenda-grid__header.container {
        grid-template-columns: 1fr;
        gap: 0;
        padding-top: 2rem;
    }
    .agenda-grid__header .agenda-grid__col {
        grid-column: 1 / -1;
        width: 100%;
    }
    .agenda-grid__col--tag { order: 1; }
    .agenda-grid__col--luogo { order: 2; }
    .agenda-grid__col--data { order: 3; }
    .agenda-grid__col--titolo {
        order: 4;
        position: relative;
        border-top: 1px solid var(--riga);
    }
    .agenda-filter-trigger {
        display: grid;
        grid-template-columns: 9rem minmax(0, 1fr) 2rem;
        align-items: start;
        min-height: 2.8rem;
        padding-top: 5px;
        border-top: 1px solid var(--riga);
        background-position: right center;
        background-size: 1.4rem;
        color: var(--blu);
        text-decoration: none;
    }
    .agenda-filter-label {
        display: block;
        color: #999999;
        font: var(--font-16);
    }
    .agenda-filter-value {
        display: block;
        color: var(--blu);
        font: var(--font-16);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .agenda-label-mobile { display: inline; }
    .agenda-label-desktop { display: none; }
    .agenda-grid__col--titolo .agenda-search-heading {
        display: none;
    }
    .agenda-grid__col--titolo input {
        display: block;
        width: 100%;
        box-sizing: border-box;
        background: transparent;
        border: 0;
        color: var(--blu);
        font: var(--font-16);
        padding: 0.4rem 3rem 0.4rem 0;
    }
    .agenda-grid__col--titolo input::placeholder {
        color: #999999;
        opacity: 1;
    }
    .agenda-grid__col--titolo::before {
        content: "";
        position: absolute;
        right: 0.7rem;
        top: 50%;
        width: 0.5rem;
        height: 0.5rem;
        border: 1px solid #999999;
        border-radius: 50%;
        transform: translateY(-70%);
        pointer-events: none;
    }
    .agenda-grid__col--titolo::after {
        content: "";
        position: absolute;
        right: 0.45rem;
        top: 50%;
        width: 0.4rem;
        height: 1px;
        background: #999999;
        transform: translateY(0.25rem) rotate(45deg);
        transform-origin: left center;
        pointer-events: none;
    }
    .perchi-overlay,
    .luogo-overlay,
    .quando-overlay {
        left: 0;
        right: 0;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    .agenda_dett_testo { padding-top:0}
    .agenda-grid .views-field-field-data { order:1 }
    .agenda-grid .views-field-field-tag { order:2; text-align: right; }
    .agenda-grid .views-field-field-luogo { order:3 }
    .agenda-grid .views-field-title { order:4 }
    .agenda_dett_data { order:1 }
    .agenda_dett_perchi { order:2 }
    .agenda_dett_luogo { order:3 }
    .agenda_dett_titolo { order:4 }

    .servizio {
        display: block;
    }
    .menu_responsive {
        grid-template-columns: 1fr;  /* mobile: 1 colonna */
        grid-template-rows: auto;    /* righe automatiche una sotto l'altra */
    }
    .hp_blocco_img img { margin:-1rem}
    .menu_responsive span { display: none;}
    .servizio > .login { display: none; }
    .login ul li a { padding-left: 0; padding-top: 3rem; margin-left: 2rem; }
    .login ul li a::before { left: 0.9rem; margin-top: 0; top: -1rem; }
    .user-login-form { padding-top:5rem;}
    .footer_vivi { font: var(--font-24)}
    .footer-servizio { display:none; }
}


/* ≥ 768px: sm */
@media (min-width: 768px) {
}

/* ≥ 980px: md */
@media (min-width: 980px) {
    .logo  { order: 1; }
    .menu_1 { order: 2; }
    .servizio { order: 3; }
    .presentazione h1 { top: 1rem; }
    .para_testo {max-width: 97%;}
}

/* ≥ 1200px: lg */
@media (min-width: 1200px) {
    .ham_open .header_fixed { height: auto;/*50vh*//*box-shadow:2px 2px 60px rgba(0,0,255,0.08)*/ }
    .servizio { transform: scale(1) }
}

/* ≥ 1600px: xl */
@media (min-width: 1600px) {
    .presentazione { grid-column: 1 / span 10; grid-row: 1; }
}

/* ≥ 1920px: xxl */
@media (min-width: 1920px) {
}





/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
/*
    a[href]:after {
        content: " (" attr(href) ")";
    }
*/
    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}



/* ==========================================================================
   C O L O R B O X
   ========================================================================== */


#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
}
#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}
#cboxMiddleLeft, #cboxBottomLeft {
  clear: left;
}
#cboxContent {
  position: relative;
}
#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#cboxTitle {
  margin: 0;
}
#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/**
 * These elements are buttons, and may need to have additional
 * styles reset to avoid unwanted base styles.
 */
#cboxPrevious, #cboxNext, #cboxSlideshow {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none;
  cursor: pointer;
}

#cboxClose {
	background: none;
}
/**
 * Avoid outlines on :active (mouseclick),
 * but preserve outlines on :focus (tabbed navigating)
 */
#cboxPrevious:active, #cboxNext:active, #cboxClose:active, #cboxSlideshow:active {
  outline: 0;
}
.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
}
.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
/* Reset box sizing to content-box if theme is using border-box. */
#colorbox, #cboxContent, #cboxLoadedContent {
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

/**
 * Colorbox module plain style:
 * The styles are ordered & tabbed in a way that represents
 * the nesting of the generated HTML.
 */
#cboxOverlay {
  background: #3c3cff;
	    background-image: url(../images/logo_bianco.svg);
    background-repeat: no-repeat;
    background-size: 60px;
    background-position: 1.5em calc( 100% - 1.5em );
	opacity: 1 !important;
}
#colorbox {
  outline: 0;
}
  #cboxWrapper {
	  background: none;
}
    #cboxContent {
      overflow: hidden;
		background: none;
    }

      #cboxError {
        padding: 50px;
        border: 1px solid #ccc;
      }
      #cboxTitle {
        position: absolute;
        background: rgba(255, 255, 255, 0);
        bottom: 0;
        left: 0;
        color: #000000;
        width: 100%;
        padding: 4px 6px;
		font-size: 1.3rem;
      }

      #cboxLoadingOverlay {
        background: #3c3cff;
      }
      #cboxLoadingGraphic {
        background: url(images/loading_animation.gif) no-repeat center center;
      }
      #cboxClose.cbox-close-plain {
        position: absolute;
        font-size: 20px;
        line-height: 18px;
        text-align: center;
        color: rgba(255, 255, 255, 0.7);
        background: rgba(0, 0, 0, 0.5);
        top: 4px;
        right: 4px;
        width: 20px;
        height: 20px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        border-radius: 10px;
      }
      .cbox-close-plain:hover {
        color: rgba(255, 255, 255, 0.9);
        background: rgba(0, 0, 0, 0.8);
      }
#cboxCurrent {
	right:0; left:auto;
}
#cboxNext {
	background:url(../images/freccia_dx.svg) no-repeat;bottom: 4rem;  right: 1rem; left: auto;}
	#cboxNext:hover { background-position:0}


.acd_schede_admin ul { margin: 2rem 0.5rem;}
.acd_schede_admin ul li { display: inline-block; }
.acd_schede_admin ul li a { display: inline-block; background-color : #3c3cff; color: #ffffff; font-size: 2rem; margin: 1rem; padding: 1rem 2rem;  }
.acd_img_multipla_dida { font-size: 1.5rem;  padding-top: 1rem; padding-bottom: 2rem;}
.menu_service ul li a.nome_menu { font-size:1.2rem}
.multipli_ds .tabledrag-toggle-weight, .multipli_ds .webform-multiple-add { display:none; }
.webform_interno .form-item-terminato-capoequipe .form-checkbox, .webform_interno .form-item-archivio .form-checkbox { display:inline-block;}

.captcha-reminder-banner {
  background: #fff8e1;
  border: 2px solid #f9a825;
  border-radius: 6px;
  padding: 12px 16px;
  margin-bottom: 20px;
  font-weight: 600;
  color: #6d4c00;
}
.captcha-reminder-banner a {
  text-decoration: underline;
  color: #d32f2f;
}

/* ==========================================================================
   W E B F O R M   S O S P E T T O   M A L T R A T T A M E N T O
   ========================================================================== */
#webform-submission-sospetto-maltrattamento-edit-form .capo_equipe input,
#webform-submission-sospetto-maltrattamento-edit-form .capo_equipe select,
#webform-submission-sospetto-maltrattamento-edit-form .capo_equipe .select_wrapper,
#webform-submission-sospetto-maltrattamento-edit-form .capo_equipe textarea {
  background: #f1f8eb;
  border: 1px solid #e6f4d8;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 1px;
  text-overflow: '';
}

#webform-submission-sospetto-maltrattamento-edit-form .direzione_sanitaria_style_wrapper input,
#webform-submission-sospetto-maltrattamento-edit-form .direzione_sanitaria_style_wrapper select,
#webform-submission-sospetto-maltrattamento-edit-form .direzione_sanitaria_style_wrapper textarea {
  background: #FAFAFA;
}
.form-readonly .webform-multiple-table--operations-two, .user-logged-in div[role="complementary"]  { display: none;}

.vista-dashboard.maltrattamento table caption {opacity: 0;visibility: hidden;}

/*webform*/
.webform_interno, .webform-interno { font: var(--font-16); text-wrap: balance; margin-bottom: 10rem;}
.form-iscrizione-wrapper.webform_interno { margin-right:0;margin-top:7rem;}
.webform_interno#block-views-dashboard-direttore, .webform_interno#block-views-dashboard-direzione, .webform-interno { margin-right:0}
.webform-interno { margin:0}
.js-form-type-radio { margin-top:2rem; display: flex; align-items: flex-start;}
.webform_interno_mod, .webform-interno-mod { margin-left: 0; margin-right: 0}
.webform_interno label, .webform-interno label{ display: block; margin-top: 2rem; position: relative}
.webform_interno #edit-partecipa-a label { display:inline-block}
.webform_interno label.option, .webform-interno label.option{ margin-top: 0; padding-left: 1rem; padding-top: 0.5rem;}
.webform_interno label.js-form-required, .webform-interno label.js-form-required { color: #B90000;}
.webform_interno label.js-form-required:after, .webform-interno label.js-form-required:after {
  content: "*";
  color: #B90000;
  margin-left: 0.5rem;
  font-size: 100%;
  position: absolute;
  margin-top: 0;
}
.webform_interno .js-form-type-date, .webform_interno .js-form-type-webform-time, .webform-interno .js-form-type-date, .webform-interno .js-form-type-webform-time { display: inline-block; margin-right: 3rem;}
.webform_interno .description, .webform-interno .description {text-align: left; color: #3c3cff}
.contenuti .hl { color: #3c3cff; }
.webform_interno input, .webform_interno textarea, .webform_interno select, .webform-interno input, .webform-interno textarea, .webform-interno select, .user-login-form input, .user-pass input, .user-form input {  padding: 0.5rem; border:1px solid var(--grigio_chiaro); width: 100%; margin-top: 0.5rem; margin-bottom: 1rem;  background-color: var(--grigio_chiaro); box-sizing: border-box; }
.form-iscrizione-wrapper .webform_interno input, .form-iscrizione-wrapper .webform_interno textarea, .form-iscrizione-wrapper .webform_interno select, .form-iscrizione-wrapper .webform-interno input, .form-iscrizione-wrapper .webform-interno textarea, .form-iscrizione-wrapper .webform-interno select, .form-iscrizione-wrapper .user-login-form input, .form-iscrizione-wrapper .user-pass input, .form-iscrizione-wrapper .user-form input {  margin-bottom: 0rem; }
.vista-dash-utenti .views-row { padding-bottom:0.5rem; border-bottom:1px dotted #efefef; margin-bottom:0.5rem}
.vista-dash-utenti .views-row div { display:inline-block; padding-right: 2rem;}

.user-pass input { margin-bottom:1rem;}
.webform_interno input.form-radio, .webform-interno input.form-radio{ width: auto; text-align: left; }
.webform_interno .select_wrapper, .webform-interno .select_wrapper { border:1px solid var(--grigio_chiaro); width:100%; margin-top: 0.5rem;}
.webform_interno .form-submit, .webform-interno .form-submit, .user-login-form .js-form-submit, .user-pass .js-form-submit,
.user-pass-reset .js-form-submit, .user-form .js-form-submit, .bottone_blu, .contenuti a.bottone_blu { background-color:#3c3cff; color: #FFFFFF;  font-family: 'HelveticaNormal'; padding: 1rem 3rem; font-size: 2rem; border: 0; margin-top: 2rem; width: auto; text-decoration: none; display: inline-block;}
.webform_interno .form-submit.is-disabled, .webform-interno .form-submit.is-disabled, .user-login-form .js-form-submit.is-disabled,
.user-pass .js-form-submit.is-disabled, .user-pass-reset .js-form-submit.is-disabled, .user-form .js-form-submit.is-disabled {background-color: #61666f
}
.webform_interno .webform-required, .webform-interno .webform-required {color: #B90000; font-size: 1.6rem; margin-bottom: 2rem}
.webform_interno .form-checkbox, .webform-interno .form-checkbox { display: none;}
.webform_interno .form-item-payment-acceptation .form-checkbox,
.webform_interno .form-item-newsletter .form-checkbox { display: inline-block; width: 2rem}
.webform_interno .form-item-newsletter  { margin-top:1rem}
.webform_interno .form-item-payment-acceptation label,
.webform_interno .form-item-newsletter label { display:inline-block;}
.webform_interno .toggle-slide, .webform_interno .toggle-blob, .webform-interno .toggle-slide, .webform-interno .toggle-blob { z-index: 1;}

.webform_interno .form-item-pickup-address-number > label,
.webform_interno .form-item-pickup-address-number > label,
.webform_interno .form-item-prelievo-domicilio > label {
  margin-top: 0 !important;
}
.webform_interno .form-item-prelievo-domicilio,
.webform_interno .form-item-pickup-custom-address,
.webform_interno .form-item-destination-custom-address,
.webform_interno .form-item-domicile-custom-address {
  margin-top: 2rem;
}
.webform_interno .webform-readonly.readonly .form-textarea {
  border: 0 !important;
  padding: 0;
  color: #4848b5;
}

.webform_interno.webform_evento .form-checkbox {
  appearance: none;
  background-color: #fff;
  margin: 0;
  font: inherit;
  color: #3c3cff;
  width: 1.15em;
  height: 1.15em;
  border: 1px solid #3c3cff;
  border-radius: 0.15em;
  transform: translateY(-0.075em);display: grid;
  place-content: center;
}
.webform_interno.webform_evento .form-checkbox::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em #3c3cff;
}

.webform_interno.webform_evento .form-checkbox:checked::before {
  transform: scale(1);
}
.webform_interno.webform_evento .js-form-type-checkbox label { margin-top:-2.5rem; margin-left: 2.5rem}
.webform_interno.webform_evento .js-form-type-checkbox { margin-top:1.5rem; margin-bottom:0.5rem}
.webform_interno.webform_evento .description { font-style: normal; color: #3c3cff; font-size: 1.2rem; text-align: left; margin-left: 3.5rem; margin-top: 0.5rem }
.webform_interno.webform_evento .description strong { font-size: 1.5rem; color:#000000; padding-bottom: 0.5rem; display: block; line-height: 1.6rem}
.webform_interno.webform_evento .description strong.hl {color: #3c3cff; display: inline-block;font-size: 1.2rem;margin-top:0.5rem;}
.webform_interno.webform_evento .js-form-type-checkbox label em { font-style: normal; color: #666666; font-size: 1.2rem; }
.webform_interno.webform_evento .js-form-type-checkbox label em.finito { color: #B90000;}

.webform_interno.webform_evento .form-disabled .form-checkbox { color: #999999; border: 1px solid #999999;}
.webform_interno.webform_evento .form-disabled { color: #999999; }
.webform_interno.webform_evento .form-item-newsletter { margin-top:3rem; }
.webform_interno.webform_evento .form-item-newsletter label { position:absolute; }
.webform_interno.webform_evento .form-item-numero-accompagnatori-pranzo, .webform_interno.webform_evento .modulo_partecipante, .webform_interno.webform_evento .form-item-orario-passeggiata { margin-left:3.5rem}


.user-login-form .description, .user-form .description { font-size:1.2rem; margin-top: 0.5rem; }
.user-login-form labe, .user-form label { margin-top: 2rem; display: block;}
.password-suggestions ul { padding-left:2rem;}
.reset_password { font-size:1.4rem; padding-left: 1.5rem; padding-top: 1rem; }
#block-yi-custom-help, .webform_interno_mod #webform-submission-navigation-, .webform_interno_mod details, .webform-interno_mod #webform-submission-navigation-, .webform-interno_mod details { display:none;}
.form-composite.webform-fieldset--title-inline legend { float:none; }
.form-composite.webform-composite-visible-title legend { border-bottom:1px solid #3c3cff; width: 100%; padding-bottom: 0.5rem;}
.direzione_sanitaria_style_wrapper { background-color:#efefef; padding: 2rem; margin-top:2rem;}
.direzione_sanitaria_style_wrapper h2 { margin:0; padding: 0; color: #3c3cff; font-family: 'standard_ctmedium';}
.role-direzione_sanitaria .webform_interno .no_direzione_sanitaria input,
.role-direzione_sanitaria .webform_interno .no_direzione_sanitaria textarea,
.role-direzione_sanitaria .webform_interno .no_direzione_sanitaria select,
.role-direzione_sanitaria .webform_interno .no_direzione_sanitaria .js-form-type-webform-toggle,
.role-direzione_acd .webform_interno .no_direzione_sanitaria input,
.role-direzione_acd .webform_interno .no_direzione_sanitaria textarea,
.role-direzione_acd .webform_interno .no_direzione_sanitaria select,
.role-direzione_acd .webform_interno .no_direzione_sanitaria .js-form-type-webform-toggle,
.role-direzione_sanitaria .webform-interno .no_direzione_sanitaria input,
.role-direzione_sanitaria .webform-interno .no_direzione_sanitaria textarea,
.role-direzione_sanitaria .webform-interno .no_direzione_sanitaria select,
.role-direzione_sanitaria .webform-interno .no_direzione_sanitaria .js-form-type-webform-toggle,
.role-direzione_acd .webform-interno .no_direzione_sanitaria input,
.role-direzione_acd .webform-interno .no_direzione_sanitaria textarea,
.role-direzione_acd .webform-interno .no_direzione_sanitaria select,
.role-direzione_acd .webform-interno .no_direzione_sanitaria .js-form-type-webform-toggle { pointer-events:none; }
.webform-submission-navigation { display:none;}
/*.da_completare { background-color:#F8CF9B}*/
.vista-dashboard table { width:100%; margin: 0; padding: 0; border-spacing: 0; border-collapse: collapse; }
.vista-dashboard table td { padding:0.5rem;  margin: 0;border-top:1px dotted #ccc; font-size: 1.4rem;}
.vista-dashboard table tr:hover td { background-color: #efefef;}
.vista-dashboard table th { padding:1rem; text-align: left; font-size: 1.5rem}
.vista-dashboard {}
.vista-dashboard .views-exposed-form { display:flex; align-items: flex-end; margin-bottom: 3rem;}
.vista-dashboard .views-exposed-form div { margin-right:1rem;}




/*paging form */
.pager { text-align:center; }
.pager ul.pager__items { display:inline-block; margin: 0; padding: 0; list-style: none}
.pager ul.pager__items .pager__item { display: inline-block; font-size: 1.2rem}
.pager ul.pager__items .pager__item:not(.pager__item--next, .pager__item--last, .pager__item--first, .pager__item--previous) a { display: inline-block; background-color: #b2b2b2; color:#000000; transition: ease all 0.4s; width: 3rem; height: 3rem; line-height: 3rem; border-radius: 50%; }
.pager ul.pager__items .pager__item:not(.pager__item--next, .pager__item--last, .pager__item--first, .pager__item--previous) a:hover { background-color: #666666;}
.pager ul.pager__items .pager__item.is-active a { background-color: #3c3cff; color:#ffffff;}
.pager ul.pager__items .pager__item--ellipsis { display:none; }

.notizie-storie-view .pager ul.pager__items .pager__item:not(.pager__item--last, .pager__item--first) a { display: inline-block;
    background-color: #b2b2b2;
    color: #000000;
    transition: ease all 0.4s;
    width: 3rem;
    height: 3rem;
    line-height: 3rem;
    border-radius: 50%;}

/* CONTATTI COLORI DIVERSI E ACCORDION */
.node-15080 .para_titolo h3{ color:var(--nero) }
.node-15080 .para_testo a { color:var(--nero); text-decoration: underline}
.node-15080 .para_testo a:hover { color:var(--nero); text-decoration: none}


.node-15080 .field_testo_approfondimento h4 {
    cursor: pointer;
    position: relative;
  border-bottom: 1px solid var(--grigio_scuro);
}

body.role-authenticated #block-yi-acd-new-menumoduli > ul::before {content: 'personale ACD';font: var(--font-65); color: var(--grigio_scuro);display: block;position: absolute;z-index: 1;opacity: 0.7;left: -4px;top: 9.6rem;}
body.role-authenticated #block-yi-acd-new-menumoduli {display:flex;background: #e9e9e9;padding: .5rem;margin-top:14rem;margin-bottom:4rem}
body.role-authenticated #block-yi-acd-new-menumoduli > ul {display:flex;flex:1 1 100%;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;margin:0;padding:0}
body.role-authenticated #block-yi-acd-new-menumoduli > ul > li {display:flex;flex:0 0 auto;margin:0;padding: 2rem;flex-wrap:wrap;flex-direction:column;font: var(--font-16);margin:5px;background: #f3f3f3;}
body.role-authenticated #block-yi-acd-new-menumoduli > ul > li > span {color: var(--dark-gray);text-decoration:none;outline:none}
body.role-authenticated #block-yi-acd-new-menumoduli > ul > li > a {color: var(--blu);text-decoration:none;outline:none}
body.role-authenticated #block-yi-acd-new-menumoduli > ul > li > ul {margin:0 0 0 1rem;padding:0;display:flex;flex-direction:column;list-style: inside;}
body.role-authenticated #block-yi-acd-new-menumoduli > ul > li > ul > li {margin:0;padding:0;font: var(--font-16)}
body.role-authenticated #block-yi-acd-new-menumoduli > ul > li > ul > li span {color: var(--mid-gray);text-decoration:none;outline:none}
body.role-authenticated #block-yi-acd-new-menumoduli > ul > li > ul > li a {color: var(--blu);text-decoration:none;outline:none}
body.role-authenticated #block-yi-acd-new-menumoduli > ul > li > ul > li a.is-active {color: var(--rosso)}
body.admin, body.toolbar-horizontal, body.toolbar-fixed {padding-top: 7rem;}
body.admin .header_fixed,body.toolbar-horizontal .header_fixed,body.toolbar-fixed .header_fixed {top: 7rem;z-index: 500;}
body.role-authenticated:not([class*="path-agenda-"]) .vista-dashboard {padding: 5rem 0;}
body.role-authenticated:not([class*="path-agenda-"]) .vista-dashboard.webform_interno {padding: 5rem 2rem;/*border: 10px solid #dfdfdf;*/margin: 0 0 10px 0;}
body.role-authenticated:not([class*="path-agenda-"]) .webform_interno {padding: 5rem 2rem;/*border: 10px solid #bfbffe;*/margin: 0 0 10px 0;}

body.role-authenticated:not([class*="path-agenda-"]).path-congedi-da-completare .vista-dashboard.webform-interno,
body.role-authenticated:not([class*="path-agenda-"]).path-esposizione-amministrazione .vista-dashboard.webform-interno,
body.role-authenticated:not([class*="path-agenda-"]).path-congedi-completati .vista-dashboard.webform-interno,
body.role-authenticated:not([class*="path-agenda-"]).path-danni-da-completare .vista-dashboard.webform-interno,
body.role-authenticated:not([class*="path-agenda-"]).path-danni-completati .vista-dashboard.webform-interno,
body.role-authenticated:not([class*="path-agenda-"]).path-festivita-da-completare .vista-dashboard.webform-interno,
body.role-authenticated:not([class*="path-agenda-"]).path-festivita-completati .vista-dashboard.webform-interno,
body.role-authenticated:not([class*="path-agenda-"]).path-incidente-da-completare .vista-dashboard.webform-interno,
body.role-authenticated:not([class*="path-agenda-"]).path-incidente-completati .vista-dashboard.webform-interno {padding: 5rem 2rem;/*border: 10px solid #dfdffe;*/margin: 0 0 10px 0;}

body.role-authenticated:not([class*="path-agenda-"]) .documents h2 {font: var(--font-32);color: var(--blu);margin:71px 20px 0 20px}
body.role-authenticated:not([class*="path-agenda-"]) .ws-not-read-documents--block h2,
body.role-authenticated:not([class*="path-agenda-"]) .ws-read-documents--block h2 {font: var(--font-32);margin: 21px 28px;}
body.role-authenticated:not([class*="path-agenda-"]) .vista-dashboard h2,
body.role-authenticated:not([class*="path-agenda-"]) .webform_interno h2.voce-menu-corrente {font: var(--font-32);color: var(--blu);}


/* Push fisso del contenuto, solo in homepage. Il valore va tarato
   guardando quanto il logo si ingrandisce al massimo (vedi nota sotto
   sul perché lo impostiamo via JS invece di un numero fisso in CSS). */

/* Menu nascosto finché il logo è ancora ingrandito */
body.path-frontpage.yi-acd-home-intro .servizio {
  visibility: hidden;
  pointer-events: none;
}
.logo svg {
  transform-origin: top left;
  opacity: 0;
  transition: opacity 400ms ease;
}

.logo:not(.yi-acd-logo-not-ready) svg {
  opacity: 1;
}
.logo.yi-acd-logo-not-ready svg * {
  animation-play-state: paused !important;
}
.logo.yi-acd-logo-restarting svg * {
  animation: none !important;
}
body.path-frontpage .page_content {
  padding-top: 350px; /* stima ragionevole per desktop, regola guardando il risultato */
}

@media (max-width: 980px) {
  body.path-frontpage .page_content {
    padding-top: 280px; /* stima ragionevole per mobile, regola guardando il risultato */
  }
}

.agenda-gen-fine-registrazione > div:first-child {font: var(--font-16);display:inline-block;font-weight:bold;}
.agenda-gen-fine-registrazione > div:first-child::after {content: ": ";}
.agenda-gen-fine-registrazione > div:last-child {font: var(--font-16);display:inline-block;}
