body {
  --blu-rifit: hsl(185 45 35);
}

.section {
  margin-bottom: 1.2em;
}
.section-title {
  color: var(--blu-rifit);
  text-transform: uppercase;
  font-weight: bold;
  font-size: small;
}
.clear {
  clear: both;
}

img.profile {
  float: right;
  max-width: 50%;
  padding-left: 2%;
}

footer p {
  line-height: 1.5em;
}

.flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

a {
  color: var(--blu-rifit);
}
a:hover {
  color: hsl(185 45 45);
}


/* Large devices */
@media only screen and (min-width: 768px) {
  .flex-container div.one-third {
    width: calc(98% / 3);
    margin-bottom: 15px;
  }
  .flex-container div.one-third.horizontal {
    width: calc(98% / 3 * 2);
  }
  .flex-container div.one-fourth {
    width: calc(98% / 4);
    margin-bottom: 15px;
  }
  .flex-container div.one-fifth {
    width: calc(92% / 5);
    margin-bottom: 15px;
  }
}

/* Small devices */
@media only screen and (max-width: 768px) {
  article img {
    max-width: 100%;
  }
  .flex-container div.one-third {
    width: calc(99% / 2);
    margin-bottom: 15px;
  }
  .flex-container div.one-fourth {
    width: calc(98% / 3);
    margin-bottom: 15px;
  }
  .flex-container div.one-fifth {
    width: calc(92% / 3);
    margin-bottom: 15px;
  }
}

/* Phones */
@media only screen and (max-width: 500px) {
  .flex-container div.one-third {
    width: 100%;
    margin-bottom: 15px;
  }
  .flex-container div.one-fourth {
    width: calc(99% / 2);
    margin-bottom: 15px;
  }
  .flex-container div.one-fifth {
    width: calc(98% / 3);
    margin-bottom: 15px;
  }
}

/**
 ** Image overlays, as in Chi siamo and Convenzioni
 **/
* {box-sizing: border-box;}
.overlay-container {
  position: relative;
  width: 50%;
  max-width: 300px;
}
.overlay-container img {
  display: block;
  width: 100%;
  height: auto;
}
.overlay {
  position: absolute;
  bottom: 10%;
  height: 55px;
  background: hsl(185 45 35 / 0.75);
  width: 100%;
  color: white;
  font-size: 1.2em;
  line-height: 1.1em;
  padding: 5px 5px;
  text-align: center;
}
.overlay > .role {
  font-size: 0.7em;
}

/* Phones */
@media only screen and (max-width: 500px) {
  .overlay {
    font-size: 1.1em;
    line-height: 1.1em;
    padding: 8px 3px;
  }
  .overlay > .role {
    font-size: 0.63em;
  }
}
