@charset "UTF-8";

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

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
  display: block
}

body {
  line-height: 1
}

ol,
ul {
  list-style: none
}

em {
  font-style: italic
}

blockquote,
q {
  quotes: none
}

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

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

:focus {
  outline: none
}

button {
  background-color: transparent;
  border: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  text-transform: inherit;
  vertical-align: baseline
}

@font-face {
  font-display: swap;
  font-family: Rund Display;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/RundDisplay-Regular.9b00c6774310.woff2") format("woff2"), url("../fonts/RundDisplay-Regular.a6d13ecb1a7e.woff") format("woff")
}

@font-face {
  font-display: swap;
  font-family: Rund Display;
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/RundDisplay-Medium.fc668ab4db80.woff2") format("woff2"), url("../fonts/RundDisplay-Medium.4aca5f0abcb0.woff") format("woff")
}

@font-face {
  font-family: Leitura Display Two Roman;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/LeituraDisplayTwo-Roman.f88d0bfd9582.woff2") format("woff2"), url("../fonts/LeituraDisplayTwo-Roman.857b36892a30.woff") format("woff")
}

@font-face {
  font-family: PP Neue Montreal;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/PPNeueMontreal-Regular.9f495aeb5f20.woff2") format("woff2"), url("../fonts/PPNeueMontreal-Regular.65c7f6719f12.woff") format("woff")
}

@font-face {
  font-family: PP Neue Montreal;
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/PPNeueMontreal-Italic.8952a45d5c9a.woff2") format("woff2"), url("../fonts/PPNeueMontreal-Italic.a92bd090bc39.woff") format("woff")
}

@font-face {
  font-family: PP Neue Montreal;
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/PPNeueMontreal-SemiBold.91d8d22e9f28.woff2") format("woff2"), url("../fonts/PPNeueMontreal-SemiBold.fecc953707e8.woff") format("woff")
}

@font-face {
  font-family: PP Neue Montreal;
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/PPNeueMontreal-SemiBolditalic.6d22b9665268.woff2") format("woff2"), url("../fonts/PPNeueMontreal-SemiBolditalic.7ce95c7bdead.woff") format("woff")
}

:root {
  --font-base: "PP Neue Montreal";
  --font-alternative: "Rund Display";
  --font-display: "Leitura Display Two Roman";
  --color-ink: #333335;
  --color-ink-rgb: 51, 51, 53;
  --color-ink-dark: #000;
  --color-ink-dark-rgb: 0, 0, 0;
  --color-ink-light: #555562;
  --color-ink-light-rgb: 85, 85, 98;
  --color-paper: #fff;
  --color-paper-rgb: 255, 255, 255;
  --color-paper-painted: #f5f5f5;
  --color-paper-painted-rgb: 245, 245, 245;
  --color-line: #e0e0e1;
  --color-line-rgb: 224, 224, 225;
  --color-section: var(--color-ink);
  --color-section-rgb: var(--color-ink-rgb);
  --color-section-light: #f5f5f5;
  --color-section-light-rgb: 239, 244, 255;
  --color-brand-01: #002c6c;
  --color-brand-01-rgb: 0, 44, 108;
  --color-brand-02: #f26334;
  --color-brand-02-rgb: 242, 99, 52;
  --scrollbar-track-color: var(--color-section-light);
  --scrollbar-thumb-color: var(--color-section);
  --scrollbar-size: 8px
}

[data-section=economia-consumi] {
  --color-section: #205ac4;
  --color-section-rgb: 32, 90, 196;
  --color-section-light: #eff4ff;
  --color-section-light-rgb: 239, 244, 255;
  --scrollbar-thumb-color: var(--color-section)
}

[data-section=eventi] {
  --color-section: #f26334;
  --color-section-rgb: 242, 99, 52;
  --color-section-light: #fef7f5;
  --color-section-light-rgb: 254, 247, 245;
  --scrollbar-thumb-color: var(--color-section)
}

[data-section=innovazione] {
  --color-section: #f27806;
  --color-section-rgb: 242, 120, 6;
  --color-section-light: #fffbf2;
  --color-section-light-rgb: 255, 251, 242;
  --scrollbar-thumb-color: var(--color-section)
}

[data-section=logistica] {
  --color-section: #019f9f;
  --color-section-rgb: 1, 159, 159;
  --color-section-light: #edf9f9;
  --color-section-light-rgb: 237, 249, 249;
  --scrollbar-thumb-color: var(--color-section)
}

[data-section=retail-brand] {
  --color-section: #eb346f;
  --color-section-rgb: 235, 52, 111;
  --color-section-light: #fff5f8;
  --color-section-light-rgb: 255, 245, 248;
  --scrollbar-thumb-color: var(--color-section)
}

[data-section=sostenibilita] {
  --color-section: #00a547;
  --color-section-rgb: 0, 165, 71;
  --color-section-light: #f0fdf6;
  --color-section-light-rgb: 240, 253, 246;
  --scrollbar-thumb-color: var(--color-section)
}

[data-section=life-gs1] {
  --color-section: #888b8d;
  --color-section-rgb: 136, 139, 141;
  --color-section-light: #eee;
  --color-section-light-rgb: 238, 238, 238;
  --scrollbar-thumb-color: var(--color-section)
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 20px
}

body {
  background: var(--color-paper);
  color: var(--color-ink);
  display: flex;
  flex-direction: column;
  font-family: var(--font-base);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  min-height: 100vh
}

#page {
  flex-grow: 1
}

a {
  color: inherit;
  text-decoration: underline
}

strong {
  font-weight: 500
}

p {
  overflow: hidden;
  text-overflow: ellipsis
}

.button {
  align-items: center;
  background: var(--color-ink);
  border: 1px solid transparent;
  border-radius: 3px;
  color: var(--color-paper) !important;
  display: inline-flex;
  font: 500 15px/1 var(--font-alternative);
  gap: .6em;
  height: 48px;
  letter-spacing: .02em;
  padding: 0 1.2em;
  text-decoration: none;
  text-decoration: none !important;
  transition: all .25s ease
}

.button span {
  display: inline-block
}

.button svg {
  display: block;
  height: 16px;
  width: 16px
}

.arrow-link {
  align-items: center;
  color: var(--color-ink);
  display: inline-flex;
  font: 500 16px/1.2 var(--font-alternative);
  gap: .4em;
  text-decoration: underline;
  text-decoration-color: rgba(var(--color-ink-rgb), .6);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em
}

.arrow-link.small {
  font-size: 15px !important
}

.arrow-link svg {
  height: 16px;
  width: 16px
}

.article-teaser {
  color: var(--color-ink-light);
  font: 16px/1.4 var(--font-alternative)
}

.article-teaser .wrap {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.article-teaser.boxed .wrap {
  background: var(--color-section-light);
  padding: 30px
}

.article-teaser.squared .wrap {
  border: 1px solid var(--color-line);
  padding: 24px
}

.article-teaser.wide .wrap {
  flex-direction: row
}

.article-teaser.wide .image {
  flex-shrink: 0;
  width: 110px
}

.article-teaser.wide .image .icon {
  height: 40px;
  width: 40px
}

.article-teaser.wide .content {
  flex-grow: 1
}

.article-teaser.big {
  font-size: 18px
}

.article-teaser.big .wrap {
  gap: 24px
}

.article-teaser.big .title {
  font-size: 27px
}

.article-teaser.big .number {
  font-size: 72px
}

.article-teaser .cta {
  margin-top: 1.5em
}

.article-teaser .image {
  width: calc(83.33333% - .16667rem)
}

.article-teaser .image.overlayed .image-spacer:before {
  background: var(--color-ink);
  content: "";
  height: 100%;
  left: 0;
  opacity: .2;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1
}

.article-teaser .image .icon {
  color: #fff;
  height: 60px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  z-index: 2
}

.article-teaser .content {
  display: flex;
  flex-direction: column;
  flex-grow: 1
}

.article-teaser .caption {
  color: var(--color-section, var(--color-ink));
  display: block;
  font: 500 15px/1 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: 12px
}

.article-teaser .caption em {
  color: var(--color-ink-light);
  font-style: normal
}

.article-teaser .caption em:before {
  content: "– "
}

.article-teaser .title {
  color: var(--color-ink);
  font: 600 22px/1.15 var(--font-base);
  transition: color .2s ease
}

.article-teaser .title a {
  text-decoration: none;
  transition: color .2s ease
}

.article-teaser .number {
  color: var(--color-section, var(--color-ink));
  display: block;
  font: 500 60px/1 var(--font-alternative);
  margin-bottom: .1em
}

.article-teaser .number em {
  font-size: .6em;
  font-style: normal
}

.article-teaser .summary {
  color: var(--color-ink-light);
  margin-top: .6em
}

.article-teaser .summary strong {
  color: var(--color-section)
}

.article-teaser .summary.truncated {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  overflow: hidden;
  -webkit-box-orient: vertical
}

.article-teaser .author {
  align-items: center;
  color: var(--color-ink-light);
  display: flex;
  font: 500 15px/1.2 var(--font-alternative);
  gap: 10px;
  letter-spacing: .02em;
  margin-top: .8em;
  text-wrap: balance
}

.article-teaser .author .avatar {
  align-items: center;
  background: radial-gradient(84.43% 77.2% at 50.24% 99.87%, var(--color-brand-02) 0, rgba(242, 99, 52, 0) 100%);
  border-radius: 100vmax;
  display: flex;
  flex-shrink: 0;
  font-size: 16px;
  height: 40px;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 40px
}

.article-teaser .author .avatar img {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%
}

.article-teaser .author .avatar+.avatar {
  margin-left: -22px
}

.article-teaser .date {
  color: var(--color-ink-light);
  font: 15px/1.2 var(--font-alternative);
  letter-spacing: .02em;
  margin-top: 1em
}

.article-teaser .toc+.date {
  margin-top: 1.5em
}

.article-teaser .toc {
  color: var(--color-ink);
  line-height: 1.3;
  margin-top: 1.5em
}

.article-teaser .toc li {
  font-size: 20px;
  margin-top: 12px;
  padding-top: 12px;
  position: relative
}

.article-teaser .toc li:before {
  background: var(--color-ink);
  content: "";
  height: 1px;
  left: 0;
  opacity: .2;
  position: absolute;
  top: 0;
  width: 100%
}

.article-teaser .toc li:first-child {
  margin-top: 0
}

.article-teaser .toc li a {
  align-items: center;
  display: flex;
  gap: 8px;
  text-decoration: none;
  transition: color .2s ease
}

.article-teaser .toc li a .arrow {
  flex-shrink: 0;
  height: 18px;
  width: 18px
}

.article-teaser mark {
  background-color: rgba(255, 255, 0, .2)
}

.event-teaser a {
  border: 1px solid #facfc1;
  display: grid;
  grid-template-columns: 100px 1fr;
  grid-template-rows: auto 1fr;
  padding: 16px;
  text-decoration: none;
  transition: background .2s ease;
  grid-row-gap: 16px;
  grid-column-gap: 0
}

.event-teaser a .date {
  align-items: center;
  border-right: 1px solid #facfc1;
  box-sizing: border-box;
  color: var(--color-brand-02);
  display: flex;
  flex-direction: column;
  font: 500 18px/1 var(--font-alternative);
  grid-column: 1;
  justify-content: center;
  padding-right: 14px;
  text-align: center
}

.event-teaser a .date strong {
  display: block;
  font-size: 38px;
  margin: .05em 0
}

.event-teaser a .title {
  border-top: 1px solid #facfc1;
  font: 500 22px/1.3 var(--font-base);
  grid-column: span 2;
  grid-row: 2;
  padding-top: 16px
}

.event-teaser a .info {
  border-left: 0;
  box-sizing: border-box;
  color: var(--color-ink-light);
  display: flex;
  flex-direction: column;
  font: 15px/1.2 var(--font-alternative);
  gap: .6em;
  grid-column: 2;
  grid-row: 1;
  padding-left: 14px
}

.event-teaser a .info .time {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-end
}

.event-teaser.small a {
  grid-template-columns: 98px 1fr
}

.event-teaser.small .date {
  font-size: 16px
}

.event-teaser.small .date strong {
  font-size: 42px
}

.event-teaser.small .title {
  font-size: 18px
}

.image-spacer {
  display: block;
  padding-top: 100%;
  position: relative
}

.image-spacer img {
  background-color: var(--color-paper);
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%
}

a.image-spacer:empty {
  padding-top: 0
}

.main-section {
  margin-top: 4rem
}

.section-cta {
  margin-top: 1.5rem;
  text-align: center
}

.container-outer {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: 0 6vw;
  grid-column-gap: 1rem;
  margin: 0 auto;
  max-width: 480px
}

.container-outer .container-inner {
  grid-column: span 12
}

.section-intro {
  font: 18px/1.3 var(--font-alternative);
  margin: 0 auto 1.5rem;
  max-width: 600px;
  text-align: center
}

.section-intro.large {
  max-width: 800px
}

.section-intro .title {
  font: 34px/1.1 var(--font-display);
  letter-spacing: -.01em;
  padding-bottom: 16px;
  position: relative
}

.section-intro .title:before {
  background: var(--color-brand-01);
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  margin-left: -50px;
  position: absolute;
  width: 100px
}

.section-intro p {
  margin-top: 1.4em
}

.section-intro.secondary .title:before {
  background: var(--color-brand-02)
}

.section-intro[data-section] .title:before {
  background: var(--color-section)
}

#header.open,
body {
  scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-track-color)
}

#header.open::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: var(--scrollbar-size)
}

#header.open::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
  background: var(--scrollbar-track-color);
  border-radius: 10px
}

#header.open::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb-color);
  border-radius: 10px
}

#header {
  background: var(--color-paper);
  color: var(--color-ink);
  height: 68px;
  margin-bottom: 1rem;
  overflow: hidden;
  position: fixed;
  top: 0;
  transition: background .2s ease .2s, color .2s ease .2s, height .3s ease;
  width: 100%;
  z-index: 9999
}

body[data-section] #header {
  background: var(--color-section-light)
}

body.dark #header {
  --color-paper: #333335;
  --color-ink: #fff
}

body.dark #header .bar {
  border-color: #6e6e72
}

body.dark #header .bar .logo svg {
  opacity: 1
}

body.dark #header .bar .logo svg.color {
  opacity: 0
}

#header .bar {
  border-bottom: 2px solid #e0e0e1;
  overflow: hidden;
  position: sticky;
  top: 0;
  transition: background .2s ease .2s;
  z-index: 10
}

#header .bar .scroller {
  height: 66px
}

#header .bar .extra,
#header .bar .main-bar {
  height: 100%;
  overflow: hidden
}

#header .bar .extra>* {
  height: 100%
}

#header .bar .wrap {
  align-items: center;
  display: flex;
  height: 66px;
  justify-content: space-between
}

#header .bar .bar-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  transform: translateY(0);
  transition: transform .4s ease
}

#header .bar .heading {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-shrink: 0;
  height: 68px;
  justify-content: center;
  padding-bottom: 3px
}

#header .bar .heading svg {
  color: var(--color-ink);
  display: block;
  height: auto;
  transition: color .4s ease;
  width: 140px
}

#header .bar .menu {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-shrink: 0;
  height: 68px;
  padding-bottom: 3px
}

#header .bar .menu ul {
  align-items: center;
  display: none;
  font: 500 16px/1.2 var(--font-alternative);
  gap: 1.5em;
  letter-spacing: .02em
}

#header .bar .menu ul a {
  text-decoration: none;
  transition: color .2s ease
}

#header .bar .menu-handle {
  position: relative;
  width: 100px
}

#header .bar .menu-handle button {
  align-items: center;
  display: flex;
  font: 500 15px/1.2 var(--font-alternative);
  gap: 8px;
  height: 40px;
  left: 0;
  letter-spacing: .02em;
  margin: -20px 0 20px;
  position: absolute;
  top: 50%;
  transition: opacity .3s ease, transform .3s ease
}

#header .bar .menu-handle button.show-handle .icon {
  height: 18px;
  width: 31px
}

#header .bar .menu-handle button.hide-handle {
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px)
}

#header .bar .menu-handle button.hide-handle .icon {
  height: 20px;
  width: 20px
}

#header .bar .logo {
  align-items: center;
  display: flex;
  height: 24px;
  justify-content: flex-end;
  position: relative;
  width: 100px
}

#header .bar .logo svg {
  display: block;
  height: 34px;
  margin-top: -17px;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 50%;
  transition: opacity .4s ease;
  width: 48px
}

#header .bar .logo svg.color {
  opacity: 1
}

#header .panel {
  box-sizing: border-box;
  opacity: 0;
  padding: 1.5rem 0
}

#header .panel .panel-grid .secondary {
  margin-top: 2rem
}

#header .panel .panel-grid .secondary .sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1rem;
  grid-row-gap: .8em;
  grid-column-gap: .5rem
}

#header .panel .panel-grid .secondary .links {
  font: 600 16px/1.2 var(--font-base)
}

#header .panel .panel-grid .secondary .links ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-row-gap: .8em;
  grid-column-gap: .5rem
}

#header .panel .panel-grid .secondary .links ul a {
  text-decoration: none
}

#header .panel .panel-grid .secondary .menu {
  margin-bottom: 1em
}

#header .panel .panel-grid .secondary .menu .caption {
  color: var(--color-ink-light);
  font: 15px/1.1 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: .8em
}

#header .panel .panel-grid .secondary .menu ul {
  font: 16px/1.2 var(--font-base)
}

#header .panel .panel-grid .secondary .menu ul li {
  margin-top: .6em
}

#header .panel .panel-grid .secondary .menu ul li:first-child {
  margin-top: 0
}

#header .panel .panel-grid .secondary .menu ul li a {
  text-decoration: none
}

#header .panel .panel-grid .tertiary {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  justify-content: space-between;
  margin-top: 2rem
}

#header .panel .panel-grid .tertiary .newsletter {
  font: 16px/1.2 var(--font-base)
}

#header .panel .panel-grid .tertiary .newsletter .title {
  color: #efed6f;
  font: 22px/1.1 var(--font-display);
  margin-bottom: .1em
}

#header .panel .panel-grid .tertiary .newsletter .arrow-link {
  color: #efed6f;
  margin-top: 1em
}

#header .panel .panel-grid .tertiary .report {
  background: #333335;
  padding: 20px
}

#header .panel .panel-grid .tertiary .report .image {
  display: block;
  margin-bottom: 12px;
  max-width: 200px
}

#header .panel .panel-grid .tertiary .report .image .image-spacer {
  padding-top: 133%
}

