body {
  background-image:url("data:image/svg+xml,%3Csvg%20data-name%3D%22Livello%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2070%2070%22%20width%3D%2270%22%20height%3D%2270%22%3E%3Cpath%20style%3D%22fill%3Anone%3Bstroke-width%3A0%22%20d%3D%22M0%200h70v70H0z%22%2F%3E%3Cpath%20d%3D%22M41.181%208.808c1.687%20-0.013%202.877%200.816%203.487%202.49%202.217%206.07%204.421%2012.14%206.634%2018.21%203.189%208.762%206.377%2017.524%209.578%2026.282%200.509%201.388%200.652%202.73%20-0.324%203.971%20-1.754%202.225%20-5.044%201.75%20-6.095%20-0.946%20-1.321%20-3.382%20-2.524%20-6.81%20-3.769%20-10.222%20-4.148%20-11.349%20-8.295%20-22.698%20-12.43%20-34.056%20-0.248%20-0.681%20-0.505%20-1.397%20-0.551%20-2.112%20-0.13%20-2.057%201.405%20-3.605%203.475%20-3.618ZM8.737%2035.196c0%20-7.374%20-0.008%20-14.752%200.008%20-22.126%200.004%20-2.486%201.868%20-4.139%204.198%20-3.798%201.607%200.236%202.831%201.649%202.982%203.454%200.021%200.244%200.013%200.488%200.013%200.732v43.52c0%201.649%20-0.454%203.075%20-2.04%203.828%20-2.486%201.182%20-5.115%20-0.492%20-5.153%20-3.273%20-0.042%20-3.214%20-0.013%20-6.432%20-0.013%20-9.65V35.191Zm21.802%20-0.105v22.223c0%202.229%20-1.455%203.841%20-3.538%203.866%20-2.032%200.029%20-3.597%20-1.514%20-3.597%20-3.681%20-0.017%20-14.887%20-0.013%20-29.773%200%20-44.656%200%20-1.619%200.921%20-2.881%202.335%20-3.395%201.388%20-0.505%203.05%20-0.198%203.87%201.026%200.526%200.782%200.829%201.859%200.846%202.81%200.084%204.749%200.038%209.502%200.038%2014.256v7.546h0.038Z%22%20style%3D%22stroke-width%3A0%3Bfill%3A%23fff%22%2F%3E%3C%2Fsvg%3E") !important;
  background-position:top left;
}

.site-branding__logo img {
  max-width: 300px;
}


.path-frontpage .main-content__container {
  padding: 0 !important;
}

.path-frontpage .layout--onecol:nth-child(2) img{
  width: 100%;
}

.path-frontpage #block-olivero-content,
.path-frontpage .node__content,
.path-frontpage #prefooterhome {
  margin-bottom: 0;
  padding: 0
}


.path-frontpage #prefooterhome .block {
  padding: 1rem;
  background-color: #efefef;
  position: relative;
  height: 280px
}

.path-frontpage #prefooterhome .block a {
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 80px;
  height: 30px;
  overflow:hidden;
  background-color: var(--color--primary-50);
  font-size: 1px;
  color: #fff0;
}

.path-frontpage #prefooterhome .block a:before {
  content: '>>';
  position: absolute;
  right: 30%;
  color: #fff;
  font-size: 2rem;
} 

.path-frontpage #prefooterhome .block p {
  line-height: 1.5rem;
}

.path-frontpage #prefooterhome .block h2 {
  font-size: 1.4rem;
  color: #333
}

.field--name-field-immagini {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    grid-gap: 1px;
    grid-auto-rows: minmax(180px, auto);
    grid-auto-flow: dense;
    padding: 1px;
  
}

.field--name-field-immagini .field__item {
    border: 10px solid #fff;
    padding: 1rem;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    color: #000;
    background-color: #ccc;
    border-radius: 20px;
}

.site-footer .primary-nav>ul{
  display: flex;
}

.site-footer .primary-nav>ul>li {
  width: 33%;
}

.site-footer .primary-nav>ul .menu__link{
  color: #fff;
  font-size: 1.1rem !important;
}

.site-footer .primary-nav>ul>li>ul {
  margin: 0;
}

#block-olivero-infopiede p {
  color: #fff !important;
}

/*
#block-olivero-sidebar {
  transform: rotate(90deg)
}
 
#block-olivero-sidebar .media {
  padding: 1em 0
}

#block-olivero-sidebar .media img {
  max-width: 40px; 
  opacity: .5
}

#block-olivero-sidebar .media img:hover {
  max-width: 40px; 
  opacity: 1
}

.social-bar__inner {
    position: relative;
    width: var(--content-left);
    padding-block: var(--sp);
    padding-inline-start: 0;
    padding-inline-end: 0;
  }

*/
/**/

/*
 * DO NOT EDIT THIS FILE.
 * See the following change record for more information,
 * https://www.drupal.org/node/3084859
 * @preserve
 */

