@charset "UTF-8";
/* base settings */
.title-font {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
}

.copy-font {
  font-family: "Lato", sans-serif;
  font-weight: normal;
}

@font-face {
  font-family: "flaticon_cd_diffusione";
  src: url("./fonts/flaticon_cd_diffusione.woff2?77045f2a7cccb4620c3dfcc4f2bcc025") format("woff2"), url("./fonts/flaticon_cd_diffusione.woff?77045f2a7cccb4620c3dfcc4f2bcc025") format("woff"), url("./fonts/flaticon_cd_diffusione.eot?77045f2a7cccb4620c3dfcc4f2bcc025#iefix") format("embedded-opentype"), url("./fonts/flaticon_cd_diffusione.ttf?77045f2a7cccb4620c3dfcc4f2bcc025") format("truetype"), url("./fonts/flaticon_cd_diffusione.svg?77045f2a7cccb4620c3dfcc4f2bcc025#flaticon_cd_diffusione") format("svg");
}
i[class^=flaticon-]:before, i[class*=" flaticon-"]:before {
  font-family: flaticon_cd_diffusione !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.flaticon-youtube:before {
  content: "\f101";
}

.flaticon-layout:before {
  content: "\f102";
}

.flaticon-signpost:before {
  content: "\f103";
}

.flaticon-computer:before {
  content: "\f104";
}

.flaticon-attach:before {
  content: "\f105";
}

.flaticon-coffee:before {
  content: "\f106";
}

.flaticon-graduation:before {
  content: "\f107";
}

.flaticon-arrow-down:before {
  content: "\f108";
}

.flaticon-settings:before {
  content: "\f109";
}

.flaticon-check:before {
  content: "\f10a";
}

.flaticon-copy:before {
  content: "\f10b";
}

.flaticon-add:before {
  content: "\f10c";
}

:root {
  --color--primary: $red;
  --color--secondary: $blue;
}

/* mattarello */
/* grids */
/* text sizes */
/* typography measures */
/* components */
/* radiuses */
/* animations */
/* forms */
/* cards */
/* icons */
/*
 * colors
 */
/* overlays */
/* borders */
/* block backgrounds */
/* wireframe */
/* shadows */
/*
Copy to your sass if you want to use base fonts

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@700&family=Roboto+Condensed&family=Source+Serif+Pro:ital,wght@0,400;0,700;1,400;1,700&display=swap');
*/
.title-font {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  line-height: 1.2;
}

.copy-font {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
}

:root {
  --unit: 1.5rem;
  --component-padding: 2.5rem;
  /* font-size */
  --font-scale-factor: 1.35;
  --font-size--m: 1.2rem;
  --font-size--s: calc(var(--font-size--m)/var(--font-scale-factor));
  --font-size--xs: calc(var(--font-size--s)/var(--font-scale-factor));
  --font-size--l: calc(var(--font-size--m)*var(--font-scale-factor));
  --font-size--xl: calc(var(--font-size--l)*var(--font-scale-factor));
  --font-size--xxl: calc(var(--font-size--xl)*var(--font-scale-factor));
  --font-size--xxxl: calc(var(--font-size--xxl)*var(--font-scale-factor));
  --text-line-height: 1.64;
  /* color */
  --color-primary: var(--color-black);
  --color-secondary: #009ca6;
  --color-tertiary: #f74c02;
  --color-white: #FFFFFF;
  --color-black: #222;
  --color-light-grey: #f0f0f0;
  --color-text: var(--color-black);
  --color-body-bg: var(--color-white);
  --subtle-color: #ddd;
  /* links */
  --color-link:var(--color-black);
  --color-link-decoration:none;
}

/**
 * modified version of eric meyer's reset 2.0
 * http://meyerweb.com/eric/tools/css/reset/
 */
/**
 * basic reset
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, main,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/**
 * HTML5 display-role reset for older browsers
 */
article, aside, details, figcaption, figure,
footer, header, menu, nav, section,
main, summary {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.hide {
  display: none;
}

.show {
  display: block;
}

.display-block {
  display: block;
}

/*
 * compass compatibility
 */
*,
*:after,
*:before {
  box-sizing: border-box;
}

.container {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
.container.with-content {
  padding-left: var(--unit);
  padding-right: var(--unit);
}

.row {
  width: 100%;
  display: table;
  table-layout: fixed;
  padding: 0;
  margin: 0;
}
.row.collapse .col {
  padding-left: 0;
  padding-right: 0;
}
.row.no-margin > [class*=col]:first-child {
  padding-left: 0;
}
.row.no-margin > [class*=col]:last-child {
  padding-right: 0;
}

.col-1 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 8.3333333333%;
  vertical-align: top;
}

.row.collapse .col-1 {
  padding-left: 0;
  padding-right: 0;
}

.col-2 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 16.6666666667%;
  vertical-align: top;
}

.row.collapse .col-2 {
  padding-left: 0;
  padding-right: 0;
}

.col-3 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 25%;
  vertical-align: top;
}

.row.collapse .col-3 {
  padding-left: 0;
  padding-right: 0;
}

.col-4 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 33.3333333333%;
  vertical-align: top;
}

.row.collapse .col-4 {
  padding-left: 0;
  padding-right: 0;
}

.col-5 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 41.6666666667%;
  vertical-align: top;
}

.row.collapse .col-5 {
  padding-left: 0;
  padding-right: 0;
}

.col-6 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 50%;
  vertical-align: top;
}

.row.collapse .col-6 {
  padding-left: 0;
  padding-right: 0;
}

.col-7 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 58.3333333333%;
  vertical-align: top;
}

.row.collapse .col-7 {
  padding-left: 0;
  padding-right: 0;
}

.col-8 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 66.6666666667%;
  vertical-align: top;
}

.row.collapse .col-8 {
  padding-left: 0;
  padding-right: 0;
}

.col-9 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 75%;
  vertical-align: top;
}

.row.collapse .col-9 {
  padding-left: 0;
  padding-right: 0;
}

.col-10 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 83.3333333333%;
  vertical-align: top;
}

.row.collapse .col-10 {
  padding-left: 0;
  padding-right: 0;
}

.col-11 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 91.6666666667%;
  vertical-align: top;
}

.row.collapse .col-11 {
  padding-left: 0;
  padding-right: 0;
}

.col-12 {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
  width: 100%;
  vertical-align: top;
}

.row.collapse .col-12 {
  padding-left: 0;
  padding-right: 0;
}

.row.border > *[class*=col] {
  border: 1px solid var(--color-black);
}

.row.vcenter {
  vertical-align: middle;
}
.row.vcenter > *[class*=col] {
  vertical-align: middle;
}

.row.vbottom {
  vertical-align: bottom;
}
.row.vbottom > *[class*=col] {
  vertical-align: bottom;
}

.row.vtop {
  vertical-align: top;
}
.row.vtop > *[class*=col] {
  vertical-align: top;
}

.row.auto {
  width: 100%;
  table-layout: auto;
}

.col {
  display: table-cell;
  padding-left: var(--unit);
  padding-right: var(--unit);
}

.col.center {
  text-align: center;
}

.vcenter {
  vertical-align: middle;
}

.col-full {
  padding-left: var(--unit);
  padding-right: var(--unit);
}

