/* ! Miscellaneous */
.strong-title,
.text-uppercase {
  text-transform: uppercase;
}
.strong-title {
  font-weight: 700 !important;
}
.list-unstyled {
  padding-left: 0;
}
.list-unstyled, 
.list-unstyled ul, 
.list-unstyled ol {
  list-style: none;
}
.is-style-two-columns {
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: calc(var(--wp--custom--gutter) * 2);
       column-gap: calc(var(--wp--custom--gutter) * 2);
}

/* ! Core: Group */
.wp-block-group:not(.alignwide):not(.alignfull) {
  padding: 0;
}
.wp-block-group .wp-block-buttons {
  margin-top: 2rem;
}
.wp-block-group.is-layout-flex {
  gap: calc(var(--wp--custom--gutter) * 2);
}
.wp-block-group.is-layout-flex > * {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0 !important;
}
@media (min-width: 782px) {
  .wp-block-group.is-layout-flex > * {
    flex: 0 0 calc(50% - var(--wp--custom--gutter));
    max-width: calc(50% - var(--wp--custom--gutter));
  }
}

/* ! Core: Column(s) */
:where(.wp-block-columns.is-layout-flex) {
  gap: calc(var(--wp--custom--gutter) * 2);
}
.wp-block-columns:last-child {
  margin-bottom: 0;
}
@media (max-width: 781px) {
  .wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: wrap !important;
    justify-content: center;
  }
  .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
    flex-basis: calc(50% - var(--wp--custom--gutter));
    max-width: calc(50% - var(--wp--custom--gutter));
  }
}
@media (min-width: 782px) {
  .wp-block-columns.is-style-reverse {
    flex-direction: row-reverse;
  }
}
.wp-block-columns .wp-block-image {
  margin: 0;
}
.wp-block-column.has-background {
  padding: var(--wp--custom--gutter);
  border: 1px solid currentColor;
}
@media (min-width: 782px) {
  .wp-block-column.has-background {
    padding: calc(var(--wp--custom--gutter) * 2);
  }
}
.wp-block-column > *:last-child {
  margin-bottom: 0;
}

/* ! Core: Button */
@media (max-width: 767px) {
  .wp-block-buttons.is-content-justification-space-between {
    flex-direction: column;
  }
}
@media (max-width: 575px) {
  .wp-block-buttons[class*=is-content-justification-] {
    justify-content: center !important;
  }
}
.wp-block-button__link, 
.wp-block-button__link:hover, 
.wp-block-button__link:focus {
  text-decoration: none;
}
.wp-block-button__link.has-background {
  border-color: transparent !important;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
  border: none;
  background-color: var(--wp--preset--color--white) !important;
  padding-block: var(--wp--custom--button--padding-vertical);
  padding-inline: var(--wp--custom--button--padding-horizontal);
}
.wp-block-button[class*=is-style-] > .wp-block-button__link {
  filter: brightness(100%);
}
.wp-block-button[class*=is-style-] > .wp-block-button__link:hover {
  filter: brightness(115%);
}
.wp-block-button[class*=is-style-] > .wp-block-button__link:active {
  filter: brightness(95%);
}
@media (hover: hover) {
  .wp-block-button__link {
    transition: color 0.2s ease, background-color 0.2s ease;
  }
  .wp-block-button[class*=is-style-] > .wp-block-button__link {
    transition: filter 0.2s ease;
  }
}

/* ! Core: File */
.wp-block-file:not(.wp-element-button) {
  font-size: inherit;
}
.wp-block-file:not(.wp-element-button) a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--secondary);
}
.wp-block-file:not(.wp-element-button) a:where(:not(.wp-element-button)):hover {
  color: var(--wp--preset--color--secondary-light);
}
.wp-block-file:not(.wp-element-button) a:where(:not(.wp-element-button)):active {
  color: var(--wp--preset--color--secondary-dark);
}
.wp-block-file .wp-block-file__button {
  text-decoration: none !important;
}

/* ! Core: Table */
.wp-block-table {
  margin-block: 2rem;
}
.wp-block-table table {
  margin: 0;
}
.wp-block-table th,
.wp-block-table td {
  padding: 0.667rem;
  border-color: var(--wp--preset--color--black);
  background-color: var(--wp--preset--color--white);
}
.wp-block-table thead th,
.wp-block-table tfoot td {
  background-color: var(--wp--preset--color--light);
}
.wp-block-table thead {
  border-bottom-width: 1px;
}

/* ! Core: Image */
.wp-block-image figcaption {
  color: var(--wp--preset--color--secondary);
  margin-top: 0.75rem;
  margin-bottom: 0;
  line-height: 1.2;
}

/* ! Core: Gallery */
.wp-block-gallery.has-nested-images .wp-block-image a + figcaption {
  pointer-events: none;
}

/* ! Core: Quote */
.wp-block-quote cite,
.wp-block-quote footer {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--secondary-dark);
}

/* ! Core: Pullquote */
.wp-block-quote cite,
.wp-block-quote footer {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--secondary-dark);
}

.wp-block-pullquote cite,
.wp-block-pullquote footer, .wp-block-pullquote .wp-block-pullquote__citation {
  color: var(--wp--preset--color--secondary-dark);
  font-size: min(0.633em, var(--wp--preset--font-size--medium));
}
.wp-block-pullquote blockquote {
  margin-bottom: 0;
}

/* ! Core: Media text */
.wp-block-media-text__content:first-child {
  padding-left: 0;
  padding-right: var(--wp--custom--gutter);
}
.wp-block-media-text__content:last-child {
  padding-left: var(--wp--custom--gutter);
  padding-right: 0;
}
.wp-block-media-text__content *:last-child {
  margin-bottom: 0;
}

/* ! Core: Video */
.wp-block-video {
  margin: 0;
  position: relative;
}
.wp-block-video:not([class*=is-style-]), 
.wp-block-video.is-style-16-9 {
  aspect-ratio: 16/9;
}
.wp-block-video.is-style-21-9 {
  aspect-ratio: 21/9;
}
.wp-block-video.is-style-4-3 {
  aspect-ratio: 4/3;
}
.wp-block-video > div {
  height: 100%;
}
.wp-block-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.wp-block-video figcaption {
  color: var(--wp--preset--color--secondary);
  margin-top: 0.75rem;
  margin-bottom: 0;
}

/* ! Core: Embed */
.wp-embed-aspect-16-9 {
  aspect-ratio: 16/9;
}
.wp-embed-aspect-21-9 {
  aspect-ratio: 21/9;
}
.wp-embed-aspect-4-3 {
  aspect-ratio: 4/3;
}
.wp-block-embed__wrapper,
.wp-block-embed iframe {
  width: 100%;
  height: 100%;
}