#header .panel .panel-grid .tertiary .report .arrow-link {
  margin-top: 2em
}

#header .panel .panel-grid .tertiary .report .title {
  font: 22px/1.1 var(--font-base)
}

#header .panel .panel-grid .tertiary .report .title em {
  color: #7875b1;
  font-style: normal
}

#header .panel .panel-grid .about {
  color: var(--color-ink-light);
  font: 600 16px/1.3 var(--font-base);
  grid-column: 1/6;
  grid-row: 2/3;
  margin-top: 1.5rem
}

#header .panel .panel-grid .about .gs1-logo {
  color: #fff;
  display: block;
  height: 34px;
  margin-bottom: 16px;
  width: 48px
}

#header .panel .panel-grid .about .social {
  color: var(--color-ink);
  display: flex;
  flex-wrap: wrap;
  font-weight: 400;
  gap: 1em 2em;
  margin-top: 30px
}

#header .panel .panel-grid .about .social a {
  display: inline-flex;
  gap: 8px;
  text-decoration: none
}

#header .panel .panel-grid .about .social a svg {
  height: 24px;
  transform: translateY(-1px);
  width: 24px
}

#header .panel .sections {
  font: 600 25px/1.1 var(--font-base)
}

#header .panel .sections li {
  margin-top: .4em
}

#header .panel .sections li:first-child {
  margin-top: 0
}

#header .panel .sections li a {
  text-decoration: none
}

#header .panel .search {
  margin-bottom: 30px;
  position: relative
}

#header .panel .search input {
  background: rgba(56, 56, 56, .8);
  border: 0;
  border-radius: 4px;
  box-sizing: border-box;
  color: #fff;
  font: 16px var(--font-alternative);
  height: 50px;
  letter-spacing: .02em;
  padding: 0 48px 0 1.2em;
  width: 100%
}

#header .panel .search button {
  align-items: center;
  display: flex;
  height: 30px;
  justify-content: center;
  margin-top: -15px;
  position: absolute;
  right: 10px;
  top: 50%;
  width: 30px
}

#header.open {
  --color-paper: #434343;
  --color-ink: #fff;
  --color-ink-light: #b6b6b9;
  --color-line: #6e6e72;
  background: var(--color-paper) !important;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  transition: background .2s ease, color .2s ease, height .3s ease .1s, opacity .3s ease .2s
}

#header.open .bar {
  background: var(--color-paper);
  transition: background .2s ease
}

#header.open .bar .logo svg {
  opacity: 1
}

#header.open .bar .logo svg.color {
  opacity: 0
}

#header.open .bar .menu-handle .show-handle {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-20px)
}

#header.open .bar .menu-handle .hide-handle {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0)
}

#header.open .panel {
  opacity: 1
}

body.home #header .bar-content {
  transform: translateY(0)
}

body.home #header .bar-content .heading {
  order: 2
}

body.home #header.open .bar-content,
html.scrolled body.home #header .bar-content {
  transform: translateY(-100%)
}

body:has(#header.open) {
  overflow: hidden
}

#footer {
  --color-paper: #333335;
  --color-ink: #fff;
  --color-ink-light: #b6b6b9;
  --color-line: #6e6e72;
  background: var(--color-paper);
  color: var(--color-ink);
  margin-top: 4rem;
  padding-top: 1.5rem
}

#footer .newsletter {
  border-bottom: 1px solid var(--color-line);
  font: 25px/1.1 var(--font-base);
  margin-bottom: 1.5rem;
  padding-bottom: 1rem
}

#footer .newsletter .button {
  background: #efed6f;
  margin-top: 1.5em
}

#footer .newsletter .title {
  color: #efed6f;
  font: 30px/1.1 var(--font-display);
  margin-bottom: .1em
}

#footer .columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column-gap: 1rem;
  grid-row-gap: 1.5rem
}

#footer .columns .caption {
  color: var(--color-ink-light);
  display: block;
  font: 15px/1 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: 1em
}

#footer .columns .menu {
  font: 500 16px/1.2 var(--font-alternative)
}

#footer .columns .menu li {
  margin-top: .8em
}

#footer .columns .menu li:first-child {
  margin-top: 0
}

#footer .columns .menu li a {
  text-decoration: none
}

#footer .columns .menu.about {
  display: flex;
  flex-wrap: wrap;
  gap: .8em 1.5em
}

#footer .columns .menu.about li {
  margin-top: 0
}

#footer .columns .menu.social li a {
  align-items: center;
  display: inline-flex;
  font-weight: 400;
  gap: .5em
}

#footer .columns .menu.social li a svg {
  height: 24px;
  width: 24px
}

#footer .columns .follow {
  margin-top: 2em
}

#footer .subfooter {
  border-top: 1px solid var(--color-line);
  margin-top: 1.5rem;
  padding-top: 1rem
}

#footer .subfooter .presentation {
  color: var(--color-ink-light);
  font: 18px/1.3 var(--font-alternative);
  letter-spacing: .02em
}

#footer .subfooter .details {
  font: 15px/1.1 var(--font-alternative);
  letter-spacing: .02em;
  margin-top: 1.5em
}

#footer .subfooter .details .gs1-logo {
  bottom: 32px;
  display: none;
  height: 34px;
  position: absolute;
  right: 0;
  width: 48px
}

#footer .subfooter .details dt {
  font-weight: 500;
  margin-top: 1em
}

#footer .subfooter .details dt:first-child {
  margin-top: 0
}

#footer .subfooter .details dd {
  margin-top: .2em
}

#footer .subfooter .main {
  grid-column: 3/11;
  grid-row: 2;
  margin-top: 30px;
  padding-bottom: 32px
}

#footer .subfooter .main .logos {
  align-items: center;
  display: flex;
  justify-content: space-between
}

#footer .subfooter .main .gs1-logo {
  display: block;
  height: 34px;
  width: 48px
}

#footer .subfooter .main .tendenze-logo {
  display: block;
  height: 25px;
  width: 140px
}

#footer .subfooter .main .legal {
  font: 14px/1.2 var(--font-base);
  margin-top: 16px;
  opacity: .75
}

#footer .subfooter .main .legal ul {
  display: flex;
  gap: 2em;
  margin-top: .5em
}

#footer .subfooter .main .legal ul a {
  text-decoration: none
}

#footer .subfooter .report {
  max-width: 200px
}

#footer .subfooter .report .image-spacer {
  overflow: hidden;
  padding-top: 110%
}

#footer .subfooter .report .image-spacer img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: left top;
  object-position: left top
}

.slider-bullets {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center
}

.slider-bullets span {
  background: var(--color-ink);
  border-radius: 100%;
  display: block;
  height: 10px;
  opacity: .4;
  width: 10px
}

.slider-bullets span[aria-current] {
  opacity: 1
}

.slider-bullets.swiper-pagination-lock {
  display: none
}

.slider-bullets.swiper-pagination-clickable span {
  cursor: pointer
}

.slider+.nav,
.slider-bullets.swiper-pagination-clickable span {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

#section-hero {
  margin-bottom: 2rem;
  padding-top: 100px;
  text-align: center
}

body[data-section] #section-hero {
  background: var(--color-section-light);
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem
}

body.dark #section-hero {
  background: var(--color-ink);
  color: var(--color-paper)
}

body.dark #section-hero .title {
  color: inherit
}

body.dark #section-hero {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem
}

#section-hero .caption {
  color: var(--color-section);
  font: 500 15px/1 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: 1.2em
}

#section-hero .caption a {
  text-decoration: none
}

#section-hero .caption em {
  color: var(--color-ink-light);
  font-style: normal
}

#section-hero .caption em:before {
  content: "– "
}

#section-hero .title {
  color: var(--color-section);
  font: 40px/.9 var(--font-display)
}

#section-hero p {
  font: 18px/1.3 var(--font-alternative);
  margin: .8em auto 0;
  max-width: 600px
}

#section-hero p a {
  color: var(--color-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em
}

#section-hero+.main-section {
  margin-top: 0
}

#section-hero .content-nav {
  margin: 1rem 0 0
}

#section-hero:has(.content-nav) {
  padding-bottom: 1rem !important
}

.content-nav ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font: 500 15px/1 var(--font-alternative);
  gap: 12px;
  justify-content: center;
  letter-spacing: .02em
}

.content-nav ul a {
  align-items: center;
  border: 1px solid var(--color-line);
  border-radius: 100vmax;
  color: var(--color-section);
  display: flex;
  gap: .6em;
  padding: .8em 1em;
  text-decoration: none
}

.content-nav ul a em {
  color: var(--color-ink-light);
  font-style: normal
}

.content-nav ul a svg {
  display: block;
  height: 20px;
  width: 20px
}

.content-nav ul .current a {
  background: var(--color-section);
  border-color: transparent;
  color: #fff
}

.content-nav ul .current a em {
  color: var(--color-section-light)
}

.pagination {
  border-top: 1px solid var(--color-line);
  color: var(--color-ink-light);
  font: 18px/1.3 var(--font-alternative);
  margin-top: 2rem
}

.pagination ul {
  display: flex;
  gap: 16px;
  justify-content: center
}

.pagination ul .prev {
  margin-right: 6px
}

.pagination ul .next {
  margin-left: 6px
}

.pagination ul .disabled {
  opacity: .5
}

.pagination ul a,
.pagination ul span {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  height: 100%;
  justify-content: center;
  min-width: 17px;
  padding-top: .8em;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: color .2s ease
}

.pagination ul a:before,
.pagination ul span:before {
  background: var(--color-ink);
  border-radius: 2px;
  content: "";
  display: none;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: -1.5px
}

.pagination ul .current a:before,
.pagination ul .current span:before {
  display: block
}

.rich-text-content {
  --scroll-margin-top: 80px;
  font: 18px/1.4 var(--font-base)
}

.rich-text-content b:not(.enrichment b),
.rich-text-content strong:not(.enrichment strong) {
  font-weight: 600
}

.rich-text-content p:not(.enrichment p)+p:not(.enrichment p) {
  margin-top: .8em
}

.rich-text-content a:not(.enrichment a) {
  color: var(--color-section);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em
}

.rich-text-content ol {
  counter-reset: list-counter;
  margin: .8em 0
}

.rich-text-content ol:not(.enrichment ol) {
  margin: .8em 0
}

.rich-text-content ol:not(.enrichment ol) li {
  counter-increment: list-counter;
  margin-top: .8em;
  padding-left: 1.6em;
  position: relative
}

.rich-text-content ol:not(.enrichment ol) li:before {
  color: var(--color-section);
  content: counter(list-counter) ".";
  left: 0;
  position: absolute;
  top: 0
}

.rich-text-content ul:not(.enrichment ul) {
  margin: .8em 0
}

.rich-text-content ul:not(.enrichment ul) li {
  margin-top: .8em;
  padding-left: 1.2em;
  position: relative
}

.rich-text-content ul:not(.enrichment ul) li:before {
  color: var(--color-section);
  content: "–";
  left: 0;
  position: absolute;
  top: 0
}

.rich-text-content h1:not(.enrichment h1),
.rich-text-content h2:not(.enrichment h2),
.rich-text-content h3:not(.enrichment h3),
.rich-text-content h4:not(.enrichment h4),
.rich-text-content h5:not(.enrichment h5),
.rich-text-content h6:not(.enrichment h6) {
  font: 27px/1 var(--font-base);
  margin-bottom: .5em;
  margin-top: 1.8em;
  text-wrap: balance
}

.rich-text-content h1:not(.enrichment h1):first-child,
.rich-text-content h2:not(.enrichment h2):first-child,
.rich-text-content h3:not(.enrichment h3):first-child,
.rich-text-content h4:not(.enrichment h4):first-child,
.rich-text-content h5:not(.enrichment h5):first-child,
.rich-text-content h6:not(.enrichment h6):first-child {
  margin-top: 0
}

.rich-text-content h1:not(.enrichment h1),
.rich-text-content h2:not(.enrichment h2),
.rich-text-content h3:not(.enrichment h3),
.rich-text-content h4:not(.enrichment h4),
.rich-text-content h5:not(.enrichment h5),
.rich-text-content h6:not(.enrichment h6) {
  scroll-margin-top: var(--scroll-margin-top)
}

.rich-text-content h3:not(.enrichment h3),
.rich-text-content h4:not(.enrichment h4) {
  font: 22px/1 var(--font-base)
}

.rich-text-content h5:not(.enrichment h5),
.rich-text-content h6:not(.enrichment h6) {
  font: 20px/1 var(--font-base)
}

.rich-text-content div,
.rich-text-content li,
.rich-text-content ol,
.rich-text-content span,
.rich-text-content ul {
  scroll-margin-top: var(--scroll-margin-top)
}

.rich-text-content code,
.rich-text-content pre {
  background-color: var(--color-paper-painted);
  border: 1px solid var(--color-line);
  border-radius: 3px;
  display: inline-block;
  font-family: var(--font-mono);
  font-size: .8em;
  margin-inline: .2em;
  padding: .2em .4em
}

.rich-text-content pre {
  display: block;
  line-height: 1.5;
  margin: 1em 0;
  overflow-x: auto;
  padding: 1em;
  white-space: pre-wrap
}

.rich-text-content sub,
.rich-text-content sup {
  display: inline;
  font-size: .8em;
  line-height: 1;
  padding-inline: .2em .1em;
  vertical-align: baseline
}

.rich-text-content sub a,
.rich-text-content sub a:visited,
.rich-text-content sup a,
.rich-text-content sup a:visited {
  cursor: pointer;
  display: inline-block;
  font-weight: 700;
  text-decoration: none !important
}

.rich-text-content sup {
  vertical-align: super
}

.rich-text-content sub {
  vertical-align: sub
}

.rich-text-content small {
  display: block;
  font-size: .85em;
  line-height: 1.3
}

.rich-text-content hr {
  background-color: var(--color-section);
  border: none;
  height: 1px;
  margin: 1.6em 0;
  opacity: .6
}

.rich-text-content .button:not(.enrichment .button) {
  margin-bottom: 2em;
  margin-top: 2em
}

.rich-text-content .button:not(.enrichment .button):last-child {
  margin-bottom: 0
}

.rich-text-content .enrichment {
  margin: 1.5rem 0
}

.rich-text-content .enrichment:first-child {
  margin-top: 0
}

.rich-text-content .enrichment:last-child {
  margin-bottom: 0
}

.rich-text-content .enrichment-number {
  font: 22px/1.1 var(--font-alternative)
}

.rich-text-content .enrichment-number .number {
  color: var(--color-section);
  display: block;
  font: 600 70px/1 var(--font-alternative);
  margin-bottom: .02em
}

.rich-text-content .enrichment-number .number em {
  font-size: .7em;
  font-style: normal
}

.rich-text-content .enrichment-number .arrow-link {
  margin-top: 1.5em
}

.rich-text-content figure img {
  height: auto !important;
  width: 100%
}

.rich-text-content figure figcaption {
  color: var(--color-ink-light);
  font: 15px/1.2 var(--font-alternative);
  margin-top: .6em
}

.rich-text-content .enrichment-images {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: 1rem;
  grid-row-gap: 1rem
}

.rich-text-content .enrichment-continue {
  font: 25px/1.2 var(--font-base);
  text-align: center
}

.rich-text-content .enrichment-continue a {
  color: var(--color-section);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  white-space: nowrap
}

.rich-text-content .enrichment-video .embed {
  padding-top: 56.25%;
  position: relative
}

