.novablocks-collection__layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  --novablocks-collection-layout-spacing: calc(var(--novablocks-collection-layout-spacing-multiplier, 1) * var(--novablocks-spacing));
  margin-top: calc(-1 * var(--novablocks-collection-layout-spacing));
  margin-left: calc(-1 * var(--novablocks-collection-layout-spacing));
  pointer-events: none; }
  .novablocks-collection__layout > * {
    --surplus: 0px;
    --width: calc( ( 100% - var(--surplus) ) / var(--columns, 1) - var(--novablocks-collection-layout-spacing));
    -webkit-box-flex: 0;
        -ms-flex: 0 1 var(--width);
            flex: 0 1 var(--width);
    margin-top: var(--novablocks-collection-layout-spacing);
    margin-left: var(--novablocks-collection-layout-spacing);
    pointer-events: auto; }
    @media not screen and (min-width: 1024px) {
      .novablocks-collection__layout > * {
        --columns: var(--columns-below-lap, 1) !important; } }
    @media not screen and (min-width: 768px) {
      .novablocks-collection__layout > * {
        --columns: var(--columns-below-tablet, 1) !important; } }
  .novablocks-collection__layout[class][class] > * {
    max-width: var(--width); }
  .novablocks-collection__layout > div:not([class]) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .novablocks-collection__layout > div:not([class]) > .novablocks-card {
      height: 100%; }
  .novablocks-collection__layout > *:first-child:nth-last-child(2), .novablocks-collection__layout > *:first-child:nth-last-child(2) ~ * {
    --columns: 2; }
  .novablocks-collection__layout > *:first-child:nth-last-child(3), .novablocks-collection__layout > *:first-child:nth-last-child(3) ~ * {
    --columns: 3; }
  .novablocks-collection__layout > *:first-child:nth-last-child(4), .novablocks-collection__layout > *:first-child:nth-last-child(4) ~ * {
    --columns: 4;
    --columns-below-lap: 2; }

.novablocks-collection--align-left {
  text-align: left; }

.novablocks-collection--align-center {
  text-align: center; }

.novablocks-collection--align-right {
  text-align: right; }

