/* Rows and columns: the WPBakery grid (rows -15px, columns padded 15px) on core Group/Columns blocks. */
.mcps-row {
  margin-left: -15px;
  margin-right: -15px;
}
.mcps-row::after {
  content: "";
  display: table;
  clear: both;
}
.mcps-column.vc_col-has-fill,
.vc_row-has-fill > .wp-block-group__inner-container > .mcps-columns > .mcps-column,
.vc_row-has-fill + .vc_row > .wp-block-group__inner-container > .mcps-columns > .mcps-column,
.vc_row-has-fill + .vc_row-full-width + .vc_row > .wp-block-group__inner-container > .mcps-columns > .mcps-column {
  padding-top: 35px;
}
/* WPBakery columns were floats: they wrap when widths exceed the row and keep their own height. */
.wp-block-columns.mcps-columns {
  gap: 0;
  margin: 0;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}
.mcps-columns > .wp-block-column.mcps-column {
  position: relative;
  min-height: 1px;
  flex-grow: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
  min-width: 0;
  word-break: normal;
  overflow-wrap: normal;
}
.mcps-columns > .wp-block-column.mcps-column:not([style*="flex-basis"]) {
  flex-basis: 100%;
}
@media (max-width: 767px) {
  .mcps-columns > .wp-block-column.mcps-column {
    flex-basis: 100% !important;
  }
}

/* WPBakery row options; the structure is row > inner container > columns > column. */
.mcps-row[data-vc-full-width] {
  overflow: hidden;
  transition: opacity 0.5s ease;
}
.mcps-row.vc_row-flex {
  display: flex;
  flex-direction: column;
}
.mcps-row.vc_row-flex::after {
  display: none;
}
.mcps-row.vc_row-flex > .wp-block-group__inner-container {
  width: 100%;
}
.mcps-row.vc_row-o-full-height {
  min-height: 100vh;
}
.mcps-row.vc_row-o-columns-top {
  justify-content: flex-start;
}
.mcps-row.vc_row-o-columns-middle {
  justify-content: center;
}
.mcps-row.vc_row-o-columns-bottom {
  justify-content: flex-end;
}
.mcps-row.vc_row-o-columns-stretch > .wp-block-group__inner-container,
.mcps-row.vc_row-o-columns-stretch > .wp-block-group__inner-container > .mcps-columns {
  flex-grow: 1;
  display: flex;
}
/* Only stretched columns need flex to place content; elsewhere it would turn each child into a flex item, unlike WPBakery's single wrapper. */
.mcps-row.vc_row-o-equal-height > .wp-block-group__inner-container > .mcps-columns > .mcps-column {
  display: flex;
  flex-direction: column;
}
.mcps-row.vc_row-o-equal-height > .wp-block-group__inner-container > .mcps-columns {
  align-items: stretch !important;
}
.mcps-row.vc_row-o-content-top > .wp-block-group__inner-container > .mcps-columns > .mcps-column {
  justify-content: flex-start;
}
.mcps-row.vc_row-o-content-middle > .wp-block-group__inner-container > .mcps-columns > .mcps-column {
  justify-content: center;
}
.mcps-row.vc_row-o-content-bottom > .wp-block-group__inner-container > .mcps-columns > .mcps-column {
  justify-content: flex-end;
}
.mcps-row.vc_row-o-content-top:not(.vc_row-o-equal-height) > .wp-block-group__inner-container > .mcps-columns {
  align-items: flex-start !important;
}
.mcps-row.vc_row-o-content-middle:not(.vc_row-o-equal-height) > .wp-block-group__inner-container > .mcps-columns {
  align-items: center !important;
}
.mcps-row.vc_row-o-content-bottom:not(.vc_row-o-equal-height) > .wp-block-group__inner-container > .mcps-columns {
  align-items: flex-end !important;
}
.vc_row.vc_row-no-padding .mcps-column {
  padding-left: 0;
  padding-right: 0;
}
.vc_row-no-padding .vc_inner {
  margin-left: 0;
  margin-right: 0;
}
.vc_parallax {
  position: relative;
  overflow: hidden;
}
.vc_parallax > * {
  position: relative;
  z-index: 1;
}
.vc_parallax .vc_parallax-inner {
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  background-attachment: scroll;
  background-color: transparent;
  background-image: inherit;
  background-size: cover;
  z-index: 0;
  background-position: 50% 0;
}