.rich-text-content .enrichment-video .embed embed,
.rich-text-content .enrichment-video .embed iframe,
.rich-text-content .enrichment-video .embed object,
.rich-text-content .enrichment-video .embed video {
  height: 100% !important;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.rich-text-content .enrichment-podcast .embed {
  height: 352px;
  position: relative
}

.rich-text-content .enrichment-podcast .embed embed,
.rich-text-content .enrichment-podcast .embed iframe,
.rich-text-content .enrichment-podcast .embed object,
.rich-text-content .enrichment-podcast .embed video {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.rich-text-content blockquote:not(.enrichment blockquote) {
  color: var(--color-section);
  font: 500 23px/1.3 var(--font-alternative);
  margin: 1rem 0;
  padding: 65px 0;
  position: relative;
  text-align: center
}

.rich-text-content blockquote:not(.enrichment blockquote):after,
.rich-text-content blockquote:not(.enrichment blockquote):before {
  background: var(--color-section);
  content: "";
  height: 40px;
  left: 50%;
  position: absolute;
  transform: translate(-50%);
  width: 1px
}

.rich-text-content blockquote:not(.enrichment blockquote):before {
  top: 0
}

.rich-text-content blockquote:not(.enrichment blockquote):after {
  bottom: 0
}

.rich-text-content blockquote:not(.enrichment blockquote) cite {
  color: var(--color-ink);
  display: block;
  font-size: 16px;
  font-weight: 400;
  margin-top: .8em
}

.rich-text-content blockquote:not(.enrichment blockquote) cite em {
  color: var(--color-ink-light);
  font-style: normal
}

.rich-text-content blockquote:not(.enrichment blockquote) cite em:before {
  content: "– "
}

.rich-text-content .enrichment-event-details {
  border-bottom: 1px solid #facfc1;
  border-top: 1px solid #facfc1;
  font: 16px/1.4 var(--font-alternative);
  padding: 20px 0
}

.rich-text-content .enrichment-event-details .info {
  border-bottom: 1px solid #facfc1;
  margin-bottom: 1rem;
  padding-bottom: 1rem
}

.rich-text-content .enrichment-event-details .when {
  color: var(--color-brand-02)
}

.rich-text-content .enrichment-event-details .when strong {
  display: block;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: .2em
}

.rich-text-content .enrichment-event-details .button {
  background: var(--color-brand-02);
  margin-top: 2em
}

.rich-text-content .enrichment-event-details .where {
  color: var(--color-ink-light);
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: space-between
}

.rich-text-content .enrichment-event-details .where .gs1-logo {
  height: 34px;
  width: 48px
}

.rich-text-content table {
  border-collapse: collapse;
  font-family: var(--font-alternative);
  font-size: .9em;
  line-height: 1.2;
  margin: 1.5rem 0;
  width: 100%
}

.rich-text-content table:first-child {
  margin-top: 0
}

.rich-text-content table:last-child {
  margin-bottom: 0
}

.rich-text-content table caption {
  border-bottom: 3px solid var(--color-section);
  color: var(--color-section);
  font-size: 20px;
  font-weight: 500;
  margin-bottom: .25em;
  padding-bottom: .25em;
  text-align: left
}

.rich-text-content table th {
  font-weight: 500
}

.rich-text-content table td,
.rich-text-content table th {
  padding: .8em;
  text-align: left
}

.rich-text-content table td:first-child,
.rich-text-content table th:first-child {
  padding-left: 0
}

.rich-text-content table td:last-child,
.rich-text-content table th:last-child {
  padding-right: 0
}

.rich-text-content table thead tr {
  border-bottom: 1px solid var(--color-ink-light)
}

.rich-text-content table tbody tr {
  border-bottom: 1px dashed var(--color-line)
}

.rich-text-content table tbody tr:last-child {
  border-bottom: 1px solid var(--color-line)
}

.rich-text-content table tbody tr.enfasi {
  background-color: var(--color-section-light)
}

.rich-text-content table:has(+figcaption) {
  margin-bottom: 0
}

.rich-text-content h1+table,
.rich-text-content h2+table,
.rich-text-content h3+table,
.rich-text-content h4+table,
.rich-text-content h5+table,
.rich-text-content h6+table {
  margin-top: 0
}

.rich-text-content .enrichment-wide table td:first-child,
.rich-text-content .enrichment-wide table th:first-child {
  padding-inline-start: 1em
}

.rich-text-content .enrichment-wide table td:last-child,
.rich-text-content .enrichment-wide table th:last-child {
  padding-inline-end: 1em
}

.rich-text-content img.responsive {
  height: auto;
  max-width: 100%
}

.rich-text-content .didascalia {
  color: var(--color-section);
  font-size: 20px;
  font-weight: 500;
  margin-top: .8em
}

.rich-text-content .img-desc,
.rich-text-content .nota {
  color: var(--color-ink-light);
  font: 15px/1.2 var(--font-alternative);
  margin-top: .6em
}

.rich-text-content .cms-image {
  display: grid;
  gap: 8px
}

.rich-text-content .cms-image .didascalia {
  order: 1
}

.rich-text-content .cms-image img {
  order: 2
}

.rich-text-content .cms-image .img-desc {
  order: 3
}

.publication-teaser a {
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-decoration: none;
  transition: color .2s ease
}

.publication-teaser a .image {
  width: calc(83.33333% - .16667rem)
}

.publication-teaser a .image .image-spacer {
  border-radius: 4px;
  overflow: hidden;
  padding-top: 133%
}

.publication-teaser a .image .image-spacer img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: left top;
  object-position: left top
}

.publication-teaser a .content {
  font: 22px/1.15 var(--font-base)
}

.publication-teaser a .content .title {
  font-weight: 600
}

.publication-teaser a .content .details {
  color: var(--color, var(--color-ink));
  margin-top: .3em;
  opacity: .4
}

.research-teaser {
  background: #f4f4f4;
  color: var(--color-brand-01);
  display: flex;
  flex-direction: column;
  font: 16px/1.4 var(--font-alternative);
  justify-content: space-between;
  overflow: hidden;
  padding: 24px
}

.research-teaser .content {
  position: relative;
  z-index: 2
}

.research-teaser .title {
  font: 27px/1.2 var(--font-base)
}

.research-teaser .title a {
  text-decoration: none
}

.research-teaser .title em {
  display: block;
  font-style: normal;
  opacity: .4
}

.research-teaser .button {
  background: var(--color-brand-01);
  color: #fff !important
}

.research-teaser .ctas {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  margin-top: 1.5em
}

.research-teaser .summary {
  margin-top: .8em
}

.research-teaser .partnership {
  align-items: center;
  color: var(--color-ink-light);
  display: flex;
  font: 15px/1.2 var(--font-base);
  gap: 12px;
  margin-top: 1.2em
}

.research-teaser .image {
  margin: -8% -24px -24px
}

.research-teaser .image .image-spacer {
  padding-top: 80%
}

#banner-newsletter {
  background: #f5f5f5;
  bottom: 0;
  color: var(--color-ink);
  font: 15px/1.4 var(--font-base);
  left: 0;
  padding: 24px 0;
  position: fixed;
  width: 100%;
  z-index: 999
}

#banner-newsletter .section-wrap {
  padding-bottom: 1rem;
  position: relative
}

#banner-newsletter .title {
  font: 26px/1.1 var(--font-display);
  margin-bottom: .2em;
  padding-right: 60px
}

#banner-newsletter .content {
  position: relative;
  z-index: 2
}

#banner-newsletter .cta {
  margin-top: 1.5em
}

#banner-newsletter .image {
  flex-shrink: 0;
  height: 100px;
  margin-top: -12px;
  order: 1;
  width: 205px
}

#banner-newsletter .image .box {
  border: 1px solid var(--color-line);
  border-radius: 15px;
  margin: 0 auto;
  max-width: 200px;
  padding: 4px;
  transform: rotate(-6deg);
  transform-origin: right center
}

#banner-newsletter .image .box .image-spacer {
  border-radius: 6px;
  overflow: hidden;
  padding-top: 120%
}

#banner-newsletter .image .box .image-spacer img {
  -o-object-position: left top;
  object-position: left top
}

#banner-newsletter .close {
  cursor: pointer;
  height: 24px;
  position: absolute;
  right: 0;
  top: 0;
  width: 24px;
  z-index: 3
}

#banner-newsletter .close svg {
  height: 24px;
  width: 24px
}

.section-main-articles .article-teaser {
  border-top: 1px solid var(--color-line);
  margin-top: 24px;
  padding-top: 24px
}

.section-main-articles .article-teaser:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0
}

.section-dossiers-list .article-teaser {
  margin-top: 1rem
}

.section-dossiers-list .article-teaser:first-child {
  margin-top: 0
}

.section-numbers-list {
  overflow: hidden
}

.section-numbers-list .articles {
  margin: 1.5rem -.5rem 0
}

.section-numbers-list .articles .slider-wrapper {
  display: flex
}

.section-numbers-list .articles .slide {
  flex-shrink: 0;
  max-width: 320px;
  min-width: 280px;
  padding: 0 .5rem;
  width: 80%
}

.section-numbers-list .articles .article-teaser {
  box-sizing: border-box;
  height: 100%;
  min-height: 280px
}

.section-numbers-list .articles .article-teaser .wrap {
  box-sizing: border-box;
  height: 100%
}

.section-numbers-list .articles .article-teaser .date {
  align-items: flex-end;
  display: flex;
  flex-grow: 1
}

.section-numbers-list .slider-bullets {
  margin-top: 1rem
}

.section-opinions-list {
  overflow: hidden
}

.section-opinions-list .articles {
  margin: 1.5rem -.5rem
}

.section-opinions-list .articles .slider-wrapper {
  display: flex
}

.section-opinions-list .articles .slide {
  box-sizing: border-box;
  flex-shrink: 0;
  max-width: 320px;
  min-width: 280px;
  padding: 0 .5rem;
  width: 80%
}

.section-opinions-list .articles .article-teaser {
  box-sizing: border-box;
  height: 100%;
  min-height: 280px
}

.section-opinions-list .articles .article-teaser .wrap {
  box-sizing: border-box;
  height: 100%
}

.section-opinions-list .articles .article-teaser .date {
  align-items: flex-end;
  display: flex;
  flex-grow: 1
}

.section-opinions-list .articles .article-teaser .author {
  gap: 10px
}

.section-opinions-list .articles .article-teaser .avatar {
  align-items: center;
  display: flex;
  font-size: 16px;
  height: 40px;
  justify-content: center;
  width: 40px
}

.section-opinions-list .slider-bullets {
  margin-top: 24px
}

.section-video-list .article-teaser {
  border-top: 1px solid var(--color-line);
  margin-top: 24px;
  padding-top: 24px
}

.section-video-list .article-teaser:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0
}

.section-sections {
  color: var(--color-ink-light);
  font: 32px/1.3 var(--font-alternative);
  text-align: center
}

.section-sections .caption {
  color: var(--color-ink);
  display: block;
  font: 22px/1.2 var(--font-base);
  margin-bottom: .6em
}

.section-sections a {
  text-decoration-thickness: 1px;
  text-underline-offset: .15em;
  transition: color .2s ease;
  white-space: nowrap
}

#journal-callout .content {
  font: 18px/1.4 var(--font-base)
}

#journal-callout .content .title {
  font: 22px/1.2 var(--font-base);
  margin-bottom: .2em
}

#journal-callout .content .title strong {
  display: block;
  font: 30px/1.2 var(--font-display)
}

#journal-callout .content .arrow-link {
  margin-top: 1.5em
}

#journal-callout .image {
  align-self: flex-end;
  border-bottom: 1px solid var(--color-line);
  height: 210px;
  margin-bottom: 24px;
  overflow: hidden
}

#journal-callout .image .box {
  border: 1px solid var(--color-line);
  border-radius: 15px;
  margin: 0 auto;
  max-width: 200px;
  padding: 8px;
  transform: rotate(-6deg);
  transform-origin: right center
}

#journal-callout .image .box .image-spacer {
  border-radius: 6px;
  overflow: hidden;
  padding-top: 120%
}

#journal-callout .image .box .image-spacer img {
  -o-object-position: left top;
  object-position: left top
}

#annual-report-callout .box {
  background: var(--bg, #4d426c);
  color: var(--primary, #fff);
  overflow: hidden;
  padding: 24px 24px 0
}

#annual-report-callout .intro {
  font: 18px/1.3 var(--font-alternative);
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 2
}

#annual-report-callout .intro .title {
  font: 600 30px/1 var(--font-base);
  margin-bottom: .4em
}

#annual-report-callout .arrow-link {
  color: var(--primary, var(--color-paper-rgb));
  margin-top: 1.5em
}

#annual-report-callout .items {
  padding-bottom: 100px;
  position: relative
}

#annual-report-callout .slider {
  margin: 0 -10px
}

#annual-report-callout .nav {
  bottom: 1.5rem;
  display: flex;
  gap: 20px;
  left: 0;
  position: absolute
}

#annual-report-callout .nav span {
  align-items: center;
  background: var(--arrow-bg, #fff);
  border-radius: 100%;
  cursor: pointer;
  display: flex;
  height: 40px;
  justify-content: center;
  opacity: .8;
  transition: opacity .2s ease;
  width: 40px
}

#annual-report-callout .nav span svg {
  color: var(--arrow-primary, #4d426c);
  height: 24px;
  width: 24px
}

#annual-report-callout .slider-wrapper {
  display: flex
}

#annual-report-callout .slide {
  flex-shrink: 0;
  max-width: 340px;
  opacity: 0;
  padding: 0 10px;
  transition: opacity .3s ease;
  width: 80%
}

#annual-report-callout .slide .image-spacer {
  border-radius: 4px;
  overflow: hidden;
  padding-top: 133.333%;
  transform: scale(.9);
  transform-origin: center bottom;
  transition: transform .2s ease
}

#annual-report-callout .slide.swiper-slide-active {
  opacity: 1
}

#annual-report-callout .slide.swiper-slide-active .image-spacer {
  transform: scale(1)
}

#annual-report-callout .slide.swiper-slide-active~.slide {
  opacity: .5
}

.osservatorio-immagino-callout {
  font: 18px/1.3 var(--font-alternative)
}

.osservatorio-immagino-callout .title {
  font: 600 30px/1.1 var(--font-base)
}

.osservatorio-immagino-callout .title em {
  display: block;
  font-style: normal;
  font-weight: 400;
  opacity: .4
}

.osservatorio-immagino-callout .summary {
  margin-top: 1em
}

.osservatorio-immagino-callout .box {
  background: var(--bg, var(--color-paper-painted));
  color: var(--primary, var(--color-ink));
  padding: 24px
}

.osservatorio-immagino-callout .logo {
  display: block;
  height: 50px;
  margin-bottom: 16px;
  width: 55px
}

.osservatorio-immagino-callout .logo img {
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%
}

.osservatorio-immagino-callout .button {
  background: var(--secondary, var(--color-paper));
  color: var(--color-ink) !important
}

.osservatorio-immagino-callout .arrow-link {
  --color-ink-rgb: var(--primary, var(--color-ink-rgb));
  color: inherit
}

.osservatorio-immagino-callout .ctas {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  margin-top: 1.5em
}

.osservatorio-immagino-callout .image {
  height: 250px;
  margin-bottom: 2em
}

.osservatorio-immagino-callout .image .spacer {
  display: block;
  height: 100%;
  position: relative
}

.osservatorio-immagino-callout .image .spacer img {
  height: 100%;
  left: 0;
  -o-object-fit: contain;
  object-fit: contain;
  position: absolute;
  top: 0;
  width: 100%
}

.osservatorio-immagino-callout+#annual-report-callout,
.osservatorio-immagino-callout+.osservatorio-immagino-callout {
  margin-top: 1rem
}

.section-form-wrap .form-intro {
  font: 18px/1.3 var(--font-base);
  margin-bottom: 1.5rem
}

.section-form-wrap .form-intro .title {
  font-size: 27px;
  line-height: 1.1;
  margin-bottom: .4em
}

.section-form-wrap .form-intro .title strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 400
}

.section-form-wrap .form-intro strong {
  font-weight: 550
}

.section-form-wrap .form-intro a {
  text-decoration: underline;
  text-decoration-color: rgba(var(--color-ink-rgb), .6);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em
}

.section-form-wrap .form-intro p+p {
  margin-top: 1em
}

.section-form-wrap .form-intro .addresses {
  color: var(--color-ink-light);
  margin-top: 1rem
}

.section-form-wrap .form-intro .addresses li {
  border-left: 1px solid var(--color-line);
  margin-top: 2em;
  padding-left: 1em
}

.section-form-wrap .form-intro .addresses li a,
.section-form-wrap .form-intro .addresses li strong {
  color: var(--color-ink);
  font-weight: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(var(--color-ink-rgb), .6);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em
}

.section-form-wrap .form-intro .journal-image .image {
  margin: 0 auto -30px
}

.section-form-wrap .form-content .cta {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 30px
}

.section-form-wrap .form-content .cta p {
  font: 15px/1.3 var(--font-alternative);
  opacity: .4
}

.section-form-wrap .form-content .box {
  background: var(--color-paper-painted);
  padding: 1rem
}

.section-form-wrap .form-content .field+.field {
  margin-top: 20px
}

.section-form-wrap .form-content .checkbox {
  align-items: center;
  display: flex;
  min-height: 24px;
  position: relative
}

.section-form-wrap .form-content .checkbox input {
  height: 1px;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 1px
}

.section-form-wrap .form-content .checkbox .label {
  display: block;
  font: 15px/1.3 var(--font-alternative);
  letter-spacing: .02em;
  padding-left: 38px;
  position: relative
}

.section-form-wrap .form-content .checkbox .label:before {
  background: #fff;
  border: 1px solid #b6b6b9;
  border-radius: 4px;
  box-sizing: border-box;
  content: "";
  height: 24px;
  left: 0;
  position: absolute;
  top: 0;
  transition: background .3s ease, border .3s ease;
  width: 24px
}

.section-form-wrap .form-content .checkbox .label .check {
  color: var(--color-paper);
  height: 20px;
  left: 2px;
  opacity: 0;
  position: absolute;
  top: 2px;
  transform: scale(.9);
  transition: opacity .3s ease, transform .3s ease;
  width: 20px
}

.section-form-wrap .form-content .checkbox input:checked+.label:before {
  background: var(--color-ink);
  border-color: transparent
}

.section-form-wrap .form-content .checkbox input:checked+.label .check {
  opacity: 1;
  transform: scale(1)
}

.section-form-wrap .form-content input[type=email],
.section-form-wrap .form-content input[type=number],
.section-form-wrap .form-content input[type=password],
.section-form-wrap .form-content input[type=tel],
.section-form-wrap .form-content input[type=text],
.section-form-wrap .form-content select,
.section-form-wrap .form-content textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: var(--color-paper);
  border: 1px solid #b6b6b9;
  border-radius: 4px;
  box-sizing: border-box;
  color: var(--color-ink);
  font: 18px/1 var(--font-base);
  height: 64px;
  padding: 0 1em;
  transition: border .2s ease;
  width: 100%
}

.section-form-wrap .form-content input[type=email]:focus,
.section-form-wrap .form-content input[type=number]:focus,
.section-form-wrap .form-content input[type=password]:focus,
.section-form-wrap .form-content input[type=tel]:focus,
.section-form-wrap .form-content input[type=text]:focus,
.section-form-wrap .form-content select:focus,
.section-form-wrap .form-content textarea:focus {
  border-color: var(--color-ink)
}

.section-form-wrap .form-content textarea {
  height: auto !important;
  line-height: 1.1;
  padding: 1em;
  resize: none
}

.section-form-wrap .form-content select {
  background: var(--color-paper) url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxMCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE3IDEwIj48cGF0aCBzdHJva2U9IiMyZTNiNTQiIHN0cm9rZS13aWR0aD0iMiIgZD0ibTEgMSA3LjUgN0wxNiAxIi8+PC9zdmc+") no-repeat right 18px center
}

.journal-image {
  border-bottom: 1px solid var(--color-line);
  margin-top: 1rem;
  overflow: hidden
}

.journal-image .image {
  border: 1px solid var(--color-line);
  border-radius: 15px;
  margin: 0 0 -30px 14px;
  max-width: 120px;
  padding: 8px;
  transform: rotate(-6deg);
  transform-origin: right center
}

.journal-image .image .image-spacer {
  border-radius: 6px;
  overflow: hidden;
  padding-top: 120%
}

.journal-image .image .image-spacer img {
  -o-object-position: left top;
  object-position: left top
}

.is-process-newsletter #subscription-email {
  margin: .5em 0
}

.is-process-newsletter #id_marketing div {
  margin: .5em
}

#articles-list {
  overflow: hidden;
  padding-top: 100px
}

#articles-list .intro {
  color: var(--color-ink-light);
  font: 16px/1.4 var(--font-base);
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  position: relative;
  text-align: center
}

#articles-list .intro p+p {
  margin-top: .2em
}

#articles-list .intro .title {
  color: var(--color-ink);
  font: 30px/1.1 var(--font-display);
  margin-bottom: .1em
}

#articles-list .intro:before {
  background: var(--color-section-light);
  bottom: 0;
  content: "";
  left: -999em;
  position: absolute;
  right: -999em;
  top: -999em
}

#articles-list .intro * {
  position: relative;
  z-index: 2
}

#articles-list .nav {
  margin-bottom: 1.5rem
}

#articles-list .nav ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font: 500 15px/1 var(--font-alternative);
  gap: 12px;
  justify-content: center;
  letter-spacing: .02em
}

