:root {
  --gutter:20px;
}

*,
figure,
.column {
  margin: 0;
  padding: 0;
}

iframe {
  width: 100%;
  min-height: 500px;
}

.blocks > * {
  -webkit-margin-after: calc(var(--gutter)/2);
          margin-block-end: calc(var(--gutter)/2);
}
.blocks ul {
  margin: calc(var(--gutter)/2);
}
.blocks ul li p {
  display: inline-block;
  margin: 0;
}

.max_container {
  margin: 0 auto;
  max-width: 1200px;
  padding: 20px;
}

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 20px;
}

@media screen and (min-width:1280px) {
  main section.grid:first-of-type {
    position: relative;
    top: -80px;
  }
}

.column {
  grid-column: span 12;
}
@media screen and (min-width:768px) {
  .column {
    --span: 12;
    grid-column: span var(--span);
  }
}

.image-wrapper {
  position: relative;
  display: block;
  overflow: hidden;
}

.image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 100%;
  width: 100%;
}
.image-wrapper img.autoimg {
  position: relative;
}

.reference {
  grid-column: span 12;
  background-color: #0060bb;
  color: #f1f1f1;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width:768px) {
  .reference {
    grid-template-columns: 1fr 1fr;
  }
}
.reference header img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 300px;
}
.reference main {
  padding: 20px;
}
.reference main h2 {
  line-height: 1.1em;
  -webkit-margin-after: 20px;
          margin-block-end: 20px;
}