.grid-up-1 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(1, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-1.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-2 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-2.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-3 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-3.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-4 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-4.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-5 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-5.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-6 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(6, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-6.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-7 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(7, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-7.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-8 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(8, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-8.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-9 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(9, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-9.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-10 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(10, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-10.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-11 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(11, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-11.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-12 {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(12, minmax(5rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.grid-up-12.grid-equalize-heights {
  align-items: stretch;
}

.grid-up-auto, .view-id--attestato .view--rows,
.view-id--artefatti .view--rows,
.view-id--guide .view--rows,
.view-id--materiae-didattico .view--rows, .view-id--eventi .view--rows {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
  align-items: start;
}
.grid-up-auto.grid-equalize-heights, .view-id--attestato .grid-equalize-heights.view--rows,
.view-id--artefatti .grid-equalize-heights.view--rows,
.view-id--guide .grid-equalize-heights.view--rows,
.view-id--materiae-didattico .grid-equalize-heights.view--rows, .view-id--eventi .grid-equalize-heights.view--rows {
  align-items: stretch;
}

.grid-up-auto-10 {
  max-width: 100%;
  padding-left: var(--unit);
  padding-right: var(--unit);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  grid-template-rows: auto;
  row-gap: var(--unit);
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
  align-items: start;
}
.grid-up-auto-10.grid-equalize-heights {
  align-items: stretch;
}

@media only screen and (max-width: 767px) {
  .row {
    display: table;
    width: 100%;
  }
  .row.mobile-stack {
    display: block;
  }
  .col {
    display: block;
    width: 100%;
  }
  .mob-stack {
    display: block;
  }
  .col-1 {
    display: block;
    width: 100%;
  }
  .col-2 {
    display: block;
    width: 100%;
  }
  .col-3 {
    display: block;
    width: 100%;
  }
  .col-4 {
    display: block;
    width: 100%;
  }
  .col-5 {
    display: block;
    width: 100%;
  }
  .col-6 {
    display: block;
    width: 100%;
  }
  .col-7 {
    display: block;
    width: 100%;
  }
  .col-8 {
    display: block;
    width: 100%;
  }
  .col-9 {
    display: block;
    width: 100%;
  }
  .col-10 {
    display: block;
    width: 100%;
  }
  .col-11 {
    display: block;
    width: 100%;
  }
  .col-12 {
    display: block;
    width: 100%;
  }
  .mob-1 {
    width: 8.3333333333%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-2 {
    width: 16.6666666667%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-3 {
    width: 25%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-4 {
    width: 33.3333333333%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-5 {
    width: 41.6666666667%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-6 {
    width: 50%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-7 {
    width: 58.3333333333%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-8 {
    width: 66.6666666667%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-9 {
    width: 75%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-10 {
    width: 83.3333333333%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-11 {
    width: 91.6666666667%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .mob-12 {
    width: 100%;
    display: table-cell;
    vertical-align: top;
    padding-left: var(--unit);
    padding-right: var(--unit);
  }
  .n-up > li,
  .n-up.auto-width > li {
    display: block;
    width: 100%;
    float: none;
  }
  .mobile-n-up-1 > li {
    width: 100%;
  }
  .mobile-n-up-1 > li:nth-child(1n+1) {
    clear: left;
  }
  .mobile-n-up-2 > li {
    width: 50%;
  }
  .mobile-n-up-2 > li:nth-child(2n+1) {
    clear: left;
  }
  .mobile-n-up-3 > li {
    width: 33.3333333333%;
  }
  .mobile-n-up-3 > li:nth-child(3n+1) {
    clear: left;
  }
  .mobile-n-up-4 > li {
    width: 25%;
  }
  .mobile-n-up-4 > li:nth-child(4n+1) {
    clear: left;
  }
  .mobile-n-up-5 > li {
    width: 20%;
  }
  .mobile-n-up-5 > li:nth-child(5n+1) {
    clear: left;
  }
  .mobile-n-up-6 > li {
    width: 16.6666666667%;
  }
  .mobile-n-up-6 > li:nth-child(6n+1) {
    clear: left;
  }
  .mobile-n-up-7 > li {
    width: 14.2857142857%;
  }
  .mobile-n-up-7 > li:nth-child(7n+1) {
    clear: left;
  }
  .mobile-n-up-8 > li {
    width: 12.5%;
  }
  .mobile-n-up-8 > li:nth-child(8n+1) {
    clear: left;
  }
  .mobile-n-up-9 > li {
    width: 11.1111111111%;
  }
  .mobile-n-up-9 > li:nth-child(9n+1) {
    clear: left;
  }
  .mobile-n-up-10 > li {
    width: 10%;
  }
  .mobile-n-up-10 > li:nth-child(10n+1) {
    clear: left;
  }
  .mobile-n-up-11 > li {
    width: 9.0909090909%;
  }
  .mobile-n-up-11 > li:nth-child(11n+1) {
    clear: left;
  }
  .mobile-n-up-12 > li {
    width: 8.3333333333%;
  }
  .mobile-n-up-12 > li:nth-child(12n+1) {
    clear: left;
  }
  .grid-up-1 {
    display: block;
  }
  .grid-up-1 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-2 {
    display: block;
  }
  .grid-up-2 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-3 {
    display: block;
  }
  .grid-up-3 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-4 {
    display: block;
  }
  .grid-up-4 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-5 {
    display: block;
  }
  .grid-up-5 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-6 {
    display: block;
  }
  .grid-up-6 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-7 {
    display: block;
  }
  .grid-up-7 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-8 {
    display: block;
  }
  .grid-up-8 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-9 {
    display: block;
  }
  .grid-up-9 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-10 {
    display: block;
  }
  .grid-up-10 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-11 {
    display: block;
  }
  .grid-up-11 > * {
    margin-bottom: var(--unit);
  }
  .grid-up-12 {
    display: block;
  }
  .grid-up-12 > * {
    margin-bottom: var(--unit);
  }
  .mobile-grid-up-1 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(1, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-1.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-2 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(2, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-2.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-3 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(3, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-3.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-4 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(4, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-4.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-5 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(5, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-5.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-6 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(6, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-6.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-7 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(7, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-7.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-8 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(8, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-8.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-9 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(9, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-9.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-10 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(10, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-10.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-11 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(11, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-11.grid-equalize-heights {
    align-items: stretch;
  }
  .mobile-grid-up-12 {
    max-width: 100%;
    padding-left: var(--unit);
    padding-right: var(--unit);
    display: grid;
    grid-template-columns: repeat(12, minmax(5rem, 1fr));
    grid-template-rows: auto;
    row-gap: var(--unit);
    -moz-column-gap: var(--unit);
         column-gap: var(--unit);
  }
  .mobile-grid-up-12.grid-equalize-heights {
    align-items: stretch;
  }
}
.grid-page {
  display: grid;
  grid-template-columns: minmax(2.5rem, 1fr) min(45 * 1.2rem, 100% - 4.5rem) minmax(2.5rem, 1fr);
}
@media only screen and (max-width: calc(min(45 * 1.2rem, 100% - 4.5rem) * 1.2 + 6rem)) {
  .grid-page {
    grid-template-columns: 1.25rem 1fr 1.25rem;
  }
}

.huge-text,
.xxl-text {
  font-size: var(--font-size--xxl);
}

.large-text,
.l-text {
  font-size: var(--font-size--l);
}

.big-text,
.xl-text {
  font-size: var(--font-size--xl);
}

.small-text,
.s-text {
  font-size: var(--font-size--s);
}

.tiny-text,
.xs-text {
  font-size: var(--font-size--xs);
}

.normal-text,
.m-text {
  font-size: var(--font-size--m);
}

.hero-text,
.xxxl-text {
  font-size: var(--font-size--xxxl);
}

/* headings */
h1, h2, h3, h4, h5, h6 {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  margin-bottom: 0.5em;
  line-height: 1.2;
  display: block;
  text-wrap: balance;
}

h1 {
  font-size: var(--font-size--xxxl);
}
h1 small {
  font-size: var(--font-size--xl);
}

h2 {
  font-size: var(--font-size--xxl);
}
h2 small {
  font-size: var(--font-size--l);
}

h3 {
  font-size: var(--font-size--xl);
}
h3 small {
  font-size: var(--font-size--m);
}

h4 {
  font-size: var(--font-size--l);
}
h4 small {
  font-size: var(--font-size--s);
}

h5 {
  font-size: var(--font-size--m);
}

h6 {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  font-size: var(--font-size--m);
}

/* text-container */
.text-container, .cke_editable {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
  -webkit-hyphens: none;
          hyphens: none;
  max-width: 35em;
  line-height: var(--text-line-height);
}
.text-container * + h2, .cke_editable * + h2,
.text-container * + h3,
.cke_editable * + h3,
.text-container * + h4,
.cke_editable * + h4,
.text-container * + h5,
.cke_editable * + h5,
.text-container * + h6,
.cke_editable * + h6 {
  margin-top: 1.5em;
}
.text-container p, .cke_editable p {
  margin-bottom: 1em;
}
.text-container p:last-child, .cke_editable p:last-child {
  margin-bottom: 0;
}
.text-container table th, .cke_editable table th {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  text-align: left;
}
.text-container table td, .cke_editable table td,
.text-container table th,
.cke_editable table th {
  padding: 0.25em 1em 0.25em 0.25em;
  vertical-align: top;
  border-bottom: 1px dotted var(--subtle-color);
}
.text-container figure, .cke_editable figure {
  margin-bottom: 2em;
}
.text-container figure figcaption, .cke_editable figure figcaption {
  font-size: var(--font-size--s);
}
.text-container em, .cke_editable em {
  font-family: "Lato";
  font-style: italic;
  font-weight: normal;
  letter-spacing: 0;
}
.text-container strong, .cke_editable strong {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
}
.text-container ul, .cke_editable ul,
.text-container ol,
.cke_editable ol,
.text-container dl,
.cke_editable dl {
  margin-bottom: 1em;
}
.text-container ul, .cke_editable ul {
  list-style: disc;
  padding-left: 1.25em;
}
.text-container ul ul, .cke_editable ul ul {
  margin-bottom: 2em;
}
.text-container ul li, .cke_editable ul li,
.text-container dt,
.cke_editable dt {
  display: list-item;
  margin-bottom: 0.5em;
  padding-left: 1em;
  position: relative;
}
.text-container li, .cke_editable li,
.text-container dt,
.cke_editable dt,
.text-container dd,
.cke_editable dd {
  padding-left: 0;
}
.text-container dl, .cke_editable dl {
  list-style: none;
}
.text-container dt, .cke_editable dt {
  font-weight: bold;
}
.text-container dd, .cke_editable dd {
  margin-bottom: 2em;
}
.text-container ol, .cke_editable ol {
  list-style: decimal;
  padding-left: 1.5em;
}
.text-container ol li, .cke_editable ol li {
  margin-bottom: 0.5em;
}
.text-container.align-center, .align-center.cke_editable {
  margin: 0 auto;
}

/* objects */
/* general purpose formatting for blocks */
.padded,
.pad,
.cke_editable {
  padding: var(--unit);
}

.padded-half,
.pad-half {
  padding: calc(var(--unit) * 0.5);
}

.padded-double,
.pad-2 {
  padding: calc(var(--unit) * 2);
}

.padded-triple,
.pad-3 {
  padding: calc(var(--unit) * 3);
}

.v-padded,
.pad-v {
  padding-top: var(--unit);
  padding-bottom: var(--unit);
}

.v-padded-half,
.pad-vh,
.pad-v-half {
  padding-top: calc(var(--unit) * 0.5);
  padding-bottom: calc(var(--unit) * 0.5);
}

.v-padded-double,
.pad-v2 {
  padding-top: calc(var(--unit) * 2);
  padding-bottom: calc(var(--unit) * 2);
}

.v-padded-triple,
.pad-v3 {
  padding-top: calc(var(--unit) * 3);
  padding-bottom: calc(var(--unit) * 3);
}

.h-padded,
.pad-h {
  padding-left: var(--unit);
  padding-right: var(--unit);
}

.h-padded-half,
.pad-hh {
  padding-left: calc(var(--unit) * 0.5);
  padding-right: calc(var(--unit) * 0.5);
}

.h-padded-double,
.pad-h2 {
  padding-left: calc(var(--unit) * 2);
  padding-right: calc(var(--unit) * 2);
}

.h-padded-triple,
.pad-h3 {
  padding-left: calc(var(--unit) * 3);
  padding-right: calc(var(--unit) * 3);
}

/* single paddings and margins */
.pad-t {
  padding-top: var(--unit);
}

.pad-b {
  padding-bottom: var(--unit);
}

.pad-r {
  padding-right: var(--unit);
}

.pad-l {
  padding-left: var(--unit);
}

.pad-t2 {
  padding-top: calc(var(--unit) * 2);
}

.pad-b2 {
  padding-bottom: calc(var(--unit) * 2);
}

.pad-r2 {
  padding-right: calc(var(--unit) * 2);
}

.pad-l2 {
  padding-left: calc(var(--unit) * 2);
}

.pad-t3 {
  padding-top: calc(var(--unit) * 3);
}

.pad-b3 {
  padding-bottom: calc(var(--unit) * 3);
}

.pad-r3 {
  padding-right: calc(var(--unit) * 3);
}

.pad-l3 {
  padding-left: calc(var(--unit) * 3);
}

.pad-th {
  padding-top: calc(var(--unit) * 0.5);
}

.pad-bh {
  padding-bottom: calc(var(--unit) * 0.5);
}

.pad-rh {
  padding-right: calc(var(--unit) * 0.5);
}

.pad-lh {
  padding-left: calc(var(--unit) * 0.5);
}

.mar-t {
  margin-top: var(--unit);
}

.mar-b {
  margin-bottom: var(--unit);
}

.mar-r {
  margin-right: var(--unit);
}

.mar-l {
  margin-left: var(--unit);
}

.mar-t2 {
  margin-top: calc(var(--unit) * 2);
}

.mar-b2 {
  margin-bottom: calc(var(--unit) * 2);
}

.mar-r2 {
  margin-right: calc(var(--unit) * 2);
}

.mar-l2 {
  margin-left: calc(var(--unit) * 2);
}

.mar-t3 {
  margin-top: calc(var(--unit) * 3);
}

.mar-b3 {
  margin-bottom: calc(var(--unit) * 3);
}

.mar-r3 {
  margin-right: calc(var(--unit) * 3);
}

.mar-l3 {
  margin-left: calc(var(--unit) * 3);
}

.mar-th {
  margin-top: calc(var(--unit) * 0.5);
}

.mar-bh {
  margin-bottom: calc(var(--unit) * 0.5);
}

.mar-rh {
  margin-right: calc(var(--unit) * 0.5);
}

.mar-lh {
  margin-left: calc(var(--unit) * 0.5);
}

.rounded {
  border-radius: calc(var(--unit) * 0.5);
}

.filled {
  background: #F3F2EE;
  /* if padding a row, compensate column padding
  * on outmost columns
  */
}
.filled .filled {
  background: var(--color-white);
  color: var(--color-text);
}
.filled.row {
  padding-top: var(--unit);
}

.filled-light {
  background: #F3F2EE;
}

/* block min height & max-height */
.max-height-10 {
  max-height: 10vh;
}
.max-height-10 * {
  max-height: 10vh;
}

.min-height-10 {
  min-height: 10vh;
}

.max-height-20 {
  max-height: 20vh;
}
.max-height-20 * {
  max-height: 20vh;
}

.min-height-20 {
  min-height: 20vh;
}

.max-height-30 {
  max-height: 30vh;
}
.max-height-30 * {
  max-height: 30vh;
}

.min-height-30 {
  min-height: 30vh;
}

.max-height-40 {
  max-height: 40vh;
}
.max-height-40 * {
  max-height: 40vh;
}

.min-height-40 {
  min-height: 40vh;
}

.max-height-50 {
  max-height: 50vh;
}
.max-height-50 * {
  max-height: 50vh;
}

.min-height-50 {
  min-height: 50vh;
}

.max-height-60 {
  max-height: 60vh;
}
.max-height-60 * {
  max-height: 60vh;
}

.min-height-60 {
  min-height: 60vh;
}

.max-height-70 {
  max-height: 70vh;
}
.max-height-70 * {
  max-height: 70vh;
}

.min-height-70 {
  min-height: 70vh;
}

.max-height-80 {
  max-height: 80vh;
}
.max-height-80 * {
  max-height: 80vh;
}

.min-height-80 {
  min-height: 80vh;
}

.max-height-90 {
  max-height: 90vh;
}
.max-height-90 * {
  max-height: 90vh;
}

.min-height-90 {
  min-height: 90vh;
}

.max-height-100 {
  max-height: 100vh;
}
.max-height-100 * {
  max-height: 100vh;
}

.min-height-100 {
  min-height: 100vh;
}

/* background */
.full-bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.with-white-overlay,
.with-black-overlay {
  position: relative;
}
.with-white-overlay .content,
.with-black-overlay .content {
  position: relative;
  z-index: 1;
}
.with-white-overlay:before,
.with-black-overlay:before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
}

.with-white-overlay:before {
  background-color: rgba(255, 255, 255, 0.7);
}

.with-black-overlay:before {
  background-color: rgba(34, 34, 34, 0.7);
}

.bg-align-top-left {
  background-position: top left !important;
}

.bg-align-top-center {
  background-position: top center !important;
}

.bg-align-top-right {
  background-position: top right !important;
}

.bg-align-center-left {
  background-position: center left !important;
}

.bg-align-center-center {
  background-position: center center !important;
}

.bg-align-center-right {
  background-position: center right !important;
}

.bg-align-bottom-left {
  background-position: bottom left !important;
}

.bg-align-bottom-center {
  background-position: bottom center !important;
}

.bg-align-bottom-right {
  background-position: bottom right !important;
}

/* text-alignment */
.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
  margin-left: auto;
}

.align-center {
  text-align: center;
}
.align-center .text-container, .align-center .cke_editable {
  margin-left: auto;
  margin-right: auto;
}

.negative,
.negative *:not(.filled, .filled-light) {
  color: var(--color-white);
}
.negative .action, .negative .views-data-export-feed a, .views-data-export-feed .negative a, .negative .node-type--user-profile .user-profile--crea-artefatto .link, .node-type--user-profile .user-profile--crea-artefatto .negative .link, .negative input[type=submit] {
  background: var(--color-white);
  color: var(--color-text);
}
.negative .action:hover, .negative .views-data-export-feed a:hover, .views-data-export-feed .negative a:hover, .negative .node-type--user-profile .user-profile--crea-artefatto .link:hover, .node-type--user-profile .user-profile--crea-artefatto .negative .link:hover, .negative input[type=submit]:hover {
  background: var(--color-white);
  color: var(--color-primary);
}
.negative .filled,
.negative .filled-light {
  color: inherit;
}

.as-bg, .component .component--bg,
.as-bg-container img,
.as-bg-container svg {
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100% !important;
  width: 100%;
  z-index: 0;
}
.as-bg.fixed, .component .fixed.component--bg,
.as-bg-container img.fixed,
.as-bg-container svg.fixed {
  position: fixed;
}

.p-relative {
  position: relative;
}

.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-30 {
  z-index: 30;
}

.z-m-10 {
  z-index: -10;
}

.z-m-20 {
  z-index: -20;
}

.hidden {
  display: none;
}

.visually-hidden, .view-id--eventi.display-id--blocco-prossimi-eventi .view--title, .page--footer .page--header--branding span, .page--header .page--header--branding a span, .node-artefatto-form .js-form-type-radio input[type=radio] {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  word-wrap: normal;
}

.visually-hidden.focusable:active, .view-id--eventi.display-id--blocco-prossimi-eventi .focusable.view--title:active, .page--footer .page--header--branding span.focusable:active, .page--header .page--header--branding a span.focusable:active, .node-artefatto-form .js-form-type-radio input.focusable[type=radio]:active,
.visually-hidden.focusable:focus,
.view-id--eventi.display-id--blocco-prossimi-eventi .focusable.view--title:focus,
.page--footer .page--header--branding span.focusable:focus,
.page--header .page--header--branding a span.focusable:focus,
.node-artefatto-form .js-form-type-radio input.focusable[type=radio]:focus {
  position: static !important;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
}

.invisible {
  visibility: hidden;
}

.bg-overlay:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  bottom: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 1;
}
.bg-overlay .text-container, .bg-overlay .cke_editable {
  position: relative;
  z-index: 2;
}

.clickable {
  text-decoration: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: hand;
  cursor: pointer;
}

.bg-cover {
  background-size: cover;
  background-repeat: no-repeat;
}

.bg-contain {
  background-size: contain;
  background-repeat: no-repeat;
}

.bg-alignment--top-left .component--bg {
  background-position: top left;
}

.bg-alignment--top-center .component--bg {
  background-position: top center;
}

.bg-alignment--top-right .component--bg {
  background-position: top right;
}

.bg-alignment--center-left .component--bg {
  background-position: center left;
}

.bg-alignment--center-center .component--bg {
  background-position: center center;
}

.bg-alignment--center-right .component--bg {
  background-position: center right;
}

.bg-alignment--bottom-left .component--bg {
  background-position: bottom left;
}

.bg-alignment--bottom-center .component--bg {
  background-position: bottom center;
}

.bg-alignment--bottom-right .component--bg {
  background-position: bottom right;
}

* {
  box-sizing: border-box;
}

html {
  font-size: var(--font-size--m);
}

body {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
  background-color: var(--color-body-bg);
  color: var(--color-text);
  line-height: var(--text-line-height);
}

a {
  color: var(--color-link);
  -webkit-text-decoration: var(--color-link-decoration);
          text-decoration: var(--color-link-decoration);
}
a.break {
  word-break: break-word;
}

abbr {
  cursor: help;
}

code {
  white-space: pre-wrap;
  font-family: monospace;
}

blockquote {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
  display: block;
  position: relative;
  padding: calc(var(--unit) * 2) 0 calc(var(--unit) * 2) calc(var(--unit) * 2);
}
blockquote strong {
  display: block;
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  font-style: normal;
}
blockquote:before {
  content: "”";
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  font-size: 4em;
  float: left;
  line-height: 0.5em;
  position: relative;
  top: 0.2em;
  left: -0.2em;
}

img:not(.align-left, .align-right, .align-center, .visually-hidden),
svg:not(.align-left, .align-right, .align-center, .visually-hidden) {
  width: 100%;
  height: auto;
}

ul.no-bullets {
  list-style: none;
  padding-left: 0;
}
ul.no-bullets li {
  padding-left: 0;
}

/* generic component */
.component {
  position: relative;
}
.component > .component--content {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  z-index: 2;
}
.component .component--bg {
  background-position: 50% 50%;
  background-size: cover;
  z-index: 1;
}
.component.with-page-grid {
  display: grid;
  grid-template-columns: minmax(2.5rem, 1fr) min(45 * 1.2rem, 100% - 4.5rem) minmax(2.5rem, 1fr);
}
@media only screen and (max-width: calc(min(45 * 1.2rem, 100% - 4.5rem) * 1.2 + 6rem)) {
  .component.with-page-grid {
    grid-template-columns: 1.25rem 1fr 1.25rem;
  }
}

.component--title {
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  margin-bottom: var(--unit);
}

.background-fixed .component--bg {
  background-attachment: fixed;
}

.position--center, .view-id--attestato,
.view-id--artefatti,
.view-id--guide,
.view-id--materiae-didattico, .component--type-article--header,
.position--full-bleed-left,
.position--full-bleed-right,
.position--page-width {
  display: grid;
  grid-template-columns: minmax(2.5rem, 1fr) min(45 * 1.2rem, 100% - 4.5rem) minmax(2.5rem, 1fr);
}
@media only screen and (max-width: calc(min(45 * 1.2rem, 100% - 4.5rem) * 1.2 + 6rem)) {
  .position--center, .view-id--attestato,
  .view-id--artefatti,
  .view-id--guide,
  .view-id--materiae-didattico, .component--type-article--header,
  .position--full-bleed-left,
  .position--full-bleed-right,
  .position--page-width {
    grid-template-columns: 1.25rem 1fr 1.25rem;
  }
}

.position--center > .component--content, .view-id--attestato > .component--content,
.view-id--artefatti > .component--content,
.view-id--guide > .component--content,
.view-id--materiae-didattico > .component--content, .component--type-article--header > .component--content,
.position--center > .component--title,
.view-id--attestato > .component--title,
.view-id--artefatti > .component--title,
.view-id--guide > .component--title,
.view-id--materiae-didattico > .component--title,
.component--type-article--header > .component--title,
.position--center > .component--content > .component--title,
.view-id--attestato > .component--content > .component--title,
.view-id--artefatti > .component--content > .component--title,
.view-id--guide > .component--content > .component--title,
.view-id--materiae-didattico > .component--content > .component--title,
.component--type-article--header > .component--content > .component--title {
  grid-column: 2;
}

.position--full-bleed-left {
  padding-left: 0;
}
.position--full-bleed-left > .component--content,
.position--full-bleed-left > .component--title,
.position--full-bleed-left > .component--content > .component--title {
  grid-column: 1/3;
  max-width: none;
}
.position--full-bleed-left > .component--title,
.position--full-bleed-left > .component--content > .component--title {
  text-align: right;
}

.position--full-bleed-right {
  padding-right: 0;
}
.position--full-bleed-right > .component--content,
.position--full-bleed-right > .component--title,
.position--full-bleed-right > .component--content > .component--title {
  max-width: none;
  grid-column: 2/4;
}

.position--full-bleed {
  padding-left: 0;
  padding-right: 0;
}
.position--full-bleed > .component--content,
.position--full-bleed > .component--title,
.position--full-bleed > .component--content > .component--title {
  max-width: none;
  grid-column: 1/4;
  margin-left: 0;
  margin-right: 0;
}
.position--full-bleed.component-type--text {
  padding-left: var(--unit);
  padding-right: var(--unit);
}

.position--full-width {
  padding-left: var(--component-padding);
  padding-right: var(--component-padding);
}
.position--full-width > .component--content,
.position--full-width > .component--title,
.position--full-width > .component--content > .component--title {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.position--full-screen {
  padding: 0;
  display: block;
}
.position--full-screen > .component--content {
  max-width: none;
  height: 100vh;
}

.position--page-width {
  margin-left: var(--unit);
  margin-right: var(--unit);
}
.position--page-width > .component--content,
.position--page-width > .component--title,
.position--page-width > .component--content > .component--title {
  max-width: none;
  grid-column: 1/4;
}

.position--text-width > .component--content,
.position--text-width > .component--title,
.position--text-width > .component--content > .component--title {
  grid-column: 2;
  max-width: 35em;
}

input[type=text],
input[type=number],
input[type=password],
input[type=email],
input[type=tel],
input[type=date],
input[type=datetime-local],
input[type=submit],
select,
textarea {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
  font-size: var(--font-size--m);
  background-color: var(--color-white);
  color: var(--color-black);
  border-radius: calc(var(--unit) * 0.5 * 0.5);
  border: 1px solid var(--color-black);
  min-height: var(--unit);
  width: 100%;
  vertical-align: middle;
  padding: calc(var(--unit) * 0.3) calc(var(--unit) * 0.3) calc(var(--unit) * 0.3) calc(var(--unit) * 0.3);
}
input[type=text].disabled,
input[type=number].disabled,
input[type=password].disabled,
input[type=email].disabled,
input[type=tel].disabled,
input[type=date].disabled,
input[type=datetime-local].disabled,
input[type=submit].disabled,
select.disabled,
textarea.disabled {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background: var(--color-light-grey) !important;
}

form {
  --color-link: var(--color-primary);
  --color-link-decoration: underline;
}

.form-item {
  width: auto;
  max-width: 100%;
  margin-bottom: calc(var(--unit) * 0.75);
}
.form-item label:not(.option) {
  font-weight: 900;
}
.form-item .description,
.form-item .text-count-wrapper {
  font-size: var(--font-size--s);
}

.form-type--checkbox,
.form-type--radio {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.form-type--checkbox > input,
.form-type--radio > input {
  margin-top: 0.25rem;
}
.form-type--checkbox label.option,
.form-type--radio label.option {
  width: calc(100% - 2em);
  line-height: 1.3;
}

fieldset.form-item legend {
  font-weight: 900;
  margin-bottom: calc(var(--unit) * 0.5);
}
fieldset.form-item .form-item {
  margin-bottom: calc(var(--unit) * 0.75 * 0.5);
}

.mattarello-map--region-label {
  transform: translateX(0%) translateY(-50%);
  font-size: 1rem;
  background: var(--color-white);
  padding: 0.5em;
  color: var(--color-black);
  border: 1px solid var(--color-black);
}

/* objects */
button {
  -webkit-appearance: none;
  border: none;
  padding: 0;
  margin: 0;
}

.action, .views-data-export-feed a, .node-type--user-profile .user-profile--crea-artefatto .link, input[type=submit],
a.action {
  text-align: center;
  background: var(--color-primary);
  padding: calc(var(--unit) / 3) calc(var(--unit) / 2);
  color: var(--color-white);
  display: inline-block;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  position: relative;
  text-decoration: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: hand;
  cursor: pointer;
  border-radius: 3px;
}
.action + .action, .views-data-export-feed a + .action, .views-data-export-feed .action + a, .views-data-export-feed a + a, .node-type--user-profile .user-profile--crea-artefatto .link + .action, .node-type--user-profile .user-profile--crea-artefatto .views-data-export-feed .link + a, .views-data-export-feed .node-type--user-profile .user-profile--crea-artefatto .link + a, .node-type--user-profile .user-profile--crea-artefatto .action + .link, .node-type--user-profile .user-profile--crea-artefatto .views-data-export-feed a + .link, .views-data-export-feed .node-type--user-profile .user-profile--crea-artefatto a + .link, .node-type--user-profile .user-profile--crea-artefatto .link + .link, input[type=submit] + .action, .views-data-export-feed input[type=submit] + a, .node-type--user-profile .user-profile--crea-artefatto input[type=submit] + .link, .action + input[type=submit], .views-data-export-feed a + input[type=submit], .node-type--user-profile .user-profile--crea-artefatto .link + input[type=submit], input[type=submit] + input[type=submit],
a.action + .action {
  margin-left: var(--unit);
}
.action.tiny, .views-data-export-feed a.tiny, .node-type--user-profile .user-profile--crea-artefatto .tiny.link, input.tiny[type=submit],
a.action.tiny {
  font-size: var(--font-size--xs);
}
.action.small, .views-data-export-feed a, .node-type--user-profile .user-profile--crea-artefatto .small.link, .node-type--user-profile .user-profile--crea-artefatto .views-data-export-feed a.link, .views-data-export-feed .node-type--user-profile .user-profile--crea-artefatto a.link, input.small[type=submit],
a.action.small {
  font-size: var(--font-size--s);
}
.action.big, .views-data-export-feed a.big, .node-type--user-profile .user-profile--crea-artefatto .big.link, input.big[type=submit],
a.action.big {
  font-size: var(--font-size--l);
}
.action.light, .views-data-export-feed a.light, .node-type--user-profile .user-profile--crea-artefatto .light.link, input.light[type=submit], .node-artefatto-form .field--name-field-allegati-artefatto input[type=submit],
.node-artefatto-form .field--name-field-audio-artefatto input[type=submit],
.node-artefatto-form .field--name-field-video-artefatto input[type=submit], .node-artefatto-form .field--name-field-link-all-artefatto input[type=submit],
a.action.light {
  background: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
}
.action.light:hover, .views-data-export-feed a.light:hover, .node-type--user-profile .user-profile--crea-artefatto .light.link:hover, input.light[type=submit]:hover, .node-artefatto-form .field--name-field-allegati-artefatto input[type=submit]:hover,
.node-artefatto-form .field--name-field-audio-artefatto input[type=submit]:hover,
.node-artefatto-form .field--name-field-video-artefatto input[type=submit]:hover, .node-artefatto-form .field--name-field-link-all-artefatto input[type=submit]:hover,
a.action.light:hover {
  color: var(--color-white);
  background: var(--color-black);
}
.action.negative, .views-data-export-feed a.negative, .node-type--user-profile .user-profile--crea-artefatto .negative.link, input.negative[type=submit],
a.action.negative {
  background: var(--color-white);
  color: var(--color-primary);
}
.action.negative.light, .views-data-export-feed a.negative.light, .node-type--user-profile .user-profile--crea-artefatto .negative.light.link, input.negative.light[type=submit], .node-artefatto-form .field--name-field-allegati-artefatto input.negative[type=submit],
.node-artefatto-form .field--name-field-audio-artefatto input.negative[type=submit],
.node-artefatto-form .field--name-field-video-artefatto input.negative[type=submit], .node-artefatto-form .field--name-field-link-all-artefatto input.negative[type=submit],
a.action.negative.light {
  color: var(--color-white);
  background: transparent;
  border: 1px solid var(--color-white);
}

.secondary-action {
  display: inline-block;
  margin-top: var(--unit);
  color: var(--color-primary);
  text-decoration: none;
  border-bottom: 1px dotted var(--color-primary);
}

.video-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-bottom: 56.25%;
}
.video-container > *:not(.contextual) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.background-video {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  z-index: -100;
  transform: translateX(-50%) translateY(-50%);
}

.card {
  position: relative;
  background: var(--color-light-grey);
  padding: calc(var(--unit) * 0.5);
}
.card .card--main-link::after {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  content: "";
  z-index: 1;
}
.card .card--secondary-link {
  position: relative;
  z-index: 4;
}
.card figure {
  padding-bottom: 66%;
  display: block;
  position: relative;
  margin-bottom: calc(var(--unit) * 0.5);
}
.card figure img {
  width: 100%;
  height: auto;
  display: block;
}

.component.component-type--text.position--page-width .component--content {
  max-width: 1100px;
}
.component.component-type--text > .component--content,
.component.component-type--text > .component--title,
.component.component-type--text > .component--content > .component--title {
  margin-right: auto;
  margin-left: 0;
}
.component.component-type--text.text-align-center {
  text-align: center;
}
.component.component-type--text.text-align-center .component--content .component--title {
  margin-left: auto;
  margin-right: auto;
}
.component.component-type--text.text-align-center .component--content .text-container, .component.component-type--text.text-align-center .component--content .cke_editable {
  margin: 0 auto;
}
.component.component-type--text.text-align-right {
  text-align: right;
}
.component.component-type--text.text-align-right .component--content .component--title {
  margin-left: auto;
  margin-right: 0;
}
.component.component-type--text.text-align-right .component--content .text-container, .component.component-type--text.text-align-right .component--content .cke_editable {
  margin-left: auto;
  margin-right: 0;
}

.text-container, .cke_editable {
  --color-link: var(--color-primary);
  --color-link-decoration: underline;
}
@media only screen and (max-width: 767px) {
  .text-container *, .cke_editable * {
    word-break: break-word;
  }
}

.component-type--logos ul:not(.contextual-links),
.component-type--partners ul:not(.contextual-links) {
  display: flex;
  gap: calc(var(--unit) * 2);
  flex-wrap: wrap;
  align-items: center;
}
.component-type--logos .logos--logo,
.component-type--logos .partner,
.component-type--partners .logos--logo,
.component-type--partners .partner {
  background: transparent;
}
.component-type--logos .logos--logo .content,
.component-type--logos .partner .content,
.component-type--partners .logos--logo .content,
.component-type--partners .partner .content {
  display: flex;
  flex-direction: column;
}
.component-type--logos .logos--logo img,
.component-type--logos .partner img,
.component-type--partners .logos--logo img,
.component-type--partners .partner img {
  display: block;
  height: 5rem;
  width: auto;
  margin: 0 auto;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.component-type--logos .logos--logo h3,
.component-type--logos .partner h3,
.component-type--partners .logos--logo h3,
.component-type--partners .partner h3 {
  margin-top: var(--unit);
  order: 2;
  font-size: var(--font-size--m);
  text-decoration: none;
  text-align: center;
}
.component-type--logos .logos--logo h3 a,
.component-type--logos .partner h3 a,
.component-type--partners .logos--logo h3 a,
.component-type--partners .partner h3 a {
  text-decoration: none;
  color: var(--color-black);
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
}

.field--field-downloads .field__label,
.field--field-download .field__label,
.field--field-media-document .field__label,
.component-type--downloads .field__label {
  font-weight: 900;
  margin-bottom: calc(var(--unit) * 0.5);
  font-size: var(--font-size--xxl);
}
@media only screen and (max-width: 767px) {
  .field--field-downloads .field__label,
  .field--field-download .field__label,
  .field--field-media-document .field__label,
  .component-type--downloads .field__label {
    font-size: calc(var(--font-size--xxl) * 0.8);
  }
}
.field--field-downloads a,
.field--field-download a,
.field--field-media-document a,
.component-type--downloads a {
  padding: calc(var(--unit) * 0.5);
  background: var(--color-light-grey);
  border-radius: 10px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: var(--unit);
  margin-bottom: var(--unit);
}
@media only screen and (max-width: 767px) {
  .field--field-downloads a,
  .field--field-download a,
  .field--field-media-document a,
  .component-type--downloads a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.field--field-downloads a:last-child,
.field--field-download a:last-child,
.field--field-media-document a:last-child,
.component-type--downloads a:last-child {
  margin-bottom: 0;
}
.field--field-downloads .document--icon,
.field--field-download .document--icon,
.field--field-media-document .document--icon,
.component-type--downloads .document--icon {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.field--field-downloads .document--icon .document--mime-type,
.field--field-download .document--icon .document--mime-type,
.field--field-media-document .document--icon .document--mime-type,
.component-type--downloads .document--icon .document--mime-type {
  font-size: var(--font-size--m);
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.field--field-downloads .document--icon .document--file-size,
.field--field-download .document--icon .document--file-size,
.field--field-media-document .document--icon .document--file-size,
.component-type--downloads .document--icon .document--file-size {
  font-size: var(--font-size--xs);
}
.field--field-downloads .document--label,
.field--field-download .document--label,
.field--field-media-document .document--label,
.component-type--downloads .document--label {
  font-weight: 900;
}
.field--field-downloads .field--field-media-document,
.field--field-download .field--field-media-document,
.field--field-media-document .field--field-media-document,
.component-type--downloads .field--field-media-document {
  margin-bottom: var(--unit);
}
.field--field-downloads li,
.field--field-download li,
.field--field-media-document li,
.component-type--downloads li {
  padding-bottom: calc(var(--unit) * 0.5);
}

.field--field-media-document {
  margin-bottom: var(--unit);
}

.component-type--pzt-links .component--title,
.component-type--links .component--title {
  margin-bottom: calc(var(--unit) * 0.5);
}
.component-type--pzt-links li .link,
.component-type--links li .link {
  display: flex;
  align-items: center;
}
.component-type--pzt-links li .link.external::after,
.component-type--links li .link.external::after {
  content: "";
  background-size: contain;
  width: calc(var(--unit) * 0.6);
  height: calc(var(--unit) * 0.7);
  position: relative;
  top: 0%;
  left: 0%;
  display: inline-block;
  background-image: url("../img/icons/external-link.svg");
  background-repeat: no-repeat;
  background-position: center;
  margin-left: calc(var(--unit) * 0.3);
}
@media only screen and (max-width: 767px) {
  .component-type--pzt-links li .link.external::after,
  .component-type--links li .link.external::after {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .component-type--pzt-links li a,
  .component-type--links li a {
    word-break: break-word;
  }
}

.component-type--cards-list, .view-id--eventi.display-id--blocco-prossimi-eventi {
  overflow: visible;
}
.component-type--cards-list .component--content, .view-id--eventi.display-id--blocco-prossimi-eventi .component--content {
  overflow: visible;
}
.component-type--cards-list .flex, .view-id--eventi.display-id--blocco-prossimi-eventi .flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  gap: 1.5rem;
}
.component-type--cards-list .grid, .component-type--cards-list .view-id--attestato .view--rows, .view-id--attestato .component-type--cards-list .view--rows,
.component-type--cards-list .view-id--artefatti .view--rows,
.view-id--artefatti .component-type--cards-list .view--rows,
.component-type--cards-list .view-id--guide .view--rows,
.view-id--guide .component-type--cards-list .view--rows,
.component-type--cards-list .view-id--materiae-didattico .view--rows,
.view-id--materiae-didattico .component-type--cards-list .view--rows, .component-type--cards-list .view-id--eventi .view--rows, .view-id--eventi .component-type--cards-list .view--rows, .view-id--eventi.display-id--blocco-prossimi-eventi .grid, .view-id--eventi.display-id--blocco-prossimi-eventi .view--rows {
  display: grid;
  position: relative;
  gap: var(--unit) var(--unit);
  align-items: start;
}
.component-type--cards-list .actions, .view-id--eventi.display-id--blocco-prossimi-eventi .actions {
  padding-top: var(--unit);
  text-align: right;
}
.component-type--cards-list .up-2, .view-id--eventi.display-id--blocco-prossimi-eventi .up-2 {
  grid-template-columns: 1fr 1fr;
}
.component-type--cards-list .up-3, .view-id--eventi.display-id--blocco-prossimi-eventi .up-3 {
  grid-template-columns: repeat(3, 1fr);
}
.component-type--cards-list .up-4, .view-id--eventi.display-id--blocco-prossimi-eventi .up-4 {
  grid-template-columns: repeat(4, 1fr);
}
.component-type--cards-list .up-4 .card, .view-id--eventi.display-id--blocco-prossimi-eventi .up-4 .card {
  font-size: 0.8rem;
}
.component-type--cards-list .up-5, .view-id--eventi.display-id--blocco-prossimi-eventi .up-5 {
  grid-template-columns: repeat(5, 1fr);
}
.component-type--cards-list .up-auto, .view-id--eventi.display-id--blocco-prossimi-eventi .up-auto {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
.component-type--cards-list .items-count-1, .view-id--eventi.display-id--blocco-prossimi-eventi .items-count-1,
.component-type--cards-list .items-count-2,
.view-id--eventi.display-id--blocco-prossimi-eventi .items-count-2 {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 20rem));
}
@media only screen and (max-width: 1023px) {
  .component-type--cards-list .up-4, .view-id--eventi.display-id--blocco-prossimi-eventi .up-4 {
    grid-template-columns: repeat(3, 1fr);
  }
  .component-type--cards-list .up-5, .view-id--eventi.display-id--blocco-prossimi-eventi .up-5 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .component-type--cards-list .up-2, .view-id--eventi.display-id--blocco-prossimi-eventi .up-2 {
    grid-template-columns: 1fr;
  }
  .component-type--cards-list .up-3, .view-id--eventi.display-id--blocco-prossimi-eventi .up-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .component-type--cards-list .up-4, .view-id--eventi.display-id--blocco-prossimi-eventi .up-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .component-type--cards-list .up-5, .view-id--eventi.display-id--blocco-prossimi-eventi .up-5 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 430px) {
  .component-type--cards-list .up-2, .view-id--eventi.display-id--blocco-prossimi-eventi .up-2 {
    grid-template-columns: 1fr;
  }
  .component-type--cards-list .up-3, .view-id--eventi.display-id--blocco-prossimi-eventi .up-3 {
    grid-template-columns: 1fr;
  }
  .component-type--cards-list .up-4, .view-id--eventi.display-id--blocco-prossimi-eventi .up-4 {
    grid-template-columns: 1fr;
  }
  .component-type--cards-list .up-5, .view-id--eventi.display-id--blocco-prossimi-eventi .up-5 {
    grid-template-columns: 1fr;
  }
}
.component-type--cards-list .up-masonry, .view-id--eventi.display-id--blocco-prossimi-eventi .up-masonry {
  display: block;
  -moz-column-count: 3;
       column-count: 3;
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.component-type--cards-list .up-masonry > *, .view-id--eventi.display-id--blocco-prossimi-eventi .up-masonry > * {
  margin-bottom: var(--unit);
}
@media only screen and (max-width: 1023px) {
  .component-type--cards-list .up-masonry, .view-id--eventi.display-id--blocco-prossimi-eventi .up-masonry {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  }
  .component-type--cards-list .up-masonry.items-count-1, .view-id--eventi.display-id--blocco-prossimi-eventi .up-masonry.items-count-1, .component-type--cards-list .up-masonry.items-count-2, .view-id--eventi.display-id--blocco-prossimi-eventi .up-masonry.items-count-2 {
    grid-template-columns: repeat(auto-fit, minmax(15rem, 20rem));
  }
}

.vertical-cards-container article {
  margin-bottom: var(--unit);
  min-height: 250px;
}
.vertical-cards-container article h3 {
  font-size: 1.5rem;
}

.horizontal-cards-container,
.vertical-cards-container {
  gap: var(--unit);
}
.horizontal-cards-container article,
.vertical-cards-container article {
  border-radius: var(--unit);
  overflow: hidden;
}
.horizontal-cards-container.full-bleed,
.vertical-cards-container.full-bleed {
  gap: 0;
}
.horizontal-cards-container.full-bleed article,
.vertical-cards-container.full-bleed article {
  border-radius: 0;
}

.mono-type .card .article--tags {
  display: none;
}

.component--type-breadcrumbs {
  width: 100%;
}
.component--type-breadcrumbs .component--content {
  max-width: none;
}
.component--type-breadcrumbs ul, .component--type-breadcrumbs ol {
  display: flex;
}
.component--type-breadcrumbs li {
  border-radius: calc(var(--unit) / 2);
}
.component--type-breadcrumbs li a {
  color: var(--color-black);
  position: relative;
  display: block;
  text-decoration: none;
  padding-right: var(--unit);
  font-size: var(--font-size--s);
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  position: relative;
}
.component--type-breadcrumbs li a:after {
  content: ">";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-100%, -50%);
}

.component-type--layout.component--layout--two-columns > .component--content,
.component-type--layout .component--content.component--layout--two-columns {
  grid-column: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
.component-type--layout.component--layout--two-columns > .component--content > .component--content--column > .component,
.component-type--layout .component--content.component--layout--two-columns > .component--content--column > .component {
  display: block;
}
@media only screen and (max-width: 1023px) {
  .component-type--layout.component--layout--two-columns > .component--content,
  .component-type--layout .component--content.component--layout--two-columns {
    display: block;
  }
}

/* system admin, unpublished and messages */
.node--unpublished {
  position: relative;
}
.node--unpublished:before {
  content: "non pubblicato";
  text-transform: uppercase;
  opacity: 0.3;
  background: rgba(253, 185, 50, 0.5607843137);
  pointer-events: none;
  position: absolute;
  top: 10%;
  left: 50%;
  padding: calc(var(--unit) * 0.5);
  font-size: var(--font-size--s);
  transform: translateX(-50%) rotate(-5deg);
  z-index: 99999;
  transform-origin: 50% 50%;
  white-space: nowrap;
}
.node--unpublished.view-mode--full:before {
  font-size: 9vw;
  padding: calc(var(--unit) * 2);
}

.component.unpublished {
  border: 1px dotted #ddd;
}
.component.unpublished .unpublished--label {
  text-transform: uppercase;
  position: absolute;
  font-size: var(--unit);
  font-weight: 500;
  top: 0;
  right: 0;
  z-index: 99;
  background: rgba(253, 185, 50, 0.5607843137);
  padding: 5px;
  pointer-events: none;
}
.component.unpublished .component--content {
  opacity: 0.6;
}

.paragraph--unpublished {
  background-color: red;
}

h1, h2, h3 {
  color: #009ca6;
}
h1, h1 a, h2, h2 a, h3, h3 a {
  color: var(--color-black);
  color: #009ca6;
}

@media only screen and (max-width: 1023px) {
  h1 {
    font-size: var(--font-size--xxl);
  }
  h2 {
    font-size: var(--font-size--xl);
  }
  h3 {
    font-size: var(--font-size--l);
  }
  h4 {
    font-size: var(--font-size--m);
  }
}
@media only screen and (max-width: 767px) {
  h1 {
    font-size: var(--font-size--xl);
  }
  h2 {
    font-size: var(--font-size--l);
  }
  h3 {
    font-size: var(--font-size--m);
  }
  h4 {
    font-size: var(--font-size--s);
  }
}
body {
  background: #f3ece7;
}

dialog[data-drupal-messages][open] {
  border: 5px solid #45b383;
  outline: none;
  border-radius: 0.8em;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
dialog[data-drupal-messages][open]::backdrop {
  background-color: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}

.component--type-article--header {
  padding-top: calc(var(--unit) * 3);
  margin-bottom: calc(var(--unit));
}
.component--type-article--header h1 {
  margin-bottom: var(--unit);
}
.component--type-article--header figure {
  grid-column: 3;
  grid-row: 1;
  position: absolute;
  width: 29vw;
  right: 1em;
  z-index: -1;
}

.component-type--landing-page--header {
  padding-top: calc(var(--unit));
  padding-bottom: calc(var(--unit));
  margin-bottom: calc(var(--unit) * 2);
  position: relative;
}
.component-type--landing-page--header .header--intro {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  font-size: var(--font-size--l);
  text-wrap: balance;
}
@media only screen and (max-width: 767px) {
  .component-type--landing-page--header .header--intro {
    font-size: var(--font-size--m);
  }
}
.component-type--landing-page--header figure {
  opacity: 0.2;
  grid-column: 3;
  grid-row: 1;
  position: absolute;
  width: 29vw;
  right: 1em;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .component-type--landing-page--header {
    padding-top: 0;
    margin-bottom: calc(var(--unit) * 0.5);
  }
}

.component-type--page--header {
  padding-top: calc(var(--unit) * 3);
  padding-bottom: calc(var(--unit));
  position: relative;
}
.component-type--page--header h1 img {
  width: 1.5em;
  height: auto;
  margin-left: 0.5em;
}
@media only screen and (max-width: 767px) {
  .component-type--page--header {
    padding-top: var(--unit);
    padding-bottom: calc(var(--unit) * 0.5);
  }
}

main:has(.component--type-article--meta) .component-type--page--header h1 {
  margin-bottom: 0;
}

.component--type-article--meta {
  margin-bottom: calc(var(--unit) * 2);
}
.component--type-article--meta a {
  text-decoration: underline;
}
.component--type-article--meta dl {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--unit) * 2);
}
.component--type-article--meta .field--meta-field {
  display: flex;
  flex-direction: column;
}
.component--type-article--meta .field--meta-field i {
  line-height: 1;
  margin-right: 0.25em;
}
.component--type-article--meta .field--meta-field span {
  display: inline-block;
}
.component--type-article--meta dt, .component--type-article--meta dd {
  display: block;
  text-align: left;
}
.component--type-article--meta dt {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: var(--font-size--xs);
}
.component--type-article--meta dd {
  display: flex;
  align-items: center;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
  .component--type-article--meta {
    margin-bottom: calc(var(--unit) * 0.5);
  }
  .component--type-article--meta dl {
    gap: var(--unit);
  }
}

.component-type--text-with-image {
  grid-template-columns: minmax(2.5rem, 1fr) calc(min(45 * 1.2rem, 100% - 4.5rem) / 2) calc(min(45 * 1.2rem, 100% - 4.5rem) / 2) minmax(2.5rem, 1fr);
  padding-left: var(--unit);
  padding-right: var(--unit);
}
.component-type--text-with-image .component--content {
  grid-column: 2;
}
.component-type--text-with-image figure {
  grid-column: 3;
}
.component-type--text-with-image.image-left {
  justify-items: center;
  align-items: center;
}
.component-type--text-with-image.image-left .component--content {
  grid-column: 3;
}
.component-type--text-with-image.image-left figure {
  grid-column: 2;
  grid-row: 1;
}

.component-type--cards-list, .view-id--eventi.display-id--blocco-prossimi-eventi {
  padding-bottom: calc(var(--unit) * 2);
}

.component--type-breadcrumbs ol {
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .component--type-breadcrumbs ol li a {
    font-size: var(--font-size--xs);
  }
}

@media only screen and (max-width: 767px) {
  .position--center, .view-id--attestato,
  .view-id--artefatti,
  .view-id--guide,
  .view-id--materiae-didattico, .component--type-article--header,
  .position--full-bleed-left,
  .position--full-bleed-right,
  .position--page-width {
    grid-template-columns: calc(var(--unit) * 0.75) 1fr calc(var(--unit) * 0.75);
  }
}

input[type=submit] {
  width: auto;
}

*.action, .views-data-export-feed a, .node-type--user-profile .user-profile--crea-artefatto .link, input[type=submit],
a.action,
input.action,
button.action {
  box-shadow: 1px 1px 0 0 var(--color-black), 2px 2px 0 0 var(--color-black), 3px 3px 0 0 var(--color-black);
  background-color: #DA291C;
  transition: all 0.2s linear;
}
*.action:hover, .views-data-export-feed a:hover, .node-type--user-profile .user-profile--crea-artefatto *.link:hover, input[type=submit]:hover,
a.action:hover,
input.action:hover,
button.action:hover {
  box-shadow: 1px 1px 0 0 var(--color-black), 2px 2px 0 0 var(--color-black);
}
*.action:active, .views-data-export-feed a:active, .node-type--user-profile .user-profile--crea-artefatto *.link:active, input[type=submit]:active,
a.action:active,
input.action:active,
button.action:active {
  box-shadow: 1px 1px 0 0 var(--color-black);
}

.action.tiny, .views-data-export-feed a.tiny, .node-type--user-profile .user-profile--crea-artefatto .tiny.link, input.tiny[type=submit] {
  padding: 1ch;
}

a.action.light:hover, .views-data-export-feed a.light:hover, .node-type--user-profile .user-profile--crea-artefatto a.light.link:hover,
.action.light:hoverw,
.views-data-export-feed a.light:hoverw,
.node-type--user-profile .user-profile--crea-artefatto .light.link:hoverw,
input.light[type=submit]:hoverw,
.node-artefatto-form .field--name-field-allegati-artefatto input[type=submit]:hoverw,
.node-artefatto-form .field--name-field-audio-artefatto input[type=submit]:hoverw,
.node-artefatto-form .field--name-field-video-artefatto input[type=submit]:hoverw,
.node-artefatto-form .field--name-field-link-all-artefatto input[type=submit]:hoverw {
  background: var(--color-white);
  color: var(--color-text);
}

.action[class*=state--]:after, .views-data-export-feed a[class*=state--]:after, .node-type--user-profile .user-profile--crea-artefatto [class*=state--].link:after, input[class*=state--][type=submit]:after,
.action[class*=action--]:after,
.views-data-export-feed a[class*=action--]:after,
.node-type--user-profile .user-profile--crea-artefatto [class*=action--].link:after,
input[class*=action--][type=submit]:after {
  display: inline-block;
  font-family: flaticon_cd_diffusione !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 0.5em;
}

.action:not([class*=state--]).action--copy:after, .views-data-export-feed a:not([class*=state--]).action--copy:after, .node-type--user-profile .user-profile--crea-artefatto .link:not([class*=state--]).action--copy:after, input[type=submit]:not([class*=state--]).action--copy:after {
  content: "\f10b";
}
.action:not([class*=state--]).action--add:after, .views-data-export-feed a:not([class*=state--]).action--add:after, .node-type--user-profile .user-profile--crea-artefatto .link:not([class*=state--]).action--add:after, input[type=submit]:not([class*=state--]).action--add:after {
  content: "\f10c";
}

.action.state--busy:after, .views-data-export-feed a.state--busy:after, .node-type--user-profile .user-profile--crea-artefatto .state--busy.link:after, input.state--busy[type=submit]:after {
  content: "\f109";
  animation: rotateIcon 5s linear infinite;
}
.action.state--ok:after, .views-data-export-feed a.state--ok:after, .node-type--user-profile .user-profile--crea-artefatto .state--ok.link:after, input.state--ok[type=submit]:after {
  content: "\f10a";
}

.action.result--ok, .views-data-export-feed a.result--ok, .node-type--user-profile .user-profile--crea-artefatto .result--ok.link, input.result--ok[type=submit] {
  background: #000;
}

@keyframes rotateIcon {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.user.view-mode--scheda_profilo {
  padding: var(--unit);
  background: var(--color-white);
  margin-bottom: calc(var(--unit) * 2);
  border-radius: 0.8em;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  gap: var(--unit);
}
.user.view-mode--scheda_profilo:has(.field--user-picture) {
  grid-template-columns: 0.3fr 1fr;
}
.user.view-mode--scheda_profilo .field--user-picture {
  grid-row: 1/3;
}
.user.view-mode--scheda_profilo .field--user-picture img {
  max-width: 10rem;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1333333333);
}
.user.view-mode--scheda_profilo .user--content {
  grid-row: 1;
  display: flex;
  gap: var(--unit);
  flex-wrap: wrap;
}
.user.view-mode--scheda_profilo .user--content dt {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
}
.user.view-mode--scheda_profilo .user--content dd {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
}
.user.view-mode--scheda_profilo .user--content li {
  display: inline;
}
.user.view-mode--scheda_profilo .user--content li:not(:last-child):after {
  content: ", ";
  left: -0.17em;
  position: relative;
}
.user .profile--actions {
  grid-row: 2;
  margin-top: calc(var(--unit));
}
@media only screen and (max-width: 767px) {
  .user.view-mode--scheda_profilo:has(.field--user-picture) {
    grid-template-columns: 0.3fr 1fr;
    display: block;
  }
  .user.view-mode--scheda_profilo .field--user-picture img {
    max-width: 6rem;
  }
  .user.view-mode--scheda_profilo .user--content {
    gap: calc(var(--unit) * 0.4);
  }
}

form fieldset.form-item legend {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  font-size: var(--font-size--xl);
  font-weight: 300;
}
form fieldset.form-item fieldset.form-item legend {
  font-size: var(--font-size--l);
}
form details summary {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  font-size: var(--font-size--l);
  text-transform: uppercase;
}
form .form-item label {
  margin-bottom: calc(var(--unit) * 0.3);
}
form .form-item .description,
form .form-item .password-suggestions {
  font-size: var(--font-size--xs);
  max-width: 35rem;
  margin-top: calc(var(--unit) * 0.3);
}
form .form-item .password-suggestions {
  font-weight: 900;
}
form .form-item .password-suggestions ul {
  list-style: disc;
  margin-left: 1.4em;
  font-weight: normal;
}
form .form-item .image-widget .form-file {
  font-size: var(--font-size--s);
}
form .form-item .image-widget img {
  max-width: 8vw;
  grid-row: span 3;
}
form .form-item .image-widget:has(img) {
  display: grid;
  justify-items: start;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto;
  -moz-column-gap: var(--unit);
       column-gap: var(--unit);
}
form .form-item .image-widget:has(img) .form-submit {
  font-size: var(--font-size--s);
}
form .form-item:has(.password-confirm) .password-confirm-message .error, form .form-item:has(.password-confirm) .password-confirm-message .ok {
  background-color: #DA291C;
  padding: 0 calc(var(--unit) * 0.2) calc(var(--unit) * 0.1) calc(var(--unit) * 0.2);
  border-radius: 5px;
}
form .form-item:has(.password-confirm) .password-confirm-message .error {
  background-color: #DA291C;
  color: var(--color-white);
}
form .form-item:has(.password-confirm) .password-confirm-message .ok {
  background-color: #45b383;
  color: var(--color-white);
}
form .field--name-field-materia-d-insegnamento .tabledrag-toggle-weight-wrapper {
  display: none;
}
form .field--name-field-materia-d-insegnamento .field-multiple-table thead .field-label {
  padding: 0;
}
form .field--name-field-materia-d-insegnamento .field-multiple-table thead .label {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: none;
  font-size: calc(var(--font-size--s) * 1.1);
  font-weight: 900;
}
form .field--name-field-materia-d-insegnamento .field-multiple-table tbody .form-item {
  margin-bottom: 0;
}
form .field--name-field-materia-d-insegnamento .field-add-more-submit {
  margin-top: calc(var(--unit) * 0.5);
}
form .field--name-field-materia-d-insegnamento .button {
  font-size: var(--font-size--xs);
  background-color: #F3F2EE;
  color: var(--color-black);
}
form .js-form-type-checkbox {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: calc(var(--unit) * 0.3);
}
form .js-form-type-checkbox label {
  margin-bottom: 0;
}
form input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: calc(var(--unit) * 0.6);
  aspect-ratio: 1;
  display: inline-block;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 2px solid #009ca6;
}
form input[type=checkbox]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(var(--unit));
  height: calc(var(--unit));
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  background: url("../img/icons/check-mark.svg") no-repeat center center;
  background-size: contain;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
form input[type=checkbox]:checked {
  border: 2px solid #F3F2EE;
}
form input[type=checkbox]:checked::after {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  form fieldset.form-item legend {
    font-size: var(--font-size--l);
  }
  form fieldset.form-item fieldset.form-item legend {
    font-size: var(--font-size--m);
  }
  form .form-item label {
    font-size: var(--font-size--s);
  }
  form .form-item .image-widget:has(img) {
    display: flex;
    flex-direction: column;
    gap: calc(var(--unit) * 0.5);
  }
  form .form-item .image-widget img {
    max-width: 5rem;
  }
  form input {
    width: 99%;
    font-size: var(--font-size--s);
  }
}

.user-login-form .form-wrapper:not(.form-actions),
.user-form .form-wrapper:not(.form-actions) {
  background-color: var(--color-white);
  padding: calc(var(--unit));
  border-radius: 0.8em;
  margin-bottom: var(--unit);
}
.user-login-form .form-wrapper:not(.form-actions) .form-wrapper,
.user-form .form-wrapper:not(.form-actions) .form-wrapper {
  margin-bottom: 0;
  border-radius: unset;
  padding: 0;
}
.user-login-form .field-group-html-element,
.user-form .field-group-html-element {
  background-color: var(--color-white);
  border-radius: 0.8em;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--unit);
  margin-bottom: var(--unit);
}
.user-login-form .field-group-html-element .form-wrapper,
.user-form .field-group-html-element .form-wrapper {
  margin-bottom: 0;
}
.user-login-form .field-group-html-element .field--name-field-nome,
.user-login-form .field-group-html-element .field--name-field-cognome,
.user-form .field-group-html-element .field--name-field-nome,
.user-form .field-group-html-element .field--name-field-cognome {
  grid-column: span 1;
  padding-bottom: 0;
}
.user-login-form .field-group-html-element .field--name-field-nome input,
.user-login-form .field-group-html-element .field--name-field-cognome input,
.user-form .field-group-html-element .field--name-field-nome input,
.user-form .field-group-html-element .field--name-field-cognome input {
  max-width: 100%;
  width: 100%;
}
.user-login-form .field-group-html-element .field--name-user-picture,
.user-login-form .field-group-html-element .field--name-field-comune-di-residenza,
.user-form .field-group-html-element .field--name-user-picture,
.user-form .field-group-html-element .field--name-field-comune-di-residenza {
  grid-column: span 2;
  padding: 0 var(--unit);
}
.user-login-form .field-group-html-element.group-informazioni-insegnamento,
.user-form .field-group-html-element.group-informazioni-insegnamento {
  display: block;
  padding: calc(var(--unit));
}
.user-login-form .field-group-html-element.group-informazioni-insegnamento .form-wrapper,
.user-form .field-group-html-element.group-informazioni-insegnamento .form-wrapper {
  padding: 0;
}
.user-login-form .field--name-field-materia-d-insegnamento fieldset legend,
.user-form .field--name-field-materia-d-insegnamento fieldset legend {
  margin-bottom: 0;
}
.user-login-form .field--name-field-materia-d-insegnamento fieldset legend span,
.user-form .field--name-field-materia-d-insegnamento fieldset legend span {
  font-size: calc(var(--font-size--s) * 1.1);
  font-family: "Lato";
  font-weight: 900;
}
.user-login-form .field--name-field-materia-d-insegnamento fieldset .fieldset-wrapper,
.user-form .field--name-field-materia-d-insegnamento fieldset .fieldset-wrapper {
  margin-bottom: var(--unit);
}
.user-login-form .form-required::after,
.user-form .form-required::after {
  content: "*";
}
.user-login-form .shs-container,
.user-form .shs-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.user-login-form .shs-container .shs-widget-container,
.user-form .shs-container .shs-widget-container {
  margin-right: calc(var(--unit) * 0.5);
  margin-top: calc(var(--unit) * 0.5);
}

#edit-docente-profiles-0 .fieldset-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--unit);
}
#edit-docente-profiles-0 .fieldset-wrapper > * {
  grid-column: span 2;
}
#edit-docente-profiles-0 label {
  display: block;
}
#edit-docente-profiles-0 label.option {
  display: inline-block;
}

#edit-pass {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--unit);
}
#edit-pass > * {
  grid-column: span 2;
}
#edit-pass .js-form-type-password {
  grid-column: span 1;
}

#edit-account label,
#user-pass label,
#user-login-form label {
  display: block;
}

#edit-docente-profiles-0-entity-field-materia-d-insegnamento {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(var(--unit));
}

@media only screen and (max-width: 767px) {
  .user-login-form .field-group-html-element,
  .user-form .field-group-html-element {
    display: block;
  }
  .user-login-form .field-group-html-element .field--name-user-picture,
  .user-login-form .field-group-html-element .field--name-field-comune-di-residenza,
  .user-form .field-group-html-element .field--name-user-picture,
  .user-form .field-group-html-element .field--name-field-comune-di-residenza {
    padding-top: var(--unit);
  }
  .user-login-form .field-group-html-element .field--name-field-comune-di-residenza,
  .user-form .field-group-html-element .field--name-field-comune-di-residenza {
    padding-bottom: var(--unit);
  }
  #edit-docente-profiles-0 .fieldset-wrapper {
    display: block;
  }
  #edit-docente-profiles-0-entity-field-materia-d-insegnamento {
    gap: calc(var(--unit) * 0.5);
    row-gap: 0;
  }
  #edit-pass {
    display: block;
  }
}
.page-content--admin:has(.user-login-form) .region--content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--unit);
}

#block-cd-diffusione-guidaallogin {
  background: var(--color-white);
  border-radius: 0.8em;
}

.node-artefatto-form .form-required::after {
  content: "*";
}
.node-artefatto-form .field--type-file details summary {
  pointer-events: none;
}
.node-artefatto-form .field-group-fieldset,
.node-artefatto-form fieldset {
  background-color: var(--color-white);
  padding: calc(var(--unit));
  border-radius: 0.8em;
  margin-bottom: var(--unit);
}
.node-artefatto-form .field-group-fieldset fieldset,
.node-artefatto-form fieldset fieldset {
  padding: 0;
  border-radius: unset;
  margin-bottom: 0;
}
.node-artefatto-form .field-group-fieldset legend,
.node-artefatto-form fieldset legend {
  float: left;
}
.node-artefatto-form .field-group-fieldset legend span,
.node-artefatto-form fieldset legend span {
  color: #DA291C;
}
.node-artefatto-form .field-group-fieldset .fieldset-wrapper,
.node-artefatto-form fieldset .fieldset-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: var(--unit) calc(var(--unit) * 2);
}
.node-artefatto-form .field-group-fieldset .fieldset-wrapper > *,
.node-artefatto-form fieldset .fieldset-wrapper > * {
  grid-column: span 1;
}
.node-artefatto-form .field-group-fieldset .fieldset-wrapper #edit-field-scuola-o-altro-istituto,
.node-artefatto-form .field-group-fieldset .fieldset-wrapper #edit-field-classe-o-gruppo,
.node-artefatto-form fieldset .fieldset-wrapper #edit-field-scuola-o-altro-istituto,
.node-artefatto-form fieldset .fieldset-wrapper #edit-field-classe-o-gruppo {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.node-artefatto-form .field-group-fieldset .fieldset-wrapper .field--name-title,
.node-artefatto-form .field-group-fieldset .fieldset-wrapper .field--name-field-descrizione-del-progetto,
.node-artefatto-form .field-group-fieldset .fieldset-wrapper .field--name-field-link-all-artefatto,
.node-artefatto-form .field-group-fieldset .fieldset-wrapper .field--name-field-scuola-o-altro-istituto,
.node-artefatto-form .field-group-fieldset .fieldset-wrapper .field--name-field-classe-o-gruppo,
.node-artefatto-form .field-group-fieldset .fieldset-wrapper .field--name-field-comune-scuola,
.node-artefatto-form .field-group-fieldset .fieldset-wrapper .field--name-field-scuola,
.node-artefatto-form fieldset .fieldset-wrapper .field--name-title,
.node-artefatto-form fieldset .fieldset-wrapper .field--name-field-descrizione-del-progetto,
.node-artefatto-form fieldset .fieldset-wrapper .field--name-field-link-all-artefatto,
.node-artefatto-form fieldset .fieldset-wrapper .field--name-field-scuola-o-altro-istituto,
.node-artefatto-form fieldset .fieldset-wrapper .field--name-field-classe-o-gruppo,
.node-artefatto-form fieldset .fieldset-wrapper .field--name-field-comune-scuola,
.node-artefatto-form fieldset .fieldset-wrapper .field--name-field-scuola {
  grid-column: span 2;
}
.node-artefatto-form .field-group-fieldset .fieldset-wrapper .field--name-field-altro-gruppo,
.node-artefatto-form fieldset .fieldset-wrapper .field--name-field-altro-gruppo {
  order: 22;
}
.node-artefatto-form table thead th {
  position: relative;
}
.node-artefatto-form .tabledrag-toggle-weight-wrapper,
.node-artefatto-form .field-multiple-drag {
  display: none;
}
.node-artefatto-form .field--name-field-link-all-artefatto .form-item-field-link-all-artefatto-0-uri label {
  display: block;
}
.node-artefatto-form .field--name-field-link-all-artefatto input:not(input[type=submit]) {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
  font-size: var(--font-size--s);
  color: var(--color-black);
  border-radius: calc(var(--unit) * 0.5 * 0.5);
  border: 1px solid var(--color-black);
  min-height: var(--unit);
  width: 100%;
  vertical-align: middle;
  padding: calc(var(--unit) * 0.3) calc(var(--unit) * 0.3) calc(var(--unit) * 0.3) calc(var(--unit) * 0.3);
}
.node-artefatto-form .field--name-field-link-all-artefatto table {
  margin-bottom: var(--unit);
}
.node-artefatto-form .field--name-field-link-all-artefatto table td,
.node-artefatto-form .field--name-field-link-all-artefatto table th {
  border: none;
}
.node-artefatto-form .field--name-field-link-all-artefatto table tbody td:nth-child(2) {
  border: 1px solid var(--color-black);
  padding: calc(var(--unit) / 2);
}
.node-artefatto-form .field--name-field-link-all-artefatto table .label {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
  font-size: calc(var(--font-size--m) * 0.8);
  font-weight: 900;
}
.node-artefatto-form .field--name-field-link-all-artefatto input[type=submit] {
  font-size: var(--font-size--xs);
}
.node-artefatto-form .field--name-field-allegati-artefatto input[type=submit],
.node-artefatto-form .field--name-field-audio-artefatto input[type=submit],
.node-artefatto-form .field--name-field-video-artefatto input[type=submit] {
  font-size: var(--font-size--xs);
}
.node-artefatto-form .field--name-field-allegati-artefatto details summary,
.node-artefatto-form .field--name-field-video-artefatto details summary,
.node-artefatto-form .field--name-field-audio-artefatto details summary {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
  font-size: calc(var(--font-size--m) * 0.85);
  font-weight: 900;
}
.node-artefatto-form .field--name-field-materie fieldset legend .fieldset-legend,
.node-artefatto-form .field--name-field-tematiche-di-ed-civ-affron fieldset legend .fieldset-legend,
.node-artefatto-form .field--name-field-eta-degli-studenti-parteci fieldset legend .fieldset-legend,
.node-artefatto-form .field--name-field-scuola-o-altro-istituto fieldset legend .fieldset-legend,
.node-artefatto-form .field--name-field-classe-o-gruppo fieldset legend .fieldset-legend {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
  font-size: calc(var(--font-size--m) * 0.85);
  font-weight: 900;
  color: var(--color-black);
}
.node-artefatto-form #edit-field-eta-degli-studenti-parteci-0 legend {
  line-height: 1;
}
.node-artefatto-form .js-form-type-checkbox {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: calc(var(--unit) * 0.3);
}
.node-artefatto-form .js-form-type-checkbox label {
  margin-bottom: 0;
}
.node-artefatto-form input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: calc(var(--unit) * 0.6);
  aspect-ratio: 1;
  display: inline-block;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 2px solid #009ca6;
}
.node-artefatto-form input[type=checkbox]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(var(--unit));
  height: calc(var(--unit));
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  background: url("../img/icons/check-mark.svg") no-repeat center center;
  background-size: contain;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.node-artefatto-form input[type=checkbox]:checked {
  border: 2px solid #F3F2EE;
}
.node-artefatto-form input[type=checkbox]:checked::after {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
.node-artefatto-form .field--name-field-descrizione-del-progetto .form-wrapper,
.node-artefatto-form .field--name-field-note-della-redazione .form-wrapper {
  display: none;
}
.node-artefatto-form .js-form-type-radio {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: calc(var(--unit) * 0.5);
  padding: calc(var(--unit) * 0.2);
}
.node-artefatto-form .js-form-type-radio.form-item-field-scuola-o-altro-istituto label {
  text-transform: uppercase;
}
.node-artefatto-form .js-form-type-radio label {
  margin-bottom: 0;
  position: relative;
  padding-left: calc(var(--unit));
  cursor: pointer;
}
.node-artefatto-form .js-form-type-radio label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: calc(var(--unit) * 0.7);
  height: calc(var(--unit) * 0.7);
  border-radius: 50%;
  background-color: var(--color-white);
  box-shadow: inset 0 0 0 calc(var(--unit) * 0.1) #009ca6;
  transition: 0.25s ease;
}
.node-artefatto-form .js-form-type-radio input[type=radio]:checked + label:before {
  box-shadow: inset 0 0 0 calc(var(--unit) * 0.5) #009ca6;
}
.node-artefatto-form .js-form-type-radio:has(input[type=radio]:checked) {
  background-color: rgba(0, 156, 166, 0.1);
  border-radius: 0.4em;
}
.node-artefatto-form .js-form-type-radio:has(input[type=radio]:checked):before {
  box-shadow: inset 0 0 0 calc(var(--unit) * 0.5) #009ca6;
}
.node-artefatto-form .shs-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.node-artefatto-form .shs-container .shs-widget-container {
  margin-right: calc(var(--unit) * 0.5);
  margin-top: calc(var(--unit) * 0.5);
}
@media only screen and (max-width: 767px) {
  .node-artefatto-form .field-group-fieldset,
  .node-artefatto-form fieldset {
    display: flex;
    flex-direction: column;
    padding: calc(var(--unit) * 0.5);
  }
  .node-artefatto-form .field-group-fieldset .fieldset-wrapper,
  .node-artefatto-form fieldset .fieldset-wrapper {
    width: 99%;
    display: block;
  }
  .node-artefatto-form .field-group-fieldset legend span,
  .node-artefatto-form fieldset legend span {
    font-size: var(--font-size--l);
  }
  .node-artefatto-form input {
    width: 99%;
    font-size: var(--font-size--s);
  }
  .node-artefatto-form .ck-reset_all :not(.ck-reset_all-excluded *),
  .node-artefatto-form .ck.ck-reset,
  .node-artefatto-form .ck.ck-reset_all {
    max-width: clamp(16rem, 75vw, 43rem);
  }
  .node-artefatto-form .form-item:has(#field-link-all-artefatto-values) {
    width: 99%;
  }
  .node-artefatto-form .field--type-file details summary {
    font-size: var(--font-size--s);
  }
}

.ui-widget.ui-autocomplete {
  background: var(--color-white);
}

.article--body {
  padding-top: calc(var(--unit) * 2);
  padding-bottom: calc(var(--unit) * 3);
  background: var(--color-white);
}
.article--body .field {
  margin-bottom: var(--unit);
}
@media only screen and (max-width: 767px) {
  .article--body {
    padding-top: calc(var(--unit) * 0.5);
  }
}

@media only screen and (max-width: 767px) {
  #block-cd-diffusione-page-title {
    padding-top: calc(var(--unit) * 0.5);
    padding-bottom: calc(var(--unit) * 0.5);
  }
}

.view-mode--teaser {
  background: var(--color-white);
  border-radius: 0.8em;
  overflow: clip;
  border: 1px solid var(--color-black);
  transition: all 0.2s linear;
  box-shadow: 1px 1px 0 0 var(--color-black), 2px 2px 0 0 var(--color-black), 3px 3px 0 0 var(--color-black);
}
.view-mode--teaser:hover {
  box-shadow: 1px 1px 0 0 var(--color-black), 2px 2px 0 0 var(--color-black), 3px 3px 0 0 var(--color-black), 4px 4px 0 0 var(--color-black), 5px 5px 0 0 var(--color-black), 5px 6px 0 0 var(--color-black);
}
.view-mode--teaser h3 {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  font-size: var(--font-size--l);
  font-weight: 400;
}
.view-mode--teaser .content--intro {
  line-height: 1.2;
  font-size: var(--font-size--s);
}
.view-mode--teaser:not(.node-type--lezione) {
  cursor: pointer;
}

.node-type--corso.view-mode--full {
  position: relative;
}
.node-type--corso.view-mode--full .corso--image {
  position: absolute;
  width: 29vw;
  top: -10rem;
  right: 1em;
}
.node-type--corso.view-mode--full .article--body {
  background: transparent;
}
.node-type--corso.view-mode--full .corso--lezioni {
  padding-bottom: calc(var(--unit) * 3);
}
.node-type--corso.view-mode--full .corso--lezioni .component--content ul {
  display: flex;
  flex-direction: column;
  gap: var(--unit);
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione {
  padding: var(--unit);
  box-shadow: none;
  display: grid;
  grid-template-columns: 3fr 5fr;
  gap: var(--unit);
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione header {
  margin-bottom: var(--unit);
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--intro {
  font-family: "Lato", sans-serif;
  font-weight: normal;
  letter-spacing: 0;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione h2 {
  margin-bottom: 0;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  font-size: var(--font-size--l);
  font-weight: 400;
  margin-bottom: 0.5em;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--checked {
  margin-right: 0.25em;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .materiale--preferiti i {
  opacity: 0.2;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .materiale--preferiti.active i {
  opacity: 1;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--materiali a {
  -webkit-text-decoration: underline 2px solid var(--color-link);
          text-decoration: underline 2px solid var(--color-link);
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--materiali .field {
  margin-bottom: 0;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--materiali ol {
  display: table;
  border-collapse: collapse;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--materiali li {
  display: table-row;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--materiali li > * {
  display: table-cell;
  border-bottom: 1px solid #D1CCBD;
  padding: 0.25rem 0.5rem 0.25rem 0;
  vertical-align: middle;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--materiali li:last-child > * {
  border-bottom: none;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--materiali .materiale--titolo {
  width: 100%;
  padding-left: 1em;
  padding-bottom: 0.4rem;
}
.node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--materiali .materiale--tipo {
  text-transform: uppercase;
  font-size: var(--font-size--xs);
}
@media only screen and (max-width: 767px) {
  .node-type--corso.view-mode--full .corso--lezioni {
    display: block;
    padding: 0 calc(var(--unit) * 0.5);
  }
  .node-type--corso.view-mode--full .corso--lezioni .node-type--lezione {
    display: block;
    padding: calc(var(--unit) * 0.5);
  }
  .node-type--corso.view-mode--full .corso--lezioni .node-type--lezione .lezione--materiali .materiale--titolo {
    font-size: var(--font-size--s);
  }
  .node-type--corso.view-mode--full .corso--image {
    top: -6rem;
    right: 0em;
  }
}
.node-type--corso.view-mode--teaser {
  padding: var(--unit);
  display: flex;
  gap: var(--unit);
}
.node-type--corso.view-mode--teaser figure {
  order: -1;
  width: 20%;
}
.node-type--corso.view-mode--teaser .corso--lezioni {
  display: block;
}
.node-type--corso.view-mode--teaser .corso--lezioni .component--content {
  display: flex;
  flex-direction: column;
}
.node-type--corso.view-mode--teaser .content--lezioni small, .node-type--corso.view-mode--teaser .content--lezioni strong {
  line-height: 1.2;
  padding-top: 0.25ch;
  padding-bottom: 0.25ch;
}
.node-type--corso.view-mode--teaser .content--lezioni small {
  font-size: var(--font-size--s);
  text-transform: uppercase;
  padding-right: 1ch;
}
@media only screen and (max-width: 767px) {
  .node-type--corso.view-mode--teaser {
    flex-direction: column;
    padding: calc(var(--unit) * 0.5);
  }
  .node-type--corso.view-mode--teaser figure {
    width: 55%;
  }
}

.page-node-type-corso .field--field-introduzione {
  background: hwb(from #f3ece7 h w b/0.5);
  border-radius: 0.5em;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.node-type--user-profile .user-profile--intro,
.node-type--user-profile .user-profile--crea-artefatto,
.node-type--user-profile .user-profile--artefatti,
.node-type--user-profile .user-profile--attestati,
.node-type--user-profile .user-profile--segnalibro,
.node-type--user-profile .user-profile--eventi {
  margin-bottom: calc(var(--unit) * 2);
}
.node-type--user-profile .user-profile--crea-artefatto .link i {
  margin-right: 0.5ch;
}

.node-type--artefatto.view-mode--teaser .meta--wrapper {
  text-transform: uppercase;
  font-size: var(--font-size--xs);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--unit);
  background-color: var(--color-black);
  color: var(--color-white);
  padding: calc(var(--unit) * 0.2) calc(var(--unit) * 0.4);
}
.node-type--artefatto.view-mode--teaser .content {
  padding: calc(var(--unit));
}
.node-type--artefatto.view-mode--teaser h3 {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .node-type--artefatto.view-mode--teaser .meta--wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .node-type--artefatto.view-mode--teaser .meta--wrapper .article--newsroom {
    font-size: calc(var(--font-size--xs) * 0.8);
  }
}

.page-node-type-artefatto .component--type-article--meta dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: calc(var(--unit) / 2) var(--unit);
}
.page-node-type-artefatto .field--field-descrizione-del-progetto {
  margin-bottom: calc(var(--unit) * 3);
}
.page-node-type-artefatto .field--field-link-all-artefatto .field--item,
.page-node-type-artefatto .field--field-audio-artefatto .field--item,
.page-node-type-artefatto .field--field-video-artefatto .field--item {
  padding: var(--unit);
  border: 2px solid var(--color-black);
}
.page-node-type-artefatto .field--field-link-all-artefatto .field--item a,
.page-node-type-artefatto .field--field-audio-artefatto .field--item a,
.page-node-type-artefatto .field--field-video-artefatto .field--item a {
  text-decoration: underline;
}
.page-node-type-artefatto .field--field-link-all-artefatto .field--item a:has(+ .video-container),
.page-node-type-artefatto .field--field-audio-artefatto .field--item a:has(+ .video-container),
.page-node-type-artefatto .field--field-video-artefatto .field--item a:has(+ .video-container) {
  display: block;
  border-bottom: 2px solid var(--color-black);
  margin-bottom: var(--unit);
  padding-bottom: var(--unit);
}
.page-node-type-artefatto .field--field-link-all-artefatto .field--item:not(:last-child),
.page-node-type-artefatto .field--field-audio-artefatto .field--item:not(:last-child),
.page-node-type-artefatto .field--field-video-artefatto .field--item:not(:last-child) {
  margin-bottom: calc(var(--unit));
}

.node-type--evento time {
  display: block;
}
.node-type--evento .evento--date-time {
  border-right: 1px solid var(--color-black);
  padding-right: calc(var(--unit) / 4);
}
.node-type--evento .evento--date {
  font-size: var(--font-size--s);
  text-transform: uppercase;
  line-height: 1;
  min-width: 4em;
  border-bottom: 1px solid var(--color-black);
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
}
.node-type--evento .evento--date span {
  display: block;
  text-align: center;
}
.node-type--evento .evento--date .day-wrapper {
  border-bottom: 1px solid var(--color-black);
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
}
.node-type--evento .evento--date .weekday {
  font-size: var(--font-size--xs);
  letter-spacing: 0.2em;
}
.node-type--evento .evento--date .day {
  font-size: var(--font-size--l);
}
.node-type--evento .evento--date .month {
  letter-spacing: 0.1em;
}
.node-type--evento .evento--date .year {
  font-size: var(--font-size--xs);
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.node-type--evento .event--duration {
  font-size: var(--font-size--xs);
  text-align: center;
  text-transform: uppercase;
}
.node-type--evento .field--field-link-alla-chiamata {
  background-color: var(--color-light-grey);
  border-radius: 3px;
  padding: calc(var(--unit) * 0.5);
}
.node-type--evento .field--field-link-alla-chiamata h2 {
  font-size: var(--font-size--l);
}
.node-type--evento .field--field-link-alla-chiamata a {
  font-size: var(--font-size--s);
}
.node-type--evento .field--field-sottotitolo {
  font-size: var(--font-size--l);
}
@media only screen and (max-width: 767px) {
  .node-type--evento .field--field-embed {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-bottom: 56.25%;
  }
  .node-type--evento .field--field-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.node-type--evento.view-mode--teaser .content {
  display: flex;
  grid-template-columns: 3rem auto;
  gap: calc(var(--unit) / 2);
  -moz-column-rule: 3px solid var(--color-black);
       column-rule: 3px solid var(--color-black);
  padding: calc(var(--unit) / 2);
}
.node-type--evento.view-mode--teaser .evento--type {
  text-transform: uppercase;
  font-size: var(--font-size--s);
  text-align: center;
  background: var(--color-black);
  color: var(--color-white);
  display: block;
  padding: 0 calc(var(--unit) / 4);
  letter-spacing: 0.2em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.node-type--evento.view-mode--teaser .evento--type i {
  vertical-align: middle;
  margin-right: 0.5ch;
  display: inline-block;
  line-height: 1;
}
.node-type--evento.view-mode--teaser .content--wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .node-type--evento.view-mode--teaser .evento--type {
    font-size: var(--font-size--xs);
  }
  .node-type--evento.view-mode--teaser .evento--date .day {
    font-size: var(--font-size--m);
  }
  .node-type--evento.view-mode--teaser .evento--date .month {
    font-size: var(--font-size--s);
  }
}
.node-type--evento.view-mode--full .evento--type {
  font-size: var(--font-size--s);
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  display: block;
  text-transform: uppercase;
  margin-top: var(--unit);
}
.node-type--evento.view-mode--full .evento--type i {
  vertical-align: middle;
  margin-right: 0.5ch;
}
.node-type--evento.view-mode--full .event--actions {
  margin-bottom: 1rem;
}
.node-type--evento .event--actions a {
  display: flex;
  gap: 0.5em;
  text-transform: uppercase;
  font-size: var(--font-size--s);
}
.node-type--evento .event--actions a span {
  text-decoration: underline;
}

.node-type--guida.view-mode--teaser .content {
  padding: calc(var(--unit));
}
.node-type--guida.view-mode--teaser h3 {
  margin-bottom: 0;
}

.page--header {
  display: grid;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  position: relative;
  z-index: 9;
  box-shadow: 0 10px 14px 0 rgba(0, 0, 0, 0.1333333333) inset;
  background: #DA291C;
  color: var(--color-white);
  gap: calc(var(--unit) / 2);
}
.page--header .page--header--branding {
  grid-row: 2;
  grid-column: 1/4;
  padding: calc(var(--unit) / 2) calc(var(--unit)) 0 calc(var(--unit));
}
.page--header #block-cd-diffusione-main-menu {
  grid-row: 3;
  grid-column: 1/3;
  padding: calc(var(--unit) / 2) calc(var(--unit)) calc(var(--unit) / 2) calc(var(--unit));
}
.page--header .user-menu {
  grid-row: 1/4;
  grid-column: 3/5;
  align-self: self-end;
}
.page--header .page--header--branding {
  font-size: var(--font-size--xl);
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
}
.page--header .page--header--branding a {
  color: var(--color-white);
  display: flex;
  gap: 1ch;
}
.page--header .page--header--branding img {
  width: 17ch;
}
.page--header nav {
  font-size: calc(var(--font-size--s) * 1.1);
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
}
.page--header nav .is-active {
  font-weight: 500;
}
.page--header .mobile-menu-trigger,
.page--header .mobile-menu-close {
  display: none;
}

#block-cd-diffusione-main-menu,
.user-menu {
  align-self: end;
}
#block-cd-diffusione-main-menu ul:not(.contextual-links),
.user-menu ul:not(.contextual-links) {
  display: flex;
  gap: 2ch;
}
#block-cd-diffusione-main-menu ul:not(.contextual-links) li a,
.user-menu ul:not(.contextual-links) li a {
  color: var(--color-white);
}
#block-cd-diffusione-main-menu ul:not(.contextual-links) li a i,
.user-menu ul:not(.contextual-links) li a i {
  vertical-align: middle;
}

#block-cd-diffusione-main-menu ul a {
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.page--footer {
  background: #F2A900;
  color: var(--color-white);
  padding: var(--unit);
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--unit);
}
.page--footer img {
  max-height: 3em;
  width: auto;
}
.page--footer .page--header--branding {
  width: 100%;
}
.page--footer .page--header--branding a {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .page--footer .page--header--branding a {
    flex-direction: column;
    gap: calc(var(--unit) * 0.5);
  }
  .page--footer .page--header--branding a img {
    height: 2em;
  }
}

.user-menu {
  padding: calc(var(--unit) / 2) calc(var(--unit)) calc(var(--unit) / 2) calc(var(--unit));
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: calc(var(--unit) / 2);
}
.user-menu ul {
  justify-content: flex-end;
}
.user-menu ul a {
  color: var(--color-white);
}
.user-menu .user-menu--profile {
  display: flex;
  gap: calc(var(--unit) / 2);
  align-items: center;
}
.user-menu .user-menu--user-name {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: capitalize;
}
.user-menu .user-menu--user-picture {
  border-radius: 50%;
  width: 2em;
  height: 2em;
  -o-object-fit: cover;
     object-fit: cover;
  border: 2px solid var(--color-white);
}
.user-menu a[data-drupal-link-system-path=unmasquerade] {
  opacity: 0.2;
}

@media only screen and (max-width: 1023px) {
  .page--header {
    display: block;
  }
  .page--header .page--header--branding {
    padding: calc(var(--unit) * 0.5);
  }
  .page--header .page--header--branding a {
    gap: calc(var(--unit) * 0.5);
  }
  .page--header .page--header--branding a img {
    order: 1;
    width: 10ch;
  }
  .page--header .page--header--branding a span {
    order: 2;
    font-size: var(--font-size--m);
    padding-left: calc(var(--unit) * 1.8);
  }
  .page--header #block-cd-diffusione-main-menu,
  .page--header .user-menu {
    display: none;
    padding: calc(var(--unit) * 0.5);
    font-size: var(--font-size--s);
  }
  .page--header:target .mobile-menu-trigger {
    display: none;
  }
  .page--header:target .mobile-menu-close {
    display: block;
  }
  .page--header:target #block-cd-diffusione-main-menu,
  .page--header:target .user-menu {
    display: block;
  }
  .page--header:target #block-cd-diffusione-main-menu ul,
  .page--header:target .user-menu ul {
    flex-direction: column;
    gap: calc(var(--unit) * 0.3);
  }
  .page--header:target .user-menu {
    border-top: 1px dashed var(--color-white);
  }
  .page--header:target .user-menu ul {
    margin-top: calc(var(--unit) * 0.5);
  }
  .page--header .mobile-menu-trigger,
  .page--header .mobile-menu-close {
    position: absolute;
    display: block;
    margin-top: calc(var(--unit) * 0.35);
    right: var(--unit);
    top: 0.35rem;
    z-index: 9001;
    height: 30px;
    padding-right: var(--unit);
  }
  .page--header .mobile-menu-trigger::before,
  .page--header .mobile-menu-close::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 25px;
    background: var(--color-white);
    height: 3px;
    transform-origin: 50% 50%;
  }
  .page--header .mobile-menu-trigger::after,
  .page--header .mobile-menu-close::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 25px;
    background: var(--color-white);
    height: 3px;
    transform-origin: 50% 50%;
  }
  .page--header .mobile-menu-trigger span {
    display: none;
  }
  .page--header .mobile-menu-trigger::before {
    transform: translateY(-50%);
    transition: all 0.2s ease;
    box-shadow: 0 -10px 0 0 var(--color-white), 0 10px 0 0 var(--color-white);
  }
  .page--header .mobile-menu-trigger::after {
    transform: translateY(-50%);
    transition: all 0.2s ease;
  }
  .page--header .mobile-menu-close::before {
    transform: translateY(-50%);
    transition: all 0.2s ease;
    transform: translateY(-1px) rotate(45deg) scaleX(1.3);
    box-shadow: none;
  }
  .page--header .mobile-menu-close::after {
    transform: translateY(-1px) rotate(-45deg) scaleX(1.3);
    transition: all 0.2s ease;
  }
  .page--header .mobile-menu-close span {
    display: none;
  }
  .page--header .mobile-menu-close {
    display: none;
  }
}

@view-transition {
  navigation: auto;
}
main {
  view-transition-name: main-transition;
}

/* Apply the custom animation to the old and new page states */
::view-transition-old(main-transition) {
  animation: 0.5s linear both move-out;
}

::view-transition-new(main-transition) {
  animation: 0.5s linear both move-in;
}

@keyframes move-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes move-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.path-frontpage {
  background: var(--color-white);
}
.path-frontpage .component-type--page--header {
  display: none;
}

.home--unisciti {
  margin-top: calc(var(--unit) * 3);
  padding-top: calc(var(--unit) * 3);
  padding-bottom: calc(var(--unit) * 4);
  background-image: url(../img/illu/voliere.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.home--unisciti .text-container, .home--unisciti .cke_editable {
  margin: 0 auto;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  text-transform: uppercase;
  text-align: center;
  font-size: var(--font-size--xxl);
  color: #009ca6;
}

.cta--box {
  background: #F3F2EE;
  border-top: 5px solid #DA291C;
  padding-top: calc(var(--unit) * 3);
  padding-bottom: calc(var(--unit) * 3);
}
.cta--box .component--content--left {
  font-size: var(--font-size--m);
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
}
.cta--box .component--content {
  align-items: center;
}
.cta--box .action, .cta--box .views-data-export-feed a, .views-data-export-feed .cta--box a, .cta--box input[type=submit], .cta--box .node-type--user-profile .user-profile--crea-artefatto .link, .node-type--user-profile .user-profile--crea-artefatto .cta--box .link {
  background-color: #DA291C;
  font-size: var(--font-size--xl);
  color: var(--color-white);
  border-radius: 5px;
  box-shadow: 1px 1px 0 0 var(--color-black), 2px 2px 0 0 var(--color-black), 3px 3px 0 0 var(--color-black), 4px 4px 0 0 var(--color-black), 5px 5px 0 0 var(--color-black);
}

@media only screen and (max-width: 1023px) {
  .path-frontpage .home--unisciti {
    padding-top: calc(var(--unit) * 2);
    padding-bottom: calc(var(--unit) * 2);
    margin-top: calc(var(--unit) * 2);
  }
  .path-frontpage .home--unisciti .text-container, .path-frontpage .home--unisciti .cke_editable {
    font-size: var(--font-size--l);
  }
}

/*
.component:has(.mappa-home--container) {
	background: $lightBiscuit;
	padding-top: calc($unit * 4);
	padding-bottom: calc($unit * 2);

	clip-path: polygon(0 0, 50% calc($unit * 3), 100% 0, 100% 100%, 0 100%);

} */
.home--dati, .home--dati--unisciti {
  display: flex;
  flex-direction: column;
  grid-template-rows: auto auto;
  position: relative;
  gap: calc(var(--unit) / 2);
  grid-column: 2;
  grid-row: 1;
}
.home--dati h2, .home--dati--unisciti h2 {
  display: none;
}
.home--dati .component, .home--dati--unisciti .component {
  border-radius: 0.8em;
  background-color: #009ca6;
  color: var(--color-white);
  padding: calc(var(--unit) / 2);
  margin-right: var(--unit);
  max-width: 30rem;
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 4fr;
  justify-items: left;
  gap: calc(var(--unit) * 0.5);
  position: relative;
}
.home--dati .component figure, .home--dati--unisciti .component figure {
  grid-row: 1;
  grid-column: 1;
  display: block;
  width: 8rem;
  height: 6rem;
  background-size: contain;
  background-position: bottom center;
  margin-bottom: var(--unit);
  background-repeat: no-repeat;
}
.home--dati .component figure img,
.home--dati .component figure svg, .home--dati--unisciti .component figure img,
.home--dati--unisciti .component figure svg {
  max-width: 14vw;
}
.home--dati .component.home--dati--insegnanti figure, .home--dati--unisciti .component.home--dati--insegnanti figure {
  background-image: url(../img/illu/sticker-prof.svg);
}
.home--dati .component.home--dati--scuole figure, .home--dati--unisciti .component.home--dati--scuole figure {
  background-image: url(../img/illu/sticker-scuola.svg);
}
.home--dati .component.home--dati--studenti figure, .home--dati--unisciti .component.home--dati--studenti figure {
  background-image: url(../img/illu/sticker-studenti.svg);
}
.home--dati .component .component--content, .home--dati--unisciti .component .component--content {
  grid-row: 1;
  grid-column: 2;
}
.home--dati strong, .home--dati--unisciti strong {
  color: var(--color-white);
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  font-size: var(--font-size--xxl);
  line-height: 1.2;
  display: block;
  margin-bottom: 0.15em;
  font-weight: 438;
}
.home--dati strong span, .home--dati--unisciti strong span {
  font-weight: 300;
}
.home--dati p, .home--dati--unisciti p {
  line-height: 1.2;
}
@media only screen and (max-width: 1023px) {
  .home--dati, .home--dati--unisciti {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    margin-bottom: var(--unit);
  }
  .home--dati .component, .home--dati--unisciti .component {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0;
    padding: 0 calc(var(--unit) * 0.5);
  }
  .home--dati .component figure, .home--dati--unisciti .component figure {
    width: 4rem;
    height: 4rem;
    background-size: 4rem;
    margin-bottom: calc(var(--unit) * 0.5);
  }
  .home--dati strong, .home--dati--unisciti strong {
    font-size: var(--font-size--l);
  }
  .home--dati .text-container, .home--dati .cke_editable, .home--dati--unisciti .text-container, .home--dati--unisciti .cke_editable {
    font-size: var(--font-size--s);
  }
}
@media only screen and (max-width: 767px) {
  .home--dati, .home--dati--unisciti {
    gap: 0;
  }
  .home--dati .component, .home--dati--unisciti .component {
    padding: calc(var(--unit) * 0.5) calc(var(--unit) * 0.3);
    margin-right: calc(var(--unit) * 0.2);
  }
  .home--dati .component figure, .home--dati--unisciti .component figure {
    width: 2rem;
    height: 2rem;
    background-size: contain;
  }
  .home--dati strong, .home--dati--unisciti strong {
    font-size: var(--font-size--m);
  }
  .home--dati .text-container, .home--dati .cke_editable, .home--dati--unisciti .text-container, .home--dati--unisciti .cke_editable {
    font-size: var(--font-size--xs);
  }
}

.home--dati--unisciti {
  grid-column: 2;
  grid-row: 2;
  margin-top: calc(var(--unit) * 2);
}
.user-logged-in .home--dati--unisciti {
  display: none;
}
.home--dati--unisciti .component {
  background: #F3F2EE;
  color: var(--color-black);
  padding-bottom: calc(var(--unit) / 2 + 6px);
}
.home--dati--unisciti .component strong {
  color: #DA291C;
  text-transform: uppercase;
}
.home--dati--unisciti .component .action, .home--dati--unisciti .component .views-data-export-feed a, .views-data-export-feed .home--dati--unisciti .component a, .home--dati--unisciti .component input[type=submit], .home--dati--unisciti .component .node-type--user-profile .user-profile--crea-artefatto .link, .node-type--user-profile .user-profile--crea-artefatto .home--dati--unisciti .component .link {
  margin-right: 1em;
}
.home--dati--unisciti figure {
  background-image: url("../img/illu/ermano.svg");
  position: relative;
}
@media screen and (prefers-reduced-motion: no-preference) {
  .home--dati--unisciti figure {
    animation: manora 1s ease-in-out alternate infinite;
  }
}

@keyframes manora {
  from {
    transform: translateX(-25%) rotate(25deg) scale(1.2);
  }
  to {
    transform: translateX(-25%) rotate(25deg) scale(1.3);
  }
}
.mappa-home--container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 0 var(--unit);
  padding-bottom: calc(var(--unit) * 3);
  /*
  	.home--dati--insegnanti,
  	.home--dati--scuole,
  	.home--dati--studenti,
  	.home--dati--unisciti {
  		opacity: 0;
  		transform: translateY(calc($unit * -1));
  	}

  	&.reveal {
  		.home--dati--insegnanti,
  		.home--dati--scuole,
  		.home--dati--studenti,
  		.home--dati--unisciti {
  			opacity: 1;
  			transform: translateY(0);
  		}
  	}
  */
}
.mappa-home--container #mappa-home {
  margin-left: auto;
  max-width: 100%;
  height: auto !important;
  grid-column: 1;
  grid-row: span 2;
}
@media only screen and (max-width: 1023px) {
  .mappa-home--container {
    display: flex;
    flex-direction: column-reverse;
    padding: 0 calc(var(--unit) * 0.4);
  }
}

.home--intro {
  background: #F3F2EE;
  padding-top: calc(var(--unit) * 4);
  padding-bottom: calc(var(--unit) * 4);
  grid-template-columns: minmax(2.5rem, 1fr) calc(min(45 * 1.2rem, 100% - 4.5rem) * 2 / 4) calc(min(45 * 1.2rem, 100% - 4.5rem) * 2 / 4) minmax(2.5rem, 1fr);
  color: var(--color-black);
  overflow-x: clip;
  font-size: 3rem;
  border-bottom: 3px solid #009ca6;
}
.home--intro strong {
  color: #009ca6;
}
.home--intro .text-container, .home--intro .cke_editable,
.home--intro .text-container *,
.home--intro .cke_editable * {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
}
.home--intro .text-container p, .home--intro .cke_editable p {
  line-height: 1.2;
}
.home--intro .component--content {
  grid-column: 2;
}
.home--intro figure {
  grid-column: 3;
}
.home--intro figure svg,
.home--intro figure img {
  position: absolute;
  bottom: -1vw;
  width: 45vw;
  overflow: visible;
}
@media only screen and (max-width: 1023px) {
  .home--intro {
    display: block;
    padding-top: var(--unit);
    padding-bottom: var(--unit);
    font-size: var(--font-size--xl);
    margin-bottom: var(--unit);
  }
  .home--intro figure {
    padding-top: calc(var(--unit) * 0.5);
  }
  .home--intro figure svg {
    position: relative;
    bottom: -2.5rem;
    width: 55vw;
  }
}
@media only screen and (max-width: 767px) {
  .home--intro {
    font-size: var(--font-size--l);
  }
  .home--intro figure svg {
    width: 75vw;
  }
}

.link-partecipazione-evento {
  margin-bottom: 4rem;
}
.link-partecipazione-evento .view--title {
  margin-top: 4rem;
  font-size: var(--font-size--l);
}

table {
  font-size: 1rem;
  width: 100%;
  position: relative;
}
table th {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  color: var(--color-primary);
  background: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
table td {
  font-size: 0.9em;
}
table td,
table th {
  padding: 0.25em 0.5em;
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid var(--subtle-color);
  vertical-align: middle;
}
table thead th {
  background: var(--color-white);
  position: sticky;
  top: 0;
}
table a {
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  table thead th {
    font-size: var(--font-size--s);
  }
  table td a {
    font-size: var(--font-size--s);
  }
  table td time {
    font-size: var(--font-size--xs);
  }
}

.content-access--widget .component--content {
  padding: var(--unit);
  background: #009ca6;
  color: var(--color-white);
  font-size: var(--font-size--l);
  border-radius: 0.8em;
}
.content-access--widget .component--content a {
  color: var(--color-white);
  text-decoration: underline;
}

.user-role--administrator nav.tabs,
.user-role--superuser nav.tabs {
  position: fixed;
  bottom: 10px;
  left: 10px;
  background: rgba(255, 255, 255, 0.8);
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  font-size: var(--font-size--s);
  text-transform: uppercase;
  z-index: 90209;
  border: 1px solid rgba(0, 0, 0, 0.5);
}
.user-role--administrator nav.tabs ul.tabs,
.user-role--superuser nav.tabs ul.tabs {
  margin: 0;
}

ul.tabs {
  margin: 0;
}
ul.tabs > li {
  display: inline-block;
  margin-right: 0.3rem;
}
ul.tabs a {
  display: block;
  padding: 0.2em 1em;
  text-decoration: none;
}
ul.tabs a.is-active {
  background-color: #eee;
}

.contextual {
  z-index: 1390 !important;
}

ul.contextual-links li {
  padding-left: 0 !important;
}
ul.contextual-links li:before {
  display: none !important;
}

body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks {
  padding-top: calc(var(--unit) * 3);
}
body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks {
  display: grid;
  grid-template-columns: minmax(2.5rem, 1fr) min(45 * 1.2rem, 100% - 4.5rem) minmax(2.5rem, 1fr);
}
@media only screen and (max-width: calc(min(45 * 1.2rem, 100% - 4.5rem) * 1.2 + 6rem)) {
  body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks {
    grid-template-columns: 1.25rem 1fr 1.25rem;
  }
}
body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks ul {
  grid-column: 2;
}
body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks ul li a {
  border: 1px solid var(--color-black);
}
body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks ul li .is-active {
  border: 1px solid #DA291C;
  background-color: #DA291C;
  color: var(--color-white);
  position: relative;
}
body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks ul li .is-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: calc(var(--unit) * 0.3) calc(var(--unit) * 0.3) 0 calc(var(--unit) * 0.3);
  border-color: #DA291C transparent transparent transparent;
  transform: translate(-50%, 100%);
}
@media only screen and (max-width: 767px) {
  body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks {
    grid-template-columns: calc(var(--unit) * 0.75) 1fr calc(var(--unit) * 0.75);
  }
  body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: calc(var(--unit) * 0.3);
  }
  body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks ul li {
    margin: 0;
  }
  body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks ul li a {
    font-size: var(--font-size--s);
  }
  body:not(.user-role--administrator):not(.user-role--superuser) #block-cd-diffusione-primary-local-tasks .menu-local-tasks ul li .is-active::after {
    display: none;
  }
}
body:not(.user-role--administrator):not(.user-role--superuser) .component-type--page--header {
  padding-top: var(--unit);
}
body:not(.user-role--administrator):not(.user-role--superuser).user-role--docente #block-cd-diffusione-primary-local-tasks {
  display: none;
}

.views-data-export-feed {
  margin-top: calc(var(--unit) * 1);
}
.widget-scuole-result {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
  text-transform: capitalize;
}

.widget-scuole-result .term-label {
  font-weight: 500;
  margin-right: 0.5em;
}

.widget-scuole-result .term-indirizzo {
  font-weight: 400;
  margin-left: 0.5em;
}

.select2:has(.widget-scuole-result) .select2-selection--single {
  padding: 0.5em;
  height: auto;
}
.select2:has(.widget-scuole-result) .select2-selection--single .select2-selection__arrow {
  top: 0.5em;
}

.field--type-entity-reference:has(.select2) {
  grid-column: span 2 !important;
}

.form-item-field-comune-scuola select {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0;
}

@media only screen and (max-width: 767px) {
  .widget-scuole-result {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 10rem;
  }
  .widget-scuole-result .term-indirizzo {
    margin-left: 0;
  }
  .select2:has(.widget-scuole-result) .select2-selection--single {
    padding-right: 1em;
  }
  .select2:has(.widget-scuole-result) .select2-selection__rendered {
    padding-right: 0;
    padding-left: 0;
  }
}
.messages, *[data-drupal-messages] {
  padding: 2rem;
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
}

.toolbar-tab--toolbar-item-user nav .toolbar-menu {
  flex-direction: column;
}

.display-id--blocco-eventi-di-formazione-completati {
  display: block;
}
.display-id--blocco-eventi-di-formazione-completati .view--rows {
  display: block;
}
.display-id--blocco-eventi-di-formazione-completati span[data-certificato-in-preparazione]:after {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  background-image: url("../img/icons/loader.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  margin-left: 0.5em;
  animation: fullRotation 2s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .display-id--blocco-eventi-di-formazione-completati span[data-certificato-in-preparazione]:after {
    display: none;
  }
}

.display-id--i-miei-artefatti {
  display: block;
}

.display-id--artefatti .view--title {
  display: none;
}
.display-id--artefatti .render-as-map--map {
  grid-column: span 3;
}
.display-id--artefatti .render-as-map--map .map--info-window--content h3 a {
  text-decoration-thickness: from-font;
}
.display-id--artefatti .render-as-map--map .map--info-window--content h3 span {
  font-size: var(--font-size--l);
}
.display-id--artefatti .component--content {
  margin-top: calc(var(--unit) * 3);
}

.display-id--guide .view--title {
  display: none;
}

.view-id--corsi.display-id--percorso-didattico .view--title {
  display: none;
}

@keyframes wobble {
  from {
    transform: rotate(-3deg);
  }
  to {
    transform: rotate(3deg);
  }
}
@keyframes superWobble {
  from {
    transform: rotate(-7deg);
  }
  to {
    transform: rotate(7deg);
  }
}
@keyframes sugiu {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(10px);
  }
}
@keyframes wobblino {
  from {
    transform: rotate(-1deg);
  }
  to {
    transform: rotate(1deg);
  }
}
@keyframes zumba {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}
#braccio-ragazza {
  animation: wobblino 1s ease-in-out infinite alternate forwards;
  transform-origin: top left;
  transform-box: fill-box;
}

#lampadina {
  animation: zumba 1.25s ease-in-out infinite alternate forwards;
  transform-origin: center center;
  transform-box: fill-box;
}

.component[data-add-class-on-view=reveal] figure {
  opacity: 0;
  scale: 0.9;
}
.component[data-add-class-on-view=reveal].reveal figure {
  opacity: 1;
  scale: 1;
  transition: all 0.5s linear;
}

@keyframes fullRotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}/*# sourceMappingURL=style.css.map */