#articles-list .nav ul a {
  align-items: center;
  border: 1px solid var(--color-line);
  border-radius: 100vmax;
  color: var(--color-section);
  display: flex;
  gap: .6em;
  padding: .8em 1em;
  text-decoration: none
}

#articles-list .nav ul a em {
  color: var(--color-ink-light);
  font-style: normal
}

#articles-list .nav ul .current a {
  background: var(--color-section);
  border-color: transparent;
  color: #fff
}

#articles-list .nav ul .current a em {
  color: var(--color-section-light)
}

#articles-list #filters-results .articles .article-teaser:not(:first-child) {
  border-top: 1px solid var(--color-line);
  margin-top: 1rem;
  padding-top: 1rem
}

#articles-list .articles .article-teaser+.article-teaser {
  margin-top: 1.5rem
}

#articles-list .articles .article-teaser:not(.boxed)+.article-teaser:not(.boxed) {
  border-top: 1px solid var(--color-line);
  margin-top: 1rem;
  padding-top: 1rem
}

#article-single-intro {
  color: var(--color-ink-light);
  font: 20px/1.15 var(--font-alternative);
  margin-bottom: 1rem;
  padding-top: 100px;
  text-align: center
}

body[data-section] #article-single-intro {
  background: var(--color-section-light)
}

body[data-section] #article-single-intro .container-inner {
  border-bottom: 0
}

#article-single-intro.event .container-inner {
  border-bottom: 0;
  padding-bottom: .5rem
}

#article-single-intro .container-inner {
  border-bottom: 1px solid var(--color-line);
  padding-bottom: 1.5rem
}

#article-single-intro .dossier-content {
  color: var(--color-ink);
  font-size: 18px;
  line-height: 1.3;
  margin-top: 1.6em
}

#article-single-intro .dossier-content .summary {
  margin-top: 0
}

#article-single-intro .toc {
  color: var(--color-ink);
  line-height: 1.3;
  margin-top: 1.5em
}

#article-single-intro .toc li {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  position: relative;
  text-align: left
}

#article-single-intro .toc li .arrow {
  height: 24px;
  width: 24px
}

#article-single-intro .toc li.current {
  color: var(--color-section)
}

#article-single-intro .toc li:before {
  background: var(--color-ink);
  content: "";
  height: 1px;
  left: 0;
  opacity: .2;
  position: absolute;
  top: 0;
  width: 100%
}

#article-single-intro .toc li:first-child {
  margin-top: 0
}

#article-single-intro .toc li a {
  text-decoration: none
}

#article-single-intro .authors .author .avatar {
  display: inline-flex
}

#article-single-intro .authors .author .avatar+.avatar {
  margin-left: -22px
}

#article-single-intro .author {
  color: var(--color-ink);
  font: 500 15px/1 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: 1.2em
}

#article-single-intro .author .avatar {
  align-items: center;
  background: radial-gradient(84.43% 77.2% at 50.24% 99.87%, var(--color-brand-02) 0, rgba(242, 99, 52, 0) 100%);
  border-radius: 100vmax;
  display: block;
  display: flex;
  font-size: 20px;
  height: 60px;
  justify-content: center;
  margin: 0 auto 1em;
  overflow: hidden;
  position: relative;
  width: 60px
}

#article-single-intro .author .avatar img {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%
}

#article-single-intro .author strong {
  color: var(--color-section);
  font-weight: inherit
}

#article-single-intro .caption {
  color: var(--color-section);
  font: 500 15px/1 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: 1.2em;
  margin-top: 2em
}

#article-single-intro .caption a {
  text-decoration: none
}

#article-single-intro .caption:first-child {
  margin-top: 0
}

#article-single-intro .caption:last-child {
  margin-bottom: 0
}

#article-single-intro .caption em {
  color: var(--color-ink-light);
  font-style: normal
}

#article-single-intro .caption em:before {
  content: "– "
}

#article-single-intro .arrow-link {
  margin-top: 1.5em
}

#article-single-intro .title {
  color: var(--color-ink);
  font: 40px/1 var(--font-base);
  line-height: inherit;
  text-wrap: balance
}

#article-single-intro .title .number {
  color: var(--color-section);
  display: block;
  font: 500 84px/1 var(--font-alternative);
  margin-bottom: .08em
}

#article-single-intro .title .number em {
  font-size: .7em;
  font-style: normal
}

#article-single-intro .title strong {
  color: var(--color-section);
  font-weight: inherit
}

#article-single-intro .summary {
  margin-top: 1.2em
}

#article-single-content.disclaimer .container-inner .rich-text-content h2 {
  margin-top: 1.8rem !important
}

#article-single-content .article-content img {
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%
}

#article-single-content .article-attachments {
  margin-top: 1.5rem
}

#article-single-content .article-attachments li {
  margin-top: 24px
}

#article-single-content .article-attachments li:first-child {
  margin-top: 0
}

#article-single-content .article-attachments li a {
  background: var(--color-section-light);
  color: var(--color-section);
  display: block;
  font: 15px/1.1 var(--font-alternative);
  letter-spacing: .02em;
  padding: 18px;
  position: relative
}

#article-single-content .article-attachments li a:before {
  background: var(--color-section);
  content: "";
  height: 16px;
  position: absolute;
  right: 0;
  top: 0;
  width: 16px
}

#article-single-content .article-attachments li a:after {
  background: var(--color-paper);
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  content: "";
  height: 16px;
  position: absolute;
  right: 0;
  top: 0;
  width: 16px
}

#article-single-content .article-side {
  align-items: center;
  color: var(--color-ink-light);
  display: flex;
  font: 15px/1.2 var(--font-alternative);
  justify-content: space-between;
  letter-spacing: .02em;
  margin-bottom: 1.5rem
}

#article-single-content .article-side .info {
  text-wrap: balance
}

#article-single-content .article-side .info a {
  color: var(--color-ink-dark);
  text-decoration: underline;
  text-decoration-color: rgba(var(--color-ink-rgb), .6);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em
}

#article-single-content .article-side .info .moddate {
  display: block;
  padding-top: .5em
}

#article-single-content .article-side .share .box {
  right: 0
}

#article-single-content .article-main .file-wrapper {
  display: flex;
  flex-direction: column;
  gap: .8em;
  margin-top: 1.5rem
}

#article-single-content .article-main #document.file {
  color: var(--color-section);
  display: flex
}

#article-single-content .article-main #document.file a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em
}

#article-single-content .article-tags {
  display: flex;
  flex-wrap: wrap;
  font: 500 15px/1 var(--font-alternative);
  gap: 12px
}

#article-single-content .article-tags li a {
  border: 1px solid var(--color-line);
  border-radius: 48px;
  color: var(--color-ink);
  display: block;
  padding: .8em 1em;
  text-decoration: none
}

#article-single-content .article-tags li[data-section] a {
  color: var(--color-section)
}

#article-single-content .article-author,
#article-single-content .article-share,
#article-single-content .article-tags {
  border-top: 1px solid var(--color-line);
  margin-top: 1rem;
  padding-top: 1rem
}

#article-single-content .article-content+.article-author,
#article-single-content .article-content+.article-share,
#article-single-content .article-content+.article-tags {
  margin-top: 2rem
}

#article-single-content .article-share {
  align-items: center;
  display: flex;
  gap: 18px;
  padding-top: 30px
}

#article-single-content .article-share .caption {
  color: var(--color-ink-light);
  font: 15px/1 var(--font-alternative);
  letter-spacing: .02em
}

#article-single-content .article-share ul {
  align-items: center;
  display: flex;
  gap: 5px
}

#article-single-content .article-share ul li {
  position: relative
}

#article-single-content .article-share ul li a,
#article-single-content .article-share ul li button {
  align-items: center;
  display: flex;
  height: 32px;
  justify-content: center;
  position: relative;
  width: 32px
}

#article-single-content .article-share ul li a svg,
#article-single-content .article-share ul li button svg {
  height: 24px;
  width: 24px
}

#article-single-content .article-share ul li .feedback {
  background: var(--color-ink);
  border-radius: 2px;
  color: var(--color-paper);
  font: 13px/1 var(--font-alternative);
  left: 50%;
  opacity: 0;
  padding: .4em .6em;
  pointer-events: none;
  position: absolute;
  top: 100%;
  transform: translate(-50%, -5px);
  transition: opacity .2s ease, transform .2s ease;
  white-space: nowrap
}

#article-single-content .article-share ul li .feedback.show {
  opacity: 1;
  transform: translate(-50%)
}

#article-single-content .article-share ul li .feedback:before {
  border-bottom: 4px solid var(--color-ink);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  content: "";
  left: 50%;
  margin-left: -4px;
  position: absolute;
  top: -4px
}

#article-single-content .article-author {
  display: flex;
  gap: 20px
}

#article-single-content .article-author .avatar {
  align-items: center;
  background: radial-gradient(84.43% 77.2% at 50.24% 99.87%, var(--color-brand-02) 0, rgba(242, 99, 52, 0) 100%);
  border-radius: 100vmax;
  display: block;
  display: flex;
  flex-shrink: 0;
  font-size: 18px;
  height: 50px;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 50px
}

#article-single-content .article-author .avatar img {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%
}

#article-single-content .article-author .content {
  color: var(--color-ink-light);
  flex-grow: 1;
  font: 16px/1.4 var(--font-alternative)
}

#article-single-content .article-author .content .arrow-link {
  margin-top: 1em
}

#article-single-content .article-author .content .name {
  color: var(--color-ink);
  font: 500 23px/1.3 var(--font-alternative);
  margin-bottom: .2em
}

#article-single-content:has(.article-info) .article-main .article-info {
  margin-top: 1em;
  padding-top: 1em
}

#article-single-content .article-info {
  color: var(--color-ink-light);
  font: 15px/1.2 var(--font-alternative);
  letter-spacing: .02em
}

#article-single-content .article-info p {
  padding-bottom: .5em
}

#article-single-content .article-info p.label {
  color: var(--color-ink-dark)
}

#article-single-content .article-info a {
  color: var(--color-ink);
  text-decoration-color: rgba(var(--color-ink-rgb), .6);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em
}

#article-single-content span.file img {
  height: auto;
  margin-right: 4px;
  width: 20px
}

#article-single-insights {
  overflow: hidden
}

#article-single-insights .insight {
  color: var(--color-ink-light);
  display: flex;
  flex-direction: column;
  font: 16px/1.4 var(--font-alternative);
  gap: 30px;
  letter-spacing: .02em
}

#article-single-insights .insight .cta {
  --color-ink-rgb: var(--color-brand-02-rgb);
  color: var(--color-brand-02);
  margin-top: 1.5em
}

#article-single-insights .insight .logo {
  display: block;
  height: 50px;
  margin-bottom: 16px;
  width: 55px
}

#article-single-insights .insight .logo img {
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%
}

#article-single-insights .insight .title {
  color: var(--color-ink);
  font: 600 25px/1.15 var(--font-base);
  margin-bottom: .4em
}

#article-single-insights .insight .title a {
  text-decoration: none;
  transition: color .2s ease
}

#article-single-insights .insight .content {
  flex-grow: 1
}

#article-single-insights .insight .image .image-spacer {
  padding-top: 66.666%
}

#article-single-insights .slider-wrapper {
  display: flex
}

#article-single-insights .slide {
  flex-shrink: 0;
  max-width: 320px;
  min-width: 280px;
  padding: 0 .5rem;
  width: 80%
}

#article-single-insights .slider-bullets {
  margin-top: 1rem
}

#article-single-insights .insight {
  height: 100%
}

#article-single-related .section-caption {
  font: 22px/1.1 var(--font-base);
  margin-bottom: 1em;
  text-align: center
}

#article-single-related .section-box {
  background: var(--color-paper-painted);
  padding: 2.2rem 0
}

#article-single-related .article-teaser {
  border-top: 1px solid var(--color-line);
  margin-top: 24px;
  padding-top: 24px
}

#article-single-related .article-teaser:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0
}

.article-share-button {
  position: relative
}

.article-share-button .handle {
  align-items: center;
  color: var(--color-ink);
  display: flex;
  font-weight: 500;
  gap: 6px;
  text-decoration: none
}

.article-share-button .handle svg {
  height: 20px;
  width: 20px
}

.article-share-button .box {
  background: #f5f5f5;
  box-sizing: border-box;
  color: var(--color-ink);
  font: 15px/1 var(--font-alternative);
  opacity: 0;
  padding: 16px;
  pointer-events: none;
  position: absolute;
  top: 100%;
  transform: translateY(0);
  transition: opacity .2s ease, transform .2s ease;
  width: 160px
}

.article-share-button .box.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(10px)
}

.article-share-button .box li {
  margin-top: 1em
}

.article-share-button .box li:first-child {
  margin-top: 0
}

.article-share-button .box li a,
.article-share-button .box li button {
  align-items: center;
  display: flex;
  gap: 8px;
  text-decoration: none
}

.article-share-button .box li a svg,
.article-share-button .box li button svg {
  flex-shrink: 0;
  height: 24px;
  width: 24px
}

#article-single-header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between
}

#article-single-header .left {
  align-items: center;
  display: flex;
  gap: 16px;
  min-width: 0
}

#article-single-header .to-top {
  flex-shrink: 0;
  height: 24px;
  width: 24px
}

#article-single-header .to-top svg {
  height: 24px;
  width: 24px
}

#article-single-header .article-title {
  color: var(--color-section);
  flex-grow: 1;
  font: 600 20px/1.2 var(--font-base);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

#article-single-header .article-nav {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  color: var(--color-ink);
  font: 17px/1 var(--font-alternative);
  position: relative;
  white-space: nowrap
}

#article-single-header .article-nav .handle {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 6px
}

#article-single-header .article-nav .handle svg {
  flex-shrink: 0;
  height: 20px;
  transform: translateY(1px);
  width: 20px
}

#article-single-header .article-nav select {
  cursor: pointer;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%
}

#home-hero {
  margin-bottom: 2rem;
  overflow: hidden;
  padding-top: 100px
}

#home-hero .logo svg {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 310px;
  width: 100%
}

#home-hero .articles {
  border-top: 1px solid #e0e0e1;
  margin-top: 40px;
  padding-top: 16px
}

#home-hero .articles .slider {
  margin: 0 -.5rem;
  overflow: hidden;
  position: relative
}

#home-hero .articles .slider:before {
  background: linear-gradient(270deg, #fdfdfd 2.91%, hsla(0, 0%, 99%, 0) 92.95%);
  right: 0
}

#home-hero .articles .slider:after,
#home-hero .articles .slider:before {
  bottom: 0;
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  width: .5rem;
  z-index: 10
}

#home-hero .articles .slider:after {
  background: linear-gradient(90deg, #fdfdfd 2.91%, hsla(0, 0%, 99%, 0) 92.95%);
  left: 0
}

#home-hero .articles .slider-wrapper {
  display: flex
}

#home-hero .articles .article {
  border-left: 1px solid var(--color-line);
  box-sizing: border-box;
  flex-shrink: 0;
  max-width: 340px;
  min-width: 280px;
  padding: 0 .5rem;
  width: 80%
}

#home-hero .articles .article:first-child {
  border-color: transparent
}

#home-hero .articles .article .caption {
  color: var(--color-section, var(--color-ink));
  display: block;
  font: 500 15px/1 var(--font-alternative);
  margin-bottom: .5em
}

#home-hero .articles .article .title {
  display: block;
  font: 600 17px/1.3 var(--font-base);
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color .2s ease;
  white-space: nowrap
}

#home-hero .articles .article .subtitle {
  color: var(--color-ink-light);
  display: block;
  font: 500 15px/1.2 var(--font-alternative);
  margin-top: .4em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

#home-hero .articles .article a {
  display: block;
  text-decoration: none
}

#home-intro .secondary-article {
  border-top: 1px solid var(--color-line);
  margin-top: 1.5em;
  padding-top: 1.5em
}

#home-intro .side-articles {
  margin-top: 2em
}

#home-intro .side-articles .article-teaser {
  border-top: 1px solid var(--color-line);
  margin-top: 24px;
  padding-top: 24px
}

#home-intro .side-articles .article-teaser:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0
}

#home-intro .bottom-articles .article-teaser {
  border-top: 1px solid var(--color-line);
  margin-top: 1.5em;
  padding-top: 1.5em
}

#home-about {
  font: 28px/1.3 var(--font-alternative)
}

#home-about .box {
  background: #f5f5f5;
  padding: 1.5rem 1rem
}

#home-about .inner {
  margin: 0 auto;
  max-width: 900px;
  text-align: center
}

#home-about .inner p strong {
  font-family: var(--font-display);
  line-height: 1.1
}

#home-about .inner p a {
  text-decoration: underline;
  text-decoration-color: rgba(var(--color-ink-rgb), .6);
  text-decoration-thickness: 1px;
  text-underline-offset: .15em;
  transition: color .2s ease;
  white-space: nowrap
}

#home-about .inner .button {
  margin-top: 2.5em
}

#home-out-of-stock .numbers {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 20px
}

#home-out-of-stock .numbers li {
  width: 100%
}

#home-out-of-stock .numbers li.size-1 {
  width: calc(208px + 20%)
}

#home-out-of-stock .numbers li.size-2 {
  width: calc(156px + 40%)
}

#home-out-of-stock .numbers li.size-3 {
  width: calc(104px + 60%)
}

#home-out-of-stock .numbers li.size-4 {
  width: calc(52px + 80%)
}

#home-out-of-stock .numbers li.current a {
  background: var(--color-section);
  color: #fff
}

#home-out-of-stock .numbers li.current a .arrow,
#home-out-of-stock .numbers li.current a .name,
#home-out-of-stock .numbers li.current a .value {
  color: #fff !important
}

#home-out-of-stock .numbers li a {
  align-items: center;
  background: var(--color-section-light);
  color: var(--color-ink);
  display: block;
  display: flex;
  font: 18px/1 var(--font-base);
  gap: 1em;
  justify-content: space-between;
  padding: 20px 20px 20px 24px;
  position: relative;
  text-decoration: none
}

#home-out-of-stock .numbers li a .arrow {
  bottom: 16px;
  color: var(--color-section);
  height: 24px;
  left: 20px;
  position: absolute;
  width: 24px
}

#home-out-of-stock .numbers li a .name {
  padding-bottom: 28px
}

#home-out-of-stock .numbers li a .value {
  color: var(--color-section);
  font: 500 46px/1 var(--font-alternative)
}

#home-out-of-stock .numbers li a .value em {
  font-size: .7em;
  font-style: normal
}

#home-events {
  overflow: hidden
}

#home-events .slider {
  margin: 0 -.5rem
}

