.layout {
  display: grid;
  grid-template-columns: repeat(12, [col-start] 1fr);
  gap: var(--layout-column-gap);
  padding: var(--layout-padding-top) var(--layout-padding-sides) var(--layout-padding-bottom);
  font-stretch: var(--font-stretch-regular);
}
.layout + .layout {
  margin-top: var(--layout-gap);
}
.column {
  grid-column-end: span var(--span);
}
.column + .column {
}
.block {
}
.block + .block {
  margin-top: var(--block-margin-top);
}





/* HEADING */
.block + .block-type-heading {
  margin-top: var(--block-heading-top);
}
.block-type-heading h1 {
  margin-bottom: var(--block-heading-h1-margin);
}
.block-type-heading h2 {
  margin-bottom: var(--block-heading-h2-margin);
}
.block-type-heading h3 {
  margin-bottom: var(--block-heading-h3-margin);
}
.block-type-heading h4 {
  margin-bottom: var(--block-heading-h4-margin);
}



/* TEXT */

.block-type-text {
}
.block-type-text .text_wrapper {
  columns: var(--columns);
}



/* LIST */

.block-type-list {
  line-height: var(--line-height-regular);
}
.block-type-list li + li {
  margin-top: .5em;
}




/* BUTTON */

.button {
  padding: .6em 2.5em;
  font-weight: bold;
  text-align: center;
  display: inline-block;
  border-radius: var(--regular-border-radius);
  color: var(--button-text-color, var(--color-background));
  background-color: var(--button-color, var(--color));
  box-sizing: content-box;
  border: 2px solid var(--button-color, var(--color));
  transition: color, background-color, border-color, 250ms ease-in-out;
}
@media (hover: hover) {
  .button:hover {
    background-color: var(--button-text-color, var(--color-background));
    color: var(--button-color, var(--color));
    border-color: var(--color));
  }
}
.button_wrapper.justify {
  .button {
    display: block;
  }
}


/* IMAGE */

.block-type-image {
  padding: 0;
}
.block-type-image figure img {
  width: 100%;
}
.block-type-image figcaption {
  margin-top: .2em;
}
.block-type-image figcaption:before {
  content: '↳';
}




/* GALLERY */

.block-type-gallery {
  display: flex;
  flex-wrap: wrap;
  margin-right: calc(var(--block-gallery-gap) * -1);
  margin-bottom: calc(var(--block-gallery-gap) * -1);
}
.block-type-gallery figure {
  height: var(--block-gallery-height);
  margin-right: var(--block-gallery-gap);
  margin-bottom: var(--block-gallery-gap);
}
.block-type-gallery figure img {
  height: 100%;
}
.block-type-gallery .lightbox_caption {
  display: none;
}




/* LINE */

.block-type-line hr {
  margin-top: var(--margin-top);
  margin-bottom: var(--margin-bottom);
  height: var(--icon-stroke-width-thin);
}




@media (max-width: 1280px) {

  body:not(.full_width) .block-type-text .text_wrapper {
    columns: 1;
  }

}

@media (max-width: 800px) {

  .block-type-text .text_wrapper {
    columns: 1;
  }

  .layout:not(.columns_count_4) {
    display: block;
  }
  .layout:not(.columns_count_4) .column + .column {
    margin-top: var(--block-margin-top);
  }
  .layout.columns_count_4 {
    grid-template-columns: repeat(6, [col-start] 1fr);
  }

}