.novablocks-collection--align-right .wp-block-buttons {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.novablocks-collection--align-center .wp-block-buttons {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.novablocks-collection {
  --block-top-spacing: var(--novablocks-block-top-spacing);
  --block-bottom-spacing: var(--novablocks-block-bottom-spacing);
  --emphasis-top-spacing: var(--novablocks-emphasis-top-spacing);
  --emphasis-bottom-spacing: var(--novablocks-emphasis-bottom-spacing);
  margin-top: calc(var(--block-top-spacing, 1) * var(--novablocks-spacing));
  margin-bottom: calc(var(--block-bottom-spacing, 1) * var(--novablocks-spacing));
  padding-top: calc(var(--emphasis-top-spacing, 1) * var(--novablocks-spacing));
  padding-bottom: calc(var(--emphasis-bottom-spacing, 1) * var(--novablocks-spacing)); }
  .novablocks-collection .novablocks-block__content {
    padding: 0; }
  .novablocks-collection .novablocks-collection__title + .novablocks-collection__subtitle {
    --novablocks-element-spacing-multiplier: var(--novablocks-element-spacing-level-3-multiplier); }
  .novablocks-collection .novablocks-collection__cards {
    --novablocks-element-spacing-multiplier: var(--novablocks-element-spacing-level-1-multiplier); }

.novablocks-collection__title a {
  text-decoration: inherit;
  color: inherit; }

.novablocks-collection__cards {
  border-top: 1px solid transparent; }
  .novablocks-collection__cards > .novablocks-collection__layout {
    pointer-events: none; }
    .novablocks-collection__cards > .novablocks-collection__layout > * {
      pointer-events: auto; }

.novablocks-collection:not(.content-is-basic) .novablocks-card__media-wrap {
  margin: calc( -0.5 * var(--block-content-padding)); }

.novablocks-collection:not(.content-is-basic) .novablocks-block__content {
  padding: calc( 0.5 * var(--block-content-padding)); }

.novablocks-collection:not(.content-is-basic) .novablocks-card--landscape .novablocks-card__media-wrap {
  margin-right: 0; }

.novablocks-collection:not(.content-is-basic) .novablocks-card--portrait .novablocks-card__media-wrap {
  margin-bottom: 0; }

.novablocks-card__title-size-modifier {
  font-size: calc( var(--novablocks-card-title-font-size-modifier, 1) * 1em);
  line-height: var(--novablocks-card-title-line-height-modifier, var(--current-line-height, 1.5)); }

.novablocks-card__meta-size-modifier {
  font-size: calc( var(--novablocks-card-meta-font-size-modifier, 1) * 1em);
  line-height: var(--novablocks-card-meta-line-height-modifier, var(--current-line-height, 1.5)); }

.novablocks-card__content-size-modifier {
  font-size: calc( var(--novablocks-card-content-font-size-modifier, 1) * 1em);
  line-height: var(--novablocks-card-content-line-height-modifier, var(--current-line-height, 1.5)); }

.novablocks-card__buttons-size-modifier {
  font-size: calc( var(--novablocks-card-buttons-font-size-modifier, 1) * 1em);
  line-height: var(--novablocks-card-buttons-line-height-modifier, var(--current-line-height, 1.5)); }

.novablocks-grid__area--portrait.novablocks-grid__area--width-xl {
  --novablocks-card-title-font-size-modifier: 1.8; }

.novablocks-grid__area--portrait.novablocks-grid__area--width-l {
  --novablocks-card-title-font-size-modifier: 1.6; }

.novablocks-grid__area--portrait.novablocks-grid__area--width-m {
  --novablocks-card-title-font-size-modifier: 1.4; }

.novablocks-grid__area--portrait.novablocks-grid__area--width-s {
  --novablocks-card-title-font-size-modifier: 1; }

.novablocks-grid__area--portrait.novablocks-grid__area--width-xs {
  --grid-item-content-display: none;
  --grid-item-buttons-display: none; }
  @media only screen and (min-width: 768px) {
    .novablocks-grid__area--portrait.novablocks-grid__area--width-xs {
      --novablocks-card-spacing-modifier: 0.25;
      --novablocks-card-meta-font-size-modifier: 0.8;
      --novablocks-card-title-font-size-modifier: 0.6; }
      .novablocks-grid__area--portrait.novablocks-grid__area--width-xs .novablocks-card__inner-container {
        --novablocks-element-spacing-multiplier: 0.25; } }

.novablocks-grid__area--landscape.novablocks-grid__area--width-full {
  --novablocks-card-title-font-size-modifier: 1.6; }

.novablocks-grid__area--landscape.novablocks-grid__area--width-xl {
  --novablocks-card-title-font-size-modifier: 1.4; }

.novablocks-grid__area--landscape.novablocks-grid__area--width-l {
  --novablocks-card-title-font-size-modifier: 1; }

@media only screen and (min-width: 768px) {
  .novablocks-grid__area--landscape.novablocks-grid__area--width-m {
    --novablocks-card-title-font-size-modifier: 0.8; } }

.novablocks-grid__area--landscape.novablocks-grid__area--width-s {
  --grid-item-content-display: none;
  --grid-item-buttons-display: none;
  --novablocks-card-title-font-size-modifier: 0.8; }
  @media only screen and (min-width: 768px) {
    .novablocks-grid__area--landscape.novablocks-grid__area--width-s {
      --novablocks-card-spacing-modifier: 0.25;
      --novablocks-card-meta-font-size-modifier: 0.8;
      --novablocks-card-title-font-size-modifier: 0.6; }
      .novablocks-grid__area--landscape.novablocks-grid__area--width-s .novablocks-card__inner-container {
        --novablocks-element-spacing-multiplier: 0.25; } }

.novablocks-grid__area--landscape.novablocks-grid__area--width-xs {
  --grid-item-content-display: none;
  --grid-item-buttons-display: none;
  --novablocks-card-title-font-size-modifier: 0.8; }
  @media only screen and (min-width: 768px) {
    .novablocks-grid__area--landscape.novablocks-grid__area--width-xs {
      --novablocks-card-spacing-modifier: 0.25;
      --novablocks-card-meta-font-size-modifier: 0.6;
      --novablocks-card-title-font-size-modifier: 0.5;
      --novablocks-card-content-font-size-modifier: 0.6; }
      .novablocks-grid__area--landscape.novablocks-grid__area--width-xs .novablocks-card__inner-container {
        --novablocks-element-spacing-multiplier: 0.25; } }

.novablocks-grid__item-media {
  display: var(--grid-item-media-display, block); }

.novablocks-grid__item-content {
  display: var(--grid-item-content-display, block); }

.novablocks-grid__item-title {
  display: var(--grid-item-title-display, block); }

.novablocks-grid__item-subtitle {
  display: var(--grid-item-subtitle-display, block); }

.novablocks-grid__item-content {
  display: var(--grid-item-content-display, block); }

.novablocks-grid__item-buttons {
  display: var(--grid-item-buttons-display, block); }

.novablocks-grid__item-meta {
  display: var(--grid-item-meta-display, block); }

.novablocks-grid {
  --novablocks-grid-spacing: var(--novablocks-spacing);
  grid-gap: calc( var(--novablocks-grid-spacing) * var(--novablocks-grid-spacing-modifier, 1)); }
  .novablocks-grid .novablocks-grid__item {
    --theme-content-width-normal: 100%; }

@media only screen and (min-width: 768px) {
  .block-is-basic.content-is-highlighted,
  .block-is-moderate.content-is-moderate,
  .block-is-moderate.content-is-highlighted,
  .block-is-highlighted.content-is-moderate,
  .block-is-highlighted.content-is-highlighted {
    --novablocks-grid-spacing-modifier: 0.5; } }

.novablocks-grid__area + .novablocks-grid__area,
.novablocks-grid__item + .novablocks-grid__item {
  margin-top: calc( var(--novablocks-grid-spacing) * var(--novablocks-grid-spacing-modifier, 1)); }

.novablocks-grid__item + .novablocks-grid__item {
  --novablocks-grid-spacing-modifier: 0.5; }

.novablocks-grid--mask .novablocks-grid__debug {
  display: block; }

.novablocks-grid--mask .novablocks-grid__area {
  border: 2px dashed var(--novablocks-purple); }

.novablocks-grid--mask .novablocks-grid__item {
  border: 2px dashed var(--novablocks-green); }
  .novablocks-grid--mask .novablocks-grid__item .novablocks-block__content {
    opacity: 0; }

.novablocks-grid--scaled {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transform-origin: 50% 0;
          transform-origin: 50% 0; }

.novablocks-grid__area {
  position: relative;
  overflow: hidden; }
  .novablocks-grid__column:first-child .novablocks-grid__area:first-child:last-child {
    position: sticky;
    top: calc( var(--novablocks-grid-spacing) * var(--novablocks-grid-spacing-modifier, 1)); }

.novablocks-grid__debug {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  padding: 10px; }

.novablocks-grid__area--width-s,
.novablocks-grid__area--width-xs {
  --card-image-width: 40%; }