#home-events .slider-wrapper {
  display: flex
}

#home-events .slide {
  box-sizing: border-box;
  flex-shrink: 0;
  max-width: 340px;
  min-width: 280px;
  padding: 0 .5rem;
  width: 90%
}

#home-events .slide .event-teaser,
#home-events .slide .event-teaser a {
  box-sizing: border-box;
  height: 100%
}

#home-events .slider-bullets {
  margin-top: 24px
}

#themes-list .list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: 1rem;
  grid-row-gap: 1rem
}

#themes-list .theme {
  align-items: flex-start;
  border: 1px solid var(--color-brand-01);
  box-sizing: border-box;
  color: var(--color-brand-01);
  display: block;
  display: flex;
  flex-direction: column;
  font: 18px/1.3 var(--font-alternative);
  height: 100%;
  padding: 24px;
  text-decoration: none;
  transition: color .4s ease, background .4s ease
}

#themes-list .theme .text {
  align-items: flex-end;
  display: flex;
  flex-grow: 1;
  margin-top: 1.5rem
}

#themes-list .theme .name {
  font: 27px/1 var(--font-base)
}

#themes-list .theme .arrow {
  height: 36px;
  margin-top: 20px;
  opacity: 0;
  transform: translateX(-25%);
  transition: opacity .4s ease, transform .4s ease;
  width: 36px
}

#themes-other-list .article-teaser {
  border-top: 1px solid var(--color-line);
  margin-top: 1rem;
  padding-top: 1rem
}

#themes-other-list .article-teaser:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0
}

#themes-other-list .article-teaser .image {
  height: auto;
  width: 100%
}

#events-list .events-group+.events-group {
  margin-top: 2rem
}

#events-list .events-group .events-group-title {
  font: 600 27px/1.1 var(--font-base);
  margin-bottom: .6em
}

#events-list .events-group .events-group-title em {
  color: var(--color-brand-02);
  font-style: normal;
  font-weight: 550
}

#events-list .events .event-teaser {
  margin-top: 32px
}

#events-list .events .event-teaser:first-child {
  margin-top: 0
}

#event-related {
  overflow: hidden
}

#event-related .section-caption {
  font: 22px/1.1 var(--font-base);
  margin-bottom: 1em;
  text-align: center
}

#event-related .slider {
  margin: 0 -.5rem
}

#event-related .slider-wrapper {
  display: flex
}

#event-related .slide {
  box-sizing: border-box;
  flex-shrink: 0;
  max-width: 340px;
  min-width: 280px;
  padding: 0 .5rem;
  width: 90%
}

#event-related .slide .event-teaser,
#event-related .slide .event-teaser a {
  box-sizing: border-box;
  height: 100%
}

#event-related .slider-bullets {
  margin-top: 24px
}

#researches-list {
  overflow: hidden
}

#researches-list .image.book img {
  background-color: transparent !important
}

#researches-list .list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: 1rem;
  grid-row-gap: 1rem
}

#researches-list .slider {
  margin: 1rem -.5rem 0
}

#researches-list .slider .slider-bullets {
  margin-top: 1.2rem
}

#researches-list .slider .slider-wrapper {
  display: flex
}

#researches-list .slider .slider-wrapper .slide {
  box-sizing: border-box;
  flex-shrink: 0;
  min-width: 280px;
  padding: 0 .5rem;
  width: 90%
}

#researches-list .slider .slider-wrapper .slide .research-teaser {
  box-sizing: border-box;
  height: 100%
}

#annual-report-callout+#researches-list,
#osservatorio-immagino-callout+#researches-list {
  margin-top: 1rem
}

#researches-others {
  color: var(--color-brand-01);
  font: 16px/1.4 var(--font-alternative)
}

#researches-others .list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: 1rem;
  grid-row-gap: 1rem
}

#researches-others .list li {
  display: grid;
  grid-template-columns: 1fr;
  grid-column-gap: 1rem;
  border-top: 1px solid var(--color-line);
  padding-top: 1rem
}

#researches-others .list li .arrow-link {
  color: inherit;
  margin-top: 1.2em
}

#researches-others .list li .title {
  font: 27px/1.2 var(--font-base);
  margin-bottom: .5em
}

#researches-others .list li .title a {
  text-decoration: none
}

#researches-list+#researches-others {
  margin-top: 2rem
}

#publications-list .publication-teaser {
  border-top: 1px solid var(--color-line);
  margin-top: 1rem;
  padding-top: 1rem
}

#publications-list .publication-teaser:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0
}

#research-single-article {
  padding-top: 100px
}

#research-single-article .intro .caption {
  color: var(--color, var(--color-brand-01));
  font: 500 15px/1 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: 1.2em
}

#research-single-article .intro .caption a {
  text-decoration: none
}

#research-single-article .intro .caption em {
  color: var(--color-ink-light);
  font-style: normal
}

#research-single-article .intro .caption em:before {
  content: "– "
}

#research-single-article .intro .title {
  color: var(--color, var(--color-brand-01));
  font: 40px/1 var(--font-base)
}

#research-single-article .intro .details {
  color: var(--color, var(--color-brand-01));
  font: 30px/1 var(--font-base);
  margin-top: .6em;
  opacity: .4
}

#research-single-article .image {
  margin-top: 24px;
  width: calc(83.33333% - .16667rem)
}

#research-single-article .image .image-spacer {
  border-radius: 4px;
  overflow: hidden;
  padding-top: 133%
}

#research-single-article .image .image-spacer img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: left top;
  object-position: left top
}

#research-single-article .summary {
  border-bottom: 1px solid var(--color-line);
  color: var(--color, var(--color-brand-01));
  font: 23px/1.4 var(--font-alternative);
  margin-top: 24px;
  padding-bottom: 1rem
}

#research-single-article .content {
  font: 18px/1.4 var(--font-base);
  margin-top: 24px
}

#research-single-article .content p+p {
  margin-top: .6em
}

#research-single-article .content .button {
  margin-top: 2em
}

#research-single-article .side {
  color: var(--color-ink-light);
  font: 15px/1.2 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: 24px;
  margin-top: 24px
}

#research-single-article .side .info a {
  color: var(--color-ink)
}

#research-single-article .side .info .moddate {
  display: block;
  padding-top: .5em
}

#research-single-article .side .inner {
  align-items: center;
  display: flex;
  justify-content: space-between
}

#research-single-article .side .share .box {
  right: 0
}

#research-related {
  overflow: hidden
}

#research-related .section-caption {
  font: 22px/1.1 var(--font-base);
  margin-bottom: 1em;
  text-align: center
}

#research-related .slider {
  margin: 0 -.5rem
}

#research-related .slider-wrapper {
  display: flex
}

#research-related .slide {
  box-sizing: border-box;
  flex-shrink: 0;
  max-width: 340px;
  min-width: 280px;
  padding: 0 .5rem;
  width: 90%
}

#research-related .slide .publication-teaser .image {
  width: 100%
}

#research-related .slider-bullets {
  margin-top: 24px
}

#error-404 {
  padding-top: 120px
}

#error-404 .title {
  color: var(--color-ink-light);
  font: 25px/1.15 var(--font-base);
  margin-bottom: .5em
}

#error-404 .title strong {
  color: var(--color-ink);
  display: block;
  font-size: 27px;
  font-weight: 600
}

#error-404 .content p+p {
  margin-top: .5em
}

#error-404 .content a:not(.button) {
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(var(--color-ink-rgb), .6);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  transition: color .2s ease
}

#error-404 .content .button {
  margin-top: 2em
}

#error-404 .image {
  margin-bottom: 1rem
}

#error-404 .image svg {
  height: auto !important;
  width: 100%
}

#search-hero {
  background: var(--color-section-light);
  margin-bottom: 1.5rem;
  overflow: hidden;
  padding-top: 100px;
  text-align: center
}

#search-hero .title {
  color: var(--color-ink-light);
  font: 25px/1.2 var(--font-base);
  margin-bottom: .6em
}

#search-hero .title strong {
  color: var(--color-ink);
  font-weight: 600
}

#search-hero .search {
  margin-bottom: 1rem;
  position: relative
}

#search-hero .search input {
  border: 0;
  box-sizing: border-box;
  font: 25px var(--font-base);
  height: 54px;
  padding: 0 .8em;
  width: 100%
}

#search-hero .search button {
  align-items: center;
  display: flex;
  height: 40px;
  justify-content: center;
  margin-top: -20px;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 40px
}

#search-hero .search button svg {
  height: 24px;
  width: 24px
}

#search-hero .filters {
  background: var(--color-paper);
  margin: 1rem -999em 0;
  padding: 24px 999em 0;
  position: relative;
  text-align: left
}

#search-hero .filters .filter {
  border-top: 1px solid var(--color-line);
  margin-top: 12px;
  padding-top: 12px
}

#search-hero .filters .filter:first-child {
  border-top: 0;
  box-shadow: none;
  margin-top: 0;
  padding-top: 0
}

#search-hero .filters .filter label {
  color: var(--color-ink-light);
  display: block;
  font: 15px/1 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: .5em
}

#search-hero .filters .filter select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: var(--color-paper);
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBzdHJva2U9IiMzMzMzMzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJtNiA5IDYgNiA2LTYiLz48L3N2Zz4=);
  background-position: 100%;
  background-repeat: no-repeat;
  border: 0;
  box-sizing: border-box;
  color: var(--color-ink);
  display: block;
  font: 17px var(--font-alternative);
  height: 30px;
  padding: 0;
  width: 100%
}

#search-results,
.articles-list {
  margin-top: 0
}

#search-results .articles .article-teaser+.article-teaser,
.articles-list .articles .article-teaser+.article-teaser {
  border-top: 1px solid var(--color-line);
  margin-top: 1rem;
  padding-top: 1rem
}

#search-results .empty,
.articles-list .empty {
  color: var(--color-ink-light);
  font: 27px/1.2 var(--font-base);
  padding: 1rem 0;
  text-align: center
}

#search-results .empty .icon,
.articles-list .empty .icon {
  display: block;
  height: auto;
  margin: 0 auto 16px;
  width: 100px
}

#search-results .empty .button,
.articles-list .empty .button {
  margin-top: 3em
}

#search-hero {
  margin-bottom: 0
}

.custom-filters {
  margin-bottom: 1.5rem;
  padding: 24px 0 0;
  position: relative;
  text-align: left
}

.custom-filters.only-sort {
  margin-bottom: 0
}

.custom-filters.only-sort .bar {
  justify-content: flex-end
}

.custom-filters.only-sort .filter-sort {
  border: none !important;
  box-shadow: none !important;
  margin-top: -1em
}

.custom-filters .filter {
  border-top: 1px solid var(--color-line);
  margin-top: 12px;
  padding-top: 12px
}

.custom-filters .filter:first-child {
  border-top: 0;
  box-shadow: none;
  margin-top: 0;
  padding-top: 0
}

.custom-filters .filter label {
  color: var(--color-ink-light);
  display: block;
  font: 15px/1 var(--font-alternative);
  letter-spacing: .02em;
  margin-bottom: .5em
}

.custom-select {
  --scrollbar-track-color: var(--color-section-light);
  --scrollbar-thumb-color: var(--color-ink-light);
  --scrollbar-size: 8px;
  --dropdown-shadow: 153, 153, 153;
  --dropdown-height: 400px;
  background: var(--color-paper);
  position: relative
}

.custom-select:before {
  border: 2px solid var(--color-ink);
  border-right: transparent;
  border-top: transparent;
  content: "";
  height: 8px;
  pointer-events: none;
  position: absolute;
  right: 8px;
  top: 8px;
  transform: rotate(-45deg);
  transition: all .25s linear;
  width: 8px;
  z-index: 998
}

.custom-select input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: var(--color-paper);
  border: 0;
  box-sizing: border-box;
  color: var(--color-ink);
  cursor: pointer;
  display: block;
  font: 17px var(--font-alternative);
  height: 30px;
  padding: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 100%
}

.custom-select input::-moz-placeholder {
  opacity: 1
}

.custom-select input::placeholder {
  opacity: 1
}

.custom-select .custom-input {
  cursor: pointer;
  font: 17px var(--font-alternative)
}

.custom-select .custom-input:empty:after {
  color: #666;
  content: "Tutti"
}

.custom-select ul {
  background: var(--color-paper);
  border-bottom: 1px solid var(--color-line);
  border-left: 1px solid var(--color-line);
  box-shadow: 0 2.8px 2.2px rgba(var(--dropdown-shadow), .015), 0 6.7px 5.3px rgba(var(--dropdown-shadow), .018), 0 12.5px 10px rgba(var(--dropdown-shadow), .021), 0 22.3px 17.9px rgba(var(--dropdown-shadow), .026), 0 41.8px 33.4px rgba(var(--dropdown-shadow), .038), 0 100px 80px rgba(var(--dropdown-shadow), .07), inset -1px 0 var(--color-line);
  cursor: pointer;
  font-family: var(--font-alternative);
  font-size: 17px;
  margin-left: -10px;
  max-height: var(--dropdown-height);
  opacity: 0;
  outline: none;
  overflow: hidden;
  overflow-y: auto;
  padding: 5px 10px 0;
  position: absolute;
  top: 28px;
  transform: translateY(-10px);
  transition: all .4s ease;
  visibility: hidden;
  width: 100%;
  z-index: 999
}

.custom-select ul::-webkit-scrollbar {
  width: var(--scrollbar-size)
}

.custom-select ul::-webkit-scrollbar-track {
  background: var(--scrollbar-track-color);
  border-radius: 10px
}

.custom-select ul::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb-color);
  border-radius: 10px
}

.custom-select li {
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  line-height: 1.1;
  margin-left: -1px;
  padding: 13px 0
}

.custom-select li.current {
  color: var(--color-section, var(--color-ink-dark));
  font-weight: 500
}

.custom-select li.current span {
  opacity: .8
}

.custom-select li:last-child {
  border: none
}

.custom-select li span {
  color: var(--color-ink);
  font-size: 14px;
  font-weight: 500;
  opacity: .3;
  transform: translateY(1px)
}

.custom-select.opened:before {
  top: 12px;
  transform: rotate(-225deg)
}

.custom-select.opened ul {
  opacity: 1;
  transform: translateY(0);
  visibility: visible
}

input[autocomplete=off]::-webkit-contacts-auto-fill-button,
input[autocomplete=off]::-webkit-credentials-auto-fill-button,
input[autocomplete=off]:focus::-webkit-textfield-decoration-container {
  display: none !important;
  height: 0;
  margin: 0;
  pointer-events: none;
  visibility: hidden;
  width: 0
}

.filter-sort {
  border-top: 1px solid var(--color-line);
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
  padding-top: 12px;
  position: relative
}

.filter-sort .icon {
  color: var(--color-ink);
  display: block;
  flex-shrink: 0;
  height: 24px;
  transition: transform .2s ease;
  width: 24px
}

.filter-sort-button {
  align-items: center;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: 100vmax;
  color: var(--color-ink);
  cursor: pointer;
  display: flex;
  font-family: var(--font-alternative);
  font-size: 17px;
  font-weight: 400;
  gap: .1rem;
  letter-spacing: .02em;
  line-height: 1;
  padding: 8px 14px;
  transition: all .2s ease;
  width: auto
}

.filter-sort-button:hover {
  background: var(--color-bg-light);
  border-color: var(--color-ink-light)
}

.filter-sort-button:focus-visible {
  outline: 2px solid var(--color-primary, #06c);
  outline-offset: 2px
}

.filter-sort-button-text {
  flex: 1;
  text-align: left
}

.filter-sort.is-open .filter-sort-button {
  background: var(--color-bg-light);
  border-color: var(--color-ink)
}

.filter-sort.is-open .filter-sort-menu {
  opacity: 1;
  transform: translateY(0);
  visibility: visible
}

.filter-sort-menu {
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
  min-width: 140px;
  opacity: 0;
  padding: 6px 20px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  transform: translateY(-.5rem);
  transition: all .2s ease;
  visibility: hidden;
  z-index: 100
}

.filter-sort-list {
  list-style: none;
  margin: 0;
  padding: 0
}

.filter-sort-option {
  margin: 0;
  padding: .4em 0
}

.filter-sort-option+.filter-sort-option {
  border-top: 1px solid var(--color-line)
}

.filter-sort-label {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 12px;
  padding-block: 0;
  transition: background-color .2s ease
}

.filter-sort-label:hover {
  background: var(--color-bg-light)
}

.filter-sort-label:focus-within {
  outline: 2px solid var(--color-primary, #06c);
  outline-offset: -2px
}

.filter-sort-label-text {
  color: var(--color-ink);
  flex: 1;
  font-family: var(--font-alternative);
  font-size: 17px;
  line-height: 1.4;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.filter-sort-radio {
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  clip: rect(0, 0, 0, 0)
}

.filter-sort-radio:checked+.filter-sort-label-text {
  font-weight: 500
}

.filter-sort-radio:checked~.filter-sort-radio-custom {
  border-color: var(--color-ink)
}

.filter-sort-radio:checked~.filter-sort-radio-custom:after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1)
}

.filter-sort-radio:focus-visible~.filter-sort-radio-custom {
  outline: 2px solid var(--color-primary, #06c);
  outline-offset: 2px
}

.filter-sort-radio-custom {
  background: var(--color-paper);
  border: 2px solid var(--color-line);
  border-radius: 100vmax;
  flex-shrink: 0;
  height: 20px;
  position: relative;
  transition: border-color .2s ease;
  width: 20px
}

.filter-sort-radio-custom:after {
  background: var(--color-ink);
  border-radius: 100vmax;
  content: "";
  height: 14px;
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: all .2s ease;
  width: 14px
}

#about-hero {
  background: var(--color-section-light);
  margin-bottom: 1.5rem;
  padding-top: 100px;
  position: relative;
  text-align: center
}

#about-hero:before {
  background: #fff;
  bottom: 0;
  content: "";
  height: min(15vw, 200px);
  left: 0;
  position: absolute;
  width: 100%
}

#about-hero .container-outer {
  position: relative;
  z-index: 2
}

#about-hero .title {
  color: var(--color-ink);
  font: 30px/1.2 var(--font-alternative);
  margin-bottom: 1.5em
}

#about-hero .title a {
  text-decoration: underline;
  text-decoration-thickness: 2px
}

#about-hero .image .image-spacer {
  padding-top: 66.666%
}

#about-team .legal-notes {
  margin-top: 4rem
}

#about-team .intro {
  font: 18px/1.4 var(--font-base)
}

#about-team .intro p+p {
  margin-top: .4em
}