/* Buttons: the block wrapper behaves like WPBakery's button container. */
.wp-block-buttons.vc_btn3-container {
  display: block;
}
.wp-block-buttons.vc_btn3-container.vc_btn3-inline {
  display: inline-block;
  vertical-align: top;
}
.wp-block-buttons.vc_btn3-container > .wp-block-button.mcps-btn {
  display: inline-block;
  max-width: 100%;
}
.wp-block-buttons.vc_btn3-container > .wp-block-button.mcps-btn.vc_btn3-block {
  display: block;
  width: 100%;
}
.mcps-btn > .wp-block-button__link {
  border-radius: 0;
  height: auto;
  word-break: normal;
}
/* WPBakery rendered link-less buttons as <button>, which keeps the browser's own button font. */
.mcps-btn > button.wp-block-button__link {
  font-family: revert;
}

/* Image grid galleries: floated thumbnails, 1px apart, as WPBakery's image grid. */
.wp-block-gallery.mcps-gallery {
  display: block;
  gap: 0;
  margin: 0;
}
.wp-block-gallery.mcps-gallery::after {
  content: "";
  display: table;
  clear: both;
}
.wp-block-gallery.has-nested-images.mcps-gallery figure.wp-block-image {
  float: left;
  width: auto !important;
  max-width: 100%;
  margin: 0 1px 1px 0 !important;
  flex: none;
  display: block;
}
.wp-block-gallery.has-nested-images.mcps-gallery figure.wp-block-image a,
.wp-block-gallery.has-nested-images.mcps-gallery figure.wp-block-image img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  object-fit: initial;
  flex: none;
}

/* WordPress scales images without a generated thumbnail down to the size's bounding box; WPBakery printed those dimensions. */
.wp-block-gallery.has-nested-images.mcps-gallery-size-thumbnail figure.wp-block-image img {
  max-width: min(150px, 100%) !important;
  max-height: 150px;
}
.wp-block-gallery.has-nested-images.mcps-gallery-size-medium figure.wp-block-image img {
  max-width: min(300px, 100%) !important;
  max-height: 300px;
}
.wp-block-gallery.has-nested-images.mcps-gallery-size-large figure.wp-block-image img {
  max-width: min(1024px, 100%) !important;
  max-height: 1024px;
}

/* Single images: aligned like WPBakery (text-align, no float). */
.wp-block-image.mcps-single-image {
  margin: 0;
}
.wp-block-image.mcps-single-image.vc_align_left {
  text-align: left;
}
.wp-block-image.mcps-single-image.vc_align_center {
  text-align: center;
}
.wp-block-image.mcps-single-image.vc_align_right {
  text-align: right;
}
.wp-block-image.mcps-single-image a {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}
.wp-block-image.mcps-single-image img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
}

/* Same rule as WPBakery's text column. */
.wpb_text_column :last-child,
.wpb_text_column p:last-child {
  margin-bottom: 0;
}

/* WPBakery's empty space did not clear floats (pages float tables next to each other). */
.wp-block-spacer.mcps-spacer {
  clear: none;
}

/* Videos: WPBakery's 16:9 frame and width setting; other embeds keep their own iframe size, as on the old theme. */
.wp-block-embed[class*="mcps-video-w"] {
  margin: 0;
}
.wp-block-embed[class*="mcps-video-w"] .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.wp-block-embed[class*="mcps-video-w"] iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.wp-block-embed.mcps-video-w10 { width: 10%; }
.wp-block-embed.mcps-video-w20 { width: 20%; }
.wp-block-embed.mcps-video-w30 { width: 30%; }
.wp-block-embed.mcps-video-w40 { width: 40%; }
.wp-block-embed.mcps-video-w50 { width: 50%; }
.wp-block-embed.mcps-video-w60 { width: 60%; }
.wp-block-embed.mcps-video-w70 { width: 70%; }
.wp-block-embed.mcps-video-w80 { width: 80%; }
.wp-block-embed.mcps-video-w90 { width: 90%; }
.wp-block-embed.mcps-video-w100 { width: 100%; }

/* Accordions: Details blocks styled by css/wpb-accordion.css; the summary is the WPBakery panel heading. */
.vc_tta.vc_general details.vc_tta-panel {
  margin: 0;
}
.vc_tta.vc_general details.vc_tta-panel > summary {
  list-style: none;
  cursor: pointer;
  font-size: 17px;
}
/* In WPBakery the hidden panel body kept the heading's -1px bottom margin inside the panel. */
.vc_tta.vc_general details.vc_tta-panel:not([open]) > summary {
  margin-bottom: 0 !important;
}
.vc_tta.vc_general details.vc_tta-panel > summary::-webkit-details-marker {
  display: none;
}

/* MetaSlider: show the first slide until the slider script starts; the cookie banner can delay that for seconds. */
.metaslider .theme-default .nivoSlider:not(:has(.nivo-main-image)) > img:first-child {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
}