/**
 * @file
 * Generic base elements.
 */

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

html {
  font-family: var(--font-sans);
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  line-height: var(--line-height-base);
}

body {
  margin: 0;
  word-wrap: break-word;
  hyphens: auto;
  color: var(--color-text-neutral-medium);
  background-color: var(--color--gray-100);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='50' height='84' viewBox='0 0 50 84'%3e  %3cpath opacity='0.05' fill='%230e6ba6' d='M25,61.7C25,68.5,19.4,74,12.5,74S0,68.5,0,61.7c0-5.7,3.9-9.6,7.4-12.9c2.3-2.2,4.5-4.4,5.1-6.8c0.7,2.4,2.8,4.6,5.1,6.8C21.1,52.2,25,56,25,61.7z M42.6,6.8c-2.3-2.2-4.5-4.4-5.1-6.8c-0.7,2.4-2.9,4.6-5.1,6.8C28.9,10.2,25,14,25,19.7C25,26.5,30.6,32,37.5,32S50,26.5,50,19.7C50,14,46.1,10.2,42.6,6.8z'/%3e%3c/svg%3e");
  background-position: top left; /* LTR */
}

body.is-fixed {
  position: fixed;
  overflow: hidden;
  width: 100%;
}

[dir="rtl"] body {
  background-position: top right;
}

a {
  color: var(--color-text-primary-medium);
}

a:hover {
  color: var(--color--primary-50);
}

a:focus {
  outline: solid 2px currentColor;
  outline-offset: 2px;
}

button {
  font-family: inherit;
}

img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

audio {
  display: block;
  max-width: 100%;
}

h1 {
  letter-spacing: -0.01em;
  font-size: 1.75rem;
  line-height: var(--sp2);
}

@media (min-width: 43.75rem) {
  h1 {
    /*font-size: 3.75rem; <----------- */
    font-size: 2rem;
    line-height: var(--sp4);
  }
}

h2 {
  letter-spacing: -0.01em;
  font-size: 1.5rem;
  line-height: var(--sp2);
}

@media (min-width: 43.75rem) {
  h2 {
    /*font-size: 2.25rem; <---------- */
    font-size: 1.75rem;
    line-height: var(--sp3);
  }
}

h3 {
  font-size: 1.25rem;
  line-height: var(--sp1-5);
}

@media (min-width: 43.75rem) {
  h3 {
    /*font-size: 1.5rem; <---------- */
    font-size: 1.45rem;
    line-height: var(--sp2);
  }
}

h4 {
  font-size: 1.125rem;
  line-height: var(--sp1-5);
}

h5 {
  font-size: 1rem;
  line-height: var(--sp1-5);
}

h6 {
  font-size: 0.875rem;
  line-height: var(--sp);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: var(--sp);
  color: var(--color-text-neutral-loud);
  font-family: var(--font-sans);
  font-weight: bold;
}

@media (min-width: 43.75rem) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-block: var(--sp2);
  }
}

ul {
  margin-block-start: 0.25em;
  margin-block-end: 0.25em;
  margin-inline-start: 1.5em;
  margin-inline-end: 0;
  padding-inline-start: 0;
  list-style-type: disc;
  list-style-image: none;
}


/*
 * DO NOT EDIT THIS FILE.
 * See the following change record for more information,
 * https://www.drupal.org/node/3084859
 * @preserve
 */

/**
 * @file
 * Grid system definition for the content wide layout.
 */

.layout--content-medium,
.layout--pass--content-medium > * {
  grid-column: 1 / 7;
  width: 100%;
}

@media (min-width: 43.75rem) {
  .layout--content-medium,
  .layout--pass--content-medium > * {
    grid-column: 2 / 14;
  }
}

@media (min-width: 62.5rem) {
  .layout--content-medium,
  .layout--pass--content-medium > * {
    /*grid-column: 3 / 13;*/ /* max 14 cols <-------------------------*/
    grid-column: 1 / 15;
  }
}

/*
  If .layout--content-medium is nested within itself, or an element that's inheriting the
  layout--content-medium styles from its parent region, go full width within its
  parent .grid-full.
*/

@media (min-width: 43.75rem) {
  .layout--pass--content-medium > * .layout--content-medium,
  .layout--content-medium .layout--content-medium,
  .layout--pass--content-medium > * .layout--pass--content-medium > *,
  .layout--content-medium .layout--pass--content-medium > * {
    grid-column: 1 / 13;
  }
}

@media (min-width: 62.5rem) {
  .layout--pass--content-medium > * .layout--content-medium,
  .layout--content-medium .layout--content-medium,
  .layout--pass--content-medium > * .layout--pass--content-medium > *,
  .layout--content-medium .layout--pass--content-medium > * {
    grid-column: 1 / 11;
  }
}