#about-team .intro .title {
  font: 600 25px/1.2 var(--font-base);
  margin-bottom: .4em
}

#about-team .intro ul {
  font: 16px/1.4 var(--font-base)
}

#about-team .intro ul li {
  margin-top: .8rem
}

#about-team .intro ul li .title {
  font: 500 23px/1.3 var(--font-alternative)
}

#about-team .intro .button {
  margin-top: 1rem
}

#about-team .team {
  -moz-column-count: 2;
  column-count: 2;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  margin-top: 2rem
}

#about-team .team .author {
  -moz-column-break-inside: avoid;
  break-inside: avoid;
  color: var(--color-ink-light);
  font: 16px/1.2 var(--font-alternative);
  padding-top: 2rem;
  text-align: center
}

#about-team .team .author:first-child {
  padding-top: 0
}

#about-team .team .author .avatar {
  align-items: center;
  background: radial-gradient(84.43% 77.2% at 50.24% 99.87%, var(--color-brand-02) 0, rgba(242, 99, 52, 0) 100%);
  border-radius: 100%;
  display: flex;
  display: block;
  font-size: 30px;
  height: 120px;
  justify-content: center;
  margin: 0 auto 14px;
  overflow: hidden;
  position: relative;
  width: 120px
}

#about-team .team .author .avatar img {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%
}

#about-team .team .author .name {
  color: var(--color-ink);
  font-size: 23px;
  font-weight: 500;
  margin-bottom: .3em
}

#about-team .team .author .links {
  align-items: center;
  color: var(--color-ink);
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 16px
}

#about-team .team .author .links a svg {
  height: 24px;
  width: 24px
}

#about-gs1 {
  overflow: hidden
}

#about-gs1 .content {
  position: relative;
  z-index: 2
}

#about-gs1 .title {
  font: 600 25px/1.15 var(--font-base);
  margin-bottom: .4em
}

#about-gs1 p+p {
  margin-top: .4em
}

#about-gs1 .image {
  margin-top: 1.5rem
}

#about-gs1 .image .image-wrap {
  display: block;
  margin-left: -3rem;
  margin-right: -1rem
}

#about-gs1 .image .image-spacer {
  padding-top: 57.96%
}

#about-gs1 .image .image-spacer .logo {
  bottom: 20%;
  height: 61px;
  position: absolute;
  right: 1rem;
  width: 68px
}

#about-story .box {
  background: var(--color-paper-painted);
  overflow: hidden;
  padding: 1.5rem
}

#about-story .box .title {
  color: var(--color-ink-light);
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 2em
}

#about-story .box .slider {
  margin: 0 -2rem
}

#about-story .box .slider-wrapper {
  display: flex
}

#about-story .box .slide {
  box-sizing: border-box;
  flex-shrink: 0;
  padding: 0 2rem;
  width: 100%
}

#about-story .box .slide .inner {
  max-width: 600px
}

#about-story .box .slide .title {
  color: var(--color-ink);
  font-size: 25px;
  font-weight: 600;
  margin-bottom: .4em
}

#about-story .box .slide strong {
  font-weight: 600
}

#about-story .box .slide .year {
  color: var(--color-brand-02);
  font: 500 16px/1 var(--font-alternative);
  margin-bottom: 1em
}

#about-story .pager {
  display: none;
  font: 17px/1 var(--font-alternative);
  height: 100px;
  justify-content: space-between;
  margin-top: 2rem
}

#about-story .pager li {
  color: #b6b6b9;
  cursor: pointer;
  position: relative;
  text-align: center;
  transition: color .2s ease
}

#about-story .pager li:before {
  background: currentColor;
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  top: 30px;
  width: 1px
}

#about-story .pager li.active {
  color: var(--color-brand-02)
}

#about-story .slider-bullets {
  margin-top: 1.5rem
}

#about-gs1 .main-section .container-inner .rich-text-content :empty,
#about-team .main-section .container-inner .rich-text-content :empty {
  display: none
}

#about-gs1 .main-section .container-inner .rich-text-content h2,
#about-gs1 .main-section .container-inner .rich-text-content h3,
#about-gs1 .main-section .container-inner .rich-text-content h4,
#about-gs1 .main-section .container-inner .rich-text-content h5,
#about-gs1 .main-section .container-inner .rich-text-content h6,
#about-team .main-section .container-inner .rich-text-content h2,
#about-team .main-section .container-inner .rich-text-content h3,
#about-team .main-section .container-inner .rich-text-content h4,
#about-team .main-section .container-inner .rich-text-content h5,
#about-team .main-section .container-inner .rich-text-content h6 {
  margin-top: 0 !important
}

.main-section .rich-text-content ul:not(.enrichment ul) li {
  padding-left: 0
}

.main-section .rich-text-content ul:not(.enrichment ul) li:before {
  content: "" !important;
  display: none !important
}

body {
  scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-track-color)
}

body::-webkit-scrollbar {
  width: var(--scrollbar-size)
}

body::-webkit-scrollbar-track {
  background: var(--scrollbar-track-color);
  border-radius: 10px
}

body::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb-color);
  border-radius: 10px
}

#authors-list .authors {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-column-gap: 1rem;
  grid-row-gap: 1rem
}

#authors-list .author {
  border-top: 1px solid var(--color-line);
  color: var(--color-ink-light);
  font: 16px/1.4 var(--font-alternative);
  min-height: 56px;
  padding-left: 80px;
  padding-top: 1rem;
  position: relative
}

#authors-list .author:first-child {
  border-top: 0;
  padding-top: 0
}

#authors-list .author:first-child .avatar {
  top: 0
}

#authors-list .author .name {
  color: var(--color-ink);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: .1em
}

#authors-list .author .name a {
  text-decoration: none
}

#authors-list .author .links {
  align-items: center;
  color: var(--color-ink);
  display: flex;
  gap: 12px;
  margin-top: 12px
}

#authors-list .author .links a svg {
  height: 24px;
  width: 24px
}

#authors-list .author .avatar {
  align-items: center;
  background: radial-gradient(84.43% 77.2% at 50.24% 99.87%, var(--color-brand-02) 0, rgba(242, 99, 52, 0) 100%);
  border-radius: 100vmax;
  display: flex;
  font-size: 20px;
  height: 60px;
  justify-content: center;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 1rem;
  width: 60px
}

#authors-list .author .avatar img {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%
}

#articles-list.is-author-page .intro {
  color: var(--color-paper)
}

#articles-list.is-author-page .intro .title {
  color: var(--color-paper);
  font: 600 16px/1 var(--font-base);
  margin-bottom: .8em
}

#articles-list.is-author-page .intro .title strong {
  display: block;
  font: 500 32px/1 var(--font-alternative);
  margin-top: 4px
}

#articles-list.is-author-page .intro .title .avatar {
  align-items: center;
  background: radial-gradient(100% 75% at 50% 100%, var(--color-brand-02) 0, var(--color-brand-02) 0, var(--color-paper) 100%);
  border-radius: 100vmax;
  display: block;
  display: flex;
  font-size: 24px;
  height: 80px;
  justify-content: center;
  margin: 0 auto 1em;
  overflow: hidden;
  position: relative;
  width: 80px
}

#articles-list.is-author-page .intro .title .avatar img {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%
}

#articles-list.is-author-page .intro .links {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 12px
}

#articles-list.is-author-page .intro .links a svg {
  height: 24px;
  width: 24px
}

#articles-list.is-author-page .intro:before {
  background: var(--color-ink)
}

#grid {
  display: none;
  height: 100%;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999999999
}

#grid.show {
  display: block
}

#grid .grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-column-gap: 1rem;
  height: 100vh
}

#grid .grid span {
  background: rgba(255, 0, 0, .1)
}

.seo-title {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  width: 1px
}

.no-underline {
  font-weight: 200 !important;
  text-decoration: none !important
}

.date {
  text-transform: lowercase
}

wagtail-userbar {
  white-space: nowrap
}

.is-preview a:not([target="_blank"]) {
  pointer-events: none
}

@media screen and (min-width:768px) {
  html {
    font-size: 30px
  }

  body {
    font-size: 20px
  }

  .arrow-link,
  .article-teaser {
    font-size: 17px
  }

  .article-teaser.wide .image {
    width: calc(25% - .75rem)
  }

  .article-teaser.wide .image .icon {
    height: 50px;
    width: 50px
  }

  .article-teaser.big {
    font-size: 20px
  }

  .article-teaser.big .title {
    font-size: 39px
  }

  .article-teaser.big .number {
    font-size: 106px
  }

  .article-teaser.small .caption {
    margin-bottom: .5em
  }

  .article-teaser.small .title {
    font-size: 24px
  }

  .article-teaser.small .title .number {
    font-size: 75px
  }

  .article-teaser .title {
    font-size: 33px
  }

  .article-teaser .number {
    font-size: 90px
  }

  .article-teaser .author .avatar {
    height: 56px;
    width: 56px
  }

  .article-teaser .toc li a .arrow {
    height: 24px;
    width: 24px
  }

  .event-teaser a {
    padding: 20px;
    grid-row-gap: 20px;
    grid-template-columns: 120px 1fr
  }

  .event-teaser a .date {
    font-size: 20px;
    padding-right: 20px
  }

  .event-teaser a .date strong {
    font-size: 64px
  }

  .event-teaser a .title {
    font-size: 24px;
    padding-top: 20px
  }

  .event-teaser a .info {
    font-size: 16px;
    padding-left: 20px
  }

  .event-teaser.wide a {
    grid-template-columns: 120px 1fr 240px;
    grid-template-rows: 1fr;
    grid-column-gap: 24px
  }

  .event-teaser.wide a .title {
    border-top: 0;
    grid-column: 2;
    grid-row: 1;
    padding-top: 0
  }

  .event-teaser.wide a .info {
    border-left: 1px solid #facfc1;
    grid-column: 3
  }

  .event-teaser.small a {
    padding: 16px;
    grid-row-gap: 16px
  }

  .event-teaser.small .date {
    font-size: 17px;
    padding-right: 16px
  }

  .event-teaser.small .date strong {
    font-size: 46px
  }

  .event-teaser.small .info {
    font-size: 15px;
    padding-left: 16px
  }

  .event-teaser.small .title {
    font-size: 20px;
    padding-top: 16px
  }

  .container-outer {
    max-width: 800px
  }

  .section-intro {
    font-size: 20px
  }

  .section-intro .title {
    font-size: 54px;
    padding-bottom: 10px
  }

  #header {
    height: 83px
  }

  #header .bar .scroller,
  #header .bar .wrap {
    height: 81px
  }

  #header .bar .heading {
    height: 83px
  }

  #header .bar .heading svg {
    width: 204px
  }

  #header .bar .menu {
    height: 83px
  }

  #header .panel .panel-grid .secondary .links,
  #header .panel .panel-grid .secondary .menu ul {
    font-size: 17px
  }

  #header .panel .panel-grid .tertiary .newsletter .title {
    font-size: 25px
  }

  #header .panel .panel-grid .tertiary .report .title {
    font-size: 24px
  }

  #header .panel .panel-grid .about {
    font-size: 17px
  }

  #header .panel .sections {
    font-size: 33px
  }

  #footer .newsletter {
    align-items: center;
    display: flex;
    font-size: 33px;
    justify-content: space-between
  }

  #footer .newsletter .button {
    margin-top: 0
  }

  #footer .newsletter .title {
    font-size: 46px
  }

  #footer .columns {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  #footer .columns .menu {
    font-size: 17px
  }

  #footer .subfooter .presentation {
    font-size: 20px
  }

  #footer .subfooter .main .legal {
    display: flex;
    gap: 2em
  }

  #footer .subfooter .main .legal ul {
    margin-top: 0
  }

  #section-hero {
    margin-bottom: 2.5rem;
    padding-top: 145px
  }

  body.dark #section-hero,
  body[data-section] #section-hero {
    margin-bottom: 2rem
  }

  #section-hero .caption {
    font-size: 18px
  }

  #section-hero .title {
    font-size: 75px
  }

  #section-hero p {
    font-size: 20px
  }

  #section-hero .content-nav {
    margin: 1.25rem 0 0
  }

  .pagination {
    font-size: 20px
  }

  .pagination ul {
    gap: 20px
  }

  .pagination ul .prev {
    margin-right: 10px
  }

  .pagination ul .next {
    margin-left: 10px
  }

  .rich-text-content {
    --scroll-margin-top: 100px;
    font-size: 20px
  }

  .rich-text-content h1:not(.enrichment h1),
  .rich-text-content h2:not(.enrichment h2),
  .rich-text-content h3:not(.enrichment h3),
  .rich-text-content h4:not(.enrichment h4),
  .rich-text-content h5:not(.enrichment h5),
  .rich-text-content h6:not(.enrichment h6) {
    font-size: 39px
  }

  .rich-text-content h3:not(.enrichment h3),
  .rich-text-content h4:not(.enrichment h4) {
    font-size: 30px
  }

  .rich-text-content h5:not(.enrichment h5),
  .rich-text-content h6:not(.enrichment h6) {
    font-size: 27px
  }

  .rich-text-content .enrichment.enrichment-left {
    float: left;
    margin-right: 1rem;
    margin-top: 1rem;
    width: calc(33.33333% - .66667rem)
  }

  .rich-text-content .enrichment.enrichment-right {
    float: right;
    margin-left: 1rem;
    margin-top: 1rem;
    width: calc(33.33333% - .66667rem)
  }

  .rich-text-content .enrichment-number {
    font-size: 24px
  }

  .rich-text-content .enrichment-number .number {
    font-size: 100px
  }

  .rich-text-content .enrichment-images {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .rich-text-content .enrichment-continue {
    font-size: 33px
  }

  .rich-text-content .enrichment-article .article-teaser .wrap {
    flex-direction: row;
    gap: 30px
  }

  .rich-text-content .enrichment-article .article-teaser .image {
    flex-shrink: 0;
    order: 2;
    width: 170px
  }

  .rich-text-content .enrichment-article .article-teaser .image .icon {
    height: 50px;
    width: 50px
  }

  .rich-text-content .enrichment-article .article-teaser .content {
    flex-grow: 1
  }

  .rich-text-content .enrichment-podcast .embed {
    height: 232px
  }

  .rich-text-content blockquote:not(.enrichment blockquote) cite {
    font-size: 17px
  }

  .rich-text-content .enrichment-event-details {
    display: grid;
    font-size: 17px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 24px 0
  }

  .rich-text-content .enrichment-event-details .info {
    border-bottom: 0;
    border-right: 1px solid #facfc1;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-right: 1rem
  }

  .rich-text-content .enrichment-event-details .when strong {
    font-size: 28px
  }

  .rich-text-content .enrichment-event-details .where {
    padding-left: 1rem
  }

  .publication-teaser a .content {
    font-size: 24px
  }

  .publication-teaser.wide a {
    flex-direction: row;
    gap: 24px
  }

  .publication-teaser.wide a .image {
    flex-shrink: 0;
    width: calc(33.33333% - .66667rem)
  }

  .publication-teaser.wide a .content {
    flex-grow: 1;
    font-size: 33px
  }

  .research-teaser {
    font-size: 17px;
    padding: 30px
  }

  .research-teaser .title {
    font-size: 39px
  }

  .research-teaser .image {
    margin: -10% -30px -30px
  }

  #banner-newsletter .image .box {
    border-radius: 13px;
    padding: 4px;
    width: 150px
  }

  #banner-newsletter .image .box .image-spacer {
    border-radius: 8px
  }

  .section-sections {
    font-size: 60px
  }

  .section-sections .caption {
    font-size: 24px;
    margin-bottom: .8em
  }

  #journal-callout .content {
    font-size: 20px
  }

  #journal-callout .content .title {
    font-size: 30px
  }

  #journal-callout .content .title strong {
    font-size: 37px
  }

  #journal-callout .image {
    height: 260px
  }

  #journal-callout .image .box {
    border-radius: 25px;
    max-width: 250px;
    padding: 10px
  }

  #journal-callout .image .box .image-spacer {
    border-radius: 13px
  }

  #annual-report-callout .box {
    padding: 36px
  }

  #annual-report-callout .intro {
    font-size: 20px
  }

  #annual-report-callout .intro .title {
    font-size: 46px
  }

  #annual-report-callout .items {
    padding-bottom: 70px
  }

  #annual-report-callout .nav {
    bottom: 0
  }

  .osservatorio-immagino-callout {
    font-size: 20px
  }

  .osservatorio-immagino-callout .title {
    font-size: 46px
  }

  .osservatorio-immagino-callout .box {
    padding: 36px
  }

  .osservatorio-immagino-callout .image {
    height: 400px
  }

  .section-form-wrap .form-intro {
    font-size: 20px
  }

  .section-form-wrap .form-intro .title {
    font-size: 39px
  }

  .section-form-wrap .form-intro .journal-image .image {
    margin: 0 0 -30px 14px
  }

  .section-form-wrap .form-content input[type=email],
  .section-form-wrap .form-content input[type=number],
  .section-form-wrap .form-content input[type=password],
  .section-form-wrap .form-content input[type=tel],
  .section-form-wrap .form-content input[type=text],
  .section-form-wrap .form-content select,
  .section-form-wrap .form-content textarea {
    font-size: 20px;
    height: 78px
  }

  .journal-image .image {
    border-radius: 25px;
    max-width: 200px;
    padding: 10px
  }

  .journal-image .image .image-spacer {
    border-radius: 13px
  }

  #articles-list {
    padding-top: 145px
  }

  #articles-list .intro {
    font-size: 17px
  }

  #articles-list .intro .title {
    font-size: 46px
  }

  #article-single-intro {
    font-size: 24px;
    padding-top: 145px
  }

  #article-single-intro .dossier-content {
    font-size: 20px
  }

  #article-single-intro .author .avatar {
    height: 100px;
    width: 100px
  }

  #article-single-intro .caption {
    font-size: 18px
  }

  #article-single-intro .title {
    font-size: 75px
  }

  #article-single-intro .title .number {
    font-size: 164px
  }

  #article-single-content .article-share ul li .feedback {
    left: 100%;
    margin-left: 5px;
    top: 50%;
    transform: translate(-5px, -50%)
  }

  #article-single-content .article-share ul li .feedback.show {
    transform: translateY(-50%)
  }

  #article-single-content .article-share ul li .feedback:before {
    border-bottom: 4px solid transparent;
    border-left: 0;
    border-right: 4px solid var(--color-ink);
    border-top: 4px solid transparent;
    left: -4px;
    margin-left: 0;
    margin-top: -4px;
    top: 50%
  }

  #article-single-content .article-author {
    gap: 30px
  }

  #article-single-content .article-author .avatar {
    height: 77px;
    width: 77px
  }

  #article-single-content .article-author .content {
    font-size: 17px
  }

  #article-single-content .article-author .content .name {
    font-size: 28px
  }

  #article-single-insights .insight.wide {
    display: grid;
    gap: 1rem;
    grid-column: span 2;
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  #article-single-insights .insight .title {
    font-size: 33px
  }

  #article-single-related .section-caption {
    font-size: 24px;
    margin-bottom: 1.5em
  }

  #article-single-related .container-inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  #article-single-related .article-teaser {
    grid-column: 1/7
  }

  #article-single-related .article-teaser:nth-child(2) {
    border-top: 0;
    margin-top: 0;
    padding-top: 0
  }

  #article-single-related .article-teaser.wide .image {
    width: 110px
  }

  #article-single-related .article-teaser:first-child {
    grid-column: 7/13;
    grid-row: span 100
  }

  #home-hero {
    padding-top: 125px
  }

  #home-hero .logo svg {
    max-width: none;
    width: 531px
  }

  #home-about {
    font-size: 46px
  }

  #home-about .box {
    padding: 2rem
  }

  #home-out-of-stock .numbers li.size-1 {
    width: calc(320px + 20%)
  }

  #home-out-of-stock .numbers li.size-2 {
    width: calc(240px + 40%)
  }

  #home-out-of-stock .numbers li.size-3 {
    width: calc(160px + 60%)
  }

  #home-out-of-stock .numbers li.size-4 {
    width: calc(80px + 80%)
  }

  #home-out-of-stock .numbers li a {
    font-size: 20px;
    padding: 24px 24px 24px 30px
  }

  #home-out-of-stock .numbers li a .arrow {
    bottom: 20px;
    left: 24px
  }

  #home-out-of-stock .numbers li a .name {
    padding-bottom: 34px
  }

  #home-out-of-stock .numbers li a .value {
    font-size: 54px
  }

  #themes-list .list {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  #themes-list .theme {
    font-size: 20px;
    min-height: 400px;
    padding: 36px
  }

  #themes-list .theme .name {
    font-size: 39px
  }

  #themes-list .theme .arrow {
    margin-top: 30px
  }

  #events-list .events-group .events-group-title {
    font-size: 39px
  }

  #event-related .section-caption {
    font-size: 24px;
    margin-bottom: 1.5em
  }

  #researches-list .slider .slider-wrapper .slide {
    width: 60%
  }

  #researches-others {
    font-size: 17px
  }

  #researches-others .list {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  #researches-others .list li .title {
    font-size: 39px
  }

  #research-single-article {
    padding-top: 145px
  }

  #research-single-article .intro .caption {
    font-size: 18px
  }

  #research-single-article .intro .title {
    font-size: 75px
  }

  #research-single-article .intro .details {
    font-size: 46px
  }

  #research-single-article .summary {
    font-size: 28px
  }

  #research-single-article .content {
    font-size: 20px
  }

  #research-related .section-caption {
    font-size: 24px;
    margin-bottom: 1.5em
  }

  #error-404 {
    padding-top: 180px
  }

  #error-404 .title {
    font-size: 33px
  }

  #error-404 .title strong {
    font-size: 39px
  }

  #search-hero {
    margin-bottom: 2rem;
    padding-top: 145px
  }

  #search-hero .title {
    font-size: 33px
  }

  #search-hero .search input {
    font-size: 33px;
    height: 60px;
    padding: 0 .6em
  }

  #search-hero .filters .bar {
    align-items: center;
    display: flex;
    margin: 0 -.5rem
  }

  #search-hero .filters .filter {
    border-top: 0;
    box-shadow: inset 1px 0 var(--color-line);
    margin-top: 0;
    padding: 0 .5rem;
    width: 100%
  }

  #search-results .empty,
  .articles-list .empty {
    font-size: 39px
  }

  #search-hero {
    margin-bottom: 0
  }

  .custom-filters {
    margin-bottom: 2rem
  }

  .custom-filters.only-sort {
    margin-bottom: -1rem
  }

  .custom-filters.only-sort .filter-sort {
    margin-top: 0
  }

  .custom-filters .bar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 -.5rem
  }

  .custom-filters .filter {
    border-top: 0;
    box-shadow: inset 1px 0 var(--color-line);
    margin-top: 0;
    padding: 0 .5rem;
    width: 100%
  }

  .custom-filters .filter:has(.opened) {
    box-shadow: inset 1px 0 var(--color-line)
  }

  .custom-filters .filter:has(.opened):last-child {
    box-shadow: inset 1px 0 var(--color-line), inset -1px 0 var(--color-line)
  }

  .custom-select ul {
    margin-left: -.5rem;
    padding: 5px .5rem 0
  }

  .filter-sort {
    border-top: 0;
    box-shadow: inset 1px 0 var(--color-line);
    flex-shrink: 0;
    margin-top: 0;
    padding: .25em 0 .25em 1.5em;
    width: auto
  }

  .filter-sort-button {
    justify-content: center
  }

  .filter-sort-button-text {
    flex: initial
  }

  .filter-sort-menu {
    right: -6px
  }

  #about-hero {
    margin-bottom: 2rem;
    padding-top: 145px
  }

  #about-hero .title {
    font-size: 46px
  }

  #about-team .intro {
    font-size: 20px
  }

  #about-team .intro .title {
    font-size: 33px
  }

  #about-team .intro ul {
    font-size: 17px
  }

  #about-team .intro ul li .title {
    font-size: 28px
  }

  #about-team .team .author {
    font-size: 17px
  }

  #about-team .team .author .avatar {
    height: 150px;
    width: 150px
  }

  #about-team .team .author .name {
    font-size: 28px
  }

  #about-gs1 .title {
    font-size: 33px
  }

  #about-gs1 .image .image-spacer .logo {
    height: 61px;
    width: 88px
  }

  #about-story .box {
    padding: 2rem 2rem 0
  }

  #about-story .box .title {
    font-size: 24px
  }

  #about-story .box .slide .title {
    font-size: 33px
  }

  #about-story .box .slide .year {
    display: none
  }

  #about-story .pager {
    display: flex
  }

  #about-story .slider-bullets {
    display: none
  }

  #authors-list .authors {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  #authors-list .author {
    font-size: 17px;
    min-height: 76px;
    padding-left: 100px
  }

  #authors-list .author:nth-child(2) {
    border-top: 0;
    padding-top: 0
  }

  #authors-list .author:nth-child(2) .avatar {
    top: 0
  }

  #authors-list .author .name {
    font-size: 28px
  }

  #authors-list .author .avatar {
    height: 76px;
    width: 76px
  }

  #articles-list.is-author-page .intro .title {
    font-size: 17px
  }

  #articles-list.is-author-page .intro .title strong {
    font-size: 42px
  }

  #articles-list.is-author-page .section-grid .articles>:first-child {
    padding-top: 112px
  }

  wagtail-userbar {
    zoom: .7
  }
}

@media screen and (min-width:1024px) {
  .article-teaser.wide .image {
    width: calc(33.33333% - .66667rem)
  }

  .container-outer {
    max-width: 1420px;
    padding: 0 1.5rem
  }

  .container-outer.small .container-inner {
    grid-column: 2/12
  }

  #header .bar.has-extra .scroller {
    transition: transform .3s ease
  }

  html.scrolled #header .bar.has-extra .scroller {
    transform: translateY(-100%)
  }

  #header .bar .menu ul {
    display: flex
  }

  #header .panel .panel-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: 1fr auto;
    grid-column-gap: 1rem
  }

  #header .panel .panel-grid .primary {
    grid-column: 1/6;
    grid-row: 1
  }

  #header .panel .panel-grid .secondary {
    border-left: 1px solid var(--color-line);
    border-right: 1px solid var(--color-line);
    grid-column: 6/10;
    grid-row: 1/3;
    margin-top: 0;
    padding: 0 1rem
  }

  #header .panel .panel-grid .tertiary {
    grid-column: 10/13;
    grid-row: 1/3;
    margin-top: 0
  }

  #footer .columns {
    grid-template-columns: repeat(5, minmax(0, 1fr))
  }

  #footer .columns .column {
    box-shadow: inset 1px 0 0 0 var(--color-line);
    margin-left: -.5rem;
    padding-left: .5rem
  }

  #footer .columns .column:first-child {
    box-shadow: none
  }

  #footer .subfooter {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: 1fr auto;
    grid-column-gap: 1rem
  }

  #footer .subfooter .presentation {
    grid-column: 3/9;
    grid-row: 1
  }

  #footer .subfooter .details {
    grid-column: 11/13;
    grid-row: span 2;
    margin-top: 0;
    padding-bottom: 70px;
    position: relative
  }

  #footer .subfooter .details .gs1-logo {
    display: block
  }

  #footer .subfooter .main .gs1-logo {
    display: none
  }

  #footer .subfooter .report {
    grid-column: 1/3;
    grid-row: 1/3;
    max-width: none;
    overflow: hidden
  }

  #footer .subfooter .report .image-spacer {
    height: 100%;
    padding-top: 0
  }

  #section-hero .container-inner {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  #section-hero .wrap {
    grid-column: 3/9
  }

  .rich-text-content .enrichment.enrichment-wide {
    margin-left: calc(-12.5% - .125rem);
    margin-right: calc(-12.5% - .125rem)
  }

  .rich-text-content .enrichment.enrichment-left {
    margin-left: calc(-12.5% - .125rem);
    margin-right: 0;
    width: calc(37.5% - .625rem)
  }

  .rich-text-content .enrichment.enrichment-right {
    margin-left: 0;
    margin-right: calc(-12.5% - .125rem);
    width: calc(37.5% - .625rem)
  }

  .rich-text-content>.enrichment.enrichment-wide:first-child {
    margin-left: 0;
    margin-right: 0
  }

  .rich-text-content blockquote:not(.enrichment blockquote) {
    font-size: 28px;
    margin-left: calc(-12.5% - .125rem);
    margin-right: calc(-12.5% - .125rem)
  }

  .research-teaser.wide {
    display: grid;
    font-size: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: 1rem;
    padding: 0
  }

  .research-teaser.wide .content {
    padding: 1.5rem
  }

  .research-teaser.wide .title {
    font-size: 46px
  }

  .research-teaser.wide .image {
    align-self: flex-end;
    margin: 0
  }

  .research-teaser.wide .image .image-spacer {
    transform: translateY(10%)
  }

  #banner-newsletter .section-wrap {
    align-items: flex-end;
    display: flex;
    gap: 1rem;
    padding-bottom: 0
  }

  #banner-newsletter .content {
    flex-grow: 1;
    order: 2;
    padding-right: 180px
  }

  #banner-newsletter .cta {
    bottom: 0;
    margin-top: 0;
    position: absolute;
    right: 0
  }

  .section-main-articles .articles {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  .section-main-articles .article-teaser {
    margin-top: 30px;
    padding-top: 30px
  }

  .section-main-articles .article-teaser:nth-child(2) {
    border-top: 0;
    margin-top: 0;
    padding-top: 0
  }

  .section-main-articles .article-teaser {
    grid-column: 2/7
  }

  .section-main-articles .article-teaser:first-child {
    align-self: flex-start;
    grid-column: 7/13;
    grid-row: span 100;
    position: sticky;
    top: calc(83px + 1rem)
  }

  .section-main-articles .article-teaser:first-child .image {
    width: calc(83.33333% - .16667rem)
  }

  .section-dossiers-list .articles {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  .section-dossiers-list .article-teaser {
    grid-column: 8/13
  }

  .section-dossiers-list .article-teaser:first-child {
    align-self: flex-start;
    grid-column: 1/8;
    grid-row: span 100;
    position: sticky;
    top: calc(83px + 1rem)
  }

  .section-dossiers-list .article-teaser:nth-child(2) {
    margin-top: 0
  }

  .section-numbers-list {
    overflow: visible
  }

  .section-numbers-list .section-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  .section-numbers-list .main-article {
    grid-column: 8/13
  }

  .section-numbers-list .main-article .article-teaser {
    position: sticky;
    top: calc(83px + 1rem)
  }

  .section-numbers-list .articles {
    grid-column: 1/8;
    grid-row: 1;
    margin: 0
  }

  .section-numbers-list .articles .slider-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: 1rem;
    grid-row-gap: 1rem
  }

  .section-numbers-list .articles .slide {
    max-width: none;
    min-width: 0;
    padding: 0;
    width: 100%
  }

  .section-numbers-list .slider-bullets {
    display: none
  }

  .section-opinions-list {
    overflow: inherit
  }

  .section-opinions-list .section-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  .section-opinions-list .main-article {
    grid-column: span 5
  }

  .section-opinions-list .main-article .article-teaser {
    position: sticky;
    top: calc(1rem + 83px)
  }

  .section-opinions-list .articles {
    grid-column: span 7;
    margin: 0
  }

  .section-opinions-list .articles .slider-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: 1rem;
    grid-row-gap: 1rem
  }

  .section-opinions-list .articles .slide {
    max-width: none;
    min-width: 0;
    padding: 0;
    width: 100%
  }

  .section-opinions-list .slider-bullets {
    display: none
  }

  .section-video-list .articles {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  .section-video-list .article-teaser {
    margin-top: 30px;
    padding-top: 30px
  }

  .section-video-list .article-teaser:nth-child(2) {
    border-top: 0;
    margin-top: 0;
    padding-top: 0
  }

  .section-video-list .article-teaser.wide .image {
    width: 110px
  }

  .section-video-list .article-teaser {
    grid-column: 2/7
  }

  .section-video-list .article-teaser:first-child {
    align-self: flex-start;
    grid-column: 7/13;
    grid-row: span 100;
    position: sticky;
    top: calc(83px + 1rem)
  }

  .section-video-list .article-teaser:first-child .image {
    width: calc(83.33333% - .16667rem)
  }

  #journal-callout .section-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem;
    border-bottom: 1px solid var(--color-line)
  }

  #journal-callout .content {
    grid-column: 1/8;
    grid-row: 1
  }

  #journal-callout .image {
    border-bottom: 0;
    grid-column: 8/13;
    margin-bottom: 0
  }

  #annual-report-callout .box {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 0;
    grid-column-gap: 1rem
  }

  #annual-report-callout .intro {
    grid-column: span 4;
    margin-bottom: 0;
    padding: 70px 0 0 1rem
  }

  #annual-report-callout .items {
    grid-column: span 8;
    padding-bottom: 1rem;
    padding-top: 70px
  }

  #annual-report-callout .slider {
    margin: 0 -15px
  }

  #annual-report-callout .nav {
    bottom: auto;
    left: auto;
    right: 1rem;
    top: 1rem
  }

  #annual-report-callout .slide {
    padding: 0 15px;
    width: 38%
  }

  .osservatorio-immagino-callout .box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 550px;
    padding: 0
  }

  .osservatorio-immagino-callout .image {
    grid-column: 1;
    height: auto;
    margin-bottom: 0
  }

  .osservatorio-immagino-callout .content {
    grid-column: 2;
    padding: 2rem
  }

  .section-form-wrap .container-inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  .section-form-wrap .form-intro {
    grid-column: span 5;
    margin-bottom: 0
  }

  .section-form-wrap .form-content {
    grid-column: span 7
  }

  #articles-list {
    overflow: visible;
    overflow-x: clip
  }

  #articles-list .section-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto 1fr;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem
  }

  #articles-list .intro {
    padding-top: 20px;
    text-align: right
  }

  #articles-list .intro,
  #articles-list .nav {
    grid-column: 1/6;
    margin-bottom: 0
  }

  #articles-list .nav ul {
    align-items: flex-end;
    flex-direction: column;
    flex-wrap: nowrap;
    position: sticky;
    top: calc(83px + 1rem)
  }

  #articles-list #filters-results .articles {
    margin-left: 16.6666666667%;
    margin-right: 16.6666666667%;
    padding-left: .1666666667rem;
    padding-right: .1666666667rem
  }

  #articles-list .articles {
    grid-column: 6/13;
    grid-row: 1/3;
    margin-top: -4px;
    position: relative;
    z-index: 2
  }

  #articles-list .articles .article-teaser .image {
    width: calc(85.71429% - .14286rem)
  }

  #articles-list .articles .article-teaser.wide .image {
    width: calc(28.57143% - .71429rem)
  }

  #article-single-intro {
    margin-bottom: 1.5rem
  }

  #article-single-intro .container-inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  #article-single-intro .wrap {
    grid-column: 2/12
  }

  #article-single-intro .dossier-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    text-align: left;
    grid-column-gap: 1rem
  }

  #article-single-intro .dossier-content .toc {
    margin-top: 0
  }

  #article-single-content .container-inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  #article-single-content .article-attachments {
    grid-column: 11/13;
    margin-top: 0
  }

  #article-single-content .article-side {
    display: block;
    grid-column: span 2;
    margin-bottom: 0
  }

  #article-single-content .article-side .share {
    margin-top: 1em
  }

  #article-single-content .article-side .share .box {
    left: 0;
    right: auto
  }

  #article-single-content .article-main {
    grid-column: 3/11
  }

  #article-single-content:has(.article-info) .article-main {
    display: grid;
    grid-column: 3/13;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  #article-single-content:has(.article-info) .article-main .article-content,
  #article-single-content:has(.article-info) .article-main .article-share,
  #article-single-content:has(.article-info) .article-main .article-tags {
    grid-column: span 8
  }

  #article-single-content:has(.article-info) .article-main .article-info {
    grid-column: 9/11;
    margin: 0;
    padding: 0;
    position: relative
  }

  #article-single-content:has(.article-info) .article-main .article-info-inner {
    inset: 0;
    position: absolute
  }

  #article-single-insights {
    overflow: visible
  }

  #article-single-insights .slider-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: 1rem;
    grid-row-gap: 1rem
  }

  #article-single-insights .slide {
    max-width: none;
    min-width: 0;
    padding: 0;
    width: 100%
  }

  #article-single-insights .slider-bullets {
    display: none
  }

  #article-single-related .article-teaser {
    grid-column: 2/6
  }

  #article-single-related .article-teaser:first-child {
    grid-column: 6/12
  }

  #article-single-related .article-teaser:first-child .image {
    width: calc(83.33333% - .16667rem)
  }

  #home-hero .articles .article {
    max-width: none;
    width: 23%
  }

  #home-intro .section-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto auto 1fr;
    grid-column-gap: 1rem
  }

  #home-intro .main-article {
    grid-column: span 7;
    grid-row: 1
  }

  #home-intro .main-article .article-teaser .image {
    width: calc(85.71429% - .14286rem)
  }

  #home-intro .secondary-article {
    grid-column: span 7;
    grid-row: 2
  }

  #home-intro .secondary-article .article-teaser .image {
    width: calc(28.57143% - .71429rem)
  }

  #home-intro .side-articles {
    grid-column: span 5;
    grid-row: span 3;
    margin-top: 0
  }

  #home-intro .side-articles .article-teaser {
    margin-top: 30px;
    padding-top: 30px
  }

  #home-intro .side-articles .article-teaser .image {
    width: calc(80% - .2rem)
  }

  #home-intro .bottom-articles {
    border-top: 1px solid var(--color-line);
    display: grid;
    grid-column: span 7;
    grid-row: 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 2em;
    padding-top: 2em;
    grid-column-gap: 1rem
  }

  #home-intro .bottom-articles .article-teaser {
    border-top: none;
    margin-top: 0;
    padding-top: 0
  }

  #home-out-of-stock .section-wrap {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  #home-out-of-stock .article {
    grid-column: span 5
  }

  #home-out-of-stock .article .article-teaser {
    position: sticky;
    top: calc(1rem + 83px)
  }

  #home-out-of-stock .numbers {
    grid-column: span 7;
    margin-top: 0
  }

  #themes-list .list {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  #themes-list .theme {
    min-height: 450px
  }

  #themes-other-list .articles {
    margin-left: 16.6666666667%;
    margin-right: 16.6666666667%;
    padding-left: .1666666667rem;
    padding-right: .1666666667rem
  }

  #researches-list .list {
    grid-template-columns: repeat(6, minmax(0, 1fr))
  }

  #researches-list .list .research-teaser {
    grid-column: span 2
  }

  #researches-list .list .research-teaser.big {
    grid-column: span 3
  }

  #researches-list .list .research-teaser.big .image.book {
    margin-left: 20%;
    transform: translateX(30%)
  }

  #researches-list .slider .slider-bullets {
    display: none
  }

  #researches-list .slider .slider-wrapper .slide {
    max-width: none;
    min-width: none;
    width: 33.3333%
  }

  #researches-others .list li {
    grid-template-columns: 40% 1fr
  }

  #researches-others .list li .title {
    margin-bottom: 0
  }

  #publications-list .list {
    margin-left: 16.6666666667%;
    margin-right: 16.6666666667%;
    padding-left: .1666666667rem;
    padding-right: .1666666667rem
  }

  #research-single-article .section-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto 1fr auto;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem
  }

  #research-single-article .intro {
    grid-column: 1/7;
    grid-row: 1
  }

  #research-single-article .image {
    grid-column: 7/13;
    grid-row: 1/3;
    margin-top: 0;
    width: 100%
  }

  #research-single-article .summary {
    align-self: flex-end;
    grid-column: 1/7;
    grid-row: 2;
    margin-top: 0
  }

  #research-single-article .content {
    grid-column: 1/7;
    grid-row: 3;
    margin-top: 0
  }

  #research-single-article .side {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    grid-column: 11/13;
    grid-row: 3;
    margin-bottom: 0;
    margin-top: 0
  }

  #research-single-article .side .inner {
    align-items: flex-end;
    flex-direction: column;
    text-align: right
  }

  #research-single-article .side .share {
    margin-top: 1em
  }

  #error-404 .container-inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  #error-404 .content {
    align-self: center;
    grid-column: 2/7;
    grid-row: 1
  }

  #error-404 .image {
    align-self: center;
    grid-column: 7/13;
    margin-bottom: 0
  }

  #search-hero .search,
  #search-results .articles,
  .articles-list .articles {
    margin-left: 16.6666666667%;
    margin-right: 16.6666666667%;
    padding-left: .1666666667rem;
    padding-right: .1666666667rem
  }

  #search-results .articles .article-teaser.wide .image,
  .articles-list .articles .article-teaser.wide .image {
    width: calc(25% - .75rem)
  }

  #search-results .empty,
  .articles-list .empty {
    margin-left: 16.6666666667%;
    margin-right: 16.6666666667%;
    padding-left: .1666666667rem;
    padding-right: .1666666667rem
  }

  #about-team .section-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 1rem
  }

  #about-team .intro {
    grid-column: 7/13;
    padding-top: 2rem
  }

  #about-team .intro ul {
    margin-left: 0;
    margin-right: 16.6666666667%;
    padding-right: .1666666667rem
  }

  #about-team .team {
    grid-column: 1/7;
    grid-row: 1;
    margin-top: 0;
    padding-right: 1rem
  }

  #about-gs1 .section-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-gap: 1rem
  }

  #about-gs1 .content,
  #about-gs1 .image {
    grid-column: span 6
  }

  #about-gs1 .image {
    margin-top: 0
  }

  #about-gs1 .image .image-wrap {
    margin: 0 -1rem 0 calc(-16.66667% - .16667rem)
  }

  #articles-list.is-author-page .intro .title {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 80px;
    padding-right: 104px
  }

  #articles-list.is-author-page .intro .title .avatar {
    margin-top: -40px;
    position: absolute;
    right: 0;
    top: 50%
  }

  #articles-list.is-author-page .intro .links {
    justify-content: flex-end
  }
}

@media screen and (min-width:1280px) {
  html {
    font-size: 40px
  }

  .container-outer {
    padding: 0 1rem
  }

  .container-outer .container-inner {
    grid-column: 2/12
  }

  .container-outer.large .container-inner {
    grid-column: 1/13
  }

  .container-outer.small .container-inner {
    grid-column: 3/11
  }

  #footer .subfooter .presentation {
    grid-column: 3/8;
    grid-row: 1
  }

  .rich-text-content .enrichment.enrichment-large {
    margin-left: calc(-16.66667% - .16667rem);
    margin-right: calc(-16.66667% - .16667rem)
  }

  .rich-text-content .enrichment.enrichment-wide {
    margin-left: calc(-33.33333% - .33333rem);
    margin-right: calc(-33.33333% - .33333rem)
  }

  .rich-text-content .enrichment.enrichment-left {
    margin-left: calc(-16.66667% - .16667rem);
    margin-right: 0;
    width: calc(50% - .5rem)
  }

  .rich-text-content .enrichment.enrichment-right {
    margin-left: 0;
    margin-right: calc(-16.66667% - .16667rem);
    width: calc(50% - .5rem)
  }

  .rich-text-content>.enrichment.enrichment-wide:first-child {
    margin-left: calc(-16.66667% - .16667rem);
    margin-right: calc(-16.66667% - .16667rem)
  }

  .rich-text-content .enrichment-number .number {
    font-size: 130px
  }

  .rich-text-content blockquote:not(.enrichment blockquote) {
    margin-left: calc(-16.66667% - .16667rem);
    margin-right: calc(-16.66667% - .16667rem)
  }

  .section-main-articles .articles {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  .section-main-articles .article-teaser {
    grid-column: 2/6
  }

  .section-main-articles .article-teaser:first-child {
    grid-column: 6/11
  }

  .section-main-articles .article-teaser:first-child .image {
    width: calc(80% - .2rem)
  }

  .section-dossiers-list .articles {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  .section-dossiers-list .article-teaser {
    grid-column: 7/11
  }

  .section-dossiers-list .article-teaser:first-child {
    grid-column: 1/7
  }

  .section-numbers-list .section-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  .section-numbers-list .main-article {
    grid-column: 7/11
  }

  .section-numbers-list .articles {
    grid-column: 1/7
  }

  .section-opinions-list .section-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  .section-opinions-list .main-article {
    grid-column: span 4
  }

  .section-opinions-list .articles:not(:has(.big .image)) {
    background-color: var(--color-paper);
    border-radius: 2px 2px 0 0;
    margin: 98px -20px -20px;
    padding: 20px
  }

  .section-opinions-list .articles {
    grid-column: span 6
  }

  .section-video-list .articles {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  .section-video-list .article-teaser {
    grid-column: 2/6
  }

  .section-video-list .article-teaser:first-child {
    grid-column: 6/11
  }

  .section-video-list .article-teaser:first-child .image {
    width: calc(80% - .2rem)
  }

  #journal-callout .section-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  #journal-callout .content {
    grid-column: 1/7
  }

  #journal-callout .image {
    grid-column: 7/11
  }

  .section-form-wrap .container-inner {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  .section-form-wrap .form-intro {
    grid-column: span 4
  }

  .section-form-wrap .form-content {
    grid-column: span 6
  }

  #articles-list .section-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  #articles-list .intro,
  #articles-list .nav {
    grid-column: 1/5
  }

  #articles-list #filters-results .articles {
    margin-left: 20%;
    margin-right: 20%;
    padding-left: .2rem;
    padding-right: .2rem
  }

  #articles-list .articles {
    grid-column: 5/11
  }

  #articles-list .articles:not(:has(.big .image)) {
    background-color: var(--color-paper);
    border-radius: 2px 2px 0 0;
    margin: 98px -20px -20px;
    padding: 20px
  }

  #articles-list .articles:not(:has(.big .image)) .article-teaser:first-child {
    padding-top: 0
  }

  #articles-list .articles .article-teaser .image {
    width: calc(83.33333% - .16667rem)
  }

  #articles-list .articles .article-teaser.wide .image {
    width: calc(33.33333% - .66667rem)
  }

  #article-single-content .article-main {
    grid-column: 4/10
  }

  #article-single-content:has(.article-info) .article-main {
    grid-column: 4/13;
    grid-template-columns: repeat(9, minmax(0, 1fr))
  }

  #article-single-content:has(.article-info) .article-main .article-content,
  #article-single-content:has(.article-info) .article-main .article-share,
  #article-single-content:has(.article-info) .article-main .article-tags {
    grid-column: span 6
  }

  #article-single-content:has(.article-info) .article-main .article-info {
    grid-column: 8/10
  }

  #article-single-related .container-inner {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  #article-single-related .article-teaser:first-child {
    grid-column: 6/11
  }

  #article-single-related .article-teaser:first-child .image {
    width: calc(80% - .2rem)
  }

  #home-hero .articles .article {
    min-width: 0
  }

  #home-intro .section-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  #home-intro .main-article {
    grid-column: span 6
  }

  #home-intro .main-article .article-teaser .image {
    width: calc(83.33333% - .16667rem)
  }

  #home-intro .secondary-article {
    grid-column: span 6
  }

  #home-intro .side-articles {
    grid-column: span 4
  }

  #home-intro .side-articles .article-teaser .image {
    width: calc(75% - .25rem)
  }

  #home-intro .bottom-articles {
    grid-column: span 6
  }

  #home-out-of-stock .section-wrap {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  #home-out-of-stock .article {
    grid-column: span 4
  }

  #home-out-of-stock .numbers {
    grid-column: span 6
  }

  #home-events .slide {
    max-width: none;
    min-width: none;
    width: 25%
  }

  #themes-other-list .articles {
    margin-left: 20%;
    margin-right: 20%;
    padding-left: .2rem;
    padding-right: .2rem
  }

  #event-related .slide {
    max-width: none;
    min-width: none;
    width: 25%
  }

  #publications-list .list {
    margin-left: 20%;
    margin-right: 20%;
    padding-left: .2rem;
    padding-right: .2rem
  }

  #research-related .slide {
    max-width: none;
    min-width: none;
    width: 25%
  }

  #search-hero .search,
  #search-results .articles,
  .articles-list .articles {
    margin-left: 20%;
    margin-right: 20%;
    padding-left: .2rem;
    padding-right: .2rem
  }

  #search-results .articles .article-teaser.wide .image,
  .articles-list .articles .article-teaser.wide .image {
    width: calc(33.33333% - .66667rem)
  }

  #search-results .empty,
  .articles-list .empty {
    margin-left: 20%;
    margin-right: 20%;
    padding-left: .2rem;
    padding-right: .2rem
  }

  #about-team .section-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  #about-team .intro {
    grid-column: 6/11
  }

  #about-team .intro ul {
    margin-left: 0;
    margin-right: 20%;
    padding-right: .2rem
  }

  #about-team .team {
    grid-column: 1/6
  }

  #about-gs1 .section-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr))
  }

  #about-gs1 .content,
  #about-gs1 .image {
    grid-column: span 5
  }

  #about-gs1 .image .image-wrap {
    margin-left: calc(-20% - .2rem);
    margin-right: -1rem
  }

  wagtail-userbar {
    zoom: .5
  }
}

@media screen and (max-width:1023px) {
  #footer .columns .column:last-child {
    border-top: 1px solid var(--color-line);
    grid-column: span 4;
    padding-top: 1.5rem
  }

  #banner-newsletter .image {
    bottom: 0;
    position: absolute;
    right: 0
  }
}

@media screen and (max-height:900px) {
  .is-process-newsletter .journal-image {
    display: none
  }
}

@media screen and (max-width:767px) {
  #header .bar .menu-handle button .label {
    display: none
  }

  #footer .columns .column:last-child {
    grid-column: span 2
  }

  #banner-newsletter .image {
    height: 90px;
    width: 160px
  }

  #researches-list .slider .slider-wrapper .slide .research-teaser .image {
    margin-top: -12%
  }
}

@media (hover:hover) {
  .button:hover {
    background: var(--color-paper);
    border-color: var(--color-ink);
    color: var(--color-ink) !important
  }

  .arrow-link:hover {
    text-decoration-color: rgba(var(--color-ink-rgb), .2)
  }

  .article-teaser .title a:hover,
  .article-teaser .toc li a:hover {
    color: var(--color-section)
  }

  .event-teaser a:hover {
    background: #fef7f5
  }

  #header .bar .menu ul a:hover {
    color: var(--color-section, var(--color-ink))
  }

  #header .bar .menu-handle button:hover .label {
    opacity: .7
  }

  #header .panel .panel-grid .secondary .links ul a:hover,
  #header .panel .panel-grid .secondary .menu ul li a:hover {
    opacity: .8
  }

  #header .panel .panel-grid .tertiary .newsletter .arrow-link:hover,
  #header .panel .panel-grid .tertiary .report .arrow-link:hover {
    opacity: .9
  }

  #header .panel .panel-grid .about .social a:hover,
  #header .panel .sections li a:hover {
    opacity: .8
  }

  #footer .newsletter .button:hover {
    background: var(--color-paper);
    border-color: var(--color-ink);
    color: var(--color-ink) !important
  }

  #footer .columns .menu li a:hover,
  #footer .subfooter .main .legal ul a:hover {
    opacity: .8
  }

  #section-hero p a:hover {
    text-decoration-color: rgba(var(--color-ink-rgb), .2)
  }

  .content-nav ul a:hover {
    border-color: var(--color-ink)
  }

  .content-nav ul .current a:hover {
    box-shadow: 0 0 0 2px rgba(var(--color-section-rgb), .25)
  }

  .pagination ul a:hover {
    color: var(--color-ink)
  }

  .rich-text-content .enrichment-continue a:hover,
  .rich-text-content a:not(.enrichment a):hover {
    text-decoration-color: rgba(var(--color-section-rgb), .2)
  }

  .rich-text-content .enrichment-event-details .button:hover {
    background: var(--color-paper);
    border-color: var(--color-brand-02);
    color: var(--color-brand-02) !important
  }

  .publication-teaser a:hover {
    color: var(--color, var(--color-brand-01))
  }

  .research-teaser .button:hover {
    background: var(--color-paper);
    border-color: var(--color-brand-01);
    color: var(--color-brand-01) !important
  }

  .section-sections a:hover {
    color: var(--color-section, var(--color-ink))
  }

  #annual-report-callout .nav span:hover {
    opacity: 1
  }

  .osservatorio-immagino-callout .button:hover {
    background: var(--color-paper);
    border-color: var(--primary, var(--color-paper));
    color: var(--primary, var(--color-paper))
  }

  .section-form-wrap .form-intro .addresses li a:hover,
  .section-form-wrap .form-intro .addresses li strong:hover,
  .section-form-wrap .form-intro a:hover {
    text-decoration-color: rgba(var(--color-ink-rgb), .2)
  }

  #articles-list .nav ul a:hover {
    border-color: var(--color-ink)
  }

  #articles-list .nav ul .current a:hover {
    box-shadow: 0 0 0 2px rgba(var(--color-section-rgb), .25)
  }

  #article-single-intro .toc li a:hover {
    color: var(--color-section)
  }

  #article-single-content .article-side .info a:hover {
    text-decoration-color: rgba(var(--color-ink-rgb), .2)
  }

  #article-single-content .article-main #document.file a:hover {
    text-decoration-color: rgba(var(--color-section-rgb), .2)
  }

  #article-single-content .article-tags li a:hover {
    border-color: var(--color-ink)
  }

  #article-single-content .article-tags li[data-section] a:hover {
    border-color: var(--color-section)
  }

  #article-single-content .article-share ul li a:hover,
  #article-single-content .article-share ul li button:hover {
    opacity: .8
  }

  #article-single-content .article-info a:hover {
    text-decoration-color: rgba(var(--color-ink-rgb), .2)
  }

  #article-single-insights .insight .title a:hover {
    color: var(--color-brand-02)
  }

  .article-share-button .box li a:hover,
  .article-share-button .box li button:hover,
  .article-share-button .handle:hover {
    opacity: .8
  }

  #home-about .inner p a:hover,
  #home-hero .articles .article a:hover .title {
    color: var(--color-section, var(--color-ink))
  }

  #home-about .inner p a:hover {
    text-decoration-color: rgba(var(--color-section-rgb, var(--color-ink-rgb)), .2)
  }

  #home-out-of-stock .numbers li.current a:hover {
    box-shadow: inset 0 0 0 2px var(--color-section-light)
  }

  #home-out-of-stock .numbers li a:hover {
    box-shadow: inset 0 0 0 2px var(--color-section)
  }

  #home-out-of-stock .numbers li a:hover .name {
    color: var(--color-section);
    font-weight: 500
  }

  #themes-list .theme:hover {
    background: var(--color-brand-01);
    color: var(--color-paper)
  }

  #themes-list .theme:hover .arrow {
    opacity: 1;
    transform: translateX(-14%);
    transition: opacity .4s ease .2s, transform .4s ease .2s
  }

  #error-404 .content a:not(.button):hover {
    color: var(--color-section);
    text-decoration-color: rgba(var(--color-section-rgb), .4)
  }

  .custom-select li:hover {
    color: var(--color-section, var(--color-ink-dark));
    opacity: .8
  }

  #about-hero .title a:hover {
    text-decoration-color: rgba(var(--color-ink-rgb), .2)
  }
}
