/*
 * Theme Name:   Omnizant Blocks
 * Theme URI:    http://omnizant.com/
 * Description:  Omnizant signature website theme
 * Author:       Omnizant
 * Version:      0.9.7.8
 * Tags: flexible content blocks, acf
 */

/* style.scss */
:root {
  /* Fixed Header Height for Header Padding */
  --header-fixed-md-height: 164px;
  --header-fixed-lg-height: 164px;
  --header-fixed-xl-height: 154px;

  /* Font scale */
  --f1: 4.2rem;
  --f2: 3.6rem;
  --f3: 3.2rem;
  --f4: 2.4rem;
  --f5: 2.1rem;
  --f6: 1.8rem;
  --f7: 1.6rem;
  --f8: 1.4rem;
  --f9: 1.2rem;
  --f10: 1rem;
  --d1: 12rem;
  --d2: 9rem;
  --d3: 8.4rem;
  --d4: 7rem;
  --d5: 6.4rem;
  --d6: 5rem;

  --vertical-space: 4.5rem;
  --vertical-space-md: 6rem;
  --vertical-space-lg: 9rem;
  --vertical-space-xl: 12rem;
  --vertical-space-xx: 14rem;

  /* color */
  --bs-white-rgb: #fff;

	/* Menu */
  --menuIcon: "\f107";
	--menuFontSize: var(--f6);

	/* List Bullet */
	--listBull: "\f101";
	--listBullSpace: 1.5em;

	/* fa var use examples leave commented, paste entire line including 'font:' where needed
		font: var(--fa-font-brands);
		font: var(--fa-font-solid);
		font: var(--fa-font-regular);
		font: var(--fa-font-light);
		font: var(--fa-font-thin);
		font: var(--fa-font-sharp-solid);
		font: var(--fa-font-sharp-regular);
		font: var(--fa-font-sharp-light);
	*/
}

html {
  font-size: 9px;
  box-sizing: border-box;
  -ms-overflow-style: scrollbar;

  @media (prefers-reduced-motion: no-preference) {
    scroll-behavior: smooth;
  }
  @media (min-width: 768px) {
    scroll-padding-top: var(--header-fixed-md-height);
    font-size: 10px;
  }
  @media (min-width: 992px) {
    scroll-padding-top: var(--header-fixed-lg-height);
  }
  @media (min-width: 1200px) {
    scroll-padding-top: var(--header-fixed-xl-height);
  }
}

*,
*::after,
*::before {
  box-sizing: inherit;
}

html:not(.no-focus-outline) {
  *:focus {
    outline-width: 3px;
    outline-style: dotted;
    outline-offset: 0.25em;
    outline-color: var(--color-copy);
  }

  .color-white *:focus {
    outline-color: #fff;
  }

  .btn:focus {
    transform: scale(1.03);
  }
}

body,
html {
  height: 100%;
  position: relative;
}

body {
  margin: 0;
  font-weight: var(--font-body-weight);
  font-size: var(--body-font-size);
  font-family: var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.5;
  background-color: var(--color-bg);
  color: var(--color-copy);
  outline-color: var(--color-copy);
  overflow-x: clip;
}

body.no-js {
  *[data-aos] {
    transition-delay: initial !important;
    transition-duration: initial !important;
  }
}

audio {
  width: 100%;
  border-radius: 8px;
}

button {
  background-color: transparent;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

small {
  display: inline-block;
  line-height: 1.3;
}

.no-focus-outline a:focus,
.no-focus-outline button:focus,
.no-focus-outline input:focus,
.no-focus-outline textarea:focus {
  outline: none;
}

#page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-bottom: 36px;
  overflow-x: clip;

  @media (min-width: 768px) {
    padding-bottom: 0;
  }
}

.print-layout {
  display: none;
}

iframe,
video {
  display: block;
  width: 100%;
}

b,
strong {
  font-weight: 700;
}

b em,
em b,
em strong,
strong em {
  font-style: normal;
}

.blockquote,
blockquote {
  padding-left: 1em;
  margin-bottom: 1.5em;
  border-left: 4px solid var(--color-prime);
  font-size: 1.25em;

  p {
    margin-bottom: 0.5em;
  }
}

.color-white {
  .blockquote,
  blockquote {
    border-color: #fff;
  }
}

a {
  text-decoration: underline;
  color: var(--color-link);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  /*  hides empty tel links */
  &[href="tel:"] {
    display: none;
  }
}

a:focus,
a:hover {
  text-decoration: none;
  color: var(--color-link-hover);
}

a:active {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.35);
}

.color-white a:not([class]) {
  font-weight: 700;
  color: #fff;

  &:focus,
  &:hover {
    background-color: var(--color-link);
    color: #fff;
  }
}

::selection,
a::selection {
  color: var(--color-bg);
  background: var(--color-link-hover);
}

button {
  padding: 0;
  border: 0;
}

[href^="fax:"],
[href^="tel:"],
[href^="sms:"] {
  font-variant-numeric: lining-nums;
  -moz-font-feature-settings: "lnum" 1;
  -moz-font-feature-settings: "lnum=1";
  -ms-font-feature-settings: "lnum" 1;
  -o-font-feature-settings: "lnum" 1;
  -webkit-font-feature-settings: "lnum" 1;
  font-feature-settings: "lnum" 1;
  text-decoration: none;
  color: inherit;

  &:focus,
  &:hover {
    color: currentColor;
  }
}

details summary::-webkit-details-marker,
details summary::marker {
  display: none;
  content: "";
}

.breadcrumbs {
  margin-top: 15px;
  margin-bottom: 30px;
  padding-bottom: 15px;
  font-weight: 400;
  font-size: var(--f8);
  line-height: 1.125;
  border-bottom: 1px solid var(--color-quin);
  overflow: hidden;
  text-overflow: ellipsis;
}

.breadcrumb-icon {
  display: inline-block;
}
@media (min-width: 1200px) {
  .breadcrumbs {
    white-space: nowrap;
  }
}

.breadcrumb-iconhome {
  width: 16px;
}

.breadcrumb-iconangle {
  width: 8px;
}

address {
  margin-bottom: 0;
}

dl,
ol,
p,
ul {
  margin-top: 0;
  margin-bottom: 1.5em;
}

ol ol,
ol ul,
ul ol,
ul ul {
  margin-bottom: 0;
}

li {
  break-inside: avoid-column;
}

/*  Hide empy <p> tags */

p:empty {
  display: none;
}
/*  Headline Styles */
.wp-block-heading + .wp-block-heading {
  margin-top: -0.25em;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.headline,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-header), -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: var(--font-header-weight);
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0.5em;
  text-wrap: balance;
  color: var(--bs-heading-color);

  b,
  strong {
    font-weight: var(--font-header-weight);
  }

  em,
  i {
    font-style: normal;
  }
}

.headline {
  column-span: all;
}

.headline-subtitle {
  font-size: 0.65em;
  margin-top: 0.25em;
}

.color-white {
  outline-color: #fff;
.headline-subtitle
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6,
  .headline,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: inherit;
  }
}

.h1,
h1 {
  font-size: var(--f1);
}

.h2,
.headline,
h2 {
  font-size: var(--f2);
}

.h3,
h3 {
  font-size: var(--f3);
}

.h4,
h4 {
  font-size: var(--f4);
}

.h5,
h5 {
  font-size: var(--f5);
}

.h6,
h6 {
  font-size: var(--f6);
  line-height: 1.5;
}

/*  Parent Theme Overrides */

.lead {
  font-size: 1.25em;
}

.home .entry-content {
  display: flex;
  flex-direction: column;
  margin: 0;
}

h2.entry-title {
  border-bottom: 0;
}

.wp-block-image figure {
  margin-bottom: 3rem !important;
}

figure {
  margin-top: 0;
  margin-bottom: 3rem;
}

figcaption {
	padding: 0.65em 0.75em;
  background: var(--color-quin);
}

img {
  max-width: 100%;
  height: initial;
  vertical-align: middle;
  border-style: none;
  color: rgba(0, 0, 0, 0);
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  width: 100%;
  border-collapse: collapse;
}

#content.site-content {
  /*  position: relative; */
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 30px;
  /*  outline: none; */
}
@media (min-width: 768px) {
  #content.site-content {
    margin-bottom: 60px;
  }
}

.home #content.site-content {
  margin-bottom: 0;
}

h1 {
  padding-bottom: 0;
}

.entry-title a {
  text-decoration: none;
}
/*  Hides captcha badge */

.grecaptcha-badge {
  visibility: hidden;
}
/*  Makes lg container size same width as col-xl-10 to simplify image sizes */
@media (min-width: 992px) and (max-width: 1199px) {
  .container {
    max-width: 950px;
  }
}
/*  Styles ported from parent theme since we are no longer loading those styles */
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;

  &:focus {
    background-color: var(--color-bg);
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: var(--color-copy);
    display: block;
    font-size: 18px;
    font-weight: bold;
    height: auto;
    left: 0.313rem;
    line-height: normal;
    padding: 0.938rem 1.438rem 0.875rem;
    text-decoration: none;
    top: 0.313rem;
    width: auto;
    z-index: 100000;
  }
}

/*  animates on page change */
/*  https://developer.chrome.com/docs/web-platform/view-transitions */
/*  https://nerdy.dev/6-css-snippets-every-front-end-developer-should-know-in-2025#view-transitions-for-web-pages */
@view-transition {
  navigation: auto;
}

.header-block {
  view-transition-name: --header;
}

/* header.scss */



.header-top-content {
  padding-top: var(--top-vert-padding);
  padding-bottom: var(--top-vert-padding);

  @media (min-width: 1200px) {
    padding-top: var(--top-vert-paddingXl);
    padding-bottom: var(--top-vert-paddingXl);
  }
}

.inside-page {
  .header-top-content {
    padding-top: var(--top-vert-padding-secondary);
    padding-bottom: var(--top-vert-padding-secondary);

    @media (min-width: 1200px) {
      padding-top: var(--top-vert-paddingXl-secondary);
      padding-bottom: var(--top-vert-paddingXl-secondary);
    }
  }
}

#headerStuck {
  position: fixed !important;
  top: -100%;
  width: 100%;
  padding-bottom: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  z-index: 90;

  .header-top-content {
    padding: 15px 0;
  }
}

.fixed-transition {
  @media (min-width: 768px) {
    animation-name: stick-up;
    animation-duration: 0.45s;
    animation-fill-mode: both;
  }
}

@keyframes stick-up {
  from {
    top: -250px;
  }

  to {
    top: 0;
  }
}

.header-block {
  .container,
  .container-fluid {
    position: relative;
  }
}

.header-touch-contact {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.header-container {
  position: relative;
  /*  z-index: 20; */
}

.header-home-link {
  display: block;
  flex-shrink: 0;
  flex-basis: 55%;
}

.header-logo {
  @media (min-width: 1200px) {
    width: auto;
    height: auto;
    object-fit: contain;
  }
}

.inside-page {
  @media (min-width: 1200px) {
    .header-logo {
      max-width: var(--insideLogoMaxW, 100%);
    }
  }
}

.header-logo.header-logo--fixed {
  @media (min-width: 1200px) {
    width: auto;
    max-width: var(--stickyLogoMaxW, 100%);
    height: auto;
  }
}


/*.header-contact-column {
  @media (width < 992px) {
    .row {
      margin: 0;
    }
  }
}*/

.hamburg-menu-container {
  align-self: stretch;
  display: flex;
  align-items: center;
  margin-left: 15px;
}

.hamburg-menu-container--of-deck {
  margin-left: 0;
  margin-right: -15px;
  padding-left: 10px;
  padding-right: 15px;
  background-color: var(--color-bg);

  .header-hamburg-menu {
    transform: scale(0.9);
  }

  @media (width < 768px) {
    padding-left: 0;
  }
}

.header-hamburg-menu {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-weight: 700;
  font-family: var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: -0.25px;
  text-transform: uppercase;
  background-color: var(--color-prime) !important;
  color: #fff !important;
  overflow: hidden;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:before {
    content: "\f0c9";
    font: var(--fa-font-regular);
    font-size: 3em;
  }

  @media (min-width: 768px) {
    width: 50px;
    height: 50px;
    font-size: 0.9rem;
  }
  @media (min-width: 1200px) {
    width: 60px;
    height: 60px;
  }
}

.header-hamburg-menu--ascent {
  border-radius: 0 0 4px 4px;
  margin-left: 30px;
  background-color: var(--color-bg);
  color: var(--color-second);

  @media (min-width: 1200px) {
    width: 100px;
    height: 100px;
    font-size: var(--f8);

    &:before {
      font: var(--fa-font-light);
      font-size: var(--d6);
    }
  }

  &:hover,
  &:focus {
    background-color: var(--color-second);
    color: #fff;
  }
}

.header-contact-container {
  column-gap: 15px;
  row-gap: 7.5px;
}

.header-contact {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  align-self: center;
  column-gap: 1em;
  row-gap: 0.5em;
  justify-content: center;
  align-items: center;

  @media (width < 992px) {
    display: inline-flex;
    flex-basis: auto;
  }
  @media (min-width: 768px) {
    justify-content: flex-end;
    column-gap: 0.75em;
    row-gap: 0.125em;
  }
  @media (min-width: 992px) {
    flex-wrap: nowrap;
    column-gap: 0.95em;
  }
}

.header-contact__item {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;

  &:before {
    margin-right: 0.5em;
    font: var(--fa-font-solid);
    letter-spacing: 0;
  }
}

.icon-none {
  .header-contact__item:before,
  .header-tel-city-state__tel:before {
    display: none;
  }
}

.icon-plain {
  .header-link-before,
  .header-contact__item:before,
  .header-tel-city-state__tel:before {
    color: var(--top-icon-color);
    margin-right: 0.25em !important;
  }
}

.icon-square,
.icon-circle {
  .header-link-before,
  .header-contact__item:before {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2em;
    height: 2em;
    border-radius: 0;
    font-size: var(--f8);
    line-height: 1;
    background-color: var(--top-icon-color);
    color: var(--color-bg);
  }
}

.header-top--inside,
.header-top--fixed {
  &.icon-plain {
    .header-link-before,
    .header-contact__item:before,
    .header-tel-city-state__tel:before {
      color: var(--top-icon-color-secondary);
    }
  }

  &.icon-square,
  &.icon-circle {
    .header-link-before,
    .header-contact__item:before {
      background-color: var(--top-icon-color-secondary);
    }
  }
}

.icon-circle {
  .header-link-before,
  .header-contact__item:before {
    border-radius: 50%;
  }
}

.header-email {
  text-decoration: none;
  color: inherit;

  &:before {
    content: "\f0e0";
  }

  &:hover {
    text-decoration: none;
    color: inherit;
  }

  &:focus {
    text-decoration: underline;
  }
}

.header-tel {
  text-decoration: none;
  color: inherit;

  &:before {
    content: "\f095";
  }

  &:hover {
    text-decoration: none;
    color: inherit;
  }

  &:focus {
    text-decoration: underline;
  }
  @media (max-width: 767px) {
    display: none;
  }
}

.header-tel-city-state {
  &:before {
    display: none !important;
  }
  @media (max-width: 767px) {
    display: none;
  }
  @media (max-width: 1199px) {
    flex-direction: column;
    align-items: flex-end;
  }
}

.header-tel-city-state__location {
  @media (min-width: 1200px) {
    margin-right: 0.45em;
    padding-right: 0.45em;
    border-right: 1px solid currentColor;
  }
}

.header-tel-city-state__tel {
  &:before {
    content: "\f095";
    margin-right: 0.4em;
    font: var(--fa-font-solid);
    font-size: 0.9em;
  }
  @media (max-width: 767px) {
    display: none;
  }
}

.header-address {
  margin-bottom: 0;

  &:before {
    content: "\f3c5";
  }
  @media (max-width: 1199px) {
    display: none;
  }
}

.header-link {
  position: relative;
  display: inline-flex;
  text-decoration: none;
  color: inherit;

  &:focus,
  &:hover {
    color: inherit;

    .header-link-before,
    .header-link-after {
      transform: scale(1.2);
    }
  }
}

.header-link-before {
  display: inline-block;
  width: 1.2em;
  margin-right: 0.45em;
  transform-origin: right;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:empty {
    display: none !important;
  }
}

.header-link-after {
  display: inline-block;
  width: 1.2em;
  margin-left: 0.25em;
  transform-origin: left;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:empty {
    display: none !important;
  }
}

.btn--header {
  .header-link-before,
  .header-link-after {
    color: inherit !important;
  }
}

.header-bg-container,
.header-img-container {
  position: relative;
}

.header-bg-container {
  /* overflow: hidden; */
  overflow: clip;
}

.header-of-ascent-bg-container {
  /* overflow: hidden; */
  overflow-x: clip;
}

.header-dot-bg-container {
  overflow: visible;
}

.header-fade-out {
  &:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 30%;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.6) 40%,
      rgba(255, 255, 255, 1) 100%
    );
    z-index: 10;
  }
}

.header-img {
  position: relative;
  width: 100%;
  height: var(--header-height);
  object-fit: cover;
  z-index: 0;

  @media (min-width: 576px) {
    height: var(--header-sm-md-heigth);
  }
  @media (min-width: 992px) {
    height: var(--header-lg-height);
  }
  @media (min-width: 1200px) {
    height: var(--header-lg-xl-height);
  }
  @media (min-width: 1500px) {
    height: var(--header-xx-height);
  }

  @media (min-width: 992px) and (min-height: 810px) {
    max-height: 100vh;
  }
}

.header-vid {
  pointer-events: none;
}

/*  Slogan builder styles */
.slogan-container {
  position: relative;
  line-height: 1.2;
  text-wrap: balance;
  z-index: 20;
}

.slogan-piece {
  p:last-child {
    margin-bottom: 0;
  }
}

.slogan-piece--paragraph {
  line-height: 1.5;
}

/*  Standard slogan styles */
.header-slogan {
  overflow: clip;
}

.header-slogan__row {
  padding-top: 15px;
  @media (min-width: 576px) {
    padding-top: 30px;
  }
}

.header-slogan__col {
  display: flex;
}

/*
 * ONEFIRST Dot styles
 */

.home {
  @media (min-width: 1200px) {
    .header-of-dot {
      padding: 45px 0 0;
    }
  }
}

.header-img-container-dot {
  position: relative;
  margin-top: 60px;
  margin-bottom: 60px;

  &:before {
    content: "";
    display: block;
    aspect-ratio: 1;
    width: calc(100% - 30px);
    margin-left: auto;
    background-color: var(--color-prime);
  }

  .dot-texture {
    position: absolute;
    right: -22px;
    bottom: -22px;
    width: 240px;
    opacity: 0.15;
  }

  @media (width >= 1200px) {
    margin-left: 60px;
  }
  @media (min-width: 992px) {
    margin-bottom: 30px;
    margin-left: 30px;

    .dot-texture {
      right: -76px;
      bottom: -76px;
      width: 300px;
    }
  }
  @media (min-width: 1200px) {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.header-dot-img {
  position: absolute;
  width: 63%;
  max-width: 500px;
  aspect-ratio: 500 / 600;
  background-color: var(--color-quin);

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media (min-width: 1200px) {
    max-width: 500px;
  }
}

.header-dot-img--1 {
  top: -30px;
  right: 30px;
  box-shadow: 10px 20px 30px rgba(0, 0, 0, 0.1);
  z-index: 20;
  @media (min-width: 1200px) {
    top: -60px;
    right: 60px;
  }
}

.header-dot-img--2 {
  left: 0;
  bottom: -30px;

  @media (min-width: 1200px) {
    left: 0;
    bottom: -60px;
  }
}

/*
 * ONEFIRST Edge styles
 */
.header-of-edge {
  position: relative;

  .header-bg-container {
    &:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background: linear-gradient(
        45deg,
        rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 0) 100%
      );
    }
  }

  @media (min-width: 1200px) {
    &:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 120px;
      background: linear-gradient(180deg, black 0%, rgba(0, 0, 0, 0) 100%);
      z-index: 10;
      opacity: 0.45;
    }
  }
}

.header-of-edge-menu {
  .menu-border-hover > .menu-item > .menu-link {
    padding-top: calc(0.25em + 4px);
  }
}

.inside-page {
  .header-of-edge .header-block {
    &:before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background: linear-gradient(
        45deg,
        rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 0.45) 100%
      );
      opacity: 0.6;
      z-index: 20;
    }
  }
}

.header-top--of-edge {
  .header-top-content__row {
    padding: 10px 15px;
    margin-left: 0;
    margin-right: 0;
    background-color: var(--color-dark, #000);
    color: #fff;

    @media (min-width: 1200px) {
      padding: 20px 15px;
    }
  }

  &.header-top--fixed {
    .header-top-content__row {
      padding: 10px 0;
    }
  }
}

/*
 * ONEFIRST Clover styles
 */

/*.header-clover {
  @media (min-width: 1200px) {
    .container-fluid {
      max-width: 83.33333333%;
    }
  }
}*/

.header-clover {
  .full-menu {
    margin: 0 -0.25em;
  }
}

.header-clover-bg {
  z-index: 10;

  .header-img-container {
    &:before {
      display: none;
    }
  }
}
@media (min-width: 992px) {
  .clover-slogan-tint {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: calc(50vw + 30px);
    height: 100%;
    opacity: 0.8;
    z-index: 10;
  }
  .clover-slogan-tint--flip {
    position: absolute;
    top: 0;
    right: 0;
    left: initial;
  }
}

.header-of-clover-menu {
  @media (min-width: 1200px) {
    .menu-menu-1-container {
      border-top: 1px solid rgba(0, 0, 0, 0.35);
    }
  }
}

/*
 * ONEFIRST Deck styles
 */
.header-top-content--of-deck {
  .header-contact-column {
    @media (width < 768px) {
      flex-grow: 0;
      padding: 5px 10px;
      margin: -5px 0 0 auto;
    }
  }
}
.header-contact--of-deck {
  @media (width < 992px) {
    min-height: 50px;
    padding: 10px;
    background: var(--color-bg);
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  @media (width < 768px) {
    padding: 5px 10px 5px 10px;
  }
}

.header-deck-bg {
  @media (min-width: 992px) {
    border-bottom-right-radius: 20px;
  }
}

/*.header-contact-container--below .header-contact--of-deck {
  background: var(--color-bg);
  border-radius: 5px;
  padding: 5px;
}*/

/*.home .header-top--of-deck {
  @media (width < 1200px) {
    &.header-overlay {
      position: relative;
    }
  }
}*/
/*.header-deck {
  .menu .container--margin {
    padding-right: 0;
    padding-left: 0;
  }

  .header__slogan-container {
    display: flex;
    justify-content: center;
    width: 100%;
  }
}*/

/*.header-bg-container {
  @media (max-width: 991px) {
    &.header-deck-bg {
      width: 100%;
      height: 100%;
        position: absolute;
  top: 0;
  left: 0;
      z-index: -1;
      opacity: 0.35;
    }
  }
}*/

.home {
  .header-deck {
    display: flex;
    flex-direction: column;

    @media (min-width: 992px) {
      position: absolute;
      width: 100%;
      height: 100%;
      z-index: 20;

      > .container,
      > .container-fluid {
        display: flex;
        flex-direction: column;
        flex-grow: 1;

        > .row:first-child {
          flex-grow: 1;
        }
      }
    }
  }
  .header-deck-top-row {
    @media (min-width: 992px) {
      padding-top: 30px;
      padding-bottom: 30px;
    }
  }
}

.split-cta-row {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 15px;
  margin: -45px 0 30px;
  z-index: 10;

  @media (max-width: 767px) {
    flex-wrap: wrap;
  }
  @media (min-width: 768px) {
    margin: -90px 0 30px;
  }
  @media (min-width: 992px) {
    justify-content: flex-end;
    margin: 0 0 80px;
  }
  @media (min-width: 1200px) {
    gap: 30px;
    margin: auto 0 40px;
  }
}

.split-cta-item {
  position: relative;
  display: block;
  flex-basis: 300px;
  color: #fff;
  box-shadow: 11px 12px 24px 0 rgba(0, 0, 0, 0.29);
  border-radius: 20px;
  overflow: hidden;

  &:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 100%;
  }

  &:hover,
  &:focus {
    color: #fff;
    .split-cta-item__txt:after {
      opacity: 0;
    }
    .split-cta-item__txt:before {
      opacity: 1;
    }
  }
  @media (max-width: 767px) {
    border-radius: 10px;
    flex-grow: 1;
    flex-basis: calc(33.33333% - 15px);
  }
  @media (min-width: 992px) {
    flex-basis: 250px;
  }
  @media (min-width: 1500px) {
    flex-basis: 300px;
  }
}

.split-cta-item__txt {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  padding: 10px;
  font-size: var(--f8);
  line-height: 1.2;
  z-index: 10;

  &:after,
  &:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 90%;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
    z-index: -1;
  }

  &:before {
    opacity: 0;
  }

  @media (min-width: 768px) {
    padding: 30px;
    font-size: var(--f6);
  }
  @media (min-width: 992px) {
    font-size: var(--f5);
  }
  @media (min-width: 1200px) {
    font-size: var(--f4);
  }
}

.split-cta-item__img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.split-cta-view-all {
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
  font-weight: 700;
  font-size: var(--f8);
  text-decoration: none;
  color: #fff;

  &:hover,
  &:focus {
    color: #fff;

    .split-cta-view-all__icon {
      background-color: var(--color-second);
      &:after {
        transform: scale(1.2);
      }
    }
  }
  @media (max-width: 767px) {
    flex-basis: 100%;
    justify-content: flex-start;
    flex-direction: row;
  }
  @media (min-width: 768px) {
    font-weight: 400;
    font-size: var(--f7);
  }
  @media (min-width: 1200px) {
    font-size: var(--f6);
  }
}

.split-cta-view-all__txt {
  line-height: 1.2;
  text-align: center;
  @media (min-width: 576px) {
    width: 70%;
  }
}

.split-cta-view-all__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.3);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
  &:after {
    content: "\f178";
    display: block;
    font: var(--fa-font-regular);
    font-size: 1.7em;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
}

/*
 * Jumbo header styles
 */

.header-jumbo {
  @media (min-width: 992px) {
    .header-img {
      min-height: 800px;
      height: calc(100vh - 50px);
    }
  }
  @media (min-width: 992px) and (min-height: 800px) {
    .header-img {
      height: calc(100vh - 50px);
    }
  }
  @media (min-width: 1200px) and (min-height: 900px) {
    .header-img {
      height: 100vh;
    }
  }
}

.header-jumbo-content {
  position: relative;
  width: 100%;
  padding: 30px 0;
  background-color: var(--color-prime);
  color: #fff;

  p:last-child {
    margin-bottom: 0;
  }
  @media (min-width: 768px) {
    padding: 60px 0;
  }
  @media (min-width: 1200px) {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60%;
    max-width: 900px;
    padding: 45px;
    font-size: var(--f7);
    z-index: 10;
    background-color: transparent;

    &:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: var(--color-prime);
      opacity: 0.85;
      z-index: -1;
    }
  }
}

.header-jumbo-scroll {
  position: absolute;
  bottom: 30px;
  left: 30px;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: var(--color-second);
  color: #fff;
  transform-origin: center left;
  z-index: 30;

  &:focus,
  &:hover {
    transform: scale(1.2);
    background-color: #fff;
    color: var(--color-prime);
  }
}

.header-jumbo-scroll__icon {
  text-align: center;

  svg {
    transform: scaleY(1.2);
    transform-origin: top;
    width: 35%;
    fill: currentColor;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
}

/*  Overlay header styles */
.home {
  .header-overlay {
    position: absolute;
    width: 100%;
    z-index: 50;
  }
}

/*  ONEFIRST Ludwig styles */
.header-top-content--of-ludwig {
  @media (min-width: 1200px) {
    .header-logo {
      margin-top: -45px;
    }
  }
}

.header-contact--of-ludwig {
  flex-basis: auto;

  @media (max-width: 767px) {
    margin-right: 15px;
  }
  @media (min-width: 768px) {
    margin-left: auto;
    display: inline-flex;
    padding-left: 0.95em;
    /*  padding: 0.89em 1.5em; */
    border-style: solid;
    border-color: currentColor;
    border-top-width: 0;
    border-right-width: 2px;
    border-bottom-width: 2px;
    border-left-width: 2px;
  }

  .header-contact__item {
    margin: 0.75em 0;
  }

  .btn:last-child {
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    align-self: stretch;
    padding-right: 2em;
    padding-left: 2em;
    margin: 0;
    font-family: var(--font-header);
    font-weight: var(--font-header-weight);
  }
}

.inside-page {
  @media (min-width: 768px) {
    .header-contact--of-ludwig {
      padding-left: 1.25em;
    }
  }
}

.header-ludwig-scroll-container {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 920px;
  z-index: 20;

  @media (max-width: 991px) {
    display: none;
  }
  @media (min-width: 1200px) {
    width: 1110px;
  }
}

.header-ludwig-scroll {
  display: inline-block;
  padding: 1em 2.5em;
  border-style: solid;
  border-color: #fff;
  border-width: 2px 2px 0;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f8);
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;

  &:after {
    content: "\f063";
    margin-left: 0.75em;
    font: var(--fa-font-regular);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    background-color: #fff;
    color: var(--color-prime);
  }
}

/*  ONEFIRST Obsidian styles */
.obs-hamburg-menu {
  padding: 1em;
  border: 1px solid var(--color-second);
  font-size: var(--f8);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--color-copy);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:before {
    content: "\f0c9";
    margin-right: 0.5em;
    font: var(--fa-font-regular);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    border-color: var(--color-prime);
    background-color: var(--color-prime);
    color: #fff;
  }
  @media (min-width: 768px) {
    padding: 1em;
    font-size: var(--f7);
  }
  @media (min-width: 768px) {
    padding: 1.2em 1.5em;
  }
}

.header-obs-links {
  display: flex;
  flex-direction: column;
  gap: 2em;
  margin-bottom: 30px;

  font-weight: 700;
  font-size: var(--f8);
  text-transform: uppercase;
  letter-spacing: 2px;
  @media (min-width: 992px) {
    margin-bottom: 90px;
  }
  @media (min-width: 1200px) {
    margin-bottom: 120px;
    padding-left: 45px;
  }
  @media (min-width: 1500px) {
    padding-left: 60px;
  }
}

.header-obs-links__item {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding-left: 1em;
  text-decoration: none;
  color: #fff;
  transition-property: padding;
  text-wrap: balance;

  &:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -100%;
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-second);
    transition-property: left, background-color;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    padding-left: 2em;
    color: #fff;
    &:before {
      left: -95%;
      background-color: #fff;
    }
  }
}

.header-obs-scroll {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: min(16vw, 320px);
  height: 160px;
  padding: 30px;
  background-color: var(--color-bg);
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter, height;
  fill: var(--color-copy);
  z-index: 10;

  svg {
    width: auto;
    height: 100%;
  }

  &:hover,
  &:focus {
    height: 180px;
    fill: var(--color-prime);
  }
}

/*  ONEFIRST Abstract */
.header-top--of-abs {
  border-bottom: 1px solid rgba(var(--color-bg), 0.5);
}

.home {
  .header-top-content--of-abs {
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(3px);
    z-index: 50;
  }
}

.header-abs-links {
  display: flex;
  gap: 1.5em;
}

.header-abs-links__item {
  position: relative;
  bottom: -3px;
  border-bottom: 3px solid transparent;
  font-size: var(--f7);
  text-decoration: none;
  color: var(--color-copy);

  &:hover,
  &:focus {
    border-color: var(--color-second);
    color: var(--color-prime);
  }
  @media (min-width: 1200px) {
    font-size: var(--f6);
  }
  @media (min-width: 1500px) {
    font-size: var(--f5);
  }
}

.header-abs-hamburg {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 45px;
  height: 45px;
  padding: 6px 4px 4px 4px;
  border-radius: 50%;
  font-weight: 700;
  font-size: var(--f10);
  text-transform: uppercase;
  background-color: var(--color-prime);
  color: #fff;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  svg {
    width: 58%;
  }
  path {
    fill: currentColor;
  }

  &:hover,
  &:focus {
    background-color: var(--color-second);
  }

  @media (min-width: 576px) {
    width: 65px;
    height: 65px;
    font-size: var(--f9);
  }
}

/*  Terraform */
.header-terraform-content {
  display: flex;
  background-color: var(--color-dark, #000);
}

.terraform-start,
.terraform-end__content {
  padding-top: 40px;
  padding-bottom: 40px;
}

.inside-page {
  .terraform-end__content {
    justify-content: center;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.terraform-start {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-basis: 36%;
  max-width: 36%;
  padding-left: 8%;
  background-color: var(--color-dark, #000);
  color: #fff;
  z-index: 20;
}

.terraform-start__content {
  padding-right: 90px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.terraform-logo {
  max-width: 70%;
}

.terraform-slogan {
  margin-top: auto;

  @media (min-width: 1200px) {
    margin: auto 0;

    .slogan-piece {
      width: max(50%, 420px);

      &:first-child {
        width: 200%;
      }
    }
  }
}

.terraform-contact-info {
  .header-contact {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

.terraform-end {
  position: relative;
  flex-grow: 1;
}

.terraform-header-img {
  opacity: 0.5;

  @media (width < 768px) {
    opacity: 1;
  }
}

.home .terraform-header-img {
  @media (width < 768px) {
    position: relative;
  }
  @media (width >= 1200px) {
    .header-img {
      min-height: 100vh;
    }
  }
}

.terraform-header-img--inside {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.header-img--terra-inside {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(5px);
  transform: scale(1.1);
  opacity: 0.8;
}

.terraform-end__content {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding-right: 40px;
  padding-left: 40px;

  @media (width < 768px) {
    position: relative;
    gap: 30px;
    height: auto;
    padding-right: 15px;
    padding-left: 15px;
  }
  @media (min-width: 1200px) {
    padding-right: 8%;
  }
}

.terraform-cta-container {
  margin-top: auto;
}

.terraform-cta-row {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 30px;
  @media (width < 768px) {
    flex-wrap: wrap;
  }
  @media (min-width: 1200px) {
    justify-content: flex-end;
  }
}

.terraform-cta-item {
  flex-basis: 280px;
  text-decoration: none;
  color: #fff;

  &:hover,
  &:focus {
    text-decoration: underline;
    color: #fff;

    .terraform-cta-item__img:after {
      height: 100%;
      opacity: 0.75;
    }
  }

  @media (width < 768px) {
    flex-basis: 100%;
  }
}

.terraform-cta-item__txt {
  margin-bottom: 0.5em;
  font-weight: 500;
  font-size: var(--f7);
  line-height: 1.2;
  letter-spacing: 0.0625em;
  text-transform: uppercase;
}

.terraform-cta-item__img {
  position: relative;
  box-shadow: 0 0 34px 0 rgba(0, 0, 0, 0.38);

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  &:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0%;
    opacity: 0;
    background-color: var(--color-second);
    mix-blend-mode: color;
    transition-duration: 0.3s;
    transition-property: height, opacity;
    transition-timing-function: ease-in-out;
  }
}

/*  Inside page header styles */
.header-inner-page {
  position: relative;
  background-color: var(--color-dark, #000);
  z-index: 0;
  overflow: hidden;
}

.header-inner-content {
  position: relative;
  z-index: 10;

  @media (max-width: 767px) {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }
}

.header-inner-title {
  text-wrap: balance;
}

.header-inner-intro {
  p,
  ul,
  ol {
    &:last-child {
      margin-bottom: 0;
    }
  }
}

.header-inner-content__txt {
  max-width: 860px;

  @media (min-width: 992px) {
    margin-right: 30px;
  }
}

.header-form-container {
  .btn--form {
    &:hover,
    &:focus {
      background-color: #fff;
      color: var(--color-prime);
    }
  }
}

.header-inner-img-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-dark, #000);
  z-index: 0;

  img {
    width: 100%;
    height: 100%;
    max-height: initial;
    object-fit: cover;
    opacity: 0.4;
  }
}

.header-inner-page__img {
  position: relative;
  width: 100%;
  object-fit: cover;
  z-index: 0;

  @media (max-width: 767px) {
    aspect-ratio: 2;
  }
  @media (min-width: 768px) and (max-width: 1199px) {
    aspect-ratio: 3.555555555555556;
  }
  @media (min-width: 1200px) {
    height: 540px;
  }
  @media (min-width: 1900px) {
    height: auto;
    aspect-ratio: initial;
  }
}

.header-inner-page__title {
  padding: 15px 0;
  margin-bottom: 0;
  color: var(--bs-heading-color);
}

.header-inner-page__content {
  background-color: var(--color-quin);
}

@media (min-width: 576px) {
  .header-inner-page__content {
    position: relative;
    display: flex;
    align-items: flex-end;
    width: 100%;
    height: auto;
    padding: 0;
    z-index: 20;
  }

  .header-inner__title-container {
    position: relative;
    flex-grow: 1;
  }
}
@media (min-width: 1200px) {
  .header-inner-page__content {
    top: 0;
    left: 0;
  }
}

/*  Dark Mode */
.dark-mode {
  .header-inner-page__content {
    background-color: rgba(255, 255, 255, 0.1);
  }
  .header-inner-page__title {
    color: #fff;
  }
}

/* menu.scss */
.header-top-content__row {
	position: relative;
}
/*  mega menu */
.mega-menu {
  line-height: 1.2;
	padding-left: 0;
  margin-bottom: 0;

  .menu-item--mega {
    position: static;
  }
}

/*  sub menu styles */
.sub-menu {
  visibility: hidden;
  position: absolute;
  left: 0;
  letter-spacing: 0;
  min-width: 315px;
  border-radius: var(--sub-border-rad);
  border-style: solid;
  border-width: var(--sub-border-width);
  border-color: var(--sub-border-color);
  margin-top: 0;
  background: var(--sub-bg);
  box-shadow: var(--sub-border-shadow);
  opacity: 0;
  z-index: 90;
  text-shadow: none;
  text-align: left;

  &:not(.sub-menu--mega) {
    padding: 0.25rem;
  }
}

.full-menu .sub-menu,
.sub-menu--default {
  .sub-menu {
    left: 100%;
    top: -5px;
  }
}

.sub-menu {
  transition-delay: 0s;
  transition-duration: 0.3s;
  &:last-child {
    & > .menu-item:last-child {
      > .menu-link {
        border-bottom: 0;
      }
    }
  }
}

.sub-menu .menu-item {
  font-family: var(--font-body);
  font-weight: var(--font-body-weight);
  font-size: var(--f7);
  line-height: 1.2;
}

.sub-menu .menu-link {
  padding: 10px;
  text-align: left;
  text-transform: none;
  color: var(--color-copy);
}

.menu-item-has-children:hover > .sub-menu {
  visibility: visible;
  opacity: 1;
  display: block;
}

.focus-outline .menu-item-has-children:focus-within > .sub-menu {
  visibility: visible;
  opacity: 1;
  display: block;
}

.menu-item-has-children.menu-item--team:hover > .sub-menu,
.focus-outline
  .menu-item-has-children.menu-item--team:focus-within
  > .sub-menu {
  display: flex;
}

.menu-item:focus-within > .menu-link,
.sub-menu .menu-item:focus-within > .menu-link {
  outline: none;
}

/* mega sub menu */
.sub-menu--mega {
  display: flex;
  justify-content: flex-start;
  list-style: none;
  visibility: hidden;
  position: absolute;
  left: 0;
  width: 100%;
	padding-left: 0;
  background: var(--color-bg);
  color: var(--color-copy);
  box-shadow: 10px 20px 30px rgba(0, 0, 0, 0.15);
  opacity: 0;
  z-index: 90;
  text-shadow: none;
  container-type: inline-size;  
  gap: 30px;
  overflow: auto;
  max-height: 90vh;
	border-style: none;
}

.focus-outline .menu-item-has-children:focus-within > .sub-menu--mega,
.menu-item-has-children:focus > .sub-menu--mega,
.menu-item-has-children:hover > .sub-menu--mega {
  display: flex;
}

.menu-item-wrap {
	container-type: inline-size;
	flex-basis: 30%;
  flex-grow: 1;
	padding-top: 45px;
	padding-bottom: 45px;

	@media(min-width: 1500px) {
		padding-top: 60px;
		padding-bottom: 60px;
	}
}

.mega-insert--content {
	flex-basis: 30%;
	flex-shrink: 0;
	padding-top: 45px;
	padding-bottom: 45px;
	padding-left: 45px;
	font-family: var(--font-body);
	font-weight: var(--font-body-weight);

	@media(min-width: 1500px) {
		padding-top: 60px;
		padding-bottom: 60px;
		padding-left: 60px;
	}
}

.mega-insert--image {
	align-self: stretch;
	flex-basis: 40%;
	flex-shrink: 0;
}

.mega-menu-image {
	position: relative;
  width: 100%;
  height: 100%;

	img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.mega-menu-content {
	line-height: 1.5;
	font-size: var(--f7);

	p:last-child {
		margin-bottom: 0;
	}
}

.menu-item-container {
	padding-left: 0;
	list-style: none;
}

/* adds columns to the icon drop down but looks very messy when the sub pages are uneven! */
/*
.menu-item-container--icons {
	@container(min-width: 715px) {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 0.75em;
	}
	@container(min-width: 1230px) {
		grid-template-columns: 1fr 1fr 1fr;
	}
}
*/

.sub-menu--mega-icon {
	container-type: inline-size;
}

.sub-menu--mega-icons:not(:has(.mega-insert--content)) {
	padding-left: 45px;
	@media(min-width: 1500px) {
		padding-left: 60px;
	}
}

.sub-menu--mega-icons:not(:has(.mega-insert--image)) {
	padding-right: 45px;
	@media(min-width: 1500px) {
		padding-right: 60px;
	}
}

.sub-menu--mega-icons:not(:has(.mega-insert--content)),
.sub-menu--mega-icons:not(:has(.mega-insert--image)) {
	.mega-col-icon {
  	font-size: var(--f5);
	}
}

.mega-col-icon {
  font-size: var(--f6);
  margin-bottom: 1em;
   padding-bottom: 1em;
   border-bottom: 1px solid rgba(0, 0, 0, 0.15);

	&:last-child {
		margin-bottom: 0;
	}
}

.mega-icon-child-link,
.mega-icon-parent-link {
  display: inline-block;
  text-decoration: none;
  color: var(--color-copy);
}

.mega-icon-parent-link {
  font-weight: bolder;
	text-wrap: balance;

  .mega-title {
    &:after {
      content: "\f105";
      display: inline-block;
      margin-left: 0.5em;
      font: var(--fa-font-regular);
      color: var(--color-second);
			transform-origin: left;
			transition-duration: 0.3s;
			transition-property: transform, color;
    }
  }

	&:hover,
	&:focus {
		color: var(--color-prime);
		.mega-title:after {
			transform: scale(1.2);
		}
	}
}

.mega-icon-child-link {
  font-size: 0.85714286em;

  &:hover,
  &:focus {
    .mega-icon-title-text {
      text-decoration: underline;
    }
    .mega-icon {
      color: var(--color-prime);
    }
  }
}

.mega-icon-title-text {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

.mega-icon {
  width: 1.35em;
  display: inline-block;
  transform: scale(1.2);
  color: var(--color-second);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.mega-desc {
  font-weight: 400;
  font-size: 0.8em;
}

.mega-icons-sub-menu {
  margin-top: 15px;
  padding-left: 0;
  list-style: none;
  container-type: inline-size;
  column-gap: 20px;
  row-gap: 0.5em;
  display: flex;
  flex-wrap: wrap;
}

.mega-icon-item {
  flex-basis: calc(50% - 17px);

	@container (width > 600px){
		flex-basis: calc(33% - 17px);
	}
	@container (width > 800px){
		flex-basis: calc(25% - 17px);
	}
}

/*  service mega menu */
.mega-col-service {
  flex-basis: calc(33% - 22.5px);

  @media (min-width: 1500px) {
    flex-basis: calc(25% - 22.5px);
  }
}

.mega-service-img {
  position: relative;
  aspect-ratio: 21/9;
  margin-bottom: 15px;

  img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.mega-service-title {
  display: inline-block;
  margin-bottom: 0.25em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f5);
  text-decoration: none;
  text-wrap: balance;
  color: var(--color-copy);

  &:after {
    content: "\f105";
    display: inline-block;
    margin-left: 0.5em;
    font: var(--fa-font-regular);
    color: var(--color-prime);
  }
}

.mega-service-sub-menu {
  column-count: 2;
  gap: 1em;
}

.mega-service-sub-menu,
.mega-service-sub-sub-menu {
  padding-left: 0;
  list-style: none;
  font-size: var(--f7);
}

.mega-service-item {
  display: flex;
  align-items: baseline;
  line-height: 1.4;
  position: relative;
  list-style: none;
  break-inside: avoid;

  &:not(:last-child) {
    margin-bottom: 0.25em;
  }

  &::before {
    content: "\e122";
    position: relative;
    display: inline-block;
    margin-right: 0.25em;
    width: 0.8em;
    font: var(--fa-font-solid);
    color: var(--color-second);
  }
}

.mega-service-item--sub {
  margin-left: 0.25em;
  padding-left: 0.4em;
  border-left: 1px solid rgba(0, 0, 0, 0.25);
  &:before {
    filter: grayscale(80%);
    opacity: 0.5;
    transform: scale(0.8);
  }
}

.mega-service-link {
  text-decoration: none;
  color: var(--color-copy);
}

/*  team mega menu */
.mega-col-team {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-basis: calc(25% - 22.5px);

  @media (min-width: 1500px) {
    flex-basis: calc(20% - 24px);
  }
}

.mega-team-img {
  position: relative;
  width: 100px;
  aspect-ratio: 5/7;

  img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    object-fit: cover;
  }
}

.mega-team-link {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f6);
  text-decoration: none;
  color: var(--color-copy);
}

.mega-attorney-title {
  font-family: var(--font-body);
  font-weight: var(--font-body-weight);
  font-size: 0.8em;
  margin-top: 0.4em;
}

/*  wide sub menu */
.menu-sub-wide {
  position: static !important;
  > .sub-menu {
    column-count: 4;
    width: 100%;
  }
}

.menu {
  .container {
    padding: 0;
  }
}

/*  Fix for nested containers in some header layouts */
.menu--sticky {
  margin-top: -1px;
}

.container {
  .menu > .container {
    padding: 0;
  }
}

.menu--bg-prime {
  background-color: var(--color-prime);
}

.menu--bg-second {
  background-color: var(--color-second);
}

.menu--bg-tert {
  background-color: var(--color-tert);
}

.menu-item--white > .menu-item > .menu-link {
  color: #fff;
}

.menu-item--copy > .menu-item > .menu-link {
  color: var(--color-copy);
}

.menu-item--prime > .menu-item > .menu-link {
  color: var(--color-prime);
}

.menu-item--second > .menu-item > .menu-link {
  color: var(--color-second);
}

.menu-item--tert > .menu-item > .menu-link {
  color: var(--color-tert);
}
/* menu item font style */
.mega-menu,
.full-menu {
	margin-bottom: 0;
  > .menu-item {
    flex: 0 1 auto;
    @media (min-width: 992px) {
      align-self: center;
      line-height: 1.2;
      text-align: center;
    }
    @media (min-width: 1200px) {
      font-size: var(--menuFontSize);
    }
  }
}
.mega-menu,
.full-menu {
  > .menu-item > .menu-link {
    @media (min-width: 992px) {
      padding-top: 0.5em;
      padding-bottom: 0.5em;
    }
    @media (min-width: 1200px) {
      padding-top: 0.85em;
      padding-bottom: 0.85em;
    }
  }
}

.menu-item,
.menu-item--default {
  position: relative;
  list-style: none;
}

.menu-link {
  display: inline-block;
  width: 100%;
  padding-left: 0.95em;
  padding-right: 0.95em;
  text-decoration: none;
}

/*  sets default sub menu pop out to the right */
.full-menu > li:last-child > .sub-menu .sub-menu {
  left: initial;
  right: 100%;
}

/*  Makes last menu items sub-menus pop out to left */
.full-menu > li:last-child > .sub-menu,
.full-menu > li:nth-last-child(2) > .sub-menu,
.full-menu > li:nth-last-child(3) > .sub-menu,
.full-menu > li:nth-last-child(4) > .sub-menu {
  right: 0;
  left: inherit;

  .sub-menu {
    left: initial;
    right: 100%;
  }
}

.mega-menu > .menu-item-has-children {
  &:last-child,
  &:nth-last-child(2),
  &:nth-last-child(3),
  &:nth-last-child(4) {
    .sub-menu {
      right: 0;
      left: inherit;

      .sub-menu {
        left: initial;
        right: 100%;
      }
    }
  }
}

/*  Drop-downs */

.menu-item-has-children > a::after {
  content: var(--menuIcon);
  margin-left: 0.5em;
  font: var(--fa-font-regular);
  line-height: 1;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.sub-menu--default .menu-item-has-children > a::after {
  content: "\f0da" !important;
  margin-left: 0.5em;
  font: var(--fa-font-solid);
  line-height: 1;
}

.menu-item-has-children > a:focus-within::after,
.menu-item-has-children > a:focus::after,
.menu-item-has-children > a:hover::after,
.menu-item-has-children:focus-within > a::after,
.menu-item-has-children:hover > a::after {
  color: inherit;
}



.menu-item:hover > .menu-link,
.menu-link:focus,
.menu-link:hover {
  outline: none;
  text-decoration: none;
}

.menu-hover-bg--prime {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    background: var(--color-prime);
  }
}

.menu-hover-bg--second {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    background: var(--color-second);
  }
}

.menu-hover-bg--tert {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    background: var(--color-tert);
  }
}

.menu-hover-bg--quart {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    background: var(--color-quart);
  }
}

.menu-hover-bg--quin {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    background: var(--color-quin);
  }
}

.menu-hover-txt--prime {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    color: var(--color-prime);
  }
}

.menu-hover-txt--second {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    color: var(--color-second);
  }
}

.menu-hover-txt--tert {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    color: var(--color-tert);
  }
}

.menu-hover-txt--quart {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    color: var(--color-quart);
  }
}

.menu-hover-txt--white {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    color: #fff;
  }
}

.menu-hover-txt--copy {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    color: var(--color-copy);
  }
}

.menu-hover-txt--quin {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    color: var(--color-quin);
  }
}

.sub-menu .menu-link:focus,
.sub-menu .menu-link:hover {
  outline: none;
  text-decoration: none;
}
/*  Add menu-border-hover class to menu_class php argument to change hover from background color to border-bottom */

.menu-border-hover {
  margin: 0 -0.25em;
  gap: 0.5em;
}

.menu-border-hover > .menu-item > .menu-link {
  padding-left: 0.25em;
  padding-right: 0.25em;
  padding-bottom: 0.25em;
  border-bottom: 4px solid transparent;
  line-height: 1.2;
}

.menu-border-hover > .menu-item > .menu-link:focus,
.menu-border-hover > .menu-item > .menu-link:hover,
.menu-border-hover > .menu-item:hover > .menu-link {
  background: transparent;
  cursor: pointer;
}

.menu-hover-bg--prime.menu-border-hover {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    border-color: var(--color-prime);
  }
}

.menu-hover-bg--second.menu-border-hover {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    border-color: var(--color-second);
  }
}

.menu-hover-bg--tert.menu-border-hover {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    border-color: var(--color-tert);
  }
}

.menu-hover-bg--quart.menu-border-hover {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    border-color: var(--color-quart);
  }
}

.menu-hover-bg--quin.menu-border-hover {
  > .menu-item > .menu-link:focus,
  > .menu-item > .menu-link:hover,
  > .menu-item:hover > .menu-link {
    border-color: var(--color-quin);
  }
}

/*  Fixed menu and sub menu hover styles */
.menu--sticky {
  .full-menu > .menu-item > .menu-link {
    &:hover,
    &:focus {
      background-color: var(--color-bg);
      color: var(--color-prime);
    }
  }
}

.sub-menu,
.sub-menu--default {
  .menu-link {
    &:hover,
    &:focus {
      background-color: var(--color-prime);
      color: #fff !important;
    }
  }
}

.sub-menu,
.sub-menu--default {
  .menu-item-has-children > a::after {
    color: inherit;
  }
}
/* Popup menu styles */
.popup-nav__content .menu {
  background: transparent;
}

.locked {
  -webkit-overflow-scrolling: auto;
  height: 100%;
  overflow: hidden;
}

.popup-nav__overlay {
  /* visibility: hidden; */
  position: fixed;
  z-index: 9999999999;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  overflow-x: clip;
  overflow-y: scroll;
  transition-duration: 0.5s;
  transition-property: width, height, transform, opacity, box-shadow;
  transition-timing-function: ease-in-out;

  background-color: rgba(0, 0, 0, 0.9);

  @media (min-width: 1200px) {
    visibility: hidden;
  }
}

.popup-nav-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.popup-nav-open {
  opacity: 1;
  @media (min-width: 1200px) {
    visibility: visible;
  }
}

.popup-nav-height {
  height: 0%;

  &.popup-nav-open {
    height: 100%;
  }
}

.popup-nav-curtain {
  height: 50%;
  transform: translateY(-100%);

  &.popup-nav-open {
    height: 100%;
    transform: translateY(0);
  }
}

.popup-nav-slide {
  left: initial;
  width: 100%;
  transform: translateX(100%);
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);

  &.popup-nav-open {
    width: 90%;
    transform: translateX(0);
    box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.3);
  }
}

.popup-nav__content {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.closebtn {
  position: absolute;
  top: 15px;
  right: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  text-decoration: none;
  background-color: var(--color-prime);
  color: var(--color-bg);
  z-index: 90;

  svg {
    display: block;
    width: 100%;
    height: auto;
    fill: currentColor;
    transform: scale(0.5);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:focus,
  &:hover {
    text-decoration: none;
    background-color: #fff;

    svg {
      fill: var(--color-prime);
    }
  }
}

.mobile-menu {
  padding-left: 15px;
  padding-top: 15px;
}

.mobile-menu .menu {
  flex-direction: column;
}

.mobile-menu > ul {
  padding-left: 0;
}

.mobile-menu > li {
  margin-right: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.mobile-menu li {
  list-style: none;
  padding-bottom: 0.2em;
  margin-bottom: 0.2em;
}

.mobile-menu .menu-item-has-children {
  padding: 0;
  margin: 0;
}

.mobile-menu .menu-item .sub-menu {
  padding-left: 0.5em;
}

.mobile-menu .menu-item .sub-menu .sub-menu {
  padding-left: 0;
}

.mobile-menu a {
  display: block;
  padding: 0.75em 0.5em;
  font-weight: 400;
  font-size: var(--f6);
  line-height: 1.2;
  text-decoration: none;
  color: #fff;

  &:visited {
    color: #fff;
  }
}

.mobile-menu .menu-item a:focus,
.mobile-menu .menu-item:focus-within a {
  background: transparent;
}

.mobile-menu .sub-menu {
  opacity: 1;
}
/*  Mobile accordion menu styles */

#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  line-height: 1;
  display: block;
  position: relative;
}

#cssmenu {
  width: 100%;
  padding-top: 15px;
  padding-left: 15px;
  padding-right: 15px;
  color: #ffffff;
}

#cssmenu ul ul {
  display: none;

  @media (min-width: 1200px) {
    column-count: 3;
    column-gap: 15px;
  }
}

#cssmenu ul ul .menu-item-has-children > ul {
  @media (min-width: 768px) {
    column-count: 1;
  }
}

#cssmenu > ul li {
  font-size: var(--f6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

#cssmenu > ul > li a {
  padding: 15px 10px;
  cursor: pointer;
  z-index: 2;
  text-decoration: none;
  color: #ffffff;
}

#cssmenu .menu-item-has-children {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  a:after {
    display: none;
  }

  ul {
    flex-basis: 100%;
  }

  .submenu-toggle-open {
    display: none;
  }

  &.open > .submenu-toggle {
    .submenu-toggle-closed {
      display: none;
    }
    .submenu-toggle-open {
      display: block;
    }
  }
}

#cssmenu .submenu-toggle {
  float: right;
  color: #fff;
  margin-left: 15px;
  text-transform: uppercase;
  font-size: 0.5em;
  letter-spacing: 0.01em;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 0.3em;
  border-radius: 4px;
}

.submenu-toggle-closed {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  &:after {
    content: "\002B";
    margin-left: 7px;
    line-height: 1;
  }
}

.submenu-toggle-open {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  &:after {
    content: "\2212";
    margin-left: 7px;
    line-height: 1;
  }
}

#cssmenu > ul > li > a:focus,
#cssmenu > ul > li > a:hover,
#cssmenu > ul > li.active > a,
#cssmenu > ul > li.open > a {
  background-color: transparent;
  color: #eeeeee;
}

#cssmenu ul li.open > a {
  border-bottom: 1px solid var(--color-second);
}

/*#cssmenu > ul > li.last > a,
#cssmenu > ul > li:last-child > a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

#cssmenu > ul > li > a:hover > span::after,
#cssmenu > ul > li.active > a > span::after,
#cssmenu > ul > li.open > a > span::after {
  border-color: #eeeeee;
}

#cssmenu ul ul li:first-child > a {
  box-shadow: none;
}

#cssmenu ul ul ul li:first-child > a {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
	
#cssmenu ul ul ul li a {
  padding-left: 1.75em;
}*/

#cssmenu > ul > li > ul > li.last > a,
#cssmenu > ul > li > ul > li:last-child > a {
  border-bottom: 0;
}

/*#cssmenu > ul > li > ul > li.last.open > a,
#cssmenu > ul > li > ul > li.open:last-child > a {
  border-bottom: 1px solid #32373e;
}*/

#cssmenu > ul > li > ul > li.open:last-child > ul > li:last-child > a {
  border-bottom: 0;
}

#cssmenu ul ul li > a:hover::after,
#cssmenu ul ul li.active > a::after,
#cssmenu ul ul li.open > a::after {
  border-color: #ffffff;
}

/*  Styles for the popup menu when used on large devices */
@media (min-width: 1200px) {
  #cssmenu {
    /*display: flex;
    flex-direction: column;
    justify-content: center;*/
    height: 100%;
  }

  #cssmenu ul.mobile-menu {
    width: 950px;
    padding-top: 30px;
    padding-bottom: 30px;
    margin: auto;
  }

  #cssmenu > ul > li > a {
    font-size: var(--f4);

    &:focus,
    &:hover {
      text-decoration: underline;
      color: #fff;
    }
  }

  #cssmenu ul ul li a {
    font-size: var(--f5);

    &:focus,
    &:hover {
      text-decoration: underline;
      color: #fff;
    }
  }

  .closebtn {
    flex-direction: column;
    top: 60px;
    right: 80px;
    width: 45px;
    height: 45px;
    font-size: var(--f4);
    text-align: center;
  }
}

/* sidebar.scss */
#stickySidebar {
  @media (width < 992px) {
    position: static !important;
  }
}

ul.nav {
  padding-left: 0;
}

.sidebar-content {
  @media (max-width: 991px) {
    display: flex;
    flex-direction: column;
  }
  @media (min-width: 992px) {
    height: 100%;
  }
  @media (min-width: 1200px) {
    padding-left: 30px;
  }
}

.sidebar-content--start {
  @media (min-width: 1200px) {
    padding-right: 30px;
  }
}

.sidebar-sticky {
  @media (max-width: 991px) {
    order: -1;
  }
}

.sidebar-content__item {
  margin-bottom: 1.65em;
}

/*  sidebar map embed */

.sidebar__map-embed iframe {
  width: 100%;
  height: 250px;
}

.sidebar__map-address {
  line-height: 1.2;
}
/*  Recent posts in sidebar */

.widget-title {
  margin-bottom: 0.25em;
}

.sidebar-posts-list {
  padding-left: 0;
}

.sidebar-posts-list li {
  list-style: none;
  font-size: var(--f6);
  margin-bottom: 0.75em;
  line-height: 1.4;	
}

.sidebar-posts-list li:last-child {
  margin-bottom: 0;
}

.sidebar-posts-list a {
  padding: 0;
  font-size: var(--f7);
  text-decoration: none;
  color: var(--color-copy);

  &:focus,
  &:hover {
    text-decoration: underline;
    color: var(--color-link-hover);
  }
}
/*  Related Content */

.sidebar__sub-page-list {
  font-size: var(--f7);
}
/*  Recent posts */

.sidebar__related-posts a:not([class]) {
  display: inline-block;
  font-size: var(--f7);
  line-height: 1.2;
  text-decoration: none;
  color: var(--color-copy);

  &:focus,
  &:hover {
    text-decoration: underline;
    color: var(--color-link-hover);
  }
}
/*  Search bar styles */

.search-form {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

.search-form > label {
  flex-basis: 100%;
}

.widget_search .search-form input[type="submit"] {
  flex-basis: 100%;
  display: inline-block;
  letter-spacing: 0;
}

.search-field {
  height: 100%;
  border: 1px solid var(--color-prime);
  border-radius: 0;
  font-size: var(--f5);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.search-field:focus {
  box-shadow: none;
  border-color: var(--color-second);
  box-shadow: inset 0 0 0 1px var(--color-second);
}

.search-submit.btn {
  padding: 1em 0.75em;
  font-size: var(--f8);
}

.search-results .entry-summary {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
@media (min-width: 768px) {
  .search-form {
    flex-wrap: nowrap;
  }

  .search-form > label {
    flex-basis: 80%;
    margin: 0;
    padding-right: 1em;
  }

  .widget_search .search-form input[type="submit"] {
    flex-basis: 20%;
  }
}

/* footer.scss */
.footer-main {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-top: auto;
}

.inside-page {
  .footer-main {
    border-top: 1px solid var(--color-quin);
  }
}

.footer-main a:not([class]) {
  text-decoration: none;

  &:focus,
  &:hover {
    text-decoration: underline;
  }
}

.footer-logo {
  @media (min-width: 1200px) {
    max-width: var(--footerLogoMaxW, 300px);
  }
}

.footer-social {
  .social-ico-row {
    gap: 7px;
  }

  .social-ico {
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    line-height: 1.2;
    background-color: var(--color-prime);
    color: #fff;

    &:hover,
    &:focus {
      transform: scale(1.1);
      background-color: var(--color-second);
    }
  }
}

.mobile-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  z-index: 99999999;
}

.mobile-nav__link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  flex-basis: 0;
  padding: 0.5em 0;
  border-radius: 0;
  margin-left: -1px;
  margin-right: -1px;
  border-radius: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  font-size: var(--f7);
  line-height: 1.2;
  text-decoration: none;
  text-align: center;
  background: var(--color-prime);
  color: #fff;

  &:before {
    font: var(--fa-font-light);
    margin-right: 0.25em;
  }

  &:active,
  &:focus,
  &:hover {
    background-color: #f0f0f1;
    color: #222;
  }
}

.mobile-nav__link--call:before {
  content: "\f3cd";
}

.mobile-nav__link--menu:before {
  content: "\f0c9";
}

.mobile-nav__link--contact:before {
  content: "\f658";
}

/*  This adds extra space to the bottom of the buttons for iPhone X's Home Indicator bar */
@media only screen and (min-device-width: 375px) and (max-device-width: 812px) and (-webkit-device-pixel-ratio: 3) {
  .mobile-nav {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

.modal-dialog--call {
  top: 50%;
  transform: translateY(-50%) !important;

  .modal-content {
    background-color: var(--color-bg);
    color: var(--color-copy);
  }
}

.modal-body--call {
  line-height: 1.2;
  color: var(--color-copy);

  a {
    color: var(--color-copy);
  }
}

.footer__multi-locations {
  margin-top: auto;
}

.footer__multi-locations + .footer-main {
  margin-top: 0;
}

.footer_mutli-loc-item {
  font-size: var(--f7);
  line-height: 1.2;
}

.footer__multi-loc-map {
  height: 150px;
  margin-bottom: 15px;

  iframe {
    height: 100%;
  }
}

.footer__multi-loc-title {
  font-weight: 700;
  font-size: var(--f6);
}

.site-credit {
  display: inline-flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0.5em;
  width: 280px;
  margin-top: 0.75em;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
    "Segoe UI Symbol";
  font-weight: 600;
  font-size: var(--f9);
  line-height: 1;
  text-align: right;
  text-decoration: none;
  @media (max-width: 991px) {
    flex-direction: column;
    align-items: center;
  }
}

.site-credit__txt {
  flex-basis: 40%;
  margin-bottom: 0.12em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.site-credit__logo {
  flex-shrink: 0;
  flex-grow: 0;
  width: auto;
  height: 27px;

  svg {
    width: 100%;
    height: 100%;
  }

  &.credit-logo-loggia {
    height: 22px;
    margin-left: 7px;
  }

  &.credit-logo-coach {
    margin-left: 7px;
    margin-bottom: 2px;
  }

  @media (min-width: 992px) {
    &.credit-logo-omni {
      position: relative;
      right: -6px;
    }
    &.credit-logo-pets {
      position: relative;
      bottom: -0.2em;
    }
  }
}

.ada-notice {
  background: var(--color-quin);

  a,
  a:visited {
    color: inherit;

    &:focus,
    &:hover {
      text-decoration: none;
    }
  }
}

.ftr-notices-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.ada-notice--credit {
  @media (min-width: 992px) {
    .ftr-notices-row {
      justify-content: flex-start;
    }
    .site-credit-container {
      display: flex;
      justify-content: flex-end;
    }
  }
}

.ftr-notices-row__item {
  &:not(:last-child) {
    &:after {
      content: "\000A0|\000A0 ";
    }
  }
}
@media (max-width: 335px) {
  .mobile-nav__icon {
    display: none !important;
  }
}
@media (min-width: 576px) {
  .ftr__mutli-address-row {
    margin-left: -15px;
    margin-right: -15px;
  }

  .ftr__multi-address {
    flex-basis: 0;
    flex-grow: 1;
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 0;
  }
}

/*
 * Attempting to organized common widgets that
 * stick to the footer here, this moves them
 * above the mobile footer nav.
 */
html body {
  @media (max-width: 767px) {
    .zsiq_floatmain.zsiq_theme1.siq_bR,
    div.calendly-badge-widget {
      bottom: 60px !important;
    }

    #apexchat_prechat_invitation_wrapper {
      bottom: 25px !important;
    }

    #tidio-chat-iframe {
      bottom: 35px !important;
    }

    #icw {
      bottom: 60px !important;
    }

    #podium-bubble {
      bottom: 45px !important;
    }

    #fd-mobile-greeting {
      bottom: 105px !important;
    }

    #fd-mobile-avatar {
      bottom: 40px !important;
    }

    .liveChatFloatingButtonMobile {
      bottom: 36px !important;
    }

    .chatsupport-button {
      bottom: 50px !important;
    }

    #smithChatWidget.standard-position {
      bottom: 45px !important;
    }
  }
}

/* blog.scss */
.post-summary-box {
	p:last-child {
		margin-bottom: 0;
	}
}

.blog-single-header {
	margin-bottom: 45px;
}

.blog-single-header-info {
	line-height: 1.2;	
	@media(min-width: 992px) {
		display: flex;
		flex-direction: column;
		height: 100%;
	}
}

.blog-single-cat {
  padding: 0.12em 0.3em;
	line-height: 1.2;
	text-decoration: none;
  background-color: var(--color-prime);
  color: #fff;	
	&:hover,
	&:focus {
		background-color: var(--color-second);
		color: #fff;
	}
}

.blog-single-detail-row {
	align-items: center;
	max-width: 730px;
	margin-bottom: 30px;

	@media(min-width: 992px) {
		margin-bottom: 35px;
	}
}

.blog-single-detail {
	display: inline-flex;
  align-items: baseline;

	&:before {		
		display: inline-block;
		margin-right: 0.375em;
		font: var(--fa-font-solid);
		color: var(--color-second);
	}
}

.blog-single-detail--date:before {
	content: "\f133";
}
.blog-single-detail--time:before {
	content: "\f017";
}

.blog-single-share {
	display: inline-flex;
	align-items: center;
	transition-duration: 0.3s;
  transition-property: color,background-color,fill,transform,text-shadow,letter-spacing,outline,border,box-shadow,opacity,filter;
  transition-timing-function: ease-in-out;

		&:before {	
			content: "\f1e0";	
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 34px;
			height: 34px;
			border-radius: 50%;
			margin-right: 0.375em;
			font: var(--fa-font-solid);
			font-size: var(--f6);
			background-color: var(--color-second);
			color: #fff;
			transition-duration: 0.3s;
			transition-property: color,background-color,fill,transform,text-shadow,letter-spacing,outline,border,box-shadow,opacity,filter;
			transition-timing-function: ease-in-out;
			transform-origin: right;
	}

@media(min-width: 992px) {
	position: relative;
}

	&:hover,
	&:focus {
		color: var(--color-prime);

		&:before {
			transform: scale(1.2);
		}
	}
}

.blog-single-share	.post-share-container {
  	display: none;
		position: absolute;
		box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.15);
		background: var(--color-bg);
		z-index: 20;

		@media(width < 992px) {
			left: 50%;
  		transform: translateX(-50%);
		}
		@media(min-width: 992px) {
			left: 0;
		}
	}


/* Show when button is focused */
.blog-single-share:focus .post-share-container,
.blog-single-share:focus-within .post-share-container {
  display: flex;
}

/* Class added by JS when clicked */
.blog-single-share.is-open .post-share-container {
  display: flex;
}

.blog-single-header-image {
	position: relative;
	border-top-right-radius: 40px;
	aspect-ratio: 540/360;
	overflow: clip;

	img {
		width: 100%;
		height: 100%;
	}
}

.blog-single-toc-container {
	border-top: 6px solid var(--color-second);
	padding: 30px 30px 45px;
	font-size: var(--f7);
	box-shadow: 6px 6px 15px 0 rgba(0,0,0,0.15);
	background-color: var(--color-bg);
}

.auto-toc {
	line-height: 1.2;

	ul {
		margin-bottom: 0;
	}

	a {
		color: var(--color-copy);
		text-decoration: none;

		&:hover,
		&:focus {
			text-decoration: underline;
			color: var(--color-prime);
		}
	}
}

.blog-single-footer {
	margin-top: 45px;
	margin-bottom: 45px;
}

.blog-single-cta-block {
	padding: 45px 0;
	margin-bottom: 45px;
}

/*  author chip component */
.author-chip-om {
  margin-top: 50px;
  padding-top: 40px;
  border-top: 1px solid rgba(0, 0, 0, 0.25);
  margin-bottom: 30px;
}

.author-chip-title {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 1.4rem;
  border-left: 3px solid #aaa;
  margin-bottom: 0.75em;
  line-height: 1.2;
  padding-left: 0.5em;
}

.author-chip-txt {
  font-size: 1.6rem;
}

.author-chip-fig:has(> img[src=""]),
.author-chip-postby-img:has(> img[src=""]) {
  display: none;
}

.author-chip-fig {
  position: relative;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  flex-shrink: 0;
  overflow: hidden;
}

.author-chip-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.author-chip-postby {
  display: flex;
  align-items: center;
  gap: 1em;
}

.author-chip-postby-img {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  overflow: hidden;

  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
  }
}

.author-chip-postby-link {
  font-weight: 700;
}

@media (max-width: 767px) {
  .author-chip-fig {
    float: right;
    margin-left: 1em;
    margin-bottom: 0.5em;
  }
}

@media (min-width: 768px) {
  .author-chip-om {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
  }

  .author-chip-txt {
    flex-basis: calc(100% - 150px);
  }

  .author-chip-fig {
    margin: 0;
  }
}

/*  share component */
.post-share-container {
  display: flex;
  gap: 0.5em;
  font-size: 1.4rem;
  line-height: 1.2;
}

.post-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  border: 2px solid;
  border-radius: 6px;
  padding: 0.45em 0.5em;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  color: inherit;
}
.post-share-btn:hover,
.post-share-btn:focus {
  text-decoration: none;
  background-color: #333;
  color: #fff;
}
.post-share-btn--fb {
  border-color: #1b74e4;
}
.post-share-btn--tw {
  border-color: #1c98ec;
}
.post-share-btn--li {
  border-color: #2977c9;
}
.post-share-icon {
  display: inline-flex;
}
.post-share-icon svg {
  display: inline-block;
  height: 16px;
  transition: all 0.3s ease-in-out;
}
.post-share-icon--fb svg {
  width: 9px;
  fill: #1b74e4;
}
.post-share-icon--tw svg {
  width: 20px;
  fill: #1c98ec;
}
.post-share-icon--li svg {
  width: 16px;
  fill: #2977c9;
}
.post-share-btn:hover svg,
.post-share-btn:focus svg {
  fill: #fff !important;
}
.post-share-sr-only {
  position: absolute;
  left: -999999px;
  color: inherit;
}

.blog-pagination {
  width: 100%;
  flex-grow: 1;

  ul {
    display: flex;
    align-items: center;
    gap: 0.5em;
    width: 100%;
    flex-grow: 1;
    line-height: 1.2;
    padding-left: 0;
    margin-bottom: 15px;
    list-style: none;
  }

  li {
    padding-left: 0 !important;
    margin: 0 !important;

    &:before {
      display: none !important;
    }

    &:not([class]),
    &.active {
      a {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        aspect-ratio: 1;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        text-decoration: none;
        background-color: #fff;
        color: #717171;

        &:hover,
        &:focus {
          background-color: var(--color-prime);
          color: #fff;
        }
      }
    }

    &.active {
      a {
        background-color: var(--color-prime);
        color: #fff;

        &:hover,
        &:focus {
          background-color: var(--color-quin);
          color: var(--color-prime);
        }
      }
    }
  }
}

.blog-pagination--prev,
.blog-pagination--next {
  a {
    color: var(--color-link);

    &:focus,
    &:hover {
      color: var(--color-prime);
    }
  }
}

.blog-layout-default {
  .blog-page-post {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  }
}

.blog-layout-grid {
  display: grid;
  gap: 30px;
  margin-bottom: 45px;

  .blog-page-post {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    box-shadow: 3px 3px 15px 0 rgba(0, 0, 0, 0.15);
    background-color: #fff;
    overflow: hidden;
    border-bottom: 5px solid var(--color-second);
  }

  @media (min-width: 768px) {
    grid-template-columns: 1fr 1fr;
  }
  @media (min-width: 1200px) {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.post-thumbnail {
  position: relative;
  overflow: clip;
  aspect-ratio: 1.75;

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.post-thumbnail--grid {
  margin-bottom: 0;
}

.post-preview--grid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  padding: 15px;

  .blog-read-more {
    margin-top: 0;
  }

  @media (min-width: 768px) {
    padding: 30px;
  }
}

.post-title {
  font-size: var(--f3);

  a {
    color: inherit;
  }
}

.post-title--grid {
  font-size: var(--f5);
}

.entry-meta {
  margin-bottom: 1rem;
  font-weight: 400;
  font-size: var(--f8);
  line-height: 1;
  letter-spacing: 0.125em;
  text-transform: uppercase;
}

.blog-excerpt--grid {
  font-size: var(--f7);
}

.posts-navigation {
  flex-basis: 100%;
  margin-top: 30px;
}

.nav-links {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.nav-next,
.nav-previous {
  display: flex;
  align-items: baseline;

	a {
		text-decoration: none;
		color: var(--color-copy);

		&:hover,
		&:focus {
			color: var(--color-link-hover);
		}
	}
}

.nav-next::after,
.nav-previous::before {
  font: var(--fa-font-regular);
  color: var(--color-second);
}

.nav-previous::before {
  content: "\f100";
  margin-right: 0.25em;
}

.nav-next {
	text-align: right;

	&:after {
		content: "\f101";
		margin-left: 0.25em;
	}
}

.pagination {
  position: relative;
  justify-content: space-between;
  z-index: 10;
}

.blog-search {
  display: flex;
  gap: 1rem;
  @media (min-width: 1200px) {
    flex-wrap: wrap;
  }
}

.blog-grid-search {
  display: flex;
  gap: 1rem;
  margin-bottom: 30px;
  padding: 10px;
  background-color: var(--color-quin, #eee);
  @media (min-width: 768px) {
    padding: 30px;
  }
}

#searchform input {
  flex-grow: 1;

	&::placeholder {
		opacity: 1;
		font-size: var(--f7);
		font-weight: 700;
		color: var(--color-copy);
	}
}

.btn.btn-blog-search {
  padding: 0.75em;
  &:after,
  &:before {
    display: none;
  }
  @media (min-width: 1200px) {
    flex-shrink: 0;
  }
}

.blog-read-more {
  display: inline-block;
  margin-top: 15px;
}

.blog-read-more--external {
  &:after {
    content: "\f08e";
    display: inline-block;
    margin-left: 0.5em;
    font: var(--fa-font-solid);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
}

/*  Dark Mode */
.dark-mode {
  .blog-read-more {
    color: #fff;

    &:hover,
    &:focus {
      color: #7189e1;
    }
  }
  .blog-layout-grid {
    .blog-page-post {
      background-color: rgba(255, 255, 255, 0.1);
    }
  }
}

/* video-page.scss */
.video-archive-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 30px;
}
@media (min-width: 768px) {
  .video-archive-grid {
    grid-gap: 60px;
  }
}
@media (min-width: 992px) {
  .video-archive-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* gforms.scss */
/*  Gravity Form Styles */
.gf-cache-buster-form-container {
  min-height: 300px;
}

.gform-loader {
  box-sizing: border-box;
  margin-top: 11px;
  margin-left: 10px;
  border: 4px solid rgba(29, 188, 224, 1);
  border-left: 4px solid rgba(29, 188, 224, 0.2);
  border-top: 4px solid rgba(29, 188, 224, 0.35);
  border-right: 4px solid rgba(29, 188, 224, 0.25);
  animation: spinner 1.1s infinite linear;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  position: absolute;
  z-index: 1;
}
@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.gfield--type-html {
  a {
    color: inherit;
    font-weight: bolder;
  }
}

.gform-footer {
  margin-top: 20px;
}

/*  progress indicators */
.gf_progressbar_title {
  font-size: var(--f7);
  font-weight: 700;
  margin-bottom: 0.5em;
}

.gf_progressbar {
  background-color: var(--color-quin);
  border-radius: 30px;
  overflow: clip;
  height: 16px;
  display: flex;
  align-items: center;
  margin-bottom: 0.75em;
}

.gf_progressbar_percentage {
  font-size: var(--f9);
  text-align: center;
  background-color: var(--color-second);
}

.gfield--type-captcha {
  label {
    position: absolute;
    left: -99999px;
  }
}
/*  sidebar form */
.sidebar__form {
  .gchoice {
    flex-basis: 100%;
  }
}

/*  date input */

.gform-grid-row {
  display: flex;
  gap: 7px;

  .gform-grid-col {
    flex-grow: 1;
  }
}

/*  address input */
.ginput_container_address {
  flex-wrap: wrap;

  .ginput_address_line_1,
  .ginput_address_line_2 {
    flex-basis: 100%;
  }

  .ginput_address_city,
  .ginput_address_state,
  .ginput_address_zip {
    flex-basis: calc(33.3333% - 5px);
  }

  @media (width < 768px) {
    .ginput_address_city {
      flex-basis: 100%;
    }
    .ginput_address_state,
    .ginput_address_zip {
      flex-basis: calc(50% - 5px);
    }
  }
}

.clear-multi {
  display: flex;
  gap: 10px;

  div {
    flex-grow: 1;
  }
}

/*  Date picker */
.gfield--type-date .gform-grid-row {
  display: flex;
  gap: 7px;

  .gfield_date_month,
  .gfield_date_day {
    flex-basis: calc(33% - 7px);
  }

  .gfield_date_year {
    flex-basis: calc(66% - 7px);
    flex-grow: 1;
  }
}

#ui-datepicker-div {
  padding: 10px;
  border-radius: 6px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.25);
  background: #fff;
  color: #222;
}

.ui-datepicker-header {
  display: flex;
  flex-wrap: wrap;
}

.ui-datepicker-next,
.ui-datepicker-prev {
  flex-basis: 50%;
  text-align: center;
}

.ui-datepicker-title {
  display: flex;
  flex-grow: 1;
  gap: 0.5em;
}

.ui-datepicker-calendar {
  text-align: center;
  background-color: #fff;
  color: #222;

  a {
    display: inline-block;
    padding: 0.5em;
    color: #222 !important;
    text-decoration: none !important;
  }
}

td[data-handler="selectDay"] {
  padding: 0;
}

.ui-state-disabled {
  background-color: #ececec;
}

.gform_fields li {
  padding-left: 0 !important;

  &:before {
    display: none !important;
  }
}

/* hides the Phone format: (###) ###-#### validation message since the field auto-formats to this */
.ginput_container_phone {
  .instruction {
    display: none;
  }
}

.gform_submission_error {
  font-size: var(--f5) !important;
  color: inherit !important;
}

.gfield--width-full {
  width: 100%;
}
/*  Hides the honey pot field */

.gform_validation_container {
  position: absolute !important;
  left: -9999px !important;
}
/*  Hide the required legend */

.gform_required_legend {
  position: absolute !important;
  left: -9999px !important;
}

.gform_validation_errors {
  color: inherit;

  h2 {
    color: inherit;
    font-size: var(--f5);
  }

  a,
  a:visited {
    color: inherit;
    text-decoration: underline;
  }

  a:focus,
  a:hover {
    text-decoration: none;
    background-color: var(--color-bg);
    color: var(--color-copy);
  }
}

.gform_fields {
  container-type: inline-size;
  display: flex;
  flex-wrap: wrap;
  column-gap: 14px;

  @media (min-width: 992px) {
    .gfield--width-half,
    .gfield--width-quarter {
      flex-basis: calc(50% - 7px);
    }

    .gfield--width-third {
      flex-basis: calc(33.33333% - 14px);
    }
  }
  @media (min-width: 1200px) {
    .gfield--width-quarter {
      flex-basis: calc(25% - 7px);
      .gfield_label {
        font-size: 0.79em;
        font-weight: 600;
      }
    }
  }
}

.gfield--type-section,
.gfield {
  flex-basis: 100%;
  flex-grow: 1;
}

.gfield--type-phone,
.gfield--type-email {
  @container (min-width: 730px) {
    flex-basis: calc(50% - 7.5px);
  }
}

.gform_wrapper {
  position: relative;
  z-index: 0;
}

.gfield_visibility_hidden {
  visibility: hidden;
  position: absolute;
}

.gform_wrapper.gravity-theme .gf_hidden,
.gform_wrapper.gravity-theme .gform_hidden {
  display: none;
}

label {
  display: inline-block;
}

label,
legend {
  width: auto;
  max-width: 100%;
  margin-bottom: 0.25em;
  font-weight: 400;
  font-size: var(--f6);
  line-height: 1.2;
  text-align: left;
  text-wrap: balance;
}

.hidden_label {
  .gfield_label {
    position: absolute;
    left: -99999px;
  }
}
/*  Label below first - last name fields */

.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
  display: block;
  font-size: var(--f7);
}

input,
select,
textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--color-prime);
  box-shadow: inset 0 0 0 1px transparent;
  background-color: #fff;
  transition-duration: var(--dur, 0.3s);
  transition-property: var(
    --prop,
    color,
    background-color,
    fill,
    transform,
    text-shadow,
    letter-spacing,
    outline,
    border,
    box-shadow,
    opacity,
    filter
  );
  transition-timing-function: var(--timing, ease-in-out);
}

input[type="file"] {
  background-color: transparent;
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-second);
  box-shadow: inset 0 0 0 2px var(--color-second);
}

textarea {
  resize: vertical;
  height: 120px;
}

select {
  padding: 11.5px 10px;
  word-wrap: normal;
}
/*  Check boxes */

.content-block ul.gfield_checkbox,
.gfield_checkbox {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  padding-left: 0;
}

.gfield--type-choice.gfield {
  margin-bottom: 1em;
}

.gchoice {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
  line-height: 1.2;

  &:not(:last-child) {
    margin-bottom: 0.75em;
  }

  @media (min-width: 768px) {
    flex-basis: calc(50% - 0.5em);
    flex-grow: 1;
    &:not(:last-child) {
      margin-bottom: 0;
    }
  }
}

.gfield_checkbox label {
  margin-bottom: 0;
}

.gfield-choice-input {
  flex-grow: 0;
  width: initial;
  transform: scale(1.2);
  transform-origin: top;
  margin-top: 0.125em;
}

/*  consent */
.ginput_container_consent {
  display: flex;
  align-items: baseline;
  gap: 0.5em;

  input[type="checkbox"] {
    transform: scale(1.2);
    transform-origin: top;
    width: auto;
  }

  label {
    flex-shrink: 0;
  }
}

/*  Radio buttons */

.gfield_radio {
  list-style: none;
  padding-left: 0;
}

input[type="radio"] {
  width: auto;
  margin-right: 0.5em;
  margin-bottom: 0.125em;
}

.gfield {
  margin-bottom: 0.75em;

  &.gform_hidden,
  &:last-child:last-of-type {
    margin-bottom: 0;
  }
}

.gfield_required {
  color: inherit;
}

.gfield_required_text {
  display: inline-block;
  margin-left: 0.5em;
  color: inherit;
}

.gfield_required_text {
  margin-left: 0.5ch;
  color: inherit;
}

.ginput_container_name {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px;

  &.has_middle_name {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.gform_next_button,
.gform_previous_button {
  &:after {
    display: none;
  }
}

.btn--form {
  width: 100%;
}
/*  Field description */

.gfield_description {
  margin-bottom: 1em;
  font-size: 0.888888888888889em;
  line-height: 1.2;
}
/*  Align next / prev buttons */

.gform_page_footer {
  display: flex;
  flex-direction: column;
  gap: 1em;
	margin-top: 30px;

  @media (min-width: 1200px) {
    flex-direction: row;
  }
}
/*  Validation warnings */

.validation_list {
  padding-left: 1em;
}

.validation_list a {
  color: inherit;
}

.validation_list a:focus,
.validation_list a:hover {
  text-decoration: none;
}

.validation_message {
  padding: 0.5em;
  margin: 10px 0;
  border-radius: 6px;
  border: 1px solid red;
  font-weight: 700;
  font-size: var(--f7);
  text-align: center;
}

.validation_message--hidden-on-empty:empty {
  display: none;
}

.gform_validation_container {
  position: absolute;
  left: -9999px;
}

.ginput_counter {
  margin-bottom: 0;
  text-transform: capitalize;
  font-size: var(--f8);
  font-weight: 700;
}
/*  Multiple steps */

.gf_page_steps {
  display: flex;
  flex-wrap: wrap;
  column-gap: 30px;
  row-gap: 0.5em;
  margin-bottom: 20px;
}

.gf_step {
  display: flex;
  align-items: center;
  gap: 0.5em;
  border-bottom: 3px solid var(--color-tert);
  padding-bottom: 0.25em;

  &.gf_step_active {
    border-color: var(--color-prime);
  }
}

.gf_step_number {
  font-weight: 700;
  font-size: 1.2em;
}

.form-tel-email-row {
  #gform_fields_1 {
    @media (min-width: 768px) {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: 14px;

      .gfield,
      label,
      legend {
        flex-grow: 1;

        margin-bottom: 0;
      }

      #field_1_4,
      #field_1_5 {
        flex-basis: calc(100% - 14px);
      }

      #field_1_2,
      #field_1_3 {
        flex-basis: calc(50% - 14px);
      }
    }
    @media (min-width: 1200px) {
      #field_1_2,
      #field_1_3 {
        flex-basis: calc(50% - 14px);
      }
    }
  }
}

/*  This will put the Phone and Email fields on the same line on the home page 

#gform_fields_1 {
  @media (min-width: 768px) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 14px;

    .gfield,
    label,
    legend {
      flex-grow: 1;

      margin-bottom: 0;
    }

    #field_1_4,
    #field_1_5 {
      flex-basis: calc(100% - 14px);
    }

    #field_1_2,
    #field_1_3 {
      flex-basis: calc(50% - 14px);
    }
  }
  @media (min-width: 1200px) {
    #field_1_2,
    #field_1_3 {
      flex-basis: calc(50% - 14px);
    }
  }
}
*/
.gf-condensed {
  #gform_fields_1 {
    @media (min-width: 768px) {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: 14px;

      .gfield,
      label,
      legend {
        flex-grow: 1;

        margin-bottom: 0;
      }

      #field_1_4,
      #field_1_5 {
        flex-basis: calc(100% - 14px);
      }

      #field_1_2,
      #field_1_3 {
        flex-basis: calc(50% - 14px);
      }
    }
    @media (min-width: 1200px) {
      #field_1_2,
      #field_1_3 {
        flex-basis: calc(50% - 14px);
      }
    }
  }
}

/*  This will put the Name Phone and Email fields on the same line on the home page */
.gravity-form-home--wide {
  #gform_fields_1 {
    @media (min-width: 768px) {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: 14px;

      .gfield {
        flex-grow: 1;
        margin-bottom: 0;
      }

      .gform-field-label--type-sub {
        margin-bottom: 0;
      }

      #field_1_4,
      #field_1_5 {
        flex-basis: calc(100% - 14px);
      }

      #field_1_2,
      #field_1_3 {
        display: flex;
        flex-direction: column;
        flex-basis: calc(50% - 14px);
      }
    }
    @media (min-width: 1200px) {
      #field_1_5 {
        flex-basis: calc(50% - 14px);
      }

      #field_1_2,
      #field_1_3 {
        flex-basis: calc(25% - 14px);
      }
    }
  }
}

/*  clio grow styles */
.lf_success {
  color: inherit;
}

/* components.scss */
/*  Components */
/*  buttons */
.wp-block-button__link,
.gform-theme-button,
.wp-element-button,
.btn {
  position: relative;
  overflow: clip;
  display: inline-flex;
	justify-content: center;
	align-items: center;
  padding: var(--btnPadding, 1em 1.5em);
  border-width: var(--btnBorderWidth);
  border-style: var(--btnBorderStyle);
  border-color: var(--btnPrimeBorderColor);
  border-radius: var(--btnRadius);
  font-family: var(--btnFont);
  font-weight: var(--btnFontWeight);
  font-size: var(--f6);
  line-height: 1.2;
  letter-spacing: var(--btnLetterSpace);
  text-transform: var(--btnTxtTransform);
  text-decoration: none;
  text-align: center;
  text-wrap: balance;
  background: var(--btnPrimeBgColor);
  color: var(--btnPrimeTxtColor);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:before,
  &:after {
    display: inline-block;
    position: relative;
    z-index: 20;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
    font: var(--btnIconStyle);
    color: inherit !important;
  }

  &:before {
    content: var(--btnIconBefore);
    margin-right: 0.5em;
  }

  &:after {
    content: var(--btnIconAfter);
    margin-left: 0.5em;
  }

  &:focus,
  &:hover {
    border-color: var(--btnPrimeHovBorderColor);
    text-decoration: none;
    background: var(--btnPrimeHovBgColor);
    color: var(--btnPrimeHovTxtColor);

    &:before,
    &:after {
      color: inherit;
    }
  }
}

.btn--curtain,
.btn--zoom,
.btn--slide {
  &:focus,
  &:hover {
    background-color: var(--btnPrimeBgColor);
  }
}

.btn--header {
  padding: 1em 1.5em;
  font-size: var(--f7);

  @media (max-width: 1199px) {
    font-size: var(--f8);
  }
}

.btn--search {
  border-radius: 0;
  flex-shrink: 0;
  aspect-ratio: 1;
  padding: 0.75em;

  &:after,
  &:before {
    display: none;
  }
}

.btn-txt {
  display: inline-block;
  position: relative;
  z-index: 20;
}

.btn-hover {
  display: block;
  width: 101%;
  height: 101%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.btn--background {
  .btn-hover {
    opacity: 0;
  }

  &:hover,
  &:focus {
    opacity: 1;
  }
}

.btn--curtain {
  .btn-hover {
    transform: translateY(101%);
    background: var(--btnPrimeHovBgColor);
  }

  &:focus,
  &:hover {
    .btn-hover {
      transform: translateY(0%);
    }
  }
}

.btn--slide {
  .btn-hover {
    transform: translateX(-101%);
    background: var(--btnPrimeHovBgColor);
  }

  &:focus,
  &:hover {
    .btn-hover {
      transform: translateX(0%);
    }
  }
}

.btn--zoom {
  .btn-hover {
    transform: scale(0);
    background: var(--btnPrimeHovBgColor);
    transition-duration: 0.5s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:focus,
  &:hover {
    .btn-hover {
      transform: scale(1);
    }
  }
}

.contact-block #gform_submit_button_1 {
  border-color: var(--btnFormHomeBorderColor);
  background: var(--btnFormHomeBgColor);
  color: var(--btnFormHomeTxtColor);

  .btn-hover {
    background: var(--btnFormHomeHovBgColor);
  }

  &:focus,
  &:hover {
    border-color: var(--btnFormHomeHovBorderColor);
    background: var(--btnFormHomeHovBgColor);
    color: var(--btnFormHomeHovTxtColor);
  }
}

.btn--second {
  border-color: var(--btnSecondBorderColor);
  background: var(--btnSecondBgColor);
  color: var(--btnSecondTxtColor);

  .btn-hover {
    background: var(--btnSecondHovBgColor);
  }

  &:focus,
  &:hover {
    border-color: var(--btnSecondHovBorderColor);
    background: var(--btnSecondHovBgColor);
    color: var(--btnSecondHovTxtColor);
  }
}

.btn--tert {
  border-color: var(--btnTertBorderColor);
  background: var(--btnTertBgColor);
  color: var(--btnTertTxtColor);

  .btn-hover {
    background: var(--btnTertHovBgColor);
  }

  &:focus,
  &:hover {
    border-color: var(--btnTertHovBorderColor);
    background: var(--btnTertHovBgColor);
    color: var(--btnTertHovTxtColor);
  }
}

.btn--white {
  border-color: var(--btnWhiteBorderColor);
  background: var(--btnWhiteBgColor);
  color: var(--btnWhiteTxtColor);

  .btn-hover {
    background: var(--btnWhiteHovBgColor);
  }

  &:focus,
  &:hover {
    border-color: var(--btnWhiteHovBorderColor);
    outline-color: var(--btnWhiteBgColor);
    background: var(--btnWhiteHovBgColor);
    color: var(--btnWhiteHovTxtColor);
  }
}

.btn--white-hov-prime {
  background-color: #fff;
  color: var(--color-prime);
  &:focus,
  &:hover {
    outline-color: #fff;
    background: var(--color-prime);
    color: #fff;
  }
}

.btn--hov-white {
  &:focus,
  &:hover {
    background-color: #fff;
    color: var(--color-copy);
  }
}

.btn--menu {
  padding: 0.35em 0.5em;
  border: 0;
  font-size: var(--f5);
  background-color: var(--color-bg);
  color: var(--color-prime);

  &:before {
    content: "\f0c9";
    font: var(--fa-font-regular);
    margin-right: 0.25em;
  }

  &:after {
    display: none;
  }
}

/*  tab switcher */
.tab-group {
  display: flex;
  flex-direction: column;
  gap: 1px;
  counter-reset: tabs;
}

.tablinks--side {
  counter-increment: tabs;
  position: relative;
  padding: 10px 25px;
  font-size: var(--f4);
  text-align: left;
  border-left: 5px solid #626262;
  background-color: #eeeeee;

  @media (min-width: 992px) {
    padding: 30px;
    font-size: var(--f3);
    border-width: 10px;
  }

  &:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--color-prime);
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
  &:hover,
  &:focus,
  &.active {
    color: var(--color-prime);
    border-color: var(--color-prime);

    &:after {
      opacity: 0.05;
    }
  }
}
.tab-nav {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  padding-top: 30px;
  margin-top: 30px;
}

.tablinks--txt {
  cursor: pointer;
  border-bottom: 3px solid transparent;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:after,
  &:before {
    font: var(--fa-font-solid);
    color: var(--color-second);
  }

  &.tablinks--next {
    &:after {
      content: "\f101";
    }
  }
  &.tablinks--prev {
    &:before {
      content: "\f100";
    }
  }

  &:focus,
  &:hover {
    color: var(--color-prime);
    border-color: var(--color-prime);
    &:after,
    &:before {
      color: inherit;
    }
  }
}

.tablinks__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 2.5em;
  opacity: 0.05;
}

.tablinks__title--side {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);

  &:before {
    content: "Step " counter(tabs, decimal);
    display: block;
    font-family: var(--font-body);
    font-weight: var(--font-body-weight);
    font-size: var(--f8);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.01em;
  }
}

/*  landing page */
/*  content row */
.content-row {
  display: flex;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;

  @media (width < 1200px) {
    flex-wrap: wrap;
  }
  @media (min-width: 992px) {
    &:nth-child(odd) {
      .content-row-item--content {
        order: -1;
      }
    }
  }
}

.content-row-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-basis: 50%;
  flex-shrink: 0;
  overflow: clip;

  .block-figure {
    margin-bottom: 0;
  }

  @media (width < 992px) {
    flex-basis: 100%;
  }
  @media (min-width: 992px) {
    min-height: 350px;
  }
}

.content-row-item--img {
  position: relative;

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (min-width: 992px) {
    img {
      position: absolute;
      top: 0;
      left: 0;
    }
  }
}

.content-row-item--content {
  padding: 30px;
  @media (min-width: 768px) {
    padding: 45px;
  }
  @media (min-width: 1200px) {
    padding: 60px;
  }
  @media (min-width: 1500px) {
    padding: 90px;
  }
}

.content-row-play-video {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;

  &::after {
    content: "\f04b";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    font: var(--fa-font-solid);
    font-size: var(--f1);
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    backdrop-filter: blur(25px);
    box-shadow: 3px 3px 8px 0 rgba(0, 0, 0, 0.35);
    opacity: 0.95;
    transform-origin: top left;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    &:after {
      transform: scale(1.2) translateX(-50%) translateY(-50%);
      background-color: var(--color-prime);
      opacity: 0.95;
    }
  }
}

.btn-row {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.card-grid-landing-block {
  overflow: clip;
}

.tint-bg-light {
  position: relative;
  .container,
  .container-fluid {
    position: relative;
    z-index: 10;
  }
  &:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-bg);
    opacity: 0.95;
    z-index: 0;
  }
}

.tab-row {
  display: flex;
	justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid;
  margin-bottom: 45px;
	text-wrap: balance;
}

.tablinks--default {
  position: relative;
  padding-bottom: 20px;
  margin-bottom: -1px;
	border-bottom: 3px solid transparent;

  &.active {
    font-weight: 700;
    border-bottom: 3px solid var(--color-second);
  }
	&:hover,
	&:focus {
    border-bottom: 3px solid var(--color-second);
  }
}

/* Card List */
.card-list-item {
	display: flex;
	align-items: flex-start;
	gap: 30px;

	&:not(:last-child) {
		margin-bottom: 25px;
		padding-bottom: 25px;
		border-bottom: 1px solid rgba(0,0,0,.15);
	}
}

.card-list-item__icon {
	flex-basis: 70px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
  height: 70px;
	border-radius: 50%;
	font-size: var(--f2);
  background: var(--color-second);
	color: #fff;

	svg {
		width: auto;
		height: 40%;
		fill: currentColor;
	}
}

.card-list-item__title {
	margin-bottom: 0.25em;
	color: inherit;
}

.card-list-item__desc {
	p:last-child {
		margin-bottom: 0;
	}
}

/*  Card grid */

.card-grid-block {
  overflow: visible;

  .block-content {
    p:last-child:last-of-type,
    ol:last-child:last-of-type,
    ul:last-child:last-of-type {
      margin-bottom: 1.5em;
    }
  }
}

.card-grid {
  display: grid;
  grid-template-columns: 100%;
  grid-template-columns: 1fr;
  grid-gap: 30px;
  justify-content: center;
  counter-reset: card-grid;
}
@media (min-width: 576px) {
  .card-grid--num-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .card-grid--min-no {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1200px) {
  .card-grid--seamless {
    gap: 45px;
  }
  .card-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .card-grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .card-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.card-grid--1 {
	grid-template-columns: 1fr;
}

.card-grid-flex {
  container-type: inline-size;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}

.card-grid__item--flex {
  flex-grow: 1;
  flex-basis: 100%;

  @container (width > 575px) {
    flex-basis: calc(50% - 31px);
  }
  @container (width > 1199px) {
    flex-basis: calc(33.3333% - 31px);
  }
  @container (width > 1620px) {
    flex-basis: calc(25% - 31px);
  }
}

.card-grid__item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 30px;
  box-shadow: 10px 10px 25px rgba(0, 0, 0, 0.15);
  background-color: #fff;
  color: var(--color-copy);
}
.card-grid__item--seamless {
	color: inherit;
}
@media (min-width: 1200px) {
  .card-grid__item {
    padding: 45px;
  }
}
.card-grid__item--left,
.card-grid__item--right,
.card-grid__item--top {
  padding-top: 70px;
  margin-top: 50px;
}
.card-grid__item--seamless {
  padding: 0;
  box-shadow: none;
  background-color: transparent;
}

.card-grid__item-contents {
	position: relative;
	display: flex;
  flex-direction: column;
  height: 100%;
	z-index: 20;
}

.card-grid__item-bg-img {
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
	z-index: 10;
}

a.card-grid__item {
  text-decoration: none;

  &:hover,
  &:focus {
    color: #fff;
    background-color: var(--color-prime);

    div,
    .card-grid__title {
      color: inherit;
      fill: currentColor;
    }
  }
  div {
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
}

.card-grid__title-container {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: var(--f4);
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  line-height: 1.2;
  margin-bottom: 0.4em;
}

.card-grid__icon {
  flex-shrink: 0;
  height: var(--d2);
  margin-bottom: 0.25em;
  font-size: var(--d2);
  line-height: 1;
  text-align: center;
  color: var(--color-second);
	z-index: 30;

	svg {
		width: auto;
		height: 45%;
		fill: currentColor;
	}
}
.card-grid__icon--default {
	svg {
		height: 100%;
	}
}
.card-grid__icon--side {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--f4);
  width: 2.5em;
  height: 2.5em;
  border-radius: 50%;
  background-color: var(--color-prime);
  color: #fff;
}
.card-grid__icon--seamless {
  height: auto;
  font-size: var(--d6);
}
.card-grid__icon--left,
.card-grid__icon--right,
.card-grid__icon--top {
  position: absolute;
  top: -50px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  font-size: var(--f1);
  background-color: var(--color-second);
  color: #fff;
}
.card-grid__icon--top {
  left: 50%;
  transform: translateX(-50%);
}
.card-grid__item--left {
	.card-grid__title {
		text-align: left !important;
		margin-top: 10px;
	}
}
.card-grid__icon--left {
  top: -40px;
  left: 45px;
	width: 65px;
	height: 65px;
	font-size: var(--f3);
	border-radius: 0;

	&:after {
		content: "";
		position: absolute;
		top: calc(100% + 10px);
		left: 50%;
		transform: translateX(-1px);
		display: block;
		width: 2px;
		height: 30px;
		background-color: var(--color-second);
	}
}
.card-grid__icon--right {
  right: 45px;
}


.card-grid__desc {
  text-align: left;

  p,
  ul,
  ol {
    &:last-of-type:last-child {
      margin-bottom: 0;
    }
  }
}

.card-grid__title {
  line-height: 1.2;
}

.btn--card-grid {
  font-size: var(--f7);
  padding: 0.85em 1.25em;
}

.card-min-no-item {
  display: flex;
  counter-increment: card-grid;

  p:last-child:last-of-type,
  ul:last-child:last-of-type {
    margin-bottom: 0;
  }

  &:before {
    content: counter(card-grid) ".";
    display: block;
    width: 2ch;
    flex-shrink: 0;
    padding-right: 0.65em;
    margin-right: 0.65em;
    border-right: 1px solid var(--color-prime);
    font-family: var(--font-header);
    font-weight: var(--font-header-weight);
    font-size: var(--f1);
    line-height: 1;
    color: var(--color-prime);
  }

  @media (min-width: 768px) {
    &:before {
      font-size: var(--d6);
    }
  }
}

.card-grid-title-container {
  display: flex;
  gap: 15px;
  align-items: center;
  margin-bottom: 15px;
  font-size: 2em;
  color: var(--color-second);

  .headline {
    margin-bottom: 0;
  }
}

.card-min-no-item__title {
  color: var(--color-copy);
}

/*  team member */
.team-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 30px;
  margin-bottom: 45px;

  @media (min-width: 576px) {
    grid-template-columns: 1fr 1fr;
  }
  @media (min-width: 992px) {
    grid-template-columns: 1fr 1fr 1fr;
  }
  @media (min-width: 1200px) {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.team-grid--flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  margin-bottom: 0;
	
  .team-link {
    width: 255px;
    flex-shrink: 0;
  }
}

.team-link {
  display: block;
  margin-bottom: 1rem;
  text-decoration: none;
  color: var(--color-copy);

  &:focus,
  &:hover {
    text-decoration: none;

    .team-link__hover {
      opacity: 1;
    }

    .team-link__info {
      border-color: var(--color-second);
    }
  }
}

.team-link__hover {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  opacity: 0;
  z-index: 10;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  @media (width < 992px) {
    display: none !important;
  }
}

.team-link__hover-txt {
  border: 2px solid #fff;
  padding: 0.5em 1em;
  font-size: var(--f9);
  font-weight: 700;
}

.team-link__info {
  position: relative;
  padding: 5px 15px;
  border-left: 3px solid var(--color-prime);
}

.team-link__name {
  color: var(--color-copy);
}

/*  webinars */
.om-webinar {
  .post-title a {
    text-decoration: none;
  }
}

.om-webinar-details {
  display: flex;
  column-gap: 10px;
  row-gap: 5px;
  flex-wrap: wrap;
  font-size: var(--f7);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
}

.webinar-date,
.webinar-presenter,
.webinar-duration {
  &:before {
    display: inline-block;
    margin-right: 0.25em;
    font: var(--fa-font-solid);
    color: var(--color-second);
  }

  strong {
    display: inline-block;
    border-bottom: 2px solid var(--color-prime);
  }
}

.webinar-date {
  &:before {
    content: "\f073";
  }
}

.webinar-duration {
  &:before {
    content: "\e29e";
  }
}

.webinar-presenter {
  &:before {
    content: "\f8cb";
  }

  a {
    text-decoration: none;
    &:hover,
    &:focus {
      text-decoration: underline;
    }
  }
}

.webinar-excerpt {
  @media (min-width: 992px) {
    max-width: 95ch;
  }
}

.webinar-content {
  display: flex;
  gap: 30px;

  @media (width < 992px) {
    flex-direction: column;
  }
}

.webinar-thumbnail {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  margin-bottom: 0;
  overflow: hidden;
  flex-shrink: 0;
  background-color: var(--color-quin);

  img {
    mix-blend-mode: multiply;
    width: 100%;
    height: 100%;
    object-position: top;
    object-fit: cover;
  }
}

.webinar-upcoming-date {
  text-decoration: none;
  color: var(--color-copy);

  &:hover,
  &:focus {
    color: var(--color-prime);
    text-decoration: underline;
  }

  .webinar-date strong {
    border-bottom: 0;
  }
}

.webinar-date {
  display: flex;
  align-items: baseline;
}

/*  Stylized list item bullets */
.content-area {
  ul:not([class]) {
    padding-left: 0;

    ul {
      padding-left: 1.25em;
      margin-bottom: 1em;

      li:not([class]):before {
        opacity: 0.65;
      }
    }
  }

  ul li:not([class]):not(:last-child) {
    margin-bottom: 0.65em;
  }

  ul li:not([class]) {
    display: block;
    position: relative;
    padding-left: var(--listBullSpace);
    list-style: none;

    ul:not([class]) {
      margin-top: 0.25em;
    }

    &::before {
      content: var(--listBull);
      position: relative;
      margin-left: calc(-1 * var(--listBullSpace));
      display: inline-block;
      width: var(--listBullSpace);
      font: var(--fa-font-regular);
      color: var(--color-second);
    }
  }

  .color-white {
    ul li:not([class]):before {
      color: #fff;
    }
  }
}

/*  Projects post type */
/* display: flex;
 */
.projects-archive-layout {
  flex-grow: 1;
  gap: 30px;
}
@media (max-width: 767px) {
  .projects-archive-layout {
    flex-direction: column;
  }
}
@media (min-width: 1200px) {
  .projects-archive-layout {
    gap: 54px;
  }
}
.projects-archive-layout--single {
  display: flex;
  gap: 30px;
}
@media (max-width: 767px) {
  .projects-archive-layout--single {
    flex-direction: column;
  }
}
@media (min-width: 1200px) {
  .projects-archive-layout--single {
    gap: 54px;
  }
}

.projects-archive-sidebar {
  flex: 0 0 auto;
  width: 100%;
  padding: 15px;
  background-color: #efefef;

  @media (min-width: 768px) {
    width: 33%;
  }
  @media (min-width: 992px) {
    width: 33.3333%;
    padding: 30px;
  }
  @media (min-width: 1200px) {
    width: 25%;
    padding: 60px;
  }
}

.dark-mode {
  .projects-archive-sidebar {
    background-color: #191919;
  }
}

.project-term-nav {
  display: flex;
  flex-direction: column;
}

.project-term-nav__link {
  display: inline-flex;
  align-items: baseline;
  text-decoration: none;
  color: var(--color-copy);

  &:before {
    content: "\f105";
    display: inline-block;
    margin-right: 0.5em;
    font: var(--fa-font-solid);
    color: var(--color-second);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    text-decoration: none;

    &:before {
      color: var(--color-prime);
    }
  }
}

.projects-archive-content {
  margin: 0 auto 60px;
  max-width: 95vw;
}

.projects-archive-content-single {
  flex-grow: 1;
  align-self: flex-start;
  margin-bottom: 60px;
  margin-right: 30px;

  @media (max-width: 767px) {
    padding: 15px;
    width: 100%;
  }
  @media (min-width: 992px) {
    margin-right: 60px;
  }
}

.projects-archive-cat-bar {
  display: flex;
  justify-content: center;
  gap: 30px;
  padding: 0 15px;
  background-color: var(--color-quin);

  @media (width < 1200px) {
    display: none;
  }
}

.projects-archive-cat-bar__link {
  border-top: 6px solid transparent;
  padding: 14px 0.25em 20px;
  text-decoration: none;
  color: var(--color-copy);

  &.active {
    border-color: var(--color-second);
  }
  &:hover,
  &:focus {
    border-color: var(--color-prime);
    color: var(--color-prime);
  }
}

.projects-archive-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;

  @media (min-width: 768px) {
    grid-template-columns: 1fr 1fr;
  }
  @media (min-width: 1200px) {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 54px;
  }
}

.projects-archive-item {
  position: relative;
  text-decoration: none;
  color: var(--color-copy);

  &:hover,
  &:focus {
    color: var(--color-copy);

    .projects-archive-feat-img {
      &:before {
        height: 100%;
      }
      &:after {
        transform: scale(1.2);
        background-color: var(--color-second);
      }
    }
    img {
      transform: scale(1.3);
    }
  }
}

.projects-archive-feat-img {
  position: relative;
  aspect-ratio: 0.833333333333333;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: var(--color-quin);
  overflow: hidden;

  &:before {
    content: "";
    mix-blend-mode: hard-light;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0%;
    background-color: var(--color-prime);
    opacity: 0.5;
    transition-property: height;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
    z-index: 20;
  }

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition-duration: 1.5s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
    z-index: 10;
  }

  &:after {
    content: "\f85d";
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    font: var(--fa-font-thin);
    font-size: var(--f3);
    width: 90px;
    height: 90px;
    line-height: 1;
    border-radius: 50%;
    background-color: var(--color-prime);
    color: #fff;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
}

.projects-archive-post-info {
  position: absolute;
  left: 0;
  bottom: -15px;
  display: inline-block;
  width: 85%;
  z-index: 30;
}

.projects-archive-cat {
  display: flex;
  gap: 1px;
}

.projects-archive-cat-item {
  display: inline-block;
  padding: 0.25em 0.5em;
  font-weight: 700;
  font-size: var(--f1) 0;
  text-align: center;
  background-color: var(--color-second);
  color: #fff;
}

.projects-archive-title {
  padding: 0.25em 0.5em;
  background-color: var(--color-quin);
  line-height: 1.2;
  font-weight: 500;
  font-size: var(--f7);
}

.projects-archive-location {
  margin-top: 0.25em;
  font-size: 0.85em;
  font-weight: 400;
}

.projects-single-title__location {
  font-size: 0.55em;
}

.projects-single-content {
  max-width: 900px;
  padding: 0 15px;
}

.project-single-callout {
  padding-left: 1em;
  border-left: 1px solid var(--color-second);
  max-width: 800px;
  font-size: var(--f4);
}

#carouselProjectImg,
#listProjectImg,
#gridProjectImg {
  @media (min-width: 1200px) {
    width: 105%;
  }
  @media (min-width: 1500pxl) {
    width: 110%;
  }
  @media (min-width: 1500px) {
    width: 115%;
  }
  @media (min-width: 1900px) {
    width: 125%;
  }
}

.grid-project-slide,
.list-project-slide,
.carousel-project-slide {
  position: relative;
  /*aspect-ratio: 1.5;

  img {
      position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  }*/
}

.project-slide-aspect {
  position: relative;
  aspect-ratio: 1.5;

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.project-single-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 45px;

  @media (width < 768px) {
    gap: 10px;
  }
}

.grid-project-slide {
  &:before {
    content: "\f31d";
    color: #fff;
    font: var(--fa-font-light);
    font-size: var(--f4);
    position: absolute;
    bottom: 10px;
    right: 10px;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
    opacity: 1;
    z-index: 10;
  }

  &:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--color-second);
    opacity: 0.75;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
    mix-blend-mode: overlay;
    transform: scaleY(0);
    opacity: 0;
  }

  &:hover {
    &:before {
      opacity: 0;
    }
    &:after {
      transform: scaleY(1);
      opacity: 1;
    }
  }
}

.focus-outline {
  .grid-project-slide {
    &:focus {
      &:before {
        opacity: 0;
      }
      &:after {
        transform: scaleY(1);
        opacity: 1;
      }
    }
  }
}

.project-modal-caption {
  padding: 1.5em 2em;
  font-size: var(--f7);
  background-color: var(--color-dark, #000);
  color: #fff;
  @media (width < 992px) {
    flex-grow: 1;
  }
  @media (min-width: 992px) {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(2px);
  }
  &:before {
    content: attr(data-caption);
  }
  &:not([data-caption]) {
    display: none;
  }
}

.carousel-project-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 15px;
  border-style: solid;
  border-width: 0 1px 1px 1px;
  border-color: rgba(0, 0, 0, 0.15);
  padding: 0 30px;
}

.carousel-project-label {
  font-size: var(--f9);
  font-weight: 700;
}

.project-single-title {
  padding-bottom: 0.95em;
  margin-bottom: 0.95em;
  border-bottom: 1px solid var(--color-second);
}

.project-single-title__location {
  margin-top: 0.35em;
  font-size: 0.65em;
  font-family: var(--font-body);
  font-weight: var(--font-body-weight);
  color: var(--color-copy);
}

.single-project-stats {
  display: flex;
  flex-direction: column;
  gap: 10px;

  @media (max-width: 767px) {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.single-project-stats__item {
  @media (max-width: 767px) {
    flex-basis: calc(50% - 5px);
  }
}

.single-project-stats__label {
  font-size: var(--f8);
  font-weight: 700;
  line-height: 1.2;
}

.single-project-stats__date {
  font-size: var(--f6);
}

.project-single-list {
  display: flex;
  flex-direction: column;
  gap: 45px;
  margin-bottom: 45px;
}

.project-slide-caption {
  padding: 1.5em 2em;
  font-size: var(--f7);
  background-color: var(--color-dark, #000);
  color: #fff;
  @media (width < 992px) {
    flex-grow: 1;
  }
  @media (min-width: 992px) {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(2px);
  }
}

/*  page alert banner */
.page-alert-banner {
  text-wrap: balance;
  p:last-child {
    line-height: 1.3;
    margin-bottom: 0;
  }
  a {
    font-weight: 700;
    color: #fff;
  }
}

/*  featured video */
#video {
  background-color: #000;
}

.tiktok-embed {
  padding-left: 0;
  border: 0;
  font-size: initial;
}

.generic-vid-embed {
  margin-bottom: 1em;
}

.generic-vid-embed-wrapper {
  position: relative;
  aspect-ratio: 16/9;
  margin-bottom: 1em;
  overflow: clip;
}

.generic-vid-embed-inner {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;

  iframe {
    display: block;
    width: 100%;
    height: 100%;
  }
}

.feat-vid {
  cursor: pointer;

  figure {
    margin-bottom: 0;
  }

  &::after {
    content: "\f04b";
    position: absolute;
    left: 50%;
    top: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    text-indent: 10px;
    font: var(--fa-font-solid);
    font-size: var(--f3);
    transform: translateX(-50%) translateY(-50%);
    background: var(--color-prime);
    color: #fff;
    opacity: 0.95;
    z-index: 10;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:focus::after,
  &:hover::after {
    transform: translateX(-50%) translateY(-50%) scale(1.25);
  }

  @media (max-width: 991px) {
    width: 100%;
  }

  @media (min-width: 768px) {
    &::after {
      width: 130px;
      height: 130px;
      font-size: var(--d6);
    }
  }

  @media (min-width: 1200px) {
    margin-bottom: 0;
  }

  &:focus,
  &:hover {
    img {
      filter: brightness(120%);
    }
  }
}

.bio-img {
  position: relative;
  width: 100%;
  max-width: 350px;
  margin-bottom: 15px;
}
.bio-img:before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 140%;
}
.bio-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bio-img--placeholder {
  background: var(--color-quin);
}
.bio-img--placeholder:after {
  content: "\f332";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 90px;
  height: 90px;
  border-radius: 50%;
  font: var(--fa-font-solid);
  font-size: var(--f1);
  background-color: var(--color-prime);
  color: #fff;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.sub-page-list {
  display: flex;
  flex-direction: column;
  padding-left: 0;

  li {
    list-style: none;
    margin-bottom: 0;
    border-bottom: 1px solid var(--color-quin);
    font-weight: 500;
    font-size: var(--f7);
    line-height: 1.2;
  }
  a {
    display: flex;
    align-items: center;
    padding: 1em 0;
    text-decoration: none;
    color: var(--color-copy);
    &:before {
      content: "\f054";
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-shrink: 0;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      font: var(--fa-font-regular);
      font-size: 90%;
      line-height: 1;
      text-align: center;
      background: var(--color-prime);
      color: #fff;
      transition-duration: 0.3s;
      transition-property: color, background-color, fill, transform, text-shadow,
        letter-spacing, outline, border, box-shadow, opacity, filter;
      transition-timing-function: ease-in-out;
      margin-right: 1em;
    }
    &:hover,
    &:focus {
      color: var(--color-copy);
      &:before {
        transform: scale(1.2);
        background: var(--color-second);
      }
    }
  }
}

.placeholder-post {
  background-color: var(--color-quin);

  &:after {
    content: "\f1ea";
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 90px;
    height: 90px;
    border-radius: 50%;
    font: var(--fa-font-light);
    font-size: var(--f2);
    background-color: var(--color-second);
    color: #fff;
  }
}

/*  Legalvault buttons */
.lv-login-group {
  display: flex;
  gap: 30px;
  justify-content: center;
  align-items: center;
}

.lv-login {
  display: block;
  width: 100%;
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  overflow: hidden;

  &:hover,
  &:focus {
    .lv-login__title {
      background-color: var(--color-second);
    }
  }
}

.lv-login__title {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.45em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f5);
  background: var(--color-prime);
  color: var(--color-bg);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:before {
    content: "\f30d";
    font: var(--fa-font-regular);
    font-size: 0.85em;
    margin-right: 0.25em;
  }
}

.lv-login__desc {
  padding: 1em;
  font-size: var(--f7);
  color: var(--color-copy);
}

/* Alternating content / image */
.alternating-figure {
  text-align: center;
}
.alternating-figure--asc .block-figure {
  margin-bottom: 0;
}
.alternating-figure--box-shadow img {
  box-shadow: 12px 10px 14px 0 rgba(0, 0, 0, 0.15);
}
@media (min-width: 1200px) {
  .alternating-figure {
    position: relative;
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 350px;
  }
  .alternating-figure .block-figure {
    flex-grow: 1;
    margin-bottom: 0;
  }
  .alternating-figure .block-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/*  Half image content block */

@media (min-width: 1200px) {
  .half-img-figure {
    position: absolute;
    top: 0;
    right: 15px;
    width: 43vw;
    height: 100%;
    margin-bottom: 0;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
  .half-img-figure--right {
    left: 15px;
    right: initial;
  }
  .half-img-figure--right .block-img {
    object-position: left;
  }
  .half-img-figure--left .block-img {
    object-position: right;
  }
  .half-img-figure .block-figure {
    width: 100%;
    height: 100%;
    margin: 0;
  }
  .half-img-figure .block-img {
    max-width: initial;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media (min-width: 1500px) {
  .half-img-figure {
    width: 45vw;
  }
}

/* Badge row */
.badge-wrapper {
  max-width: 100%;
  overflow: hidden;
}

.badge-marquee {
  white-space: nowrap;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 30px;
  animation: badge-marquee 60s linear infinite;
  user-select: none;

  @media (width < 1200px) {
    animation: none;
  }
  @media (min-width: 1200px) {
    gap: 60px;
  }
}

.badge-marquee > div {
  display: inline-block;

  @media (width >=1200px) {
    .badge-row {
      width: 300vw;
    }
  }
}

@keyframes badge-marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }

  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

.badge-row-title {
  font-size: var(--f5);

  .headline {
    padding-right: 1.2em;
    margin-bottom: 0;
    font-size: inherit;
    letter-spacing: 1px;
    line-height: 1.2;
  }

  @media (max-width: 1199px) {
    flex-basis: 100%;
    text-align: center;
    font-size: var(--f2);

    .headline {
      padding: 0;
    }
  }
  @media (min-width: 1200px) {
    font-size: var(--f4);
    .headline {
      border-right: 1px solid var(--color-second);
    }
  }
  @media (min-width: 1500px) {
    font-size: var(--f3);
  }
  @media (min-width: 1900px) {
    font-size: var(--f2);

    .headline {
      margin-right: 1.2em;
    }
  }
}

.badge-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  column-gap: 30px;
  row-gap: 30px;
  @media (min-width: 1200px) {
    flex-wrap: nowrap;
    justify-content: space-between;
    column-gap: 45px;
    /*  height: 100%; */
  }
}

.badge-row__item {
  flex: 0 1 calc(50% - 15px);
  text-align: center;

  &.badge-card {
    flex: 0 1 100%;
  }

  @media (width < 768px) {
    img {
      max-width: 80%;
      height: auto;
    }
  }
  @media (min-width: 768px) {
    flex: 0 1 calc(32% - 15px);

    &.badge-card {
      flex: 0 1 calc(50% - 25px);
    }
  }
  @media (min-width: 992px) {
    flex: 0 1 20%;
  }
  @media (min-width: 1200px) {
    flex: 0 1 auto;
  }
}

.badge-square,
.badge-portrait {
  /*  aspect-ratio: 1; */
  width: 130px;
  height: auto;
}

.badge-landscape {
  /*  aspect-ratio: 3; */
  height: 95px;
  width: auto;

  img {
    width: auto;
    height: 100%;
  }
}

.badge-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  padding: 15px;
  font-size: var(--f7);
  box-shadow: 5px 5px 18px rgba(0, 0, 0, 0.1);
  background-color: #fff;
}
@media (min-width: 576px) {
  .badge-card {
    padding: 30px;
  }
}
@media (min-width: 768px) {
  .badge-card {
    flex-basis: calc(50% - 30px);
    flex-grow: 1;
  }
}
@media (min-width: 1200px) {
  .badge-card {
    flex-basis: calc(33.3333% - 50px);
    flex-grow: 1;
  }
}
.badge-card--disabled {
  padding: 0;
  box-shadow: none;
  background-color: transparent;
}

.badge-card__details {
  display: flex;
  flex-direction: column;
  align-items: center;
}

img + .badge-card__details {
  margin-top: 30px;
}

.badge-card__selection-link {
  display: inline-block;
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 0.25em 0.6em;
  border: 2px solid var(--color-second);
  border-radius: 4px;
  font-weight: 700;
  font-size: var(--f1) 0;
  line-height: 1.2;
  letter-spacing: 0.5px;
  text-decoration: none;
  text-transform: uppercase;
  color: var(--color-copy);

  &:focus,
  &:hover {
    background-color: var(--color-prime);
    color: #fff;
  }
}

.badge-card__title {
  margin-bottom: 0.25em;
  font-weight: 700;
  font-size: var(--f6);
  line-height: 1.2;
}
/*  Blog post grid block */

.post-feed__posts {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: 1fr;
  /* margin-top: 15px; */

  @media (min-width: 992px) {
    grid-template-columns: repeat(3, 1fr);
  }
}

.post-feed__item {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.post-feed__feat-img {
  position: relative;
  width: 100%;
  margin-bottom: 1em;
  aspect-ratio: 70/40;

  &:not(:has(img)) {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-quin);

    &:after {
      content: "\f03c";
      font: var(--fa-font-regular);
      width: 100px;
      height: 100px;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: var(--d6);
      background: var(--color-prime);
      color: #fff;
      z-index: 0;
    }
  }

  @media (width < 992px) {
    aspect-ratio: 730/300;
  }
}

.post-feed__feat-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.post-feed__feat-img--placeholder {
  background-color: var(--color-quin);

  &:before {
    content: "\f1ea";
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 90px;
    height: 90px;
    border-radius: 50%;
    font: var(--fa-font-solid);
    font-size: var(--f1);
    background-color: var(--color-second);
    color: #fff;
    transition: all 0.3s ease-in-out;
  }
}

.post-feed__post-title {
  display: block;
  margin-bottom: 0.25em;
  font-size: var(--f4);
  line-height: 1.2;
  text-decoration: none;
  text-align: left;
  color: var(--color-copy);
  text-wrap: balance;
}

.post-feed__details {
  display: inline-block;
  align-self: flex-start;
  font-size: var(--f8);
  text-align: left;

  &:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin: 0.35em 0 0.5em;
    background-color: var(--color-quart);
  }
}

.post-feed__cat {
  display: inline-block;
  margin-left: 0.45em;
  text-decoration: none;
  color: var(--color-prime);
}

.post-feed__excerpt {
  margin-bottom: 1em;
  font-size: var(--f8);
  text-align: left;

  p {
    margin-bottom: 0;
  }
}

.post-feed__read-more {
  display: inline-block;
  align-self: flex-start;
  margin-top: auto;
  font-weight: 700;
  font-size: var(--f7);
  text-align: left;
  text-decoration: none;
  color: var(--color-prime);

  &:focus,
  &:hover {
    text-decoration: none;
  }
}
/*  Video feed block */

.video-term-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

.video-term-list-item {
  flex-basis: calc(50% - 1em);
  display: inline-flex;
  align-items: center;
  gap: 0.45em;

  &:before {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 0.5em;
    height: 0.5em;
    border-radius: 50%;
    background-color: var(--color-second);
  }

  @media (min-width: 992px) {
    flex-basis: calc(33% - 1em);
  }
  @media (min-width: 1200px) {
    flex-basis: calc(25% - 1em);
  }
}

.video-feed__title .headline {
  margin-bottom: 0.25em;
}

.video-feed__posts {
  display: flex;
  flex-direction: column;
  gap: 30px;
  @media (min-width: 1200px) {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.video-feed__item {
  text-align: left;
  @media (min-width: 1200px) {
    flex-basis: calc(33.3333% - 30px);
    flex-grow: 1;
  }
}

.video-feed__button {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 1em;
  border: 0;
  background-color: var(--color-quin);

  &::before {
    content: "";
    display: block;
    padding-top: 56.25%;
  }
}

.video-feed__thumbnail {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;

  &::after {
    content: "\f04b";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    font: var(--fa-font-solid);
    font-size: var(--f1);
    background-color: var(--color-second);
    color: #fff;
    box-shadow: 3px 3px 8px 0 rgba(0, 0, 0, 0.35);
    opacity: 0.95;
    transform-origin: top left;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  img,
  video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (min-width: 992px) {
    &::after {
      width: 65px;
      height: 65px;
      font-size: var(--f4);
    }
  }
}

.video-feed__button:focus .video-feed__thumbnail::after,
.video-feed__button:hover .video-feed__thumbnail::after {
  transform: scale(1.2) translateX(-50%) translateY(-50%);
  background-color: var(--color-prime);
  opacity: 0.95;
}

.video-feed__link {
  display: block;
  margin-bottom: 0.5em;
  font-size: var(--f4);
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  color: var(--color-prime);
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
}

.video-feed__btn-row {
  text-align: center;
}

.feed-block.color-white {
  .video-feed__link {
    color: #fff;

    &:after {
      color: inherit;
    }

    &:focus,
    &:hover {
      text-decoration: underline;
      color: #fff;
    }
  }
}
/* review box */
.carousel-multi-reviews {
  margin: -36px -36px 0;
  .carousel-inner {
    padding: 36px;
  }
}

.review-box-row {
  display: flex;
  flex-direction: column;
  gap: 30px;
  @media (min-width: 992px) {
    flex-direction: row;
  }
}

.review-box {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  padding: 30px;
  margin-top: 20px;
  box-shadow: 8px 8px 32px 0 rgba(0, 17, 55, 0.16);
  background-color: var(--color-bg);
}
@media (min-width: 992px) {
  .review-box--carousel {
    flex-grow: 0;
    flex-basis: calc(33.333333333333336% - 20px);
  }
}
@media (min-width: 1200px) {
  .review-box {
    padding: 45px;
  }
}

.review-box__quote {
  position: absolute;
  top: -20px;
  right: 20px;
  width: 60px;
  height: 43px;
  fill: var(--color-second);
}

.review-box__title {
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f4);
  line-height: 1.2;
  color: var(--color-prime);
}

.review-box__excerpt {
  margin-bottom: 1em;
  font-size: var(--f7);
  color: var(--color-copy);
}

.review-box__author {
  color: var(--color-copy);
}

.review-box__author {
  flex-grow: 1;
  line-height: 1.2;
}

.review-box__link {
  text-decoration: none;
  color: var(--color-prime);

  &:hover,
  &:focus {
    text-decoration: underline;
  }
}

.feed-block {
  &.bg-second {
    .review-box__quote {
      fill: var(--color-prime);
    }
  }
}
/* result item styles */
.success-grid {
  display: flex;
  flex-direction: column;
  gap: 30px;
  @media (min-width: 1200px) {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.success-grid-feed {
  display: grid;
  gap: 30px;

  @media (min-width: 992px) {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.success-grid__item {
  display: flex;
  flex-direction: column;
  padding: 40px 30px;
  text-align: center;
  box-shadow: 0 5px 16px 0 rgba(0, 0, 0, 0.15);
  background-color: #fff;
  @media (min-width: 1200px) {
    flex-basis: calc(50% - 30px);
    flex-grow: 1;
  }
}

.success-item__dollar {
  position: relative;
  margin-bottom: 0;
  font-family: var(--font-header), -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: var(--f1);
  font-variant-numeric: lining-nums;
  -moz-font-feature-settings: "lnum" 1;
  -moz-font-feature-settings: "lnum=1";
  -ms-font-feature-settings: "lnum" 1;
  -o-font-feature-settings: "lnum" 1;
  -webkit-font-feature-settings: "lnum" 1;
  font-feature-settings: "lnum" 1;
  line-height: 1.2;
  color: var(--bs-heading-color);
  text-wrap: balance;

  &:after {
    content: "";
    display: block;
    width: 60px;
    height: 1px;
    margin: 10px auto;
    background-color: var(--color-tert);
  }
}

.success-item__title {
  margin-bottom: 0.5em;
  font-family: $font-body;
  color: var(--color-copy);
  text-wrap: balance;
}

.success__excerpt {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;

  p:last-child:last-of-type {
    margin-bottom: 0;
  }
}

/* Results carousel layout */
.carousel-results {
  .carousel-inner {
    margin: -20px;
    padding: 20px;
    width: calc(100% + 40px);
  }
  @media (min-width: 1200px) {
    display: flex;
    align-items: center;
    gap: 15px;
  }
}

.carousel-results__item {
  display: flex;
  flex-direction: column;
  height: 100%;

  .success-grid__item {
    flex-grow: 1;
  }
}

.carousel-results__row {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: 1fr;
  @media (min-width: 1200px) {
    grid-template-columns: repeat(3, 1fr);
  }
}

/*  Dark Mode */
.dark-mode {
  .success-grid__item {
    background: rgba(255, 255, 255, 0.1);
  }
  .success-item__dollar {
    color: #fff;
  }
}

/* review item styles */
.review-page-template {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.review-item {
  &:not(:last-child) {
		margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
	}
}

.review-item__header {
  position: relative;
  z-index: 10;
}

.type-reviews {
  .entry-header {
    position: relative;
    z-index: 10;
  }
}

.review-item__desc {
  position: relative;
  text-align: left;

  &:before {
    content: "\0201C";
    position: absolute;
    top: -0.2em;
    left: -0.15em;
    font-family: Georgia, serif;
    font-size: 2000%;
    line-height: 1;
    color: var(--color-second);
    opacity: 0.1;
    z-index: 0;
  }

  p {
    position: relative;
    z-index: 10;
  }
}

.review-page-disclaimer mb-5 {
  margin-top: auto;
}
/* Table styles */
.wp-block-table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  border: 1px solid #dee2e6;
}

thead td,
thead th {
  border-bottom-width: 2px;
}

td,
th {
  padding: 0.75rem;
  vertical-align: top;
  border: 1px solid #dee2e6;
}
/* Gutenburg Editor Components */
.wp-element-caption {
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
    "Segoe UI Symbol";
  font-weight: 600;
  font-size: 1.4rem;
  padding: 0.5em;
}

ul.wp-block-list {
  padding-left: 0;
}

.wp-block-media-text {
  gap: 45px;
}

.wp-block-media-text > div.wp-block-media-text__content {
  padding: 0;
}

.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 15px !important;

  .wp-block-image img {
    object-fit: contain !important;
    flex-grow: 0 !important;
    width: auto !important;
    height: auto !important;
  }
}

.wp-block-columns-is-layout-flex {
  @media (width < 768px) {
    gap: 0 !important;

    .wp-block-column:not(:last-child) > ul {
      margin-bottom: 0.45em !important;
    }
  }
}
.wp-block-columns {
  margin-bottom: 0 !important;
}
.wp-block-pullquote {
  padding: 1em 0 !important;
  border-top: 2px solid var(--color-second);
  border-bottom: 2px solid var(--color-second);

  blockquote {
    padding-left: 0;
    margin-bottom: 0;
    border-left: 0;
  }
}

.shadow-box {
  padding: 15px;
  box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.15);
  background-color: #fff;
  @media (min-width: 576px) {
    padding: 30px;
  }
  @media (min-width: 768px) {
    padding: 45px;
  }
}
/* Wide related content Component */
.related-content {
  background-color: var(--color-prime);
}
.related-content--team {
  background-color: #eee;
}
.related-content--team + .related-content {
  margin-top: 1px;
}

.dark-mode .related-content--team {
  background-color: var(--color-bg);
}

.related-footer-team-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 30px;

  @media (min-width: 576px) {
    grid-template-columns: 1fr 1fr;
  }
  @media (min-width: 992px) {
    grid-template-columns: 1fr 1fr 1fr;
  }
  @media (min-width: 1200px) {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.related-content__list {
  margin: 0 -15px;
  padding-left: 0;

  li {
    break-inside: avoid-column;
    margin: 0 15px;
    list-style: none;
    font-size: var(--f7);
    line-height: 1.2;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  a,
  a:visited {
    display: flex;
    align-items: center;
    padding: 1em 15px;
    text-decoration: none;
    color: #fff;

    &:before {
      content: "\f054";
      position: relative;
      left: 0;
      flex-shrink: 0;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      font: var(--fa-font-regular);
      font-size: 90%;
      line-height: 30px;
      text-align: center;
      background: var(--color-second);
      color: #fff;
      transition: all 0.3s ease-in-out;
      display: block;
      float: left;
      margin-right: 1em;
      transition-duration: 0.3s;
      transition-property: color, background-color, fill, transform, text-shadow,
        letter-spacing, outline, border, box-shadow, opacity, filter;
      transition-timing-function: ease-in-out;
    }

    &:focus,
    &:hover {
      color: #fff;
      &:before {
        transform: scale(1.15);
        background-color: #fff;
        color: var(--color-prime);
      }
    }
  }
  @media (min-width: 768px) {
    column-count: 2;
  }
  @media (min-width: 1200px) {
    column-count: 1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
/* Cookie banner */
.cookie-banner {
  position: fixed;
  bottom: 37px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 8px;
  line-height: 1.2;
  background-color: rgba(0, 0, 0, 0.9);
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
  color: #fff;
  z-index: 90;
  @media (min-width: 768px) {
    bottom: 0;
  }
  @media (min-width: 1200px) {
    padding: 15px;
  }
}

.cookie-banner__desc {
  p {
    margin-bottom: 0;
  }

  a {
    color: #fff;

    &:focus,
    &:hover {
      text-decoration-color: var(--color-second);
    }

    &:focus {
      outline: 2px dotted #fff;
    }
  }
}

.cookie-banner__close {
  display: inline-block;
  padding: 0.65em 1em;
  font-weight: 700;
  font-size: 0.9em;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
  background-color: var(--color-prime);
  color: #fff;
  cursor: pointer;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:focus,
  &:hover {
    background-color: #fff;
    color: var(--color-prime);
  }
}
/*  [highlight] shortcode styles */

.content-highlight {
  position: relative;
  padding: 30px 45px;
  margin-bottom: 3rem;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15);
  z-index: 10;

  &::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-prime);
    opacity: 0.07;
    z-index: -1;
  }
}
/*  Modal pop up */
#videoModal {
  .modal-body {
    padding: 0;
  }
}
.modal {
  /*  so it appears over livechat box */
  z-index: 99999999;
}

.modal-dialog {
  max-width: 95%;
  height: auto;
  margin: auto;
  @media (min-width: 1200px) {
    width: 1000px;
  }
}

.modal-content {
  border-radius: 5px;
  background-color: var(--color-bg);
  overflow: hidden;
}

.modal-header {
  position: relative;
  align-items: flex-start;
  overflow: hidden;
}

.modal-title {
  align-self: center;
}

.modal-body {
  padding: 10px 30px 30px;

  p {
    font-size: var(--f7);

    &:last-child {
      margin-bottom: 0;
    }
  }
}

.modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
  width: 2em;
  font-size: var(--f6);
  line-height: 1;
  text-shadow: none;
  background-color: var(--color-prime);
  color: #fff;
  opacity: 1;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:before {
    content: "\f00d";
    font: var(--fa-font-regular);
  }
  &:focus,
  &:hover {
    background-color: var(--color-second);
  }
}

/*  Video swap modal */

#video-transcript[href=""] {
  display: none;
}

.pagination {
  font-size: var(--f6);

  @media (min-width: 1200px) {
    font-size: var(--f5);
  }
}

.pagination__link a {
  font-weight: 700;
  text-decoration: none;
}

/*  carousel pagers */

.carousel-indicators {
  position: relative;
  right: initial;
  bottom: initial;
  left: initial;
  justify-content: initial;
  margin: initial;
  z-index: 90;
}

#header-carousel {
  .carousel-indicators--header-slides {
    position: absolute;
    left: 0;
    bottom: 30px;
    width: 100%;
    justify-content: center;
    z-index: 20;
  }

  .carousel-inner > .carousel-item {
    transition-duration: 1s;
  }
}

.carousel-indicators [data-bs-target] {
  box-sizing: border-box;
  text-indent: 0;
  width: 24px;
  height: 24px;
  padding: 0;
  margin-left: 10px;
  margin-right: 10px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--color-tert);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
  opacity: 1;

  &.active,
  &:focus,
  &:hover {
    transform: scale(1.2);
    background: var(--color-second);
    @media (min-width: 1200px) {
      transform: scale(1.4);
    }
  }

  @media (min-width: 1200px) {
    width: 20px;
    height: 20px;
  }
}

.carousel-pager[data-bs-target] {
  width: 24px;
  height: 24px;
  padding: 0;
  margin-left: 10px;
  margin-right: 10px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--color-tert);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
  opacity: 1;

  &.active,
  &:focus,
  &:hover {
    transform: scale(1.2);
    background: var(--color-second);
    @media (min-width: 1200px) {
      transform: scale(1.4);
    }
  }

  @media (min-width: 1200px) {
    width: 20px;
    height: 20px;
  }
}


.carousel-control-prev:before {
   content: "\f177";
   font: var(--fa-font-regular);
}

.carousel-control-next:after {
  content: "\f178";
  font: var(--fa-font-regular);
}


.carousel-control-prev[data-bs-target],
.carousel-control-prev[data-bs-slide] {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  margin-top: 10px;
  margin-bottom: 10px;
  border-radius: 50%;
  font-size: var(--f5);
  background-color: var(--color-quin);
  color: var(--color-prime);
  opacity: 1;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:focus,
  &:hover {
    transform: scale(1.2);
    background-color: var(--color-second);
    color: #fff;
  }
}

.carousel-control-prev--text[data-bs-target],
.carousel-control-prev--text[data-bs-slide] {
  gap: 0.5em;
  width: auto;
  height: auto;
  margin-top: 0;
  margin-bottom: 0;
  border-radius: initial;
  border-bottom: 3px solid transparent;
  background-color: transparent;
  color: var(--color-copy);

  &:focus,
  &:hover {
    transform: none;
    border-color: var(--color-second);
    background-color: transparent;
    color: var(--color-prime);
  }
}

.carousel-control-next[data-bs-target],
.carousel-control-next[data-bs-slide] {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  margin-top: 10px;
  margin-bottom: 10px;
  border-radius: 50%;
  font-size: var(--f5);
  background-color: var(--color-quin);
  color: var(--color-prime);
  opacity: 1;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:focus,
  &:hover {
    transform: scale(1.2);
    background-color: var(--color-second);
    color: #fff;
  }
}

.carousel-control-next--text[data-bs-target],
.carousel-control-next--text[data-bs-slide] {
  gap: 0.5em;
  width: auto;
  height: auto;
  margin-top: 0;
  margin-bottom: 0;
  border-radius: initial;
  border-bottom: 3px solid transparent;
  background-color: transparent;
  color: var(--color-copy);

  &:focus,
  &:hover {
    transform: none;
    border-color: var(--color-second);
    background-color: transparent;
    color: var(--color-prime);
  }
}

/* details / summary accordion */
.color-white,
.dark-mode {
  details {
    border-color: rgba(255, 255, 255, 0.15);

    a {
      font-weight: 700;
      color: #fff;

      &:hover,
      &:focus {
        background-color: var(--color-second);
        color: var(--color-copy);
      }
    }

    summary {
      color: #fff;
      &:after,
      &:before {
        background-color: var(--color-bg);
        color: var(--color-prime);
      }
      &:hover,
      &:focus {
        color: #fff;
      }
    }
  }
}
details {
  position: relative;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);

  &:last-child {
    margin-bottom: 0;
  }
}

.no-focus-outline summary {
  outline: 0;
}

summary {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 0;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f5);
  line-height: 1.2;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:after,
  &:before {
    position: relative;
    top: 0.15em;
    content: "\f067";
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    margin-right: 1em;
    font: var(--fa-font-regular);
    font-size: var(--f7);
    line-height: 1;
    text-align: center;
    background: var(--color-prime);
    color: #fff;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
    z-index: 10;
  }

  &:after {
    position: absolute;
    left: 0;
    content: "\f068";
    opacity: 0;
    z-index: 20;
  }

  &:hover {
    &:after,
    &:before {
      transform: scale(1.2);
      background-color: var(--color-second);
    }
  }

  &:focus,
  &:hover {
    /*  color: var(--color-prime); */

    &:after,
    &:before {
      background-color: var(--color-second);
    }
  }
}

details[open] {
  summary {
    margin-bottom: 0.5em;

    &:after {
      opacity: 1;
      transform: scale(1);
    }

    &:before {
      transform: scale(1);
    }
  }
}

.accordion-title {
  margin-bottom: 0;
}

.accordion-content ol:last-of-type:last-child,
.accordion-content p:last-of-type:last-child,
.accordion-content ul:last-of-type:last-child {
  margin-bottom: 0;
}

.accordion-content {
  animation: accordion-fade-in 0.3s ease-in-out;
}
@keyframes accordion-fade-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@media (min-width: 992px) {
  .content-area .two-col-list ul {
    column-count: 2;
    column-gap: 30px;
  }
}

/*  Adds a border to the left and right of the headline text that is veritcally centered */

.headline-horz-border {
  position: relative;
  display: flex;
  align-items: center;

  &::after,
  &::before {
    content: "";
    display: block;
    flex-grow: 1;
    width: auto;
    height: 2px;
    margin-bottom: 0.125em;
    background-color: currentColor;
  }
}

.headline-double-border {
  position: relative;
  display: flex;
  align-items: center;

  &::after,
  &::before {
    content: "";
    display: block;
    flex-grow: 1;
    width: auto;
    height: 6px;
    margin-bottom: 0.125em;
    border-width: 1px 0 1px;
    border-style: double;
    border-color: currentColor;
  }

  &::before {
    margin-right: 0.25em;
  }

  &::after {
    margin-left: 0.25em;
  }
}
/*  Adds a border extending out from the headline to the left page margin */

.sub-headline-border-left .headline-subtitle {
  position: relative;
  display: inline-block;

  &:before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: calc(-50vw - 15px);
    display: block;
    width: 50vw;
    height: 2px;
    background: var(--color-second);
  }
}

.sub-headline-border-right .headline-subtitle {
  position: relative;
  display: inline-block;

  &:before {
    content: "";
    position: absolute;
    top: 0.5em;
    right: calc(-50vw - 15px);
    display: block;
    width: 50vw;
    height: 2px;
    background: var(--color-second);
  }
}

.headline-border-left {
  position: relative;
  display: inline-block;

  &:before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: calc(-50vw - 15px);
    display: block;
    width: 50vw;
    height: 2px;
    background: var(--color-second);
  }
}

.headline-border-right {
  position: relative;
  display: inline-block;

  &:before {
    content: "";
    position: absolute;
    top: 0.5em;
    right: calc(-50vw - 15px);
    display: block;
    width: 50vw;
    height: 2px;
    background: var(--color-second);
  }
}

.headline-border {
  position: relative;
  display: inline-block;

  &:before {
    content: "";
    position: absolute;
    top: 0.5em;
    display: block;
    width: 50vw;
    height: 2px;
    background: var(--color-second);
  }
}

.headline-border--left {
  &:before {
    left: calc(-50vw - 15px);
  }
}

.headline-border--right:before {
  right: calc(-50vw - 15px);
}

.social-ico-row {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
}

.social-ico {
  display: inline-flex;
  text-decoration: none;

  svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:before {
    font: var(--fa-font-brands);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    text-decoration: none;
    transform: scale(1.2);
    path {
      fill: inherit;
    }
  }
}

.social-ico--bluesky::before {
  content: "\e671";
}

.social-ico--fb::before {
  content: "\f09a";
}

.social-ico--twitter::before {
  content: "\e61b";
}

.social-ico--linkedin::before {
  content: "\f0e1";
}

.social-ico--youtube::before {
  content: "\f167";
}

.social-ico--google::before {
  content: "\f1a0";
}

.social-ico--insta::before {
  content: "\f16d";
}

.social-ico--yelp::before {
  content: "\f1e9";
}

.social-ico--tiktok::before {
  content: "\e07b";
}

.social-ico--pintrest::before {
  content: "\f0d2";
}

.color-white {
  .social-ico {
    color: #fff;
  }
}

.admin-footer {
  display: none;
}
@media (min-width: 992px) {
  .logged-in {
    #page {
      padding-bottom: calc(2vh + 46px);
    }
  }
  .admin-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    border-width: 2px 0 0 0;
    border-style: solid;
    border-color: #14c8e3;
    background-color: rgba(11, 22, 38, 0.9);
    position: fixed;
    left: 0;
    bottom: 0;
    backdrop-filter: blur(5px);
    z-index: 90;
  }

  .zblocks-edit-post-links {
    display: flex;
    gap: 5px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
      "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol";

    a {
      display: inline-block;
      padding: calc(1vh + 0.5em) 0.5em;
      font-weight: 500;
      font-size: var(--f7);
      text-decoration: none !important;
      color: #fff !important;

      &:hover,
      &:focus {
        background-color: #269fba;
        color: #fff !important;
      }

      &:before {
        content: "\027E8 ";
      }
      &:after {
        content: "\027E9";
      }
    }
  }
}

/* dynamic content */
.dynamic-content-top {
	margin-bottom: 45px;
}

.dynamic-content-bottom {
	margin-top: 45px;
}

.dynamic-carousel {
  margin: -30px -30px 0;

  .carousel-inner {
    padding: 30px;
    margin-bottom: -30px;
  }
}

.dynamic-row {
  display: flex;
  flex-wrap: wrap;
  gap: 45px;
}
@media (min-width: 1200px) {
  .dynamic-row--3 > * {
    flex-grow: 0;
    flex-basis: calc(33.333333333333336% - 30px);
  }
  .dynamic-row--5 {
    flex-wrap: nowrap;
  }
  .dynamic-row--5 > * {
    flex-grow: 0;
    flex-basis: calc(20% - 36px);
  }
}

/* utilities.scss */
.sticky-container {
  height: 100%;
}

.sticky-element {
  position: sticky;
  @media (min-width: 768px) {
    top: var(--header-fixed-md-height);
  }
  @media (min-width: 992px) {
    top: var(--header-fixed-lg-height);
  }
  @media (min-width: 1200px) {
    top: var(--header-fixed-xl-height);
  }
}

.line-measure {
  max-width: 86ch;
}

.line-measure-wide {
  max-width: 110ch;
}

/*  gsap animation */
.gsap-bg-expand {
  background-position: center;
}

/*  position utilites */
.pin-bottom-left {
  position: absolute;
  bottom: 0;
  left: 0;
}

.pin-bottom-right {
  position: absolute;
  bottom: 0;
  right: 0;
}

.pin-top-left {
  position: absolute;
  top: 0;
  left: 0;
}

.pin-top-right {
  position: absolute;
  top: 0;
  right: 0;
}

/*  content margin utilities */
.content-margin-left {
  @media (min-width: 992px) {
    margin-left: 30px;
  }
  @media (min-width: 1500px) {
    margin-left: 60px;
  }
}

.content-margin-right {
  @media (min-width: 992px) {
    margin-right: 30px;
  }
  @media (min-width: 1500px) {
    margin-right: 60px;
  }
}

/*  block offset classes */
.block-top-offset {
  position: relative;
  margin-top: -15px;
  z-index: 20;


  @media (min-width: 768px) {
   margin-top: calc((var(--vertical-space-md) + 30px) * -1);
  }
  @media (min-width: 992px) {
    margin-top: calc((var(--vertical-space-lg) + 30px) * -1);
  }
		@media(min-width: 1200px) {
		margin-top: calc((var(--vertical-space-xl) + 45px) * -1);
	}
	@media(min-width: 1500px) {
		margin-top: calc((var(--vertical-space-xx) + 60px) * -1);
	}
}

/*  css column utility classes */
.column-span-all {
  column-span: all;
}
[class*="column-"] {
  column-gap: 30px;
}
.column-2 {
  column-count: 2;
}
.column-sm-2 {
  @media (min-width: 576px) {
    column-count: 2;
  }
}
.column-md-2 {
  @media (min-width: 768px) {
    column-count: 2;
  }
}
.column-lg-2 {
  @media (min-width: 992px) {
    column-count: 2;
  }
}
.column-xl-2 {
  @media (min-width: 1200px) {
    column-count: 2;
  }
}
.column-xx-2 {
  @media (min-width: 1500px) {
    column-count: 2;
  }
}
.column-hd-2 {
  @media (min-width: 1900px) {
    column-count: 2;
  }
}

.disable-link {
  pointer-events: none !important;
}

.lh-header {
  line-height: 1.2;
}

.lh-body {
  line-height: 1.5;
}

.lh-1 {
  line-height: 1;
}

.drop-cap > p:first-child::first-letter {
  float: left;
  font-size: 3.5em;
  line-height: 1;
  margin-top: 0.03em;
  margin-right: 0.1em;
  color: var(--color-prime);
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
}

.sr-only,
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
  color: black;
  background-color: white;
}

.border-bottom {
  border-bottom: 1px solid var(--color-quin) !important;
}

.table-responsive {
  display: block;
  width: 100%;
  margin-bottom: 30px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.two-col-list {
  @media (min-width: 992px) {
    ol,
    ul {
      column-count: 2;
      column-gap: 45px;
    }
  }
}

.margin-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px;
}

.text-wrap-balance {
  text-wrap: balance;
}

.has-text-align-center {
  text-align: center;
}
/*  Text align utilities */

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

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

.text-center {
  text-align: center;
}
@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }

  .text-sm-right {
    text-align: right !important;
  }

  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }

  .text-md-right {
    text-align: right !important;
  }

  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }

  .text-lg-right {
    text-align: right !important;
  }

  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }

  .text-xl-right {
    text-align: right !important;
  }

  .text-xl-center {
    text-align: center !important;
  }
}

.image-fill-container {
  position: relative;
  @media (min-width: 992px) {
    width: 100%;
    height: 100%;
    margin-bottom: 0;

    img {
      position: absolute;
      top: 0;
      left: 0;
      width: calc(100% - 30px);
      height: 100%;
      object-fit: cover;
    }
  }
}

.align-left,
.alignleft,
.float-left {
  display: block;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1.5em;
  @media (min-width: 768px) {
    margin-right: 1.5em;
    display: inline;
    float: left;
  }
}

.align-right,
.alignright,
.float-right {
  display: block;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1.5em;
  @media (min-width: 768px) {
    margin-left: 1.5em;
    display: inline;
    float: right;
  }
}

.align-center,
.aligncenter {
  margin-right: auto;
  margin-left: auto;
  display: block;
  clear: both;
}

/*  Update bs gutters to 30px */

.container,
.container-fluid,
.row {
  --bs-gutter-x: 3rem;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}
.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}
/*  limits container to 1140px wide even at 1400px */

.container,
.container-lg,
.container-md,
.container-sm,
.container-xl {
  @media (min-width: 1200px) {
    max-width: 1140px;
  }
}

.no-container {
  .row {
    margin: 0;
  }

  .row > [class*="col"] {
    padding: 0;
  }
}

/*  Fluid container margins */

.container--margin {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;

  /*@media (min-width: 768px) and (max-width: 991px) {
    width: 95%;
  }*/
}
@media (min-width: 992px) {
  .container--margin {
    padding-right: 30px;
    padding-left: 30px;
  }

  .container--margin-left {
    padding-left: 30px;
  }

  .container--margin-right {
    padding-right: 30px;
  }
}
@media (min-width: 1200px) {
  .container--margin {
    /*padding-right: 40px;
    padding-left: 40px;*/
    padding-right: 5vw;
    padding-left: 5vw;
  }

  .container--margin-left {
    padding-left: 5vw;
  }

  .container--margin-right {
    padding-right: 5vw;
  }
}
@media (min-width: 1500px) {
  .container--margin {
    padding-right: 90px;
    padding-left: 90px;
  }

  .container--margin-left {
    padding-left: 90px;
  }

  .container--margin-right {
    padding-right: 90px;
  }
}
@media (min-width: 1900px) {
  .container--margin {
    padding-right: 145px;
    padding-left: 145px;
  }

  .container--margin-left {
    padding-left: 145px;
  }

  .container--margin-right {
    padding-right: 145px;
  }
}

/*  sets the container to fluid at the designated breakpoint */
.container-fluid-lg {
  max-width: 100%;
  @media (min-width: 576px) {
    max-width: 540px;
  }
  @media (min-width: 768px) {
    max-width: 720px;
  }
  @media (min-width: 992px) {
    max-width: 1920px;
  }
}

/*  Content block container utilities */

.d-grid {
  display: grid !important;
}
@media (min-width: 576px) {
  .d-sm-grid {
    display: grid !important;
  }
}
@media (min-width: 768px) {
  .d-md-grid {
    display: grid !important;
  }
}
@media (min-width: 992px) {
  .d-lg-grid {
    display: grid !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-grid {
    display: grid !important;
  }
}
@media (min-width: 1500px) {
  .d-xx-none {
    display: none !important;
  }

  .d-xx-inline {
    display: inline !important;
  }

  .d-xx-inline-block {
    display: inline-block !important;
  }

  .d-xx-block {
    display: block !important;
  }

  .d-xx-flex {
    display: flex !important;
  }

  .d-xx-inline-flex {
    display: inline-flex !important;
  }

  .d-xx-grid {
    display: grid !important;
  }
}
@media (min-width: 1900px) {
  .d-hd-none {
    display: none !important;
  }

  .d-hd-inline {
    display: inline !important;
  }

  .d-hd-inline-block {
    display: inline-block !important;
  }

  .d-hd-block {
    display: block !important;
  }

  .d-hd-flex {
    display: flex !important;
  }

  .d-hd-inline-flex {
    display: inline-flex !important;
  }

  .d-hd-grid {
    display: grid !important;
  }
}

.block-padding {
  padding-top: var(--vertical-space);
  padding-bottom: var(--vertical-space);

  @media (min-width: 768px) {
    padding-top: var(--vertical-space-md);
    padding-bottom: var(--vertical-space-md);
  }
  @media (min-width: 992px) {
    padding-top: var(--vertical-space-lg);
    padding-bottom: var(--vertical-space-lg);
  }
  @media (min-width: 1200px) {
    padding-top: var(--vertical-space-xl);
    padding-bottom: var(--vertical-space-xl);
  }
  @media (min-width: 1500px) {
    padding-top: var(--vertical-space-xx);
    padding-bottom: var(--vertical-space-xx);
  }
}

.block-padding-top {
  padding-top: var(--vertical-space);
  @media (min-width: 768px) {
    padding-top: var(--vertical-space-md);
  }
  @media (min-width: 992px) {
    padding-top: var(--vertical-space-lg);
  }
  @media (min-width: 1200px) {
    padding-top: var(--vertical-space-xl);
  }
  @media (min-width: 1500px) {
    padding-top: var(--vertical-space-xx);
  }
}

.block-padding-bottom {
  padding-bottom: var(--vertical-space);
  @media (min-width: 768px) {
    padding-bottom: var(--vertical-space-md);
  }
  @media (min-width: 992px) {
    padding-bottom: var(--vertical-space-lg);
  }
  @media (min-width: 1200px) {
    padding-bottom: var(--vertical-space-xl);
  }
  @media (min-width: 1500px) {
    padding-bottom: var(--vertical-space-xx);
  }
}

.block-padding-md {
  padding-top: var(--vertical-space);
  padding-bottom: var(--vertical-space);
  @media (min-width: 768px) {
    padding-top: var(--vertical-space-md);
    padding-bottom: var(--vertical-space-md);
  }
}

.magic-margin {
  margin-bottom: var(--vertical-space);

  @media (min-width: 768px) {
    margin-bottom: var(--vertical-space-md);
  }
  @media (min-width: 992px) {
    margin-bottom: var(--vertical-space-lg);
  }
  @media (min-width: 1200px) {
    margin-bottom: var(--vertical-space-xl);
  }
  @media (min-width: 1500px) {
    margin-bottom: var(--vertical-space-xx);
  }

  &:first-of-type {
    margin-top: var(--vertical-space);

    @media (min-width: 768px) {
      margin-top: var(--vertical-space-md);
    }
    @media (min-width: 992px) {
      margin-top: var(--vertical-space-lg);
    }
    @media (min-width: 1200px) {
      margin-top: var(--vertical-space-xl);
    }
    @media (min-width: 1500px) {
      margin-top: var(--vertical-space-xx);
    }
  }

  &:last-of-type {
    margin-bottom: 0 !important;
  }
}

.block-margin {
  margin-bottom: var(--vertical-space);

  @media (min-width: 768px) {
    margin-bottom: var(--vertical-space-md);
  }
  @media (min-width: 992px) {
    margin-bottom: var(--vertical-space-lg);
  }
  @media (min-width: 1200px) {
    margin-bottom: var(--vertical-space-xl);
  }
  @media (min-width: 1500px) {
    margin-bottom: var(--vertical-space-xx);
  }
}

.block-margin-top {
  margin-top: var(--vertical-space);

  @media (min-width: 768px) {
    margin-top: var(--vertical-space-md);
  }
  @media (min-width: 992px) {
    margin-top: var(--vertical-space-lg);
  }
  @media (min-width: 1200px) {
    margin-top: var(--vertical-space-xl);
  }
  @media (min-width: 1500px) {
    margin-top: var(--vertical-space-xx);
  }
}

.block-margin-md {
  margin-bottom: var(--vertical-space);
  @media (min-width: 768px) {
    margin-bottom: var(--vertical-space-md);
  }
}

/* CSS Column Utilities */
.list-2-col {
  @media (min-width: 768px) {
    ol,
    ul {
      column-count: 2;
      column-gap: 30px;
    }
    li {
      break-inside: avoid-column;
    }
  }
}

.list-3-col {
  @media (min-width: 768px) {
    ol,
    ul {
      column-count: 2;
      column-gap: 30px;
    }
    li {
      break-inside: avoid-column;
    }
  }
  @media (min-width: 992px) {
    ol,
    ul {
      column-count: 3;
      column-gap: 30px;
    }
    li {
      break-inside: avoid-column;
    }
  }
}
/* 2 col paragraph content */

.columns-2 {
  @media (min-width: 768px) {
    column-count: 2;
    column-gap: 100px;
    column-rule-style: solid;
    column-rule-width: 1px;
  }
}
/*  line height */

.lh-1 {
  line-height: 1;
}

.lh-1_2 {
  line-height: 1.2;
}

.no-underline,
.text-decoration-none {
  text-decoration: none !important;
}

.font-header {
  font-weight: var(--font-header-weight);
  font-family: var(--font-header), -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol";
}

.font-body {
  font-weight: var(--font-body-weight);
  font-family: var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol";
}

.font-italic {
  font-style: italic;
}

.font-bold {
  font-weight: 700;
}

.color-prime {
  color: var(--color-prime) !important;
}

.color-second {
  color: var(--color-second) !important;
}

.color-tert {
  color: var(--color-tert) !important;
}

.color-quart {
  color: var(--color-quart) !important;
}

.color-quin {
  color: var(--color-quin) t !important;
}

.color-black {
  color: #000 !important;
}

.color-white {
  color: #fff !important;
}

.color-dark {
  color: var(--color-dark, #000) !important;
}

.color-light {
  color: var(--color-light) !important;
}

.color-copy {
  color: var(--color-copy) !important;
}
/*  Background utilities */

.bg-no-repeat {
  background-repeat: no-repeat;
}

.bg-repeat {
  background-repeat: repeat;
  background-size: auto !important;
}

.bg-center {
  background-position: center;
}

.bg-center-top {
  background-position: center top;
}

.bg-center-bottom {
  background-position: center bottom;
}

.bg-top {
  background-position: top;
}

.bg-right {
  background-position: right;
}

.bg-bottom {
  background-position: bottom;
}

.bg-left {
  background-position: left;
}

.bg-fixed {
  background-attachment: fixed;
}
@supports (-webkit-overflow-scrolling: touch) {
  /* CSS specific to iOS devices */
  .bg-fixed {
    background-attachment: scroll;
  }
}

.bg-cover,
.bg-size-cover {
  background-size: cover;
}
@media (min-width: 1200px) {
  .bg-xl-cover {
    background-size: cover;
  }
}

.bg-contain,
.bg-size-contain {
  background-size: contain;
}

.bg-copy {
  background-color: var(--color-copy);
}

.bg-transparent {
  background-color: transparent;
}

.bg-default {
  background-color: var(--color-bg);
}

.bg-prime {
  background-color: var(--color-prime) !important;
}

.bg-second {
  background-color: var(--color-second) !important;
}

.bg-tert {
  background-color: var(--color-tert) !important;
}

.bg-quart {
  background-color: var(--color-quart) !important;
}

.bg-quin {
  background-color: var(--color-quin) !important;
}

.bg-dark {
  background-color: var(--color-dark, #000) !important;
}

.bg-light {
  background-color: var(--color-light) !important;
}

.bg-black {
  background-color: #000 !important;
}

.bg-white {
  background-color: #fff !important;
}
/* bg color overlay */

.bg-overlay .container,
.bg-overlay .container-fluid {
  position: relative;
  z-index: 20;
}

.bg-overlay {
  position: relative;

  &:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    opacity: 0.75;
    z-index: 10;
  }
}
.bg-overlay--gradient::before {
  background: linear-gradient(
    0deg,
    var(--color-prime) 0%,
    var(--color-second) 100%
  );
}

.bg-overlay--prime::before {
  background: var(--color-prime);
}

.bg-overlay--second::before {
  background: var(--color-second);
}

.bg-overlay--tert::before {
  background: var(--color-tert);
}

.bg-overlay--quart::before {
  background: var(--color-quart);
}

.bg-overlay--quin::before {
  background: var(--color-quin);
}

.bg-overlay--dark::before {
  background: var(--color-dark, #000);
}

.bg-overlay--light::before {
  background: var(--color-light);
}
/* xx column scale */
@media (min-width: 1500px) {
  .col-xx {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-xx-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-xx-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

  .col-xx-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

  .col-xx-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xx-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-xx-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-xx-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xx-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .col-xx-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  .col-xx-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xx-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }

  .col-xx-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }

  .col-xx-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xx-first {
    order: -1;
  }

  .order-xx-last {
    order: 13;
  }

  .order-xx-0 {
    order: 0;
  }

  .order-xx-1 {
    order: 1;
  }

  .order-xx-2 {
    order: 2;
  }

  .order-xx-3 {
    order: 3;
  }

  .order-xx-4 {
    order: 4;
  }

  .order-xx-5 {
    order: 5;
  }

  .order-xx-6 {
    order: 6;
  }

  .order-xx-7 {
    order: 7;
  }

  .order-xx-8 {
    order: 8;
  }

  .order-xx-9 {
    order: 9;
  }

  .order-xx-10 {
    order: 10;
  }

  .order-xx-11 {
    order: 11;
  }

  .order-xx-12 {
    order: 12;
  }

  .offset-xx-0 {
    margin-left: 0;
  }

  .offset-xx-1 {
    margin-left: 8.333333%;
  }

  .offset-xx-2 {
    margin-left: 16.666667%;
  }

  .offset-xx-3 {
    margin-left: 25%;
  }

  .offset-xx-4 {
    margin-left: 33.333333%;
  }

  .offset-xx-5 {
    margin-left: 41.666667%;
  }

  .offset-xx-6 {
    margin-left: 50%;
  }

  .offset-xx-7 {
    margin-left: 58.333333%;
  }

  .offset-xx-8 {
    margin-left: 66.666667%;
  }

  .offset-xx-9 {
    margin-left: 75%;
  }

  .offset-xx-10 {
    margin-left: 83.333333%;
  }

  .offset-xx-11 {
    margin-left: 91.666667%;
  }
}
/*  hd column scale */
@media (min-width: 1900px) {
  .col-hd {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-hd-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-hd-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

  .col-hd-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

  .col-hd-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-hd-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-hd-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-hd-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-hd-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .col-hd-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  .col-hd-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-hd-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }

  .col-hd-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }

  .col-hd-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-hd-first {
    order: -1;
  }

  .order-hd-last {
    order: 13;
  }

  .order-hd-0 {
    order: 0;
  }

  .order-hd-1 {
    order: 1;
  }

  .order-hd-2 {
    order: 2;
  }

  .order-hd-3 {
    order: 3;
  }

  .order-hd-4 {
    order: 4;
  }

  .order-hd-5 {
    order: 5;
  }

  .order-hd-6 {
    order: 6;
  }

  .order-hd-7 {
    order: 7;
  }

  .order-hd-8 {
    order: 8;
  }

  .order-hd-9 {
    order: 9;
  }

  .order-hd-10 {
    order: 10;
  }

  .order-hd-11 {
    order: 11;
  }

  .order-hd-12 {
    order: 12;
  }

  .offset-hd-0 {
    margin-left: 0;
  }

  .offset-hd-1 {
    margin-left: 8.333333%;
  }

  .offset-hd-2 {
    margin-left: 16.666667%;
  }

  .offset-hd-3 {
    margin-left: 25%;
  }

  .offset-hd-4 {
    margin-left: 33.333333%;
  }

  .offset-hd-5 {
    margin-left: 41.666667%;
  }

  .offset-hd-6 {
    margin-left: 50%;
  }

  .offset-hd-7 {
    margin-left: 58.333333%;
  }

  .offset-hd-8 {
    margin-left: 66.666667%;
  }

  .offset-hd-9 {
    margin-left: 75%;
  }

  .offset-hd-10 {
    margin-left: 83.333333%;
  }

  .offset-hd-11 {
    margin-left: 91.666667%;
  }
}
/* Stacking order */
.layer-0 {
  z-index: 0;
}

.layer-1 {
  z-index: 10;
}

.layer-2 {
  z-index: 20;
}

.layer-3 {
  z-index: 30;
}

.layer-4 {
  z-index: 40;
}

.layer-menu {
  z-index: 90;
}

.layer-dimmer {
  z-index: 100;
}

.layer-modal {
  z-index: 110;
}

.layer-behind {
	z-index: -1;
}
/* type scale */
.fw-100 {
  font-weight: 100 !important;
}

.fw-200 {
  font-weight: 200 !important;
}

.fw-300 {
  font-weight: 300 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

.fw-600 {
  font-weight: 600 !important;
}

.fw-700 {
  font-weight: 700 !important;
}

.fw-800 {
  font-weight: 800 !important;
}

.fw-900 {
  font-weight: 900 !important;
}

.d1 {
  font-size: var(--d1);
}

.d2 {
  font-size: var(--d2);
}

.d3 {
  font-size: var(--d3);
}

.d4 {
  font-size: var(--d4);
}

.d5 {
  font-size: var(--d5);
}

.d6 {
  font-size: var(--d6);
}

.f1 {
  font-size: var(--f1);
}

.f2 {
  font-size: var(--f2);
}

.f3 {
  font-size: var(--f3);
}

.f4 {
  font-size: var(--f4);
}

.f5 {
  font-size: var(--f5);
}

.f6 {
  font-size: var(--f6);
}

.f7 {
  font-size: var(--f7);
}

.f8 {
  font-size: var(--f8);
}

.f9 {
  font-size: var(--f9);
}
/*  Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .d1-sm {
    font-size: var(--d1);
  }

  .d2-sm {
    font-size: var(--d2);
  }

  .d3-sm {
    font-size: var(--d3);
  }

  .d4-sm {
    font-size: var(--d4);
  }

  .d5-sm {
    font-size: var(--d5);
  }

  .d6-sm {
    font-size: var(--d6);
  }

  .f1-sm {
    font-size: var(--f1);
  }

  .f2-sm {
    font-size: var(--f2);
  }

  .f3-sm {
    font-size: var(--f3);
  }

  .f4-sm {
    font-size: var(--f4);
  }

  .f5-sm {
    font-size: var(--f5);
  }

  .f6-sm {
    font-size: var(--f6);
  }

  .f7-sm {
    font-size: var(--f7);
  }

  .f8-sm {
    font-size: var(--f8);
  }

  .f9-sm {
    font-size: var(--f9);
  }
}
/*  Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .d1-md {
    font-size: var(--d1);
  }

  .d2-md {
    font-size: var(--d2);
  }

  .d3-md {
    font-size: var(--d3);
  }

  .d4-md {
    font-size: var(--d4);
  }

  .d5-md {
    font-size: var(--d5);
  }

  .d6-md {
    font-size: var(--d6);
  }

  .f1-md {
    font-size: var(--f1);
  }

  .f2-md {
    font-size: var(--f2);
  }

  .f3-md {
    font-size: var(--f3);
  }

  .f4-md {
    font-size: var(--f4);
  }

  .f5-md {
    font-size: var(--f5);
  }

  .f6-md {
    font-size: var(--f6);
  }

  .f7-md {
    font-size: var(--f7);
  }

  .f8-md {
    font-size: var(--f8);
  }

  .f9-md {
    font-size: var(--f9);
  }
}
/*  Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .d1-lg {
    font-size: var(--d1);
  }

  .d2-lg {
    font-size: var(--d2);
  }

  .d3-lg {
    font-size: var(--d3);
  }

  .d4-lg {
    font-size: var(--d4);
  }

  .d5-lg {
    font-size: var(--d5);
  }

  .d6-lg {
    font-size: var(--d6);
  }

  .f1-lg {
    font-size: var(--f1);
  }

  .f2-lg {
    font-size: var(--f2);
  }

  .f3-lg {
    font-size: var(--f3);
  }

  .f4-lg {
    font-size: var(--f4);
  }

  .f5-lg {
    font-size: var(--f5);
  }

  .f6-lg {
    font-size: var(--f6);
  }

  .f7-lg {
    font-size: var(--f7);
  }

  .f8-lg {
    font-size: var(--f8);
  }

  .f9-lg {
    font-size: var(--f9);
  }
}
/*  Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .d1-xl {
    font-size: var(--d1);
  }

  .d2-xl {
    font-size: var(--d2);
  }

  .d3-xl {
    font-size: var(--d3);
  }

  .d4-xl {
    font-size: var(--d4);
  }

  .d5-xl {
    font-size: var(--d5);
  }

  .d6-xl {
    font-size: var(--d6);
  }

  .f1-xl {
    font-size: var(--f1);
  }

  .f2-xl {
    font-size: var(--f2);
  }

  .f3-xl {
    font-size: var(--f3);
  }

  .f4-xl {
    font-size: var(--f4);
  }

  .f5-xl {
    font-size: var(--f5);
  }

  .f6-xl {
    font-size: var(--f6);
  }

  .f7-xl {
    font-size: var(--f7);
  }

  .f8-xl {
    font-size: var(--f8);
  }

  .f9-xl {
    font-size: var(--f9);
  }
}
/*  XX large devices (large desktops, 1500px and up) */
@media (min-width: 1500px) {
  .d1-xx {
    font-size: var(--d1);
  }

  .d2-xx {
    font-size: var(--d2);
  }

  .d3-xx {
    font-size: var(--d3);
  }

  .d4-xx {
    font-size: var(--d4);
  }

  .d5-xx {
    font-size: var(--d5);
  }

  .d6-xx {
    font-size: var(--d6);
  }

  .f1-xx {
    font-size: var(--f1);
  }

  .f2-xx {
    font-size: var(--f2);
  }

  .f3-xx {
    font-size: var(--f3);
  }

  .f4-xx {
    font-size: var(--f4);
  }

  .f5-xx {
    font-size: var(--f5);
  }

  .f6-xx {
    font-size: var(--f6);
  }

  .f7-xx {
    font-size: var(--f7);
  }

  .f8-xx {
    font-size: var(--f8);
  }

  .f9-xx {
    font-size: var(--f9);
  }
}
@media (min-width: 1900px) {
  .d1-hd {
    font-size: var(--d1);
  }

  .d2-hd {
    font-size: var(--d2);
  }

  .d3-hd {
    font-size: var(--d3);
  }

  .d4-hd {
    font-size: var(--d4);
  }

  .d5-hd {
    font-size: var(--d5);
  }

  .d6-hd {
    font-size: var(--d6);
  }

  .f1-hd {
    font-size: var(--f1);
  }

  .f2-hd {
    font-size: var(--f2);
  }

  .f3-hd {
    font-size: var(--f3);
  }

  .f4-hd {
    font-size: var(--f4);
  }

  .f5-hd {
    font-size: var(--f5);
  }

  .f6-hd {
    font-size: var(--f6);
  }

  .f7-hd {
    font-size: var(--f7);
  }

  .f8-hd {
    font-size: var(--f8);
  }

  .f9-hd {
    font-size: var(--f9);
  }
}
/*  Additiona boostrap utility margin and padding break points */
@media (min-width: 1500px) {
  .m-xx-0 {
    margin: 0 !important;
  }

  .mt-xx-0,
  .my-xx-0 {
    margin-top: 0 !important;
  }

  .mr-xx-0,
  .mx-xx-0 {
    margin-right: 0 !important;
  }

  .mb-xx-0,
  .my-xx-0 {
    margin-bottom: 0 !important;
  }

  .ml-xx-0,
  .mx-xx-0 {
    margin-left: 0 !important;
  }

  .m-xx-1 {
    margin: 0.25rem !important;
  }

  .mt-xx-1,
  .my-xx-1 {
    margin-top: 0.25rem !important;
  }

  .mr-xx-1,
  .mx-xx-1 {
    margin-right: 0.25rem !important;
  }

  .mb-xx-1,
  .my-xx-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-xx-1,
  .mx-xx-1 {
    margin-left: 0.25rem !important;
  }

  .m-xx-2 {
    margin: 0.5rem !important;
  }

  .mt-xx-2,
  .my-xx-2 {
    margin-top: 0.5rem !important;
  }

  .mr-xx-2,
  .mx-xx-2 {
    margin-right: 0.5rem !important;
  }

  .mb-xx-2,
  .my-xx-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-xx-2,
  .mx-xx-2 {
    margin-left: 0.5rem !important;
  }

  .m-xx-3 {
    margin: 1rem !important;
  }

  .mt-xx-3,
  .my-xx-3 {
    margin-top: 1rem !important;
  }

  .mr-xx-3,
  .mx-xx-3 {
    margin-right: 1rem !important;
  }

  .mb-xx-3,
  .my-xx-3 {
    margin-bottom: 1rem !important;
  }

  .ml-xx-3,
  .mx-xx-3 {
    margin-left: 1rem !important;
  }

  .m-xx-4 {
    margin: 1.5rem !important;
  }

  .mt-xx-4,
  .my-xx-4 {
    margin-top: 1.5rem !important;
  }

  .mr-xx-4,
  .mx-xx-4 {
    margin-right: 1.5rem !important;
  }

  .mb-xx-4,
  .my-xx-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-xx-4,
  .mx-xx-4 {
    margin-left: 1.5rem !important;
  }

  .m-xx-5 {
    margin: 3rem !important;
  }

  .mt-xx-5,
  .my-xx-5 {
    margin-top: 3rem !important;
  }

  .mr-xx-5,
  .mx-xx-5 {
    margin-right: 3rem !important;
  }

  .mb-xx-5,
  .my-xx-5 {
    margin-bottom: 3rem !important;
  }

  .ml-xx-5,
  .mx-xx-5 {
    margin-left: 3rem !important;
  }

  .p-xx-0 {
    padding: 0 !important;
  }

  .pt-xx-0,
  .py-xx-0 {
    padding-top: 0 !important;
  }

  .pr-xx-0,
  .px-xx-0 {
    padding-right: 0 !important;
  }

  .pb-xx-0,
  .py-xx-0 {
    padding-bottom: 0 !important;
  }

  .pl-xx-0,
  .px-xx-0 {
    padding-left: 0 !important;
  }

  .p-xx-1 {
    padding: 0.25rem !important;
  }

  .pt-xx-1,
  .py-xx-1 {
    padding-top: 0.25rem !important;
  }

  .pr-xx-1,
  .px-xx-1 {
    padding-right: 0.25rem !important;
  }

  .pb-xx-1,
  .py-xx-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-xx-1,
  .px-xx-1 {
    padding-left: 0.25rem !important;
  }

  .p-xx-2 {
    padding: 0.5rem !important;
  }

  .pt-xx-2,
  .py-xx-2 {
    padding-top: 0.5rem !important;
  }

  .pr-xx-2,
  .px-xx-2 {
    padding-right: 0.5rem !important;
  }

  .pb-xx-2,
  .py-xx-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-xx-2,
  .px-xx-2 {
    padding-left: 0.5rem !important;
  }

  .p-xx-3 {
    padding: 1rem !important;
  }

  .pt-xx-3,
  .py-xx-3 {
    padding-top: 1rem !important;
  }

  .pr-xx-3,
  .px-xx-3 {
    padding-right: 1rem !important;
  }

  .pb-xx-3,
  .py-xx-3 {
    padding-bottom: 1rem !important;
  }

  .pl-xx-3,
  .px-xx-3 {
    padding-left: 1rem !important;
  }

  .p-xx-4 {
    padding: 1.5rem !important;
  }

  .pt-xx-4,
  .py-xx-4 {
    padding-top: 1.5rem !important;
  }

  .pr-xx-4,
  .px-xx-4 {
    padding-right: 1.5rem !important;
  }

  .pb-xx-4,
  .py-xx-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-xx-4,
  .px-xx-4 {
    padding-left: 1.5rem !important;
  }

  .p-xx-5 {
    padding: 3rem !important;
  }

  .pt-xx-5,
  .py-xx-5 {
    padding-top: 3rem !important;
  }

  .pr-xx-5,
  .px-xx-5 {
    padding-right: 3rem !important;
  }

  .pb-xx-5,
  .py-xx-5 {
    padding-bottom: 3rem !important;
  }

  .pl-xx-5,
  .px-xx-5 {
    padding-left: 3rem !important;
  }

  .m-xx-n1 {
    margin: -0.25rem !important;
  }

  .mt-xx-n1,
  .my-xx-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-xx-n1,
  .mx-xx-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-xx-n1,
  .my-xx-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-xx-n1,
  .mx-xx-n1 {
    margin-left: -0.25rem !important;
  }

  .m-xx-n2 {
    margin: -0.5rem !important;
  }

  .mt-xx-n2,
  .my-xx-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-xx-n2,
  .mx-xx-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-xx-n2,
  .my-xx-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-xx-n2,
  .mx-xx-n2 {
    margin-left: -0.5rem !important;
  }

  .m-xx-n3 {
    margin: -1rem !important;
  }

  .mt-xx-n3,
  .my-xx-n3 {
    margin-top: -1rem !important;
  }

  .mr-xx-n3,
  .mx-xx-n3 {
    margin-right: -1rem !important;
  }

  .mb-xx-n3,
  .my-xx-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-xx-n3,
  .mx-xx-n3 {
    margin-left: -1rem !important;
  }

  .m-xx-n4 {
    margin: -1.5rem !important;
  }

  .mt-xx-n4,
  .my-xx-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-xx-n4,
  .mx-xx-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-xx-n4,
  .my-xx-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-xx-n4,
  .mx-xx-n4 {
    margin-left: -1.5rem !important;
  }

  .m-xx-n5 {
    margin: -3rem !important;
  }

  .mt-xx-n5,
  .my-xx-n5 {
    margin-top: -3rem !important;
  }

  .mr-xx-n5,
  .mx-xx-n5 {
    margin-right: -3rem !important;
  }

  .mb-xx-n5,
  .my-xx-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-xx-n5,
  .mx-xx-n5 {
    margin-left: -3rem !important;
  }

  .m-xx-auto {
    margin: auto !important;
  }

  .mt-xx-auto,
  .my-xx-auto {
    margin-top: auto !important;
  }

  .mr-xx-auto,
  .mx-xx-auto {
    margin-right: auto !important;
  }

  .mb-xx-auto,
  .my-xx-auto {
    margin-bottom: auto !important;
  }

  .ml-xx-auto,
  .mx-xx-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1900px) {
  .m-hd-0 {
    margin: 0 !important;
  }

  .mt-hd-0,
  .my-hd-0 {
    margin-top: 0 !important;
  }

  .mr-hd-0,
  .mx-hd-0 {
    margin-right: 0 !important;
  }

  .mb-hd-0,
  .my-hd-0 {
    margin-bottom: 0 !important;
  }

  .ml-hd-0,
  .mx-hd-0 {
    margin-left: 0 !important;
  }

  .m-hd-1 {
    margin: 0.25rem !important;
  }

  .mt-hd-1,
  .my-hd-1 {
    margin-top: 0.25rem !important;
  }

  .mr-hd-1,
  .mx-hd-1 {
    margin-right: 0.25rem !important;
  }

  .mb-hd-1,
  .my-hd-1 {
    margin-bottom: 0.25rem !important;
  }

  .ml-hd-1,
  .mx-hd-1 {
    margin-left: 0.25rem !important;
  }

  .m-hd-2 {
    margin: 0.5rem !important;
  }

  .mt-hd-2,
  .my-hd-2 {
    margin-top: 0.5rem !important;
  }

  .mr-hd-2,
  .mx-hd-2 {
    margin-right: 0.5rem !important;
  }

  .mb-hd-2,
  .my-hd-2 {
    margin-bottom: 0.5rem !important;
  }

  .ml-hd-2,
  .mx-hd-2 {
    margin-left: 0.5rem !important;
  }

  .m-hd-3 {
    margin: 1rem !important;
  }

  .mt-hd-3,
  .my-hd-3 {
    margin-top: 1rem !important;
  }

  .mr-hd-3,
  .mx-hd-3 {
    margin-right: 1rem !important;
  }

  .mb-hd-3,
  .my-hd-3 {
    margin-bottom: 1rem !important;
  }

  .ml-hd-3,
  .mx-hd-3 {
    margin-left: 1rem !important;
  }

  .m-hd-4 {
    margin: 1.5rem !important;
  }

  .mt-hd-4,
  .my-hd-4 {
    margin-top: 1.5rem !important;
  }

  .mr-hd-4,
  .mx-hd-4 {
    margin-right: 1.5rem !important;
  }

  .mb-hd-4,
  .my-hd-4 {
    margin-bottom: 1.5rem !important;
  }

  .ml-hd-4,
  .mx-hd-4 {
    margin-left: 1.5rem !important;
  }

  .m-hd-5 {
    margin: 3rem !important;
  }

  .mt-hd-5,
  .my-hd-5 {
    margin-top: 3rem !important;
  }

  .mr-hd-5,
  .mx-hd-5 {
    margin-right: 3rem !important;
  }

  .mb-hd-5,
  .my-hd-5 {
    margin-bottom: 3rem !important;
  }

  .ml-hd-5,
  .mx-hd-5 {
    margin-left: 3rem !important;
  }

  .p-hd-0 {
    padding: 0 !important;
  }

  .pt-hd-0,
  .py-hd-0 {
    padding-top: 0 !important;
  }

  .pr-hd-0,
  .px-hd-0 {
    padding-right: 0 !important;
  }

  .pb-hd-0,
  .py-hd-0 {
    padding-bottom: 0 !important;
  }

  .pl-hd-0,
  .px-hd-0 {
    padding-left: 0 !important;
  }

  .p-hd-1 {
    padding: 0.25rem !important;
  }

  .pt-hd-1,
  .py-hd-1 {
    padding-top: 0.25rem !important;
  }

  .pr-hd-1,
  .px-hd-1 {
    padding-right: 0.25rem !important;
  }

  .pb-hd-1,
  .py-hd-1 {
    padding-bottom: 0.25rem !important;
  }

  .pl-hd-1,
  .px-hd-1 {
    padding-left: 0.25rem !important;
  }

  .p-hd-2 {
    padding: 0.5rem !important;
  }

  .pt-hd-2,
  .py-hd-2 {
    padding-top: 0.5rem !important;
  }

  .pr-hd-2,
  .px-hd-2 {
    padding-right: 0.5rem !important;
  }

  .pb-hd-2,
  .py-hd-2 {
    padding-bottom: 0.5rem !important;
  }

  .pl-hd-2,
  .px-hd-2 {
    padding-left: 0.5rem !important;
  }

  .p-hd-3 {
    padding: 1rem !important;
  }

  .pt-hd-3,
  .py-hd-3 {
    padding-top: 1rem !important;
  }

  .pr-hd-3,
  .px-hd-3 {
    padding-right: 1rem !important;
  }

  .pb-hd-3,
  .py-hd-3 {
    padding-bottom: 1rem !important;
  }

  .pl-hd-3,
  .px-hd-3 {
    padding-left: 1rem !important;
  }

  .p-hd-4 {
    padding: 1.5rem !important;
  }

  .pt-hd-4,
  .py-hd-4 {
    padding-top: 1.5rem !important;
  }

  .pr-hd-4,
  .px-hd-4 {
    padding-right: 1.5rem !important;
  }

  .pb-hd-4,
  .py-hd-4 {
    padding-bottom: 1.5rem !important;
  }

  .pl-hd-4,
  .px-hd-4 {
    padding-left: 1.5rem !important;
  }

  .p-hd-5 {
    padding: 3rem !important;
  }

  .pt-hd-5,
  .py-hd-5 {
    padding-top: 3rem !important;
  }

  .pr-hd-5,
  .px-hd-5 {
    padding-right: 3rem !important;
  }

  .pb-hd-5,
  .py-hd-5 {
    padding-bottom: 3rem !important;
  }

  .pl-hd-5,
  .px-hd-5 {
    padding-left: 3rem !important;
  }

  .m-hd-n1 {
    margin: -0.25rem !important;
  }

  .mt-hd-n1,
  .my-hd-n1 {
    margin-top: -0.25rem !important;
  }

  .mr-hd-n1,
  .mx-hd-n1 {
    margin-right: -0.25rem !important;
  }

  .mb-hd-n1,
  .my-hd-n1 {
    margin-bottom: -0.25rem !important;
  }

  .ml-hd-n1,
  .mx-hd-n1 {
    margin-left: -0.25rem !important;
  }

  .m-hd-n2 {
    margin: -0.5rem !important;
  }

  .mt-hd-n2,
  .my-hd-n2 {
    margin-top: -0.5rem !important;
  }

  .mr-hd-n2,
  .mx-hd-n2 {
    margin-right: -0.5rem !important;
  }

  .mb-hd-n2,
  .my-hd-n2 {
    margin-bottom: -0.5rem !important;
  }

  .ml-hd-n2,
  .mx-hd-n2 {
    margin-left: -0.5rem !important;
  }

  .m-hd-n3 {
    margin: -1rem !important;
  }

  .mt-hd-n3,
  .my-hd-n3 {
    margin-top: -1rem !important;
  }

  .mr-hd-n3,
  .mx-hd-n3 {
    margin-right: -1rem !important;
  }

  .mb-hd-n3,
  .my-hd-n3 {
    margin-bottom: -1rem !important;
  }

  .ml-hd-n3,
  .mx-hd-n3 {
    margin-left: -1rem !important;
  }

  .m-hd-n4 {
    margin: -1.5rem !important;
  }

  .mt-hd-n4,
  .my-hd-n4 {
    margin-top: -1.5rem !important;
  }

  .mr-hd-n4,
  .mx-hd-n4 {
    margin-right: -1.5rem !important;
  }

  .mb-hd-n4,
  .my-hd-n4 {
    margin-bottom: -1.5rem !important;
  }

  .ml-hd-n4,
  .mx-hd-n4 {
    margin-left: -1.5rem !important;
  }

  .m-hd-n5 {
    margin: -3rem !important;
  }

  .mt-hd-n5,
  .my-hd-n5 {
    margin-top: -3rem !important;
  }

  .mr-hd-n5,
  .mx-hd-n5 {
    margin-right: -3rem !important;
  }

  .mb-hd-n5,
  .my-hd-n5 {
    margin-bottom: -3rem !important;
  }

  .ml-hd-n5,
  .mx-hd-n5 {
    margin-left: -3rem !important;
  }

  .m-hd-auto {
    margin: auto !important;
  }

  .mt-hd-auto,
  .my-hd-auto {
    margin-top: auto !important;
  }

  .mr-hd-auto,
  .mx-hd-auto {
    margin-right: auto !important;
  }

  .mb-hd-auto,
  .my-hd-auto {
    margin-bottom: auto !important;
  }

  .ml-hd-auto,
  .mx-hd-auto {
    margin-left: auto !important;
  }
}
/*  Additional boostrap order breakpoints */
@media (min-width: 1500px) {
  .order-xx-first {
    -ms-flex-order: -1;
    order: -1;
  }

  .order-xx-last {
    -ms-flex-order: 13;
    order: 13;
  }

  .order-xx-0 {
    -ms-flex-order: 0;
    order: 0;
  }

  .order-xx-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-xx-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-xx-3 {
    -ms-flex-order: 3;
    order: 3;
  }

  .order-xx-4 {
    -ms-flex-order: 4;
    order: 4;
  }

  .order-xx-5 {
    -ms-flex-order: 5;
    order: 5;
  }

  .order-xx-6 {
    -ms-flex-order: 6;
    order: 6;
  }

  .order-xx-7 {
    -ms-flex-order: 7;
    order: 7;
  }

  .order-xx-8 {
    -ms-flex-order: 8;
    order: 8;
  }

  .order-xx-9 {
    -ms-flex-order: 9;
    order: 9;
  }

  .order-xx-10 {
    -ms-flex-order: 10;
    order: 10;
  }

  .order-xx-11 {
    -ms-flex-order: 11;
    order: 11;
  }

  .order-xx-12 {
    -ms-flex-order: 12;
    order: 12;
  }
}
@media (min-width: 1900px) {
  .order-hd-first {
    -ms-flex-order: -1;
    order: -1;
  }

  .order-hd-last {
    -ms-flex-order: 13;
    order: 13;
  }

  .order-hd-0 {
    -ms-flex-order: 0;
    order: 0;
  }

  .order-hd-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-hd-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-hd-3 {
    -ms-flex-order: 3;
    order: 3;
  }

  .order-hd-4 {
    -ms-flex-order: 4;
    order: 4;
  }

  .order-hd-5 {
    -ms-flex-order: 5;
    order: 5;
  }

  .order-hd-6 {
    -ms-flex-order: 6;
    order: 6;
  }

  .order-hd-7 {
    -ms-flex-order: 7;
    order: 7;
  }

  .order-hd-8 {
    -ms-flex-order: 8;
    order: 8;
  }

  .order-hd-9 {
    -ms-flex-order: 9;
    order: 9;
  }

  .order-hd-10 {
    -ms-flex-order: 10;
    order: 10;
  }

  .order-hd-11 {
    -ms-flex-order: 11;
    order: 11;
  }

  .order-hd-12 {
    -ms-flex-order: 12;
    order: 12;
  }
}

/* blocks.scss */
.list-block-content {
	li {
		padding-bottom: .65em;
		border-bottom: 1px solid color-mix(in srgb, currentColor 30%, transparent);
	}
}

.offset-card-block {
	&:after {
		content: "";
		display: block;
		width: 100%;
		height: 60px;
		background-color: var(--color-bg);
	}
}

.offset-card-img  {
	.block-figure {
		margin: 0;
	}
}

.offset-card-container {
	position: relative;
	display: flex;
  align-items: center;
	padding: 6vw;
	background-color: var(--color-bg);
	color: var(--color-copy);
	box-shadow: 0 4px 28px 0 rgba(0,0,0,0.25);
	margin-top: 30px;
	overflow-x: clip;

	@media(min-width: 992px) {
		margin-top: 0;
	}
	@media(min-width: 1200px) {
		height: calc(100% + 60px);
	}
}

.offset-card-container--end {
	margin-right: -15px;

	@media(min-width: 1200px) {
		margin-left: 45px;
	}
}

.offset-card-icon {
	position: absolute;
  top: -35px;
  right: 6vw;
	width: 110px;
  height: 90px;
	fill: var(--color-second);

	@media(min-width: 768px) {
			top: -45px;
			width: 150px;
			height: 110px;
	}
}

.offset-review-item__stars {
	margin-bottom: 30px;
	fill: var(--color-second);
	width: 218px;
	height: 34px;
}

.offset-review-item__content {
	padding-left: 30px;
	border-left: 2px solid var(--color-second);
}

.offset-review-item__link {
	font-weight: 400;
	font-size: 0.75em;
	color: var(--color-link);
}

.offset-review-carousel {
	margin: -30px;

	.carousel-inner {
		padding: 30px;
	}
}

.content-block {
  position: relative;
}

.bg-video-container {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0;

  video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (width < 768px) {
    display: none;
  }
}

.block-content {
  p,
  ol,
  ul {
    &:last-child:last-of-type {
      margin-bottom: 0;
    }
  }
}

.block-img {
  width: 100%;
}

.content-two-col {
  .block-content {
    @media (min-width: 992px) {
      column-count: 2;
      column-gap: 30px;
    }
    @media (min-width: 1200px) {
      column-gap: 45px;
    }
  }
}

/* Type block */
.type-style--obs {
  display: flex;
  gap: 20px;
}
@media (min-width: 768px) {
  .type-style--obs {
    display: flex;
    gap: 45px;
  }
}

.type-style-obs-border {
  display: flex;
  flex-direction: column;
  width: 18px;
  flex-shrink: 0;
  gap: 6px;

  &:before,
  &:after {
    content: "";
    align-self: center;
    height: 1px;
    width: 1px;
    flex-grow: 1;
    background-color: var(--color-second);
  }
}

.type-style-obs-border__icon {
  display: flex;
}

/*  Feature image layout */
.feat-img-container {
  position: relative;

  .block-figure {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;

    img {
      width: 100%;
      min-height: 250px;
      object-fit: cover;
    }
  }
  @media (min-width: 768px) {
    padding-bottom: 330px;
  }
  @media (min-width: 1900px) {
    padding-bottom: 230px;
  }
  @media (min-width: 1200px) {
    padding-bottom: 140px;
  }
}

.feat-img-col {
  @media (max-width: 767px) {
    position: relative;
    margin-top: -90px;
  }
  @media (min-width: 768px) {
    position: absolute;
    bottom: 0;
  }
}

.feat-img-content {
  padding: 30px;
  @media (min-width: 768px) {
    padding: 60px;
  }
  @media (min-width: 1500px) {
    padding: 74px;
  }
}

/*  Mason layout */

.mason-layout {
  display: flex;
  flex-direction: column;
  gap: 15px;
  font-size: var(--f7);

  .headline {
    color: #fff;
  }
  @media (min-width: 992px) {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .btn {
    background-color: var(--color-bg);
    color: var(--color-prime);
    &:focus,
    &:hover {
      background-color: var(--color-second);
      color: #fff;
    }
  }
}

@media (min-width: 992px) {
  .mason-layout--flip {
    .mason-content-left {
      grid-column-start: 2;
      grid-column-end: 3;
    }
  }
}

.mason-content-left {
  display: flex;
  flex-direction: column;
  padding: 30px;
  background-color: var(--color-prime);
  color: #fff;
  @media (min-width: 1200px) {
    padding: 45px;
  }
}

.mason-left-img {
  margin: -30px -30px 30px -30px;
  img {
    width: 100%;
  }
  border-bottom: 15px solid var(--color-bg);

  @media (width >= 1200px) {
    margin: -45px -45px 30px -45px;
  }
}

.mason-end {
  display: flex;
  flex-direction: column;
  gap: 15px;
  height: 100%;
}

.mason-content-right {
  position: relative;
  padding: 30px;
  background-color: var(--color-prime);
  color: #fff;

  .block-headline,
  .block-content {
    position: relative;
    z-index: 10;
  }

  &:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.3;
    z-index: 0;
  }
  @media (min-width: 1200px) {
    padding: 45px;
  }
}

.mason-img {
  position: relative;
  flex-grow: 1;
  flex-basis: 350px;
  overflow: hidden;

  .block-figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
  }

  .block-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media (max-width: 991px) {
    order: -1;
  }
}

/*  Content overlaping image block */
.content-block--overlap {
  position: relative;
  @media (max-width: 1199px) {
    background-color: var(--color-prime);
  }
}

.content-overlap__content {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  color: #fff;
  z-index: 10;

  a:not([class]) {
    font-weight: 700;
    color: #fff;

    &:focus,
    &:hover {
      background-color: var(--color-bg);
      color: var(--color-prime);
    }

    &:visited {
      color: inherit;
    }
  }

  @media (max-width: 1199px) {
    .block-content {
      background-color: var(--color-prime);
      color: #fff;
    }
  }
  @media (min-width: 768px) and (max-width: 1199px) {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  @media (min-width: 1200px) {
    margin-top: 20px;
    margin-bottom: 60px;
    background-color: var(--color-prime);

    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      display: block;
      width: 300%;
      height: 100%;
      background-color: var(--color-prime);
      z-index: -1;
    }

    &::after,
    &::before {
      position: absolute;
      top: 0;
      display: block;
      height: 100%;
      opacity: 1;
      z-index: -1;
    }

    &::before {
      content: "";
      width: 200%;
    }

    &::after {
      content: "";
      right: -40px;
      width: 40px;
      background-color: var(--color-prime);
    }

    .headline {
      color: #fff;
    }
  }
}

@media (min-width: 1200px) {
  .content-overlap__content--left:before {
    left: initial;
    right: -100%;
  }

  .content-overlap__content--left::after {
    right: initial;
    left: -40px;
  }
}

.content-overlap__figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;

  .block-figure {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .block-figure,
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (min-width: 1200px) {
    left: 50vw;
    width: 50vw;
    margin-bottom: 0;
  }
}

@media (min-width: 1200px) {
  .content-overlap__figure--left {
    left: 0;
  }
}

.content-overlap__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.btn--second.btn--overlap:focus,
.btn--second.btn--overlap:hover {
  background-color: #fff;
  color: var(--color-prime);
}

/*  three panel block */
.three-panel-row {
  display: flex;
  @media (width < 768px) {
    display: block;
  }
}

.three-panel-item {
  display: block;
  position: relative;
  height: auto;
  flex: 1;
  text-decoration: none;
  color: #fff;

  img {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0.4;
    object-fit: cover;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  @media (width < 992px) {
    height: auto;
  }
  @media (min-width: 768px) {
    height: 50vh;
    min-height: 360px;
  }
  @media (prefers-reduced-motion: no-preference) {
    transition-duration: 1s;
    transition-property: color, flex-basis;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    color: #fff;

    .three-panel-item__title:after {
      width: 60px;
      opacity: 1;
    }

    img {
      opacity: 0.5;
    }
  }
  @media (min-width: 1200px) {
    &:hover,
    &:focus {
      flex-basis: 10%;

      .three-panel-item__title:after {
        width: 90px;
      }
    }
  }
  @media (min-width: 1500px) {
    &:hover,
    &:focus {
      flex-basis: 25%;
    }
  }
}

.three-panel-item__title {
  position: relative;
  z-index: 20;
  width: 100%;
  padding: 45px 30px;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f3);
  text-align: center;
  line-height: 1;

  &:after {
    content: "";
    position: relative;
    bottom: -15px;
    display: block;
    width: 0;
    height: 3px;
    margin: auto;
    background-color: currentColor;
    opacity: 0;
    animation-delay: 0.5s;
    transition-duration: 0.5s;
    transition-property: width, opacity, color;
    transition-timing-function: ease-in-out;
  }

  @media (min-width: 768px) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0 30px;
    font-size: var(--f4);
  }
  @media (min-width: 992px) {
    font-size: var(--f2);
  }
  @media (min-width: 1200px) {
    font-size: var(--f1);
  }
  @media (min-width: 1500px) {
    padding: 0 45px;
  }
}

/*  feed block */
.feed-block {
  &.bg-second {
    .post-feed__details:after {
      background-color: var(--color-bg);
    }
  }
}

.feed-block.color-white {
  .post-feed__cat,
  .post-feed__post-title,
  .post-feed__read-more {
    color: #fff;

    &:after {
      color: inherit;
    }

    &:focus,
    &:hover {
      text-decoration: underline;
      color: #fff;
    }
  }

  .post-feed__read-more {
    &:focus,
    &:hover {
      text-decoration: none;
    }
  }

  .post-feed__cat {
    &:focus,
    &:hover {
      text-decoration: none;
    }
  }
}
/*  posts tall cards */
.post-tall-row {
  display: flex;
  align-items: flex-end;
}

.post-tall-title {
  align-self: stretch;
  flex-basis: 2em;
  flex-shrink: 0;
  /*  max-height: 10ch; */
  font-size: var(--f1);
  transform: rotate(180deg);
  writing-mode: tb-rl;

  .headline {
    margin: 0;
    line-height: 1;
    font-size: inherit;
  }

  @media (width < 768px) {
    display: none;
  }
  @media (min-width: 768px) {
  }
  @media (min-width: 1200px) {
    font-size: var(--d2);
  }
}

.post-tall-feed {
  flex-basis: 100%;
  display: flex;
  gap: 30px;

  @media (width < 576px) {
    flex-direction: column;
  }
  @media (min-width: 768px) {
    margin-left: auto;
  }
}

.post-tall-feed__item {
  display: flex;
  flex-direction: column;
  position: relative;
  flex: 1;
  border-radius: 7px;
  padding: 45px 30px;
  overflow: hidden;
  text-decoration: none;
  background-color: var(--color-dark, #000);
  color: #fff;

  &:not(:has(.post-tall-feed__img)) {
    border: 1px solid var(--color-prime);
    background-color: #fff;
    color: var(--color-copy);
  }

  &:hover,
  &:focus {
    background-color: var(--color-prime);
    color: #fff;

    .post-tall-feed__img {
      opacity: 0;
    }
  }

  @media (min-width: 768px) {
    padding: 70px 45px;
    aspect-ratio: 468/744;
  }
}

.post-tall-feed__img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.5;
  }
}

.post-tall-feed__details {
  position: relative;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 15px;
  z-index: 10;
}

.post-tall-feed__cat {
  margin-bottom: 0.5em;
  font-size: var(--f7);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.post-tall-feed__post-title {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  line-height: 1.2;
  font-size: var(--f5);

  @media (min-width: 1200px) {
    font-size: var(--f3);
  }
}

.post-tall-feed__date {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  margin-top: auto;
}

.post-tall-feed__day {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--d2);
  line-height: 1;
}

.post-tall-feed__month {
  font-size: var(--f6);
  letter-spacing: 0.125em;
  text-transform: uppercase;
}

.content__half-description {
  @media (min-width: 1200px) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 350px;
  }
}
/*  CTA / Call to action blocks */

/*  cta utility classes */

.cta-item {
  svg,
  path {
    fill: inherit !important;
  }

  &:hover,
  &:focus {
    svg,
    path {
      fill: inherit !important;
    }

		.cta-hov-icon--prime {
			color: var(--color-prime);
			fill: var(--color-prime);
		}
		.cta-hov-icon--second {
			color: var(--color-second);
			fill: var(--color-second);
		}
		.cta-hov-icon--tert {
			color: var(--color-tert);
			fill: var(--color-tert);
		}
		.cta-hov-icon--quart {
			color: var(--color-quart);
			fill: var(--color-quart);
		}
		.cta-hov-icon--quin {
			color: var(--color-quin);
			fill: var(--color-quin);
		}
		.cta-hov-icon--dark {
			color: var(--color-dark, #000);
			fill: var(--color-dark, #000);
		}
		.cta-hov-icon--light {
			color: var(--color-light);
			fill: var(--color-light);
		}
		.cta-hov-icon--black {
			color: #000;
			fill: #000;
		}
		.cta-hov-icon--white {
			color: #fff;
			fill: #fff;
		}
		.cta-hov-icon--copy {
			color: var(--color-copy);
			fill: var(--color-copy);
		}

		.cta-hov-title--prime {
			color: var(--color-prime);
		}
		.cta-hov-title--second {
			color: var(--color-second);
		}
		.cta-hov-title--tert {
			color: var(--color-tert);
		}
		.cta-hov-title--quart {
			color: var(--color-quart);
		}
		.cta-hov-title--quin {
			color: var(--color-quin);
		}
		.cta-hov-title--dark {
			color: var(--color-dark, #000);
		}
		.cta-hov-title--light {
			color: var(--color-light);
		}
		.cta-hov-title--black {
			color: #000;
		}
		.cta-hov-title--white {
			color: #fff;
		}
		.cta-hov-title--copy {
			color: var(--color-copy);
		}

		.cta-item.cta-hov-bg--prime,
		.cta-hov-bg--prime {
			background-color: var(--color-prime);
		}

		.cta-item.cta-hov-bg--second,
		.cta-hov-bg--second {
			background-color: var(--color-second);
		}

		.cta-item.cta-hov-bg--tert,
		.cta-hov-bg--tert {
			background-color: var(--color-tert);
		}

		.cta-item.cta-hov-bg--quart,
		.cta-hov-bg--quart {
			background-color: var(--color-quart);
		}

		.cta-item.cta-hov-bg--quin,
		.cta-hov-bg--quin {
			background-color: var(--color-quin);
		}

		.cta-item.cta-hov-bg--dark,
		.cta-hov-bg--dark {
			background-color: var(--color-dark, #000);
		}

		.cta-item.cta-hov-bg--light,
		.cta-hov-bg--light {
			background-color: var(--color-light);
		}

		.cta-item.cta-hov-bg--black,
		.cta-hov-bg--black {
			background-color: #000;
		}

		.cta-item.cta-hov-bg--white,
		.cta-hov-bg--white {
			background-color: #fff;
		}
  }
}

.cta-bg--prime {
  background-color: var(--color-prime);
}
.cta-bg--second {
  background-color: var(--color-second);
}
.cta-bg--tert {
  background-color: var(--color-tert);
}
.cta-bg--quart {
  background-color: var(--color-quart);
}
.cta-bg--quin {
  background-color: var(--color-quin);
}
.cta-bg--dark {
  background-color: var(--color-dark, #000);
}
.cta-bg--light {
  background-color: var(--color-light);
}
.cta-bg--black {
  background-color: #000;
}
.cta-bg--white {
  background-color: #fff;
}

.cta-title--prime {
  color: var(--color-prime);
}
.cta-title--second {
  color: var(--color-second);
}
.cta-title--tert {
  color: var(--color-tert);
}
.cta-title--quart {
  color: var(--color-quart);
}
.cta-title--quin {
  color: var(--color-quin);
}
.cta-title--dark {
  color: var(--color-dark, #000);
}
.cta-title--light {
  color: var(--color-light);
}
.cta-title--black {
  color: #000;
}
.cta-title--white {
  color: #fff;
}
.cta-title--copy {
  color: var(--color-copy);
}

.cta-icon--prime {
  color: var(--color-prime);
  fill: var(--color-prime);
}
.cta-icon--second {
  color: var(--color-second);
  fill: var(--color-second);
}
.cta-icon--tert {
  color: var(--color-tert);
  fill: var(--color-tert);
}
.cta-icon--quart {
  color: var(--color-quart);
  fill: var(--color-quart);
}
.cta-icon--quin {
  color: var(--color-quin);
  fill: var(--color-quin);
}
.cta-icon--dark {
  color: var(--color-dark, #000);
  fill: var(--color-dark, #000);
}
.cta-icon--light {
  color: var(--color-light);
  fill: var(--color-light);
}
.cta-icon--black {
  color: #000;
  fill: #000;
}
.cta-icon--white {
  color: #fff;
  fill: #fff;
}
.cta-icon--copy {
  color: var(--color-copy);
  fill: var(--color-copy);
}

.cta-overlap--half {
  margin-top: var(--vertical-space);
}
@media (min-width: 768px) {
  .cta-overlap--half {
    margin-top: var(--vertical-space-md);
  }
}
@media (max-width: 1199px) {
  .cta-overlap.cta-block {
    margin-top: 30px;
  }
}
@media (min-width: 1200px) {
  .cta-overlap {
    width: 100%;
  }
  .cta-overlap--full {
    position: absolute;
    transform: translateY(-100%);
    margin-top: 0 !important;
    overflow: hidden;
    z-index: 20;
  }
  .cta-overlap--half {
    position: absolute;
    transform: translateY(-50%);
    margin-top: 0 !important;
    z-index: 20;
  }
  .cta-overlap--half + section {
    top: 90px;
  }
}

.cta-block--circle.cta-overlap.cta-overlap--half {
  @media (min-width: 1200px) {
    position: relative;
    margin-top: -90px;
    z-index: 20;
  }
}

/* CTA Tiles */
.cta-tiles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

.cta-tile__item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-basis: 100%;
  aspect-ratio: 350/248;
  padding: 30px 55px;
  font-size: var(--f6);
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.02777778em;
  background-color: var(--color-prime);
  color: #fff;
  fill: currentColor;

  &:hover,
  &:focus {
    background-color: var(--color-second);
    color: #fff;
    fill: currentColor;
  }

  @media (min-width: 576px) {
    flex-basis: 350px;
  }
  @media (min-width: 768px) {
    flex-basis: calc(50% - 15px);
  }
  @media (min-width: 1200px) {
    flex-basis: 350px;
  }
}

.cta-tile__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
}

.cta-tile__icon {
  display: inline-block;
  width: auto;
  height: 64px;

  svg {
    width: auto;
    height: 100%;
  }
}

.cta-tile__txt {
  line-height: 1.2;
  text-wrap: balance;
}

/* CTA Minimal button */
.cta-min {
  display: flex;
  flex-direction: column;
  gap: 2px;
  @media (min-width: 576px) {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.cta-min__item {
  position: relative;
  flex: 1 1 auto;
  padding: 30px;
  line-height: 1.2;
  text-decoration: none;
  background-color: var(--color-bg);
  color: var(--color-copy);

  &:focus,
  &:hover {
    text-decoration: none;

    .cta-min__bg {
      height: 100%;
    }
  }
  @media (min-width: 576px) {
    flex: 1 1 calc(50% - 30px);
  }
  @media (min-width: 1200px) {
    flex: 1 1 0;
  }
}

.cta-min__bg {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 10px;
  transition-property: height;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  z-index: 0;
}

.cta-min__content {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 10;
}

.cta-min__txt {
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.cta-min__icon {
  flex-shrink: 0;
  width: auto;
  height: 24px;
  margin-left: 15px;

  svg {
    width: auto;
    height: 100%;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
}

/* CTA Square Picture */
.cta-picture {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  @media (min-width: 576px) {
    gap: 30px;
  }
  @media (min-width: 1200px) {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
}

.cta-picture__item {
  position: relative;
  flex: 0 1 calc(50% - 7.5px);
  text-align: center;
  font-size: var(--f6);
  text-decoration: none;

  &:focus,
  &:hover {
    text-decoration: none;

    .cta-picture__content {
      &:after {
        background-color: inherit;
      }
    }
  }
  @media (min-width: 576px) {
    flex: 0 1 calc(50% - 30px);
  }
  @media (min-width: 992px) {
    flex: 0 1 calc(33.3333% - 30px);
  }
  @media (min-width: 1200px) {
    flex: 1 1 auto;
  }
}

.cta-picture__container {
  position: relative;
  display: block;

  &:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 110%;
  }
}

.cta-picture__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cta-picture__txt {
  padding: 1em 15px;
  line-height: 1.2;
}
/* CTA Circle icon */
.cta-circle {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px;
  align-items: flex-start;
  justify-content: center;
  @media (min-width: 992px) {
    justify-content: space-between;
  }
}

.cta-circle__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;

  &:focus,
  &:hover {
    text-decoration: none;

    .cta-circle__icon {
      svg {
        transform: scale(1.2);
      }
    }
  }
  @media (width < 768px) {
    flex-basis: calc(50% - 30px);
  }
  @media (width < 992px) {
    flex-basis: calc(33.333333% - 30px);
  }
  @media (min-width: 768px) {
    font-size: var(--f6);
  }
  @media (min-width: 1200px) {
    font-size: var(--f4);
  }
}

.cta-circle__icon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 135px;
  height: 135px;
  margin-bottom: 0.75em;
  border-radius: 50%;
  fill: #fff;
  color: #fff;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  svg {
    width: auto;
    height: 50px;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
  @media (min-width: 992px) {
    width: 125px;
    height: 125px;

    svg {
      height: 40px;
    }
  }
  @media (min-width: 1200px) {
    width: 165px;
    height: 165px;

    svg {
      height: 60px;
    }
  }
}
/* CTA Grid */
.cta-block--grid {
  .container-fluid .cta-grid {
    margin-left: -15px;
    margin-right: -15px;
  }
}

.cta-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.cta-grid__item {
  position: relative;
  flex-shrink: 1;
  flex-basis: 50%;
  flex-grow: 1;
  font-size: var(--f6);
  text-decoration: none;
  color: #fff;
  overflow: hidden;

  &::before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 150px;
  }

  &:focus,
  &:hover {
    .cta-grid__border {
      transform: scaleX(2);
      background-color: currentColor;
    }

    .cta-grid__img {
      transform: scale(1.5);
      filter: brightness(130%);
      opacity: 0.3;
    }
  }
  @media (min-width: 1200px) {
    flex-basis: auto;
    font-size: var(--f5);
  }
}

.cta-grid__content {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  z-index: 20;
}

.cta-grid__txt {
  padding: 0 15px;
  line-height: 1.2;
  text-align: center;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
}

.cta-grid__border {
  display: block;
  width: 60px;
  height: 4px;
  margin: 1em auto 0;
  background-color: currentColor;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.cta-grid__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.2;
  z-index: 10;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}
/* CTA Bar */
/*  lets you overlap the CTA on the header */

.cta-block--bar.cta-overlap--full {
  @media (min-width: 1200px) {
    .cta-bar {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }
  }
}

.cta-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  /*  padding: 15px; */
  border-radius: 20px;
  line-height: 1.2;
  background-color: var(--color-bg);
  @media (min-width: 576px) {
    /*  padding: 30px; */
  }
  @media (min-width: 768px) {
    justify-content: space-between;
  }
  @media (min-width: 1200px) {
    position: relative;
    gap: 0;
    padding: 30px 0;
    box-shadow: 9px 6px 19px 0 rgba(0, 0, 0, 0.22);
  }
}

.cta-bar__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  margin: 15px;
  text-align: center;
  text-decoration: none;
  color: var(--color-copy);

  &:focus,
  &:hover {
    text-decoration: none;
    color: var(--color-prime);

    .cta-bar__icon {
      transform: scale(1.2);
      filter: drop-shadow(2px 3px 2px rgba(0, 0, 0, 0.26)) brightness(110%);
    }
  }
  @media (width < 768px) {
    margin: 0;
    flex-basis: calc(50% - 30px);
  }
  @media (min-width: 768px) {
    margin: 0;
  }
  @media (min-width: 992px) {
    flex-direction: row;
    padding: 15px 0;
    text-align: left;
  }
  @media (min-width: 992px) and (max-width: 1199px) {
    &:not(:last-child):after {
      content: "";
      position: relative;
      right: -20px;
      width: 1px;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.25);
    }
  }
  @media (min-width: 1200px) {
    &:not(:last-child) {
      border-right: 1px solid rgba(0, 0, 0, 0.25);
    }
  }
}

.cta-bar__icon {
  margin-bottom: 15px;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  svg {
    width: auto;
    height: 44px;
  }
  @media (min-width: 992px) {
    margin-right: 15px;
    margin-bottom: 0;
  }
}
/*  Content blocks */
/*  half half content */
.half-half--start {
  @media (width < 992px) {
    margin-bottom: 45px;
  }
}

/*  offset img callout */
.offset-img-callout-row {
  position: relative;
  align-items: center;
  padding-right: 30px;
  flex-direction: column;

  @media (min-width: 768px) {
    padding-right: 60px;
  }
  @media (min-width: 992px) {
    flex-direction: row;
    padding-right: 30px;
  }
}

.offset-img-callout-start {
  .block-figure {
    height: 100%;
    margin-bottom: 0;
  }

  img {
    width: 100%;
    height: 100%;
  }

  @media (min-width: 992px) {
    flex-basis: 55%;
    flex-shrink: 0;
  }
}

.offset-img-callout-end {
  position: relative;
  z-index: 20;
}

.offset-img-callout-content {
  padding-bottom: max(45px, 1em);
  border-bottom: 3px solid var(--color-second);
  font-size: var(--f6);
  padding-left: 30px;

  @media (min-width: 992px) {
    margin-left: 45px;
    padding-left: 0;
  }
  @media (min-width: 1200px) {
    font-size: var(--f4);
    max-width: 30ch;
  }
  @media (min-width: 1500px) {
    max-width: 35ch;
    font-size: var(--f3);
    margin-left: 90px;
  }
}

/*  panel image call out */
.content-block--panel-img-callout {
  position: relative;
  display: flex;
  align-items: center;
  overflow: clip;
  min-height: 95vh;

  &:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-dark, #000);
    opacity: 0.35;
    z-index: 0;
  }

  @media (min-width: 992px) and (min-height: 950px) {
    min-height: 950px;
  }
}

.panel-img-callout {
  position: relative;
  display: flex;
  flex-direction: column;
  z-index: 20;

  @media (min-width: 992px) {
    padding: 90px 0;
  }
  @media (min-width: 1200px) {
    padding: 120px 0;
  }
}

.panel-img-callout-title {
  font-size: var(--f1);
  max-width: 20ch;

  .headline {
    font-size: inherit;
  }

  @media (min-width: 768px) {
    font-size: var(--d4);
  }
  @media (min-width: 992px) {
    font-size: var(--d3);
  }
  @media (min-width: 1200px) {
    font-size: var(--d2);
  }
}

.panel-img-callout__cta {
  margin-left: auto;

  @media (min-width: 768px) {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

/* Team carousel layout */
#teamCarousel {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;

  .carousel-control {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    margin-top: 30px;
    border-radius: 50%;
    background: var(--color-prime);
    color: #fff;
    opacity: 1;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;

    &:before {
      font: var(--fa-font-solid);
      line-height: 1;
      transition-duration: 0.3s;
      transition-property: color, background-color, fill, transform, text-shadow,
        letter-spacing, outline, border, box-shadow, opacity, filter;
      transition-timing-function: ease-in-out;
    }

    &:focus,
    &:hover {
      background: var(--color-second);
      color: #fff;
    }
  }

  .carousel-control-prev {
    margin-left: auto;
    margin-right: 30px;
  }

  .carousel-control-next {
    margin-right: auto;
    margin-left: 30px;
  }
  @media (min-width: 992px) {
    flex-wrap: nowrap;

    .carousel-control {
      margin-top: 0;
      position: absolute;
      top: 40%;
      transform: translateY(-50%);
      flex-basis: initial;
    }

    .carousel-control-next,
    .carousel-control-prev {
      margin-left: 0;
      margin-right: 0;
    }
  }
}

.team-carousel__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 30px;
  margin: 0 20px;
  @media (min-width: 576px) {
    flex-wrap: nowrap;
  }
}

.team-carousel__item {
  flex: 0 1 calc(50% - 30px);
  text-align: center;
  @media (min-width: 576px) {
    flex: 0 1 285px;
  }
}

.team-carousel__link {
	display: block;
  line-height: 1.2;
  text-decoration: none;
  color: var(--color-copy);

  &:focus,
  &:hover {
    text-decoration: none;
    color: var(--color-prime);

    .team-carousel__figure {
      box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.4);
    }

    img {
      transform: scale(1.12);
    }
  }
}

.team-carousel__figure {
  position: relative;
  box-shadow: 4px 4px 7px 0 rgba(0, 0, 0, 0.2);
  overflow: hidden;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:before {
    display: block;
    content: "";
    width: 100%;
    aspect-ratio: 5/7;
  }

  img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
}

.team-carousel__title {
  letter-spacing: 1px;
}
/* Reviews carousel layout */
.carousel-reviews-inner {
  @media (max-width: 991px) {
    overflow: visible;
  }
}

.carousel-review__item {
  max-width: 920px;
  margin: auto;
}

/*  Reviews carousel block */

.review-car__title {
  font-family: var(--font-header), -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: var(--f4);
  line-height: 1.2;
  margin-bottom: 0.5em;
  @media (min-width: 1200px) {
    font-size: var(--f3);
  }
}

.review-car__desc {
  text-align: left;
}

.review-car__author {
  font-weight: 700;
}
/*
 Contact Blocks
*/
.contact-group {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  margin-bottom: 30px;

  &:last-child {
    margin-bottom: 0;
  }
}

.contact__address-alias {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
}

.contact-group-row {
  .contact-group {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 15px;
    text-align: center;
  }

  .contact-group__badges {
    order: 999;
    flex-basis: 100%;

    .badge-row {
      justify-content: center;
    }
  }
}

.contact-block-info {
  margin-top: 30px;
}

.contact-group__map {
  iframe {
    height: 300px;
  }
}

.contact-group__address-full {
  .contact-group__tel {
    font-size: 1.167em;
  }
}

.contact-group__tel {
  a:before {
    content: "\f095";
    display: inline-block;
    margin-right: 0.25em;
    font: var(--fa-font-solid);
  }
}

.contact-group__tel-label {
  position: absolute;
  left: -999999px;
}

.contact-group__email {
  a {
    color: inherit;
  }
}

.contact-group__address-city-state {
  &:before {
    content: "\f3c5";
    margin-right: 0.5em;
    font: var(--fa-font-solid);
    color: inherit;
  }
}

/*  contact min-split / img right */
.contact-min-split {
  overflow: clip;
}

.container-fluid.container--margin {
  .contact-min-split-img {
    @media (min-width: 1900px) {
      width: calc(50vw + 145px);
    }
  }
}

.contact-min-split-img {
  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (min-width: 1200px) {
    width: 50vw;
  }
  @media (width < 1200px) {
    .block-figure {
      position: relative;
      width: 100vw;
      transform: translateX(-50%);
      left: 50%;
    }
  }
}

.contact-min-split-content {
  @media (min-width: 992px) {
    padding-bottom: 9rem;
  }
  @media (min-width: 1200px) {
    padding-bottom: 12rem;
  }
}

/*  Contact Angle */
.of-asc-contact-info {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px;
  border-radius: 7px;
  background-color: var(--color-second);
  color: #fff;
  z-index: 20;

  a {
    color: inherit;
    &:hover,
    &:focus {
      color: inherit;
    }
  }

  @media (min-width: 992px) {
    /* position: absolute; */
    /* top: -90px; */
    padding: 45px;
    /* width: calc(100% - 30px); */
    /* height: calc(100% + 90px); */
  }
  @media (min-width: 1200px) {
    /* top: -150px; */
    padding: 55px;
    /* width: calc(41.66666667% - 60px); */
    /* height: calc(100% + 150px); */
  }
}

/*  Contact card */

.contact-card {
  position: relative;
  overflow: visible;

  &:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 40%;
    background-color: var(--color-quin);
  }
}

.contact-card-content {
  position: relative;
  padding: 30px;
  background: #ffffff;
  box-shadow: 5px 5px 34px 0 rgba(0, 0, 0, 0.16);
  z-index: 10;
  @media (min-width: 768px) {
    padding: 60px;
  }
}

.contact-card-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;

  .contact-address {
    margin-bottom: 0;
  }
  @media (min-width: 576px) {
    gap: 30px;
  }
}

.contact-card-header {
  position: relative;
  padding: 30px;
  background-color: var(--color-prime);
  color: #fff;

  .headline {
    color: #fff;
  }

  a {
    color: #fff;

    &:focus,
    &:hover {
      color: #fff;
      filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
    }
  }
  @media (min-width: 768px) {
    padding: 60px;
  }
}

.contact-card-header__bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  z-index: 0;

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.contact-card-header__content {
  position: relative;
  z-index: 10;
}
/*  Contact offset */

.contact-offset__right-content {
  padding: 40px;
  margin-top: 30px;
  background: var(--color-prime);
  color: #fff;

  .headline {
    color: #fff;
  }

  a:not([class*="btn"]) {
    color: #fff;

    &:focus,
    &:hover {
      color: #fff;
      filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
    }
  }
  @media (min-width: 992px) {
    margin-top: 0;
  }
}
.contact-block--offset .container {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
}

.contact-block--offset .container:before {
  content: "";
  position: absolute;
  top: 0;
  left: -30px;
  display: block;
  width: calc(100% + 60px);
  height: 100%;
  background-color: var(--color-quin);
  z-index: -1;
}

.contact-offset__title {
  margin-top: -0.2em;
}
@media (min-width: 992px) {
  .contact-block--offset .container {
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .contact-block--offset .container:before {
    left: -2%;
    width: 100%;
  }

  .contact-offset__right {
    position: relative;
    margin-top: var(--vertical-space);
  }

  .contact-offset__right::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    display: block;
    width: 300%;
    height: calc(100% + 120px);
    background: var(--color-prime);
    z-index: -1;
  }

  .contact-offset__right-content {
    padding: 0;
  }
}
@media (min-width: 1200px) {
  .contact-block--offset .container:before {
    left: 15px;
    width: calc(100% - 30px);
  }

  .contact-offset__right {
    margin-top: var(--vertical-space-md);
  }
}
/*  Contact Wide */

.contact-wide-info {
  a {
    color: #fff;

    &:focus,
    &:hover {
      color: #fff;
      filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
    }
  }
}

.contact-block__map-wide > iframe {
  position: relative;
  display: block;
  width: 100%;
  height: 200px;
  @media (min-width: 576px) {
    height: 150px;
  }
  @media (min-width: 768px) {
    height: 250px;
  }
}
/* Split Contact Block */
.contact-split {
  @media (min-width: 992px) {
    background: linear-gradient(
      to right,
      var(--color-quin) 50%,
      var(--color-prime) 50%
    );
  }
}

.contact-split__right {
  fill: #fff;
  color: #fff;
  background-color: var(--color-prime);

  .headline {
    color: #fff;
  }

  .social-ico,
  a:not([class]) {
    color: #fff;

    &:focus,
    &:hover {
      color: #fff;
      filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
    }
  }

  @media (width < 992px) {
    margin: 30px 0;
    padding: 30px;
    background-color: var(--color-prime);
  }
  @media (width < 576px) {
    margin: 0 -15px;
  }
}

.contact-split__left {
  @media (width < 576px) {
    margin: 0 -15px;
  }
  @media (width < 992px) {
    padding: 30px;
    background-color: var(--color-quin);
  }
}

/*  Removes bottom margin of last child element for some blocks */
@media (min-width: 1200px) {
  .content-block-alternating__txt ol:last-child,
  .content-block-alternating__txt p:last-child,
  .content-block-alternating__txt ul:last-child,
  .content__half-description ol:last-child,
  .content__half-description p:last-child,
  .content__half-description ul:last-child {
    margin-bottom: 0;
  }
}

/*  onefirst blocks styles */

/*  one first deck */
#carouselReviews-of {
  &:before {
    content: "\f005 \f005 \f005 \f005 \f005";
    display: block;
    margin: 0 auto 40px;
    font: var(--fa-font-solid);
    font-size: var(--f3);
    line-height: 1;
    letter-spacing: 10px;
    text-align: center;
    color: var(--color-second);
  }
}

.carousel-reviews-of-content {
  display: flex;
  align-items: center;
  gap: 15px;
  @media (min-width: 768px) {
    gap: 30px;
  }
  @media (min-width: 1200px) {
    gap: 80px;
  }
}

.of-deck-block--posts {
  position: relative;
  overflow: hidden;
  background-color: var(--color-prime);

  @media (max-width: 991px) {
    &:after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background-color: var(--color-prime);
      opacity: 0.85;
    }
  }
  @media (min-width: 992px) {
    &:before {
      content: "";
      display: block;
      width: 45vw;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background-color: var(--color-prime);
      opacity: 0.8;
      box-shadow: 10px 0 30px rgba(0, 0, 0, 0.35);
      z-index: 10;
    }
    &:after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background-color: var(--color-prime);
      opacity: 0.8;
    }
  }
}
.post-chip {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 10;
}

.post-chip__item {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 15px;
  border-radius: 20px;
  line-height: 1.2;
  text-decoration: none;
  background: #fff;
  color: var(--color-copy);

  &:hover,
  &:focus {
    background-color: var(--color-second);
    color: #fff;

    .post-chip__title {
      color: inherit;
    }
  }
}

.post-chip__img {
  position: relative;
  aspect-ratio: 1;
  flex-basis: 120px;
  max-width: 120px;
  flex-shrink: 0;
  margin-bottom: 0;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--color-quin);

  img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.post-chip__img-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  object-fit: cover;

  &:after {
    content: "\f1ea";
    font: var(--fa-font-light);
    font-size: var(--d6);
    color: var(--color-second);
  }
}

.post-chip__title {
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f5);
  color: var(--color-prime);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.post-chip__date {
  font-size: var(--f8);
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.post-chip-preview {
  position: relative;
  text-shadow: 1px 2px 10px rgba(0, 0, 0, 0.4);
  color: #fff;
  z-index: 10;
}

.post-chip-preview__title {
  color: #fff;
}

.post-chip-preview__link {
  display: inline-block;
  padding: 0.125em 0;
  border-bottom: 3px solid var(--color-second);
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f6);
  letter-spacing: 0px;
  text-decoration: none;
  color: #fff;

  &:hover,
  &:focus {
    letter-spacing: 0.5px;
    color: #fff;
    border-color: #fff;
  }
}

.img-matrix {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  max-width: 555px;

  img {
    border-radius: 20px;
  }

  @media (max-width: 991px) {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
  @media (min-width: 1200px) {
    margin-left: auto;
  }
}

@media (min-width: 1200px) {
  .img-matrix--flip {
    margin-right: auto;
  }
}

.img-matrix-row {
  display: flex;
  flex-basis: 100%;
  gap: 30px;
}
.img-matrix-row--1 {
  align-items: flex-end;
}
.img-matrix-row--2 {
  justify-content: center;
}

.img-matrix-img {
  position: relative;
  box-shadow: 12px 10px 14px 0 rgba(0, 0, 0, 0.15);
  border-radius: 20px;

  img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.img-matrix-img--1 {
  flex-basis: 36%;
  max-width: 175px;
  aspect-ratio: 1;
}
.img-matrix-img--2 {
  flex-grow: 1;
  max-width: 300px;
  aspect-ratio: 1;
}
.img-matrix-img--3 {
  flex-basis: 60%;
  max-width: 300px;
  aspect-ratio: 1;
}

.contact-pill {
  border-radius: 30px;
  box-shadow: 10px 12px 44px 0 rgba(0, 0, 0, 0.19);
  background-color: #fff;
  overflow: hidden;
  @media (min-width: 992px) {
    display: flex;
  }
}

.contact-pill__content,
.contact-pill__form {
  padding: 30px;
  @media (max-width: 991px) {
    flex-direction: column;
  }
  @media (min-width: 992px) {
    padding: 60px;
  }
  @media (min-width: 1900px) {
    padding: 80px;
  }
}

.contact-pill__content {
  flex-basis: 45%;
  flex-shrink: 0;
  background-color: var(--color-prime);
  color: #fff;

  a:not([class]) {
    color: #fff;
  }

  .headline {
    color: #fff;
  }
}

.contact-pill__form {
  flex-grow: 1;
  display: flex;
  align-items: stretch;
  flex-direction: column;
  justify-content: center;
}

/*  onefirst edge */
.content-of-edg-alter {
  position: relative;
  z-index: 20;
}

.of-edge.of-edge-block--alt-edg {
  &:first-child&:first-of-type {
    position: relative;
    margin-top: -60px;
    z-index: 20;

    @media (min-width: 576px) {
      margin-top: -100px;
    }
    @media (min-width: 992px) {
      margin-top: -80px;

      .edg-alter-txt-col {
        padding-top: 60px;
        padding-bottom: 0;
        align-self: flex-end;
      }
    }
    @media (min-width: 1200px) {
      margin-top: -180px;

      .edg-alter-txt-col {
        padding-top: 160px;
      }
    }
  }
}

.content-of-edg-alter {
  .headline {
    &:after {
      content: "";
      display: block;
      width: 80px;
      height: 3px;
      margin-top: 0.45em;
      background-color: var(--color-prime);
      z-index: -1;
    }
  }
}

.edg-alter-txt-col {
  align-self: center;
  @media (min-width: 1200px) {
    padding: 45px 0;
  }
}

.edg-alter-img-col {
  z-index: 10;
}

.edg-alter {
  position: relative;

  &:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 100%;
    height: calc(100% - 80px);
    background-color: var(--color-prime);
    z-index: -1;
  }
}

.of-edge:first-child {
  .edg-alter {
    @media (min-width: 1200px) {
      margin-top: 55px;
      height: calc(100% - 55px);
    }
  }
}

.edg-alter-left {
  margin-left: 30px;
  &:after {
    content: "";
    left: -30px;
  }
}

.edg-alter-right {
  margin-right: 30px;
  &:after {
    content: "";
    right: -30px;
  }
}

.review-edge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;

  @media (min-width: 1200px) {
    gap: 45px;
  }
}

.review-edge {
  flex-basis: 100%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 15px;

  &:before {
    content: "\f10d";
    font: var(--fa-font-solid);
    font-size: 5rem;
    line-height: 1;
    color: var(--color-second);
  }

  @media (min-width: 1200px) {
    flex-basis: calc(33.3333% - 45px);
  }
}

.review-edge__title {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f5);
  line-height: 1.2;

  @media (min-width: 768px) {
    font-size: var(--f4);
  }
}

.review-edge__desc {
  flex-grow: 1;
}

.review-edge__author {
  /* margin-top: auto; */
  letter-spacing: 1px;
}

.review-edge__link {
  display: inline-block;
  align-self: flex-start;
  font-weight: 700;
  font-size: var(--f8);
  text-decoration: none;
  color: var(--color-copy);

  &:before {
    content: "";
    display: block;
    width: 60px;
    height: 4px;
    margin-bottom: 0.5em;
    background-color: var(--color-second);
    transition-property: width, background-color;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    color: var(--color-prime);

    &:before {
      width: 100%;
      background-color: var(--color-prime);
    }
  }
}

.edge-post-row {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;

  @media (min-width: 768px) {
    flex-wrap: nowrap;
  }
}

.edge-post-all {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 100px;
  height: 100px;
  padding: 10px 15px 10px 10px;
  position: absolute;
  bottom: 0;
  right: 0;
  font-weight: 700;
  font-size: var(--f9);
  line-height: 1.2;
  text-align: right;
  text-transform: uppercase;
  text-decoration: none;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  background-color: var(--color-prime);
  color: #fff;
  z-index: 20;

  &:hover,
  &:focus {
    background-color: var(--color-second);
    color: #fff;
  }
}

.edge-post-all--white {
  background-color: #fff;
  color: var(--color-copy);
}

.edge-post {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  margin-top: 15px;
  margin-left: 15px;
  text-decoration: none;
  background-color: #fff;
  color: var(--color-copy);

  @media (max-width: 767px) {
    flex-basis: 100%;
  }

  &:hover,
  &:focus {
    background-color: var(--color-prime);
    color: #fff;

    .edge-post-date {
      color: inherit;
    }
  }
  @media (min-width: 1500px) {
    margin-top: 30px;
    margin-left: 30px;
  }
}

.edge-post-title-block {
  display: flex;
  gap: 15px;
  padding-right: 15px;
  line-height: 1.2;

  @media (min-width: 768px) {
    gap: 30px;
    padding-right: 30px;
  }
}

.edge-post__title {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f5);
}

.edge-post-date {
  font-size: var(--f8);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-tert);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.edge-feat-img {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90px;
  height: 90px;
  aspect-ratio: 1;
  margin-top: -15px;
  margin-left: -15px;
  margin-bottom: 0;
  background-color: var(--color-tert);

  img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
  }

  @media (min-width: 768px) {
    width: 125px;
    height: 125px;
  }
  @media (min-width: 1500px) {
    margin-top: -30px;
    margin-left: -30px;
  }
}

.edge-feat-img--placeholder {
  &:before {
    content: "\f1ea";
    font: var(--fa-font-solid);
    font-size: var(--f2);
    color: #fff;
  }
}

.edge-post__excerpt {
  padding: 0 30px 30px;
  font-size: var(--f8);
}

.edge-bio-img {
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
  z-index: 10;

  &:after {
    content: "";
    position: absolute;
    top: 20px;
    left: -20px;
    display: block;
    width: calc(100% + 40px);
    height: 100%;
    background-color: var(--color-prime);
    z-index: -1;
  }
}

.edge-team-member-row {
  &:not(:last-child) {
    margin-bottom: 35px;
  }
  @media (min-width: 1200px) {
    &:not(:last-child) {
      margin-bottom: 55px;
    }
  }
}

.edge-team-img-col {
  @media (max-width: 767px) {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
  }
}

.edge-team-name {
  position: relative;
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f3);
  line-height: 1.2;

  &:after {
    content: "";
    transform: translateX(-50%);
    display: block;
    width: 350px;
    height: 3px;
    margin-top: 15px;
    background-color: var(--color-prime);
    z-index: -1;
  }
}

.edge-team-title {
  font-family: var(--font-body);
  font-weight: var(--font-body-weight);
  font-size: 0.5em;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.results-edg-content {
  position: relative;
  margin: 45px 0;
  background-color: var(--color-dark, #000);

  &:before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
  }
  &:after {
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
  }
}

.results-edg-container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 15px;
  background-color: var(--color-prime);
  z-index: 20;

  @media (min-width: 768px) {
    padding: 60px;
  }
  @media (min-width: 992px) {
    padding: 60px 0 60px 60px;

    &:after {
      content: "";
      position: absolute;
      top: 0;
      left: 100%;
      display: block;
      width: 100%;
      height: 100%;
      background-color: inherit;
    }
  }
}

.block-content {
  & + .edg-service-list {
    margin-top: 30px;
  }
}

.edg-service-list {
  display: flex;
  flex-direction: column;
  gap: 1.25em;
}

.edg-service-item {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5em;
  font-size: var(--f6);
  line-height: 1.2;
  text-decoration: none;
  color: #fff;

  &:hover,
  &:focus {
    text-decoration: underline;
    color: #fff;

    .edg-service-icon {
      transform: scale(1.2);
      color: var(--color-prime);
    }
  }
}

.edg-service-icon {
  display: inline-block;
  width: 24px;
  flex-shrink: 0;
  transform-origin: right;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.edg-result {
  position: relative;
  padding: 30px;
  border: 4px solid #fff;
  line-height: 1.2;
  text-align: center;

  @media (min-width: 768px) {
    padding: 90px;
  }
}

.edg-result__recovery {
  margin-bottom: 0.35em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--d5);
  text-transform: uppercase;

  .edg-result__caption {
    font-size: 0.35em;
  }
}

.edg-result__desc {
  font-size: var(--f8);
}

.of-edge-block--contact-edg {
  position: relative;
  margin-bottom: 0;
  background-color: #000;
  color: #fff;
  padding-bottom: var(--vertical-space);
  @media (min-width: 768px) {
    padding-bottom: var(--vertical-space-md);
  }
  @media (min-width: 992px) {
    padding-bottom: var(--vertical-space-lg);
  }
  @media (min-width: 1200px) {
    padding-bottom: var(--vertical-space-xl);
  }
  @media (min-width: 1500px) {
    padding-bottom: var(--vertical-space-xx);
  }

  &:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      45deg,
      rgba(0, 0, 0, 1) 0%,
      rgba(0, 0, 0, 0.35) 100%
    );
    opacity: 0.75;
    z-index: 0;
  }
}

.contact-edg-mask {
  position: relative;
  max-height: 200px;
  margin-bottom: 45px;
  fill: var(--color-bg);
  z-index: 20;

  @media (min-width: 992px) {
    margin-bottom: 60px;
  }
}

.contact-edg-left,
.contact-edg-right {
  position: relative;
  z-index: 30;
}

.contact-edg-left {
  padding: 30px;
  margin-bottom: 30px;
  background-color: rgba(0, 0, 0, 0.8);
  position: relative;

  &:before {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
    backdrop-filter: inherit;
    left: -100%;
  }

  @media (min-width: 992px) {
    padding: 60px 30px 60px 0;
    margin-bottom: 0;
  }
}

.contact-edg-form-container {
  .gform-body {
    padding: 30px;
    border: 4px solid #fff;
  }
  .gform_footer {
    display: flex;
    justify-content: flex-end;
    #gform_submit_button_1 {
      width: auto !important;
    }
  }
}

/*  onefirst clover */
.cta-block--clover {
  position: relative;
  z-index: 50;

  @media (min-width: 992px) {
    &:first-child {
      margin-top: -100px !important;
    }
  }
}

.cta-clover-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  @media (min-width: 992px) {
    outline: 15px solid var(--color-bg);
  }
}

.cta-clv-tricolor {
  .cta-clover {
    color: var(--color-prime);

    &:nth-child(2n + 2) {
      color: var(--color-second);
    }

    &:nth-child(3n + 3) {
      color: var(--color-tert);
    }

    &:hover,
    &:focus {
      color: var(--color-prime);

      &:nth-child(2n + 2) {
        color: var(--color-second);
      }

      &:nth-child(3n + 3) {
        color: var(--color-tert);
      }
    }
  }

  .cta-clover__content {
    background-color: currentColor;
  }

  .cta-clover__icon {
    color: currentColor;
  }
}

.cta-clover {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  text-decoration: none;

  @media (max-width: 991px) {
    margin-top: 30px;
  }
  @media (min-width: 768px) {
    flex-grow: 1;
    flex-basis: 49%;

    &:not(:last-child) {
      border-right: 1px solid var(--color-bg);
    }
  }
  @media (width < 992px) and (min-width: 768px) {
    &:nth-child(2n + 2) {
      border-right: 0;
    }
  }
  @media (min-width: 992px) {
    flex-basis: 33%;
    &:nth-child(3n + 3) {
      border-right: 0;
    }
  }

  &:hover,
  &:focus {
    .cta-clover__icon {
      transform: translateX(-50%) translateY(-70%) scale(1.2);
      box-shadow: 0 2px 32px 0 rgba(0, 0, 0, 0.25);
    }
  }
}

.cta-clover__img {
  position: relative;
  aspect-ratio: 1.75;

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.cta-clover__content {
  position: relative;
  display: flex;
  flex-direction: column;
  /*  justify-content: center; */
  flex-shrink: 0;
  flex-grow: 1;
  padding: 45px 30px;
  transition-property: flex-basis;
  transition-duration: 0.45s;

  @media (min-width: 1200px) {
    padding: 45px 30px 50px;
  }
  /*@media (min-width: 1900px) {
    padding: 50px 60px 60px;
  }*/
}

.cta-clover__icon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 55px;
  height: 55px;
  /*  margin: -35px auto 1em; */
  border-radius: 50%;
  font: var(--fa-font-light);
  box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.11);
  background-color: #fff;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
  z-index: 20;

  &:before {
    content: "\2b";
    font-size: var(--f3);
  }

  @media (max-width: 767px) {
    top: -10px;
    width: 40px;
    height: 40px;
  }
}

.cta-clover__title {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f5);
  line-height: 1.2;
  text-align: center;
	text-wrap: balance;

  @media (min-width: 1200px) {
    font-size: var(--f4);
  }
}

.cta-clover__txt {
  margin-top: 2em;
  p:last-child:last-of-type {
    margin-bottom: 0;
  }
}

.review-clover-control {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.review-clover-qte-icon {
  width: 66px;
  height: 44px;
  flex-shrink: 0;
  fill: var(--color-second);

  svg {
    width: 100%;
  }
}

.review-clover-pager {
  display: inline-flex;
  align-items: center;
  gap: 0.8em;
  font-weight: 700;
  font-size: var(--f7);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--color-copy);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
  svg {
    fill: currentColor;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
  &:hover,
  &:focus {
    color: var(--color-prime);
  }
}

.review-clover-pager--prev {
  justify-content: flex-end;
  &:hover,
  &:focus {
    transform: translateX(-15px);
  }
}
.review-clover-pager--next {
  justify-content: flex-start;
  &:hover,
  &:focus {
    transform: translateX(15px);
  }
}

.review-clover-pager__icon {
  flex-basis: 106px;
  svg {
    width: 100%;
  }
}

.of-clover-block--half-clv {
  background-color: var(--color-quin);
}

.half-clover-img {
  .block-figure {
    margin-bottom: 0;
  }

  @media (max-width: 991px) {
    margin: 0 -15px;

    img {
      width: 100%;
      object-fit: cover;
    }
  }
  @media (min-width: 992px) {
    position: absolute;
    top: 0;
    right: 0;
    width: 50vw;
    height: 100%;

    img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}

@media (min-width: 992px) {
  .half-clover-img--flip {
    right: initial;
    left: 0;
  }
}

.half-clover-content {
  padding: 30px 0;

  @media (min-width: 768px) {
    padding: 60px 0;
  }
  @media (min-width: 992px) {
    padding: 60px 30px;
    margin: auto;
  }
  @media (min-width: 1200px) {
    padding: 90px 0;
    max-width: 40vw;
  }
  @media (min-width: 1500px) {
    max-width: 35vw;
  }
}

.clover-post-row {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;

  @media (min-width: 768px) {
    gap: 45px;
  }
  @media (min-width: 992px) {
    flex-wrap: nowrap;
  }
}

.clover-post {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  flex-grow: 1;
  color: var(--color-prime);

  &:nth-child(2) {
    color: var(--color-second);
  }

  &:nth-child(3) {
    color: var(--color-tert);
  }

  @media (min-width: 992px) {
    flex-basis: calc(33.3333% - 22.5px);
    flex-shrink: 0;
  }
}

.clover-post__cat {
  display: block;
  padding-bottom: 0.25em;
  border-bottom: 3px solid currentColor;
  margin-bottom: 1.5em;
  font-weight: 700;
  font-size: var(--f8);
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  color: currentColor;
}

.clover-post__title {
  display: block;
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f4);
  line-height: 1.2;
  text-decoration: none;
  color: var(--color-copy);
}

.clover-post__excerpt {
  margin-bottom: 0.75em;
  font-size: var(--f8);
  color: var(--color-copy);
}

.clover-post__link {
  position: relative;
  display: inline-block;
  align-self: flex-end;
  margin-right: 1.5em;
  margin-top: auto;
  border-bottom: 1px solid var(--color-prime);
  font-size: var(--f6);
  text-decoration: none;
  color: var(--color-copy);

  &:after {
    content: "\f0a9";
    display: inline-block;
    position: absolute;
    top: 0.25em;
    right: -1.5em;
    transform: scale(1.2);
    transform-origin: left;
    font: var(--fa-font-solid);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
    color: var(--color-prime);
  }

  &:hover,
  &:focus {
    border-color: currentColor;
    color: var(--color-link);

    &:after {
      transform: scale(1.5);
      color: currentColor;
    }
  }
}

.clover-highlight-content {
  padding: 30px;
  background-color: var(--color-quin);

  @media (min-width: 768px) {
    padding: 45px;
  }
  @media (min-width: 1200px) {
    padding: 60px;
  }
  @media (min-width: 1500px) {
    padding: 90px;
  }
}

.clover-border {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 400px;
  margin: 30px auto;
}

.clover-border-middle {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-grow: 1;

  &:before,
  &:after {
    content: "";
    display: block;
    width: 1px;
    height: 1px;
    flex-grow: 1;
    background-color: var(--color-tert);
  }
  &:before {
    margin-right: 4px;
  }
  &:after {
    margin-left: 4px;
  }
}

.clover-border-box {
  width: 15px;
  height: 15px;
  background-color: var(--color-prime);

  &:nth-child(2) {
    background-color: var(--color-second);
  }
  &:nth-child(3) {
    background-color: var(--color-tert);
  }
}

.of-clover-block--team-clv {
  background-color: var(--color-quin);
  overflow: hidden;
}

#carouselCloverTeam {
  .carousel-item {
    color: var(--color-prime);

    &:nth-child(2) {
      color: var(--color-second);
    }
    &:nth-child(3) {
      color: var(--color-tert);
    }
  }
}

.team-clover-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;

  @media (min-width: 768px) {
    flex-direction: row;
  }
  @media (min-width: 992px) {
    gap: 45px;
    padding-right: 30px;
  }
  @media (min-width: 1200px) {
    gap: 60px;
  }
  @media (min-width: 1900px) {
    gap: 90px;
  }
}

.team-clover-content {
  @media (min-width: 992px) {
    flex-grow: 1;
  }
}

.team-clover-name {
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f3);
  line-height: 1.2;
  color: var(--color-copy);

  @media (min-width: 768px) {
    font-size: var(--f1);
  }
  @media (min-width: 1200px) {
    font-size: var(--d6);
  }
}

.team-clover-title {
  font-weight: 700;
  font-family: $font-body;
  font-size: var(--f7);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-second);
}

.team-clover-bio {
  margin-bottom: 30px;
  color: var(--color-copy);
}

.team-clover-img {
  position: relative;
  flex-basis: 350px;
  flex-shrink: 0;
  aspect-ratio: 0.714285714285714;
  margin: 0;

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (max-width: 767px) {
    order: -1;
  }
}

.clover-team-indicators {
  position: relative;
  display: flex;
  margin: 0;

  @media (max-width: 575px) {
    flex-direction: column;
  }
  @media (max-width: 991px) {
    margin: 15px -15px 0;
  }
  @media (min-width: 992px) {
    flex-direction: column;
    height: 100%;
  }
}

.carousel-indicators [data-bs-target].clover-team-pager {
  all: initial;
  position: relative;
  flex-grow: 1;
  padding: 30px 0;
  background-color: var(--color-prime);
  color: var(--color-prime);
  cursor: pointer;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:first-child {
    background-color: var(--color-prime);
  }
  &:nth-child(2) {
    background-color: var(--color-second);
    color: var(--color-second);
  }
  &:nth-child(3) {
    background-color: var(--color-tert);
    color: var(--color-tert);
  }
  &.active,
  &:focus,
  &:hover {
    transform: none;
  }
  &:before {
    content: "\f060";
    position: absolute;
    /*position: absolute;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);*/
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font: var(--fa-font-solid);
    font-size: var(--f4);
    line-height: 1;
    background-color: #fff;
    color: currentColor;
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  @media (max-width: 991px) {
    flex: 1 1;

    &:before {
      top: -16px;
      left: 50%;
      transform: translateX(-50%) rotate(90deg);
    }
  }
  @media (min-width: 992px) {
    padding: 45px 0;

    &:before {
      content: "\f060";
      top: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 65px;
      height: 65px;
      font-size: var(--f2);
    }
    &:after {
      content: "";
      position: absolute;
      top: 0;
      left: 100%;
      display: block;
      width: 100%;
      height: 100%;
      background-color: inherit;
      transition-duration: 0.3s;
      transition-property: color, background-color, fill, transform, text-shadow,
        letter-spacing, outline, border, box-shadow, opacity, filter;
      transition-timing-function: ease-in-out;
    }
  }
  @media (min-width: 1200px) {
    padding: 90px 0;
  }

  &.active:before {
    opacity: 1;
  }

  &:hover {
    background-color: var(--color-copy);
    &:before {
      opacity: 1;
    }
    &:after {
      background-color: var(--color-copy);
    }
  }
}

.focus-outline {
  .carousel-indicators [data-bs-target].clover-team-pager {
    &:focus {
      outline: 3px dotted var(--color-copy);
      &::before {
        opacity: 1;
      }
    }
  }
}

.clover-team-pager__name {
  padding: 0 30px;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f6);
  text-align: center;
  color: #fff;

  @media (min-width: 992px) {
    padding: 0 15px 0 60px;
    font-size: var(--f4);
    text-align: left;
  }
  @media (min-width: 1200px) {
    font-size: var(--f3);
    padding: 0 30px 0 90px;
  }
}

.clover-team-pager__title {
  font-family: var(--font-body);
  font-weight: var(--font-body-weight);
  font-weight: 700;
  font-size: var(--f8);
  letter-spacing: 2px;
  text-transform: uppercase;
}

/*  onefirst ludwig */
.of-link-list {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-top: 30px;
  @media (min-width: 992px) {
    margin-top: -15px;
  }
}

.of-link-list__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f6);
  line-height: 1.2;
  text-decoration: none;
  color: var(--color-copy);

  &:after {
    content: "\f00c";
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    flex-shrink: 0;
    font: var(--fa-font-regular);
    font-size: 0.75em;
    background-color: var(--color-second);
    color: #fff;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    color: var(--color-prime);
    &:after {
      transform: scale(1.2);
      background-color: var(--color-prime);
    }
  }

  @media (min-width: 768px) {
    font-size: var(--f5);
  }
}

a.of-link-list__item {
	  &:after {
    	content: "\f178";
		}
}

.color-white {
  .of-link-list__item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    &:after {
      background-color: #fff;
      color: var(--color-prime);
    }
    &:hover,
    &:focus {
      color: #fff;
      &:after {
        color: #fff;
        background-color: var(--color-second);
      }
    }
  }
}

.ludwig-reviews-wrapper {
  position: relative;
  margin: 30px 0;
  @media (width < 576px) {
    padding-right: 15px;
  }
}

.ludwig-reviews-card {
  position: relative;
  padding: 24px 24px 24px 48px;
  margin-top: 20px;
  background-color: var(--color-quin);

  &:after {
    content: "";
    position: absolute;
    left: 25px;
    bottom: 25px;
    display: block;
    width: 100%;
    height: 100%;
    border: 4px solid var(--color-second);
  }

  @media (max-width: 767px) {
    &:after {
      left: 15px;
      bottom: 15px;
      border-width: 2px;
    }
  }
  @media (min-width: 768px) {
    padding: 34px 34px 34px 58px;
  }
}

.luwdwig-reviews-card__inner {
  padding: 5px;

  @media (min-width: 768px) {
    padding: 30px;
  }
  @media (min-width: 1200px) {
    padding: 45px;
  }
}

#carouselReviews-of-ludwig {
  margin: auto;
  z-index: 20;

  @media (width < 992px) {
    .headline {
      font-size: var(--f4);
    }
  }

  .carousel-control-next,
  .carousel-control-prev {
    background-color: var(--color-prime);
    color: #fff;

    &:hover,
    &:focus {
      background-color: var(--color-second);
    }
  }
}

.ldw-qte-before,
.ldw-qte-after {
  position: absolute;
  width: 160px;
  height: 160px;
  z-index: 20;

  @media (max-width: 767px) {
    width: 70px;
    height: 70px;
  }
}

.ldw-qte-before {
  top: 0;
  left: 0;
  transform: translateX(-20%) translateY(-55%);
}

.ldw-qte-after {
  bottom: 0;
  right: 0;
  transform: translateX(45%) translateY(20%) rotate(180deg);
}

.ldw-qte-circle {
  fill: var(--color-bg);
}

.ldw-qte-mark {
  fill: var(--color-second);
}

.of-ldw-post-feed {
  @media (min-width: 992px) {
    margin-right: -20px;
  }
}

.of-ldw-post-item {
  position: relative;
  margin-right: 20px;
  text-decoration: none;
  color: var(--color-copy);

  figure {
    background-color: var(--color-quin);
    display: flex;
    justify-content: center;
    align-items: center;

    &:after {
      content: "\f1ea";
      font: var(--fa-font-light);
      color: var(--color-prime);
      font-size: var(--d3);
    }
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  &:after {
    content: "";
    position: absolute;
    top: 20px;
    left: -20px;
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid var(--color-second);
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    color: var(--color-copy);

    &:after {
      opacity: 1;
    }

    .of-ldw-post-item__desc:after {
      right: 5px;
    }
  }
}

.of-ldw-post-item--no-img:after {
  border-width: 0 0 2px 0;
}

.of-ldw-post-item__img {
  position: relative;
  z-index: 20;

  img {
    position: relative;
    z-index: 20;
  }

  &:after {
    content: "\f1ea";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    margin: auto;
    font: var(--fa-font-light);
    font-size: var(--f1);
    line-height: 1.2;
    background-color: var(--color-second);
    color: #fff;
    z-index: 10;
  }
}

.of-ldw-post-item__desc {
  display: flex;
  align-items: flex-end;
  gap: 15px;

  &:after {
    content: "+";
    position: relative;
    display: inline-block;
    right: 0px;
    font: var(--fa-font-solid);
    font-size: var(--f5);
    transition-property: right;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
  }
}

.headline-obs-border {
  width: 120px;
  fill: var(--color-second);
}

.headline-obs-border--center {
  width: 220px;
  margin-left: auto;
  margin-right: auto;
}

.headline-obs {
  .headline {
    display: flex;
    flex-direction: column;
  }

  .headline-subtitle {
    order: -1;
    margin-bottom: 0.75em;
    font-weight: 600;
    font-size: var(--f6);
    letter-spacing: 0.22222222em;
    text-transform: uppercase;
  }

  .headline-obs-border {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  @media (prefers-contrast: more) {
    .headline-subtitle {
      color: var(--color-copy);
    }
  }
}

.headline-obs-border__rule,
.headline-obs-border__diamond-out {
  fill: var(--color-second);
}

.headline-obs-border__diamond {
  fill: var(--color-second);
}

.of-obs-block--intro {
  @media (max-width: 767px) {
    img {
      max-height: 300px;
      object-fit: cover;
    }
  }
}

.obs-intro-content {
  @media (min-width: 1200px) {
    margin-top: 15px;
    margin-bottom: 15px;
    margin-right: 30px;
    margin-left: 30px;
  }
  @media (min-width: 1500px) {
    margin-right: 60px;
    margin-left: 60px;
  }
  @media (min-width: 1900px) {
    margin-right: 90px;
    margin-left: 90px;
  }
}



/*  obs intro wide */
.obs-intro-img {
  position: relative;

  @media (min-width: 992px) {
    height: 100%;

    .block-figure {
      width: calc(100% + 3vw);
      position: absolute;
      top: 0;
      height: 100%;
    }

    img {
      height: 100%;
      object-fit: cover;
    }
  }
  @media (min-width: 1200px) {
    .block-figure {
      width: calc(100% + 5vw);
    }
  }
  @media (min-width: 1500px) {
    .block-figure {
      width: calc(100% + 6vw);
    }
  }
  @media (min-width: 1500px) {
    .block-figure {
      width: calc(100% + 8vw);
    }
  }
}

.obs-intro-img--start {
  .block-figure {
    right: 0;
  }
}

.obs-intro-img--end {
  .block-figure {
    left: 0;
  }
}

.of-obs-block--reviews {
  position: relative;

  .container,
  .container-fluid {
    position: relative;
    z-index: 20;
  }
}

.obs-review-row {
  display: flex;
  flex-direction: column;
  gap: 55px;

  @media (max-width: 991px) {
    margin-top: 60px;
  }
  @media (min-width: 1500px) {
    flex-direction: row;
    gap: 30px;
  }
}

.obs-review-row--3 {
  margin-top: 45px;
}

.obs-review-row__item {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
  padding: 30px;
  margin-top: 30px;
  font-size: var(--f6);
  border: 1px solid var(--color-quin);

  @media (min-width: 768px) {
    flex-basis: calc(50% - 15px);
    padding: 40px;
    margin-top: 0;
  }
  @media (min-width: 1500px) {
    padding: 50px 40px 45px;
	}
  @media (min-width: 1900px) {
    padding: 90px 50px 70px;
		font-size: var(--f5);
	}
}

.obs-review-quote {
  width: 65px;
  height: auto;
  fill: #fff;
  position: absolute;
  top: -30px;
  left: 20px;

	  @media (min-width: 1500px) {
    width: 75px;
    left: 30px;
  }
  @media (min-width: 1900px) {
    width: 100px;
  }
}

.obs-review-row__title {
  font-size: var(--f5);
}

.obs-review-row__desc {
  margin-bottom: 30px;
}

.obs-review-row__author {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-weight: 700;
  font-size: var(--f7);
  letter-spacing: 2px;
  text-transform: uppercase;
  /*  color: var(--color-second); */

  &:before {
    content: "\f005";
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 2.2em;
    height: auto;
    aspect-ratio: 1;
    border-radius: 50%;
    font: var(--fa-font-solid);
    font-size: var(--f5);
    letter-spacing: 0;
    background-color: #fff;
    color: var(--color-second);
  }
}

.dark-mode {
  .obs-review-row__author:before {
    background-color: #fff;
    color: var(--color-prime);
  }
}

.no-content-grid {
  display: flex;
  flex-direction: column;
  gap: 30px;
  counter-reset: no-grid;

  @media (min-width: 768px) {
    flex-direction: row;
    flex-wrap: wrap;
  }
  @media (min-width: 1200px) {
    gap: 45px;
  }
  @media (min-width: 1900px) {
    gap: 60px;
  }
}

.no-content-grid__item {
  counter-increment: no-grid;
  display: flex;
  flex-direction: column;

  &:before {
    content: counter(no-grid, decimal-leading-zero);
    display: block;
    margin-bottom: 0.25em;
    font-weight: 700;
    font-size: var(--f5);
    color: var(--color-second);
  }
  @media (min-width: 768px) {
    flex-basis: calc(50% - 15px);
    /*  flex-grow: 1; */
  }
  @media (min-width: 992px) {
    flex-basis: calc(30% - 15px);
  }
  @media (min-width: 1200px) {
    flex-basis: calc(33.33333% - 45px);
  }
  @media (min-width: 1900px) {
    flex-basis: calc(33.33333% - 60px);
  }
}

.no-content-grid__title {
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f4);
  color: var(--color-copy);

  @media (min-width: 1200px) {
    font-size: var(--f3);
  }
}

.no-content-grid__desc {
  flex-grow: 1;
  display: flex;
  flex-direction: column;

  p,
  ul,
  ol {
    &:last-child {
      margin-bottom: 0;
    }
  }
}

.no-content-grid__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 54px;
  margin-top: auto;
  border-radius: 50%;
  border: 1px solid var(--color-prime);
  text-decoration: none;
  color: var(--color-copy);

  &:after {
    content: "\f061";
    font: var(--fa-font-light);
    font-size: var(--f5);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    transform: scale(1.2);
    border-color: var(--color-prime);
    background-color: var(--color-prime);
    color: #fff;
  }
}

.post-feed-obs {
  @media (max-width: 991px) {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.post-feed__feat-img--placeholder-obs {
  background-color: var(--color-tert);
}

.post-feed__item--obs {
  flex-grow: 1;
  width: 100%;
  text-decoration: none;
  line-height: 1.2;
  border-bottom: 1px solid var(--color-prime);
  background-color: var(--color-quin);
  color: var(--color-copy);

  &:hover,
  &:focus {
    background-color: var(--color-prime);
    color: #fff;

    .post-obs-category {
      color: inherit;
    }
  }
}

.post-feed-obs-desc {
  padding: 30px;

  @media (min-width: 576px) {
    padding: 45px 40px;
  }
}

.post-obs-category {
  margin-bottom: 0.75em;
  letter-spacing: 2px;
  color: var(--color-prime);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.obs-team {
  display: flex;
  gap: 60px;

  @media (max-width: 991px) {
    flex-direction: column;
    gap: 30px;
  }
  @media (min-width: 992px) {
    justify-content: center;
    align-items: center;
  }
}

.obs-team-headshot {
  flex-shrink: 0;
}

.obs-team-desc {
  @media (min-width: 992px) {
    flex-basis: 920px;
  }
}

.obs-team-img {
  position: relative;
  aspect-ratio: 775/470;
  margin-bottom: 0;

  img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
  }
}

@media (min-width: 1200px) {
  .obs-team-img--founder {
    aspect-ratio: 775/600;
    margin-right: var(--d4);

    &:after {
      content: "Founder";
      display: inline-block;
      position: absolute;
      bottom: 0;
      right: -1.2em;
      writing-mode: tb-rl;
      transform: rotate(180deg);
      font-family: var(--font-header);
      font-weight: var(--font-header-weight);
      font-size: var(--d4);
      line-height: 1;
      text-transform: uppercase;
      letter-spacing: 0.125em;
      color: inherit;
      opacity: 0.25;
    }
  }
}

.obs-team-name {
  font-size: var(--f3);
  @media (min-width: 1200px) {
    font-size: var(--d6);
  }
}

.obs-team-title {
  font-family: var(--font-body);
  font-weight: var(--font-body-weight);
  font-weight: 600;
  font-size: var(--f6);
  letter-spacing: 0.22222222em;
  text-transform: uppercase;
  color: var(--color-second);
}

@media (width < 992px) {
  .obs-team-img-col--founder {
    order: -1;
  }
}

.obs-team-img-col {
  @media (min-width: 992px) {
    flex-basis: 470px;
    flex-shrink: 0;
  }

  @media (min-width: 1500px) {
    flex-basis: 775px;
  }
}

@media (min-width: 1200px) {
  .obs-team-img-col--team {
    position: relative;
    align-self: flex-start;
    margin-left: var(--d4);

    &:after {
      content: "The Team";
      display: inline-block;
      position: absolute;
      bottom: 0;
      left: -1.2em;
      writing-mode: tb-rl;
      transform: rotate(180deg);
      font-family: var(--font-header);
      font-weight: var(--font-header-weight);
      font-size: var(--d4);
      line-height: 1;
      text-transform: uppercase;
      letter-spacing: 0.125em;
      color: inherit;
      opacity: 0.25;
    }
  }

  .obs-team-img-col--founder {
    flex-basis: 625px;
  }
}

.carousel {
  .obs-team-img-col {
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
}

.active {
  .obs-team-img-col {
    opacity: 1;
  }
}

.obs-team-controls {
  gap: 15px;
  @media (min-width: 992px) {
    width: 100%;
  }
}

.obs-team-controls__arrows {
  display: flex;
  flex-direction: column;
  width: 35px;
  flex-shrink: 0;
}

.carousel-indicators-obs {
  width: 100%;
  gap: 10px;
}

.carousel-control-obs {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-second);
  aspect-ratio: 35/48;
  flex-basis: 50%;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
  color: #fff;

  &:hover {
    background-color: var(--color-second);
    color: var(--color-dark, #000);
  }
}

.carousel-control-obs--prev {
  &:before {
    content: "\f0d9";
    display: inline-block;
    font: var(--fa-font-solid);
    z-index: 10;
  }
}

.carousel-control-obs--next {
  &:before {
    content: "\f0da";
    display: inline-block;
    font: var(--fa-font-solid);
    z-index: 10;
  }
}

.focus-outline {
  .carousel-control-obs {
    &:focus {
      background-color: var(--color-second);
      color: var(--color-dark, #000);
    }
  }
}

.carousel-indicators-obs .obs-team-pager[data-bs-target] {
  position: relative;
  /*  flex-basis: 120px; */
  width: 90px;
  min-height: 90px;
  /*  flex-grow: 1; */
  cursor: pointer;
  transform: none;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:empty {
    flex-basis: 0;
    height: 0;
    aspect-ratio: 0;
  }

  &:hover,
  &:focus {
    filter: brightness(130%) contrast(105%);
    transform: none;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
  }

  @media (min-width: 768px) {
    width: 90px;
    min-height: 90px;
  }
  @media (min-width: 1200px) {
    aspect-ratio: 775/470;
  }
}

.btn-obs-team {
  display: inline-block;
  font-size: var(--f4);
  text-decoration: none;
  color: inherit;

  &:after {
    content: "\f138";
    transform: scale(1.2);
    transform-origin: left;
    font: var(--fa-font-thin);
    display: inline-block;
    margin-left: 0.25em;
    color: var(--color-second);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    color: inherit;

    &:after {
      transform: scale(1.5);
    }
  }
}

/*  onefirst abstract */
.abs-img-tri {
  display: flex;
  gap: 10px;
  margin-bottom: 30px;

  @media (min-width: 576px) {
    gap: 30px;
  }
  @media (min-width: 992px) {
    margin-bottom: 0;
  }
}

.abs-img-tri__item {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex-shrink: 0;

  @media (min-width: 576px) {
    gap: 30px;
  }
}
.abs-img-tri__item--1 {
  flex-basis: calc(60% - 15px);
  justify-content: flex-end;
}
.abs-img-tri__item--2 {
  flex-basis: calc(40% - 15px);
}

.abs-img-tri__img {
  position: relative;

  img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.abs-img-tri__img--1 {
  flex-basis: 65%;
  max-width: 350px;
  aspect-ratio: 1;
}
.abs-img-tri__img--2 {
  flex-basis: 100%;
  max-width: 500px;
  aspect-ratio: 1;
}
.abs-img-tri__img--3 {
  flex-basis: 100%;
  max-width: 360px;
  height: 74%;
  max-height: 600px;
  margin-top: auto;
  margin-bottom: auto;
}

.abs-service-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.abs-service-list__item {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
  flex-basis: calc(50% - 15px);
  font-size: var(--f5);
  line-height: 1.2;
  text-decoration: none;
  color: var(--color-copy);
	text-wrap: balance;

  &:hover,
  &:focus {
    color: var(--color-prime);

    .abs-service-list__icon {
      transform: scale(1.2);
      color: var(--color-prime);
    }
  }

  @media (max-width: 767px) {
    flex-basis: 100%;
  }
}

.abs-service-list__icon {
  width: 1.3em;
  font-size: var(--f4);
  text-align: center;
  color: var(--color-second);
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.abs-team-row {
  display: flex;
  justify-content: center;
  text-align: center;
  gap: 30px;
  @media (max-width: 1199px) {
    flex-wrap: wrap;
  }
  @media (min-width: 1200px) {
    gap: 60px;
  }
  @media (min-width: 1500px) {
    gap: 90px;
  }
  @media (min-width: 1900px) {
    gap: 120px;
  }
}

.abs-team-row__item {
  flex-basis: 350px;
  line-height: 1.2;
  text-decoration: none;
  color: var(--color-copy);

  @media (max-width: 575px) {
    flex-basis: 100%;
  }

  &:hover,
  &:focus {
    img {
      transform: scale(1.12);
      filter: brightness(110%);
    }
  }
}

.abs-team-row__item--nolink {
  pointer-events: none;
}

.abs-team-row__img {
  position: relative;
  aspect-ratio: 5 / 7;
  margin-bottom: 15px;
  overflow: hidden;

  img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  @media (max-width: 991px) {
    margin-bottom: 15px;
  }
}

.abs-team-row__name {
  margin-bottom: 0.125em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f4);
  color: var(--color-prime);

  @media (min-width: 992px) {
    font-size: var(--f3);
  }
  @media (min-width: 1200px) {
    font-size: var(--f2);
  }
}

.abs-team-row__title {
  font-size: var(--f6);
  color: var(--color-copy);

  @media (min-width: 1200px) {
    font-size: var(--f5);
  }
}

.contact-block-stripe {
  position: relative;
  overflow: hidden;
  @media (max-width: 991px) {
    &:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      backdrop-filter: blur(10px);
    }
  }
}

.contact-stripe-container {
  position: relative;
  padding-right: 15px;
  box-shadow: 40px 10px 60px rgba(0, 0, 0, 0.35);
  z-index: 10;

  &:before,
  &:after {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0.95;
    background-color: var(--color-prime);
  }
  &:before {
    left: -100%;
  }
  &:after {
    left: 0;
    z-index: 0;
  }

  a {
    color: #fff;
  }
	@media(min-width: 576px) {
  	padding-right: 30px;
	}
  @media (min-width: 768px) {
    padding-right: 60px;
  }
  @media (min-width: 992px) {
    display: flex;
    gap: 60px;
  }
  @media (min-width: 1200px) {
    padding-right: 90px;
  }
}

.contact-stripe-left,
.contact-stripe-right {
  position: relative;
  z-index: 10;
}

.contact-stripe-left {
  flex-shrink: 0;
  margin-bottom: 45px;
  @media (min-width: 992px) {
    flex-basis: 55%;
    margin-bottom: 0;
  }
}

.contact-stripe-right {
  @media (min-width: 992px) {
    flex-grow: 1;
  }
}

/*  onefirst dots */

.alternating-figure {
  position: relative;
  z-index: 0;

  .dot-texture {
    display: none;
    position: absolute;
    bottom: 10px;
    opacity: 0.15;
    z-index: 0;
  }
  &.img-dot-texture {
    .block-figure {
      position: relative;
      z-index: 10;
    }
    .dot-texture {
      right: -75px;
      display: block;
      width: 240px;
      height: 240px;
    }
  }
  &.alter-left.img-dot-texture {
    .dot-texture {
      right: initial;
      left: -75px;
    }
  }
  @media (min-width: 992px) {
    .dot-texture {
      bottom: -30px;
      width: 300px;
      height: 300px;
    }
  }
}

.cta-of-dots {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;

  .dot-pattern {
    position: absolute;
    top: -30px;
    right: -60px;
    display: block;
    width: 300px;
    height: 300px;
    z-index: 0;

    svg {
      opacity: 0.15;
    }
  }

  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
  @media (min-width: 992px) {
    grid-template-columns: repeat(4, 1fr);
  }
}

.cta-of-dots__item {
  position: relative;
  height: 300px;
  background-color: var(--color-dark, #000);
  color: #fff;
  z-index: 10;

  &:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 20%;
    background-color: var(--color-prime);
    z-index: 10;
    opacity: 0;
    transition-property: height, background-color, opacity, filter;
    transition-duration: 0.5s;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    color: #fff;

    &:after {
      height: 100%;
      opacity: 0.9;
    }

    .cta-of-dots__img {
      opacity: 1;
      transition-delay: 0.3s;
      transition-duration: 0.3s;
    }
  }

  @media (width < 768px) {
    height: 200px;
  }

  @media (min-width: 992px) {
    &:first-child {
      grid-column-start: 1;
      grid-column-end: 3;
    }
    &:nth-child(6n) {
      grid-column-start: 3;
      grid-column-end: 5;
    }
  }
}

.cta-of-dots__txt {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 15px 30px;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f3);
  line-height: 1.2;
  text-align: center;
  text-shadow: 0 0 30px rgba(0, 0, 0, 0.9);
  z-index: 20;

  @media (min-width: 992px) {
    font-size: var(--f4);
  }
  @media (min-width: 1500px) {
    font-size: var(--f3);
  }
}

.cta-of-dots__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.4;
  z-index: 0;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
  transition-duration: 0.2s;
  transition-delay: 0s;
}

/*  onefirst ascend */
.alternating-figure.ascend-intro-img {
  position: relative;
  margin-top: -45px;
  z-index: 20;

  .block-figure {
    margin-bottom: 0;
  }

  @media (width < 768px) {
    margin-left: 15px;
    margin-right: 15px;
  }
  @media (min-width: 1200px) {
    position: absolute;
    width: calc(100% - 30px);
    height: 120%;
    bottom: 30px;
    margin-top: 0;

    .block-figure {
      height: 100% !important;
    }

    img {
      /*  width: auto !important; */
      height: 100% !important;
      object-position: top;
    }
  }

  @media (min-width: 1500px) {
    width: 95%;
    height: 140%;
    bottom: 45px;
  }
}
.ascend-intro-img {
  @media (width < 992px) {
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
  }
}

.of-asc-block--ascend-callout {
  overflow-y: clip;
}

.asc-callout-container {
  @media (min-width: 992px) {
    display: flex;
    gap: 30px;
  }
}

.asc-callout-headline {
  flex-shrink: 0;
  @media (min-width: 992px) {
    .headline {
      line-height: 1;
    }
  }
}

.asc-callout-content {
  padding-left: 1.5em;
  padding-bottom: 3em;
  margin-top: 0.5em;
  border-left: 1px solid;

  @media (min-width: 992px) {
    padding-left: 2em;
    padding-bottom: 5em;
    margin-top: 0;
    margin-left: 2em;
  }
  @media (min-width: 1200px) {
    padding-bottom: 6em;
  }
}

.of-asc-block--asc-sleek-reviews {
  overflow: clip;
}

.asc-sleek-reivew-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 45px;
  margin-bottom: 45px;

  @media (min-width: 576px) {
    grid-template-columns: 1fr 1fr;
  }
  @media (min-width: 992px) {
    gap: 90px;
  }
}

.asc-sleek-review-block {
  padding-right: 15px;
  padding-left: 3em;
  border-left: 1px solid;

  @media (width < 768px) {
    padding-left: 2em;
  }
}

.asc-sleek-reivews-item__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5em;
  height: 5em;
  margin-bottom: 30px;
  border: 1px solid #fff;
  border-radius: 50%;
  fill: currentColor;

  svg {
    width: 40%;
    height: auto;
  }
}

.asc-sleek-reivew-item__desc {
  font-size: var(--f6);

  @media (min-width: 992px) {
    font-size: var(--f5);
  }
}

.asc-sleek-reivew-item__author {
  margin-top: 1.5em;
  text-transform: uppercase;
  font-size: var(--f7);
  font-weight: 700;
}

.asc-sleek-reivew-title {
  .headline {
    margin-top: 1em;
    margin-bottom: 0;
    line-height: 0.75;
  }
}

.split-img-container {
  display: flex;
  gap: 30px;
  height: 100%;

  .block-figure {
    height: 100%;
    width: 200%;
    margin: 0;
  }

  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (width < 992px) {
    gap: 15px;
    height: auto;
    margin-bottom: 45px;
  }
}

.split-img-item {
  position: relative;
  flex-basis: calc(50% - 15px);
  overflow: hidden;
}

.split-img-item--end img {
  transform: translateX(-50%);
}

.split-img-content {
  @media (min-width: 992px) {
    margin: 45px 0 45px 15px;
  }
  @media (min-width: 1200px) {
    margin: 60px 0 60px 45px;
  }
  @media (min-width: 1500px) {
    margin: 90px 0 90px 45px;
  }
}

.asc-img {
  box-shadow: -10px 10px 16px 0 rgba(0, 0, 0, 0.25);
  border-radius: 7px;
  overflow: hidden;

  @media (min-width: 1200px) {
    box-shadow: 10px 6px 40px 0 rgba(0, 0, 0, 0.3);
  }
}

.asc-img-wrapper {
  img {
    /*  box-shadow: -10px 10px 16px 0 rgba(0, 0, 0, 0.25); */
    border-radius: 7px;
    overflow: hidden;

    /*@media (min-width: 1200px) {
      box-shadow: 10px 6px 40px 0 rgba(0,0,0, 0.3);
    }*/
  }
}

.of-asc-block--ascend-cta {
  position: relative;
  z-index: 30;
}

.asc-cta-content {
  @media (min-width: 1200px) and (max-width: 1899px) {
    margin-right: 30px;
  }
}

.asc-cta-content {
  @media (min-width: 1200px) and (max-width: 1899px) {
    margin-right: 30px;
  }
}

.asc-cta-container {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  width: 100%;
  max-width: 700px;
  margin-top: 30px;
  z-index: 10;

  @media (min-width: 992px) and (min-height: 800px) {
    margin-top: -30%;
  }
  @media (min-width: 1500px) {
    max-width: 800px;
  }
  @media (min-width: 1900px) {
    gap: 15px;
  }
}

.asc-cta-container--sm {
  @media (height > 950px) and (min-width: 992px) {
    bottom: 30px;
  }
  @media (height > 950px) and (min-width: 1200px) {
    bottom: 60px;
  }
}

.asc-cta-wrapper {
  position: relative;
  flex-basis: calc(50% - 10px);

  @media (width < 768px) {
    flex-basis: 100%;
  }
  @media (min-width: 992px) {
    &:nth-child(2),
    &:nth-child(4) {
      top: -40px;
    }
  }
  @media (min-width: 1200px) {
    &:nth-child(2),
    &:nth-child(4) {
      top: -80px;
    }
  }
  @media (min-width: 1900px) {
    flex-basis: calc(50% - 7.5px);
  }
}

.asc-cta {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  padding: 15px;
  border-radius: 7px;
  text-decoration: none;
  box-shadow: 10px 6px 44px 0 rgba(0, 0, 0, 0.3);

  @media (width < 992px) {
    height: 100%;
    box-shadow: 6px 3px 10px 0 rgba(0, 0, 0, 0.2);
  }

  @media (min-width: 768px) {
    padding: 30px;
  }
  @media (min-width: 992px) {
    height: 100%;
  }

  @media (min-width: 1500px) {
    padding: 40px;
  }
}

.asc-cta--small {
  justify-content: center;

  .asc-cta__title {
    margin-bottom: 0 !important;
  }
  .asc-cta__desc {
    display: none;
  }
  @media (min-width: 992px) {
    aspect-ratio: 1.25;
  }
}

.asc-cta__icon {
  height: 50px;
  margin-bottom: 15px;
  fill: currentColor;

  svg {
    width: auto;
    height: 100%;
    transition-duration: 0s;
  }

  @media (min-width: 1900px) {
    height: 60px;
    margin-bottom: 30px;
  }
}

.asc-cta__title {
  line-height: 1.2;
}

.asc-cta__title,
.asc-cta__desc {
  color: inherit;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;
}

.asc-cta__desc {
  position: relative;
  /*  flex-grow: 1; */

  p:last-child:last-of-type,
  ul:last-child:last-of-type {
    margin-bottom: 0;
  }
}

.of-asc-block--ascend-intro {
  position: relative;
  padding-bottom: var(--vertical-space);
  background-color: var(--color-tert);
  padding-top: var(--vertical-space);

  @media (min-width: 768px) {
    padding-bottom: var(--vertical-space-md);
  }
  @media (min-width: 992px) {
    padding-top: var(--vertical-space-lg);
    padding-bottom: 0;
    &:after {
      content: "";
      position: relative;
      display: block;
      width: 100%;
      height: 60px;
      background-color: var(--color-bg);
      z-index: 10;
    }
  }
  @media (min-width: 1200px) {
    padding-top: var(--vertical-space-xl);
  }
  @media (min-width: 1500px) {
    padding-top: var(--vertical-space-xx);
  }
}

.asc-intro-img {
  margin-bottom: 30px;

  .block-figure {
    margin-bottom: 0;
  }

  @media (min-width: 992px) {
    position: absolute;
    display: flex;
    flex-direction: column;
    width: calc(100% - 30px);
    height: calc(100% + 60px);
    margin-bottom: 0;
    z-index: 20;

    .block-figure {
      flex-grow: 1;
      height: 100%;

      img {
        height: 100%;
        object-fit: cover;
      }
    }
  }
}

.asc-intro-content {
  @media (max-width: 991px) {
    padding-bottom: 0 !important;
  }
}

.asc-blog-row {
  display: flex;
  gap: 30px;
  @media (max-width: 991px) {
    flex-direction: column;
  }
}

.asc-blog-item {
  display: flex;
  flex-direction: column;
  flex-basis: calc(33.33333% - 15px);
  border-radius: 7px;
  background-color: var(--color-second);
  color: #fff;
  overflow: hidden;
}

.asc-blog-feat-img {
  position: relative;

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.asc-blog-feat-img--placeholder {
  display: flex;

  &:after {
    content: "\f1ea";
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    margin: auto;
    border-radius: 7px;
    font: var(--fa-font-light);
    font-size: var(--f2);
    line-height: 1.2;
    background-color: var(--color-prime);
    color: #fff;
  }
}

.asc-blog-desc {
  flex-grow: 1;
  position: relative;
  padding: 30px;

  @media (min-width: 1200px) {
    padding: 54px 54px 64px 54px;
  }
}

.asc-blog-title {
  display: block;
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  line-height: 1.2;
  font-size: var(--f5);
  text-decoration: none;
  color: #fff;

  &:focus,
  &:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    color: inherit;
  }

  @media (min-width: 1200px) {
    font-size: var(--f4);
  }
}

.acs-blog-excerpt {
  font-size: var(--f7);
}

.asc-blog-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40px;
  border-radius: 7px;
  margin-top: 15px;
  font-size: var(--f7);
  line-height: 1.2;
  text-decoration: none;
  background-color: var(--color-bg);

  &:after {
    content: "\f061";
    font: var(--fa-font-solid);
    margin-left: 0.5em;
    color: var(--color-prime);
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  @media (min-width: 1200px) {
    position: absolute;
    bottom: 0;
    right: 0;
    border-radius: 7px 0 0 0;
    margin-top: 0;
    width: 60px;
    height: 60px;
    font-size: var(--f4);

    &:after {
      margin-left: 0;
    }
  }

  &:focus,
  &:hover {
    color: #fff;
    background-color: var(--color-prime);
    &:after {
      color: #fff;
    }
  }
}

.asc-review-item {
  position: relative;
  padding: 30px 30px 45px 0;
  margin-top: 60px;
  border-radius: 0 7px 7px 0;
  background-color: var(--color-prime);
  color: #fff;

  &:before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
  }

  @media (min-width: 1200px) {
    padding: 60px 60px 60px 0;
  }
  @media (min-width: 1500px) {
    padding: 90px 90px 90px 0;
  }
}

.asc-review-item--sec {
  padding: 30px 0 30px 30px;
  margin-top: -20px;
  margin-bottom: 30px;
  border-radius: 7px 0 0 7px;
  background-color: var(--color-second);

  &:before {
    left: 100%;
  }

  @media (min-width: 1200px) {
    margin-top: -40px;
    margin-bottom: 50px;
    padding: 60px 0 60px 60px;
  }
  @media (min-width: 1500px) {
    margin-top: -60px;
    padding: 90px 0 90px 90px;
  }
}

.acs-review-icon {
  position: absolute;
  top: 0;
  transform: translateY(-70%);
  width: 70px;
  height: 60px;
  fill: var(--color-quin);
  filter: drop-shadow(8px 8px 10px rgba(0, 0, 0, 0.3));

  @media (min-width: 768px) {
    width: 90px;
    height: 70px;
    transform: translateY(-70%);
  }
  @media (min-width: 1200px) {
    transform: translateY(-55%);
    width: 142px;
    height: 110px;
  }
}

.acs-review-icon--sec {
  top: initial;
  bottom: 0;
  right: 0;
  transform: translateY(20%) scaleX(-100%);

  @media (min-width: 768px) {
    transform: translateY(20%) scaleX(-100%);
  }
  @media (min-width: 1200px) {
    transform: translateY(40%) scaleX(-100%);
  }
}

.acs-review-title {
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  line-height: 1.2;
  font-size: var(--f3);

  @media (min-width: 1500px) {
    font-size: var(--f1);
  }
}

.acs-review-desc {
  margin-bottom: 30px;
  font-size: var(--f6);

  @media (width < 992px) {
    font-size: var(--f7);
  }
}

.acs-review-author {
  font-weight: 700;
  font-size: var(--f6);
  text-transform: uppercase;
  letter-spacing: 2px;
}

@media (min-width: 1200px) {
  .asc-alt-content--left {
    margin-right: 60px;
  }
  .asc-alt-content--right {
    margin-left: 60px;
  }
}
@media (min-width: 1200px) {
  .asc-alt-content--left {
    margin-right: 90px;
  }
  .asc-alt-content--right {
    margin-left: 90px;
  }
}

/*  projects blocks */
/* project carousel row block */

.project-feed-block--mojo-row + .project-feed-block--mojo-row {
  @media (min-width: 1200px) {
    margin-top: -60px;
  }
}
.prj-car-row-title {
  margin-left: 15px;

  @media (min-width: 768px) {
    margin-left: 30px;
  }
  @media (min-width: 1200px) {
    margin-left: 0;
  }

  .headline {
    position: relative;

    &:before {
      content: "";
      position: absolute;
      top: 0.6em;
      left: calc(-50vw - 15px);
      display: block;
      width: 50vw;
      height: 2px;
      background: var(--color-prime);
    }
  }
}

.prj-car-row-carousel {
  display: flex;
  align-items: center;

  @media (width < 768px) {
    flex-direction: column;
  }
  @media (min-width: 768px) {
    gap: 20px;
  }
}

.prj-car-row-slide {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;

  @media (min-width: 1200px) {
    gap: 25px;
  }
}

.prj-car-row-item {
  position: relative;
  flex-basis: 95%;
  flex-grow: 0;
  text-decoration: none;
  color: var(--color-copy);

  &:hover,
  &:focus {
    color: var(--color-prime);

    img {
      transform: scale(1.5);
    }
  }

  @media (min-width: 576px) {
    flex-basis: calc(50% - 7.5px);
  }
  @media (min-width: 1200px) {
    flex-basis: calc(33.3333% - 20px);
  }
}

.prj-car-row-item__img {
  position: relative;
  aspect-ratio: 1.4017094017;
  overflow: hidden;
  background-color: var(--color-quin);

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 20;
    transition-duration: 0.75s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:after {
    content: "\f807";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    font: var(--fa-font-light);
    font-size: var(--f3);
    background-color: var(--color-prime);
    color: #fff;
    z-index: 10;
  }
}

.prj-car-row-item__desc {
  margin-top: 0.75em;
  line-height: 1.2;
}

.prj-car-row-item__title {
  margin-bottom: 0.45em;
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  line-height: 1.2;
  font-size: var(--f6);

  @media (width < 1200px) {
    font-size: var(--f5);
  }
}

.mojo-posts-pager {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 30px 0;

  svg {
    width: 78px;
    height: 9px;
  }

  &:after {
    content: "";
    position: absolute;
    top: 50%;
    display: block;
    aspect-ratio: 1;
    width: calc(100% - 8px);
    height: auto;
    border-radius: 50%;
    border: 1px solid var(--color-prime);
    background-color: transparent;
    transform-origin: center;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover {
    &:after {
      background-color: var(--color-prime);
    }
  }
}

.mojo-posts-pager--prev:after {
  transform: translateY(-50%) translateX(-50%);
  &:hover {
    transform: translateY(-50%) translateX(-50%) scale(0.5);
  }
}

.mojo-posts-pager--next:after {
  transform: translateY(-50%) translateX(50%);
  &:hover {
    transform: translateY(-50%) translateX(50%) scale(0.5);
  }
}

/* masony project block */
.project-mason-row {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;

  @media (min-width: 992px) {
    gap: 45px;
    flex-wrap: nowrap;
  }
  @media (min-width: 1200px) {
    gap: 60px;
  }
}

.project-mason-start {
  flex-basis: 100%;
  flex-shrink: 0;
  padding: 15px;

  @media (min-width: 992px) {
    flex-basis: 65%;
    padding: 0;
  }
  @media (min-width: 1200px) {
    flex-basis: 60%;
  }
}

.project-mason-end {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-grow: 1;
  padding-right: 30px;

  @media (width < 992px) {
    padding: 0 15px;
    order: -1;
  }
}

.project-mason-slide {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(7, 1fr);

  @media (min-width: 992px) {
    gap: 30px;
  }
}

.project-mason-slide__img {
  position: relative;
  aspect-ratio: 644/378;

  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.project-mason-slide__img--1,
.project-mason-slide__img--3 {
  grid-column-end: 5;
  grid-column-start: 1;
}

.project-mason-slide__img--2 {
  aspect-ratio: initial;
  grid-column-start: 5;
  grid-column-end: 8;
  grid-row-start: 1;
  grid-row-end: 3;
}

.project-mason-title {
  @media (min-width: 1200px) {
    margin-top: 9rem;
  }
}

.project-mason-pagers {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  margin-top: auto;
  font-size: var(--f5);

  @media (min-width: 1200px) {
    font-size: var(--f4);
  }
}

.project-mason-pagers-item[data-bs-target] {
  position: relative;
  display: inline-block;
  text-align: left;
  line-height: 1.2;
  padding: 0.25em 0;

  &:before {
    content: "\f0da";
    display: inline-block;
    margin-right: 0.25em;
    color: var(--color-second);
    font: var(--fa-font-solid);
  }

  &:after {
    content: "";
    position: absolute;
    left: calc(100% + 30px);
    top: calc(50% - 1px);
    width: 100vw;
    height: 1px;
    background-color: var(--color-prime);
    opacity: 0;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }

  &:hover,
  &:focus {
    font-weight: 700;

    &:after {
      opacity: 1;
      background-color: var(--color-second);
    }
  }

  &.active {
    font-weight: 700;

    &:after {
      opacity: 1;
      background-color: var(--color-prime);
    }
  }
}

/* obsidian project block */
.mojo-project-feat-img {
  aspect-ratio: 1920 / 900;

  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.mojo-project-slide-content {
  @media (min-width: 992px) {
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
}

.mojo-project-details {
  position: relative;
  padding-top: 45px;
  background-color: #fff;
  opacity: 0;
  bottom: -20px;
  transition-duration: 0.3s;
  transition-property: opacity, bottom;
  transition-timing-function: ease-in-out;
  position: relative;

  &:before {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
    backdrop-filter: inherit;
    left: 100%;
  }

  @media (min-width: 992px) {
    padding: 45px 0 0 45px;
  }
  @media (min-width: 1500px) {
    padding: 60px 0 0 90px;
  }
}

.active {
  .mojo-project-details {
    opacity: 1;
    bottom: 0;
  }
}

.mojo-project-indicators {
  display: flex;
  gap: 10px;
  margin: 30px 0 0;
}

.mojo-project-pager {
  width: 16px;
  height: 16px;
  border: 2px solid var(--color-prime);
  border-radius: 50%;
  background-color: #fff;
  transition-duration: 0.3s;
  transition-property: color, background-color, fill, transform, text-shadow,
    letter-spacing, outline, border, box-shadow, opacity, filter;
  transition-timing-function: ease-in-out;

  &:hover,
  &:focus,
  &.active {
    background-color: var(--color-prime);
  }

  @media (width < 1200px) {
    width: 24px;
    height: 24px;
  }
}

.mojo-project-details__label {
  margin-bottom: 1.25em;
  font-weight: 600;
  font-size: var(--f6);
  letter-spacing: 0.22222222em;
  text-transform: uppercase;
  color: var(--color-second);
}

.mojo-project-details__title {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f4);
  line-height: 1.2;

  @media (min-width: 576px) {
    font-size: var(--f3);
  }
  @media (min-width: 1200px) {
    font-size: var(--f2);
  }
}

.mojo-project-details__location {
  font-weight: 400;
  margin-top: 1em;
  font-size: 0.66666667em;
  text-transform: none;
}

/* ascend project block */
.asc-carousel-projects {
  display: flex;
  align-items: center;
  gap: 30px;

  @media (width < 768px) {
    flex-direction: column;
  }
  @media (width >= 768px) {
    .carousel-inner {
      padding: 60px;
      margin: -60px;
    }
  }
}

.asc-carousel-projects-slide {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;

  @media (min-width: 1200px) {
    padding: 0 30px;
    gap: 60px;
    flex-wrap: nowrap;
  }
}

.asc-carousel-projects-slide__content {
  align-self: flex-end;
}

.asc-carousel-projects-slide__img {
  order: -1;
  position: relative;
  flex-basis: 100%;
  flex-shrink: 0;
  aspect-ratio: 1.6;
  overflow: hidden;
  border-radius: 7px;
  box-shadow: 10px 12px 34px 0 rgba(10, 12, 18, 0.23);

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (min-width: 1200px) {
    order: 0;
    flex-basis: 500px;
  }
  @media (min-width: 1500px) {
    flex-basis: 700px;
  }
  @media (min-width: 1900px) {
    flex-basis: 800px;
  }
}

.asc-carousel-project-mb-control {
  flex-basis: 100%;
}

/* clover project block */
.clv-carousel-projects {
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (min-width: 1500px) {
  .clv-carousel-projects--adjust {
    gap: 0;
    margin: 0 -60px;
  }
}

.clv-carousel-project-control {
  @media (min-width: 992px) {
    margin-bottom: 105px;
  }
  @media (min-width: 1500px) {
    .carousel-control-prev {
      margin-right: -30px;
    }
    .carousel-control-next {
      margin-left: -30px;
    }
    .carousel-control-next,
    .carousel-control-prev {
      width: 90px;
      height: 90px;
      font-size: var(--f3);
      background-color: var(--color-bg);
      z-index: 40;

      &:hover,
      &:focus {
        background-color: var(--color-tert);
      }
    }
  }
}

.clv-project-slide {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;

  @media (min-width: 1200px) {
    gap: 30px;
  }
}

.clv-project-slide-item {
  position: relative;
  flex-basis: 90%;
  flex-grow: 0;
  text-decoration: none;
  color: var(--color-copy);

  &:hover,
  &:focus {
    color: var(--color-prime);

    .clv-project-slide-outline__path {
      stroke-dasharray: 1400;
      stroke-dashoffset: 0;
      opacity: 1;
    }
  }

  @media (min-width: 576px) {
    flex-basis: calc(50% - 7.5px);
  }
  @media (min-width: 992px) {
    flex-basis: calc(25% - 25px);
  }
}

.clv-project-slide-outline {
  z-index: 30;
  margin: 15px;
  width: calc(100% - 30px);
  height: calc(100% - 30px);
}

.clv-project-slide-outline__path {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  opacity: 0;
  stroke: var(--color-bg);
  transition-duration: 1s;
  transition-property: stroke-dasharray, stroke-dashoffset, opacity;
  transition-timing-function: linear;
}

.clv-project-slide-item__desc {
  margin-top: 15px;
  line-height: 1.2;

  @media (min-width: 1200px) {
    margin-top: 30px;
  }
}

.clv-project-slide-item__title {
  margin-bottom: 0.45em;
  margin-bottom: 0.5em;
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  line-height: 1.2;
  font-size: var(--f5);

  @media (min-width: 1200px) {
    font-size: var(--f4);
  }
}

.clv-project-slide-item__location {
  font-weight: 600;
  font-size: var(--f8);
  letter-spacing: 0.0625em;
  text-transform: uppercase;
  color: var(--color-prime);

  @media (min-width: 1200px) {
    font-size: var(--f7);
  }
}

/* deck project block */
.bc-project-slide {
  display: flex;
  gap: 30px;
  margin-bottom: 30px;

  @media (max-width: 991px) {
    flex-direction: column;
  }
  @media (min-width: 992px) {
    margin-bottom: 60px;
  }
}

.project-slide-item {
  position: relative;
  flex-basis: calc(33.333333% - 15px);
  flex-grow: 0;
  text-decoration: none;

  &:hover,
  &:focus {
    .project-slide-item__desc {
      padding-left: 30px;
    }
    .project-slide-item__screen {
      height: 100%;
    }
  }
}

.project-slide-item__img {
  position: relative;
  background-color: var(--color-quin);

  &:after {
    content: "\f807";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    font: var(--fa-font-light);
    font-size: var(--f3);
    background-color: var(--color-prime);
    color: #fff;
    z-index: 10;
  }

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 20;
  }
}

.project-slide-item__screen {
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  transition-duration: 0.5s;
  transition-property: height;
  transition-timing-function: ease-in-out;
  opacity: 0.8;
  background-color: var(--color-second);
  mix-blend-mode: screen;
  z-index: 30;
}

.project-slide-item__desc {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 90%;
  padding-left: 0;
  padding-right: 15px;
  padding-top: 15px;
  line-height: 1.2;
  background-color: var(--color-prime);
  color: #fff;
  transition-duration: 0.3s;
  transition-property: color, padding;
  transition-timing-function: ease-in-out;
  z-index: 40;

  @media (min-width: 1200px) {
    padding-right: 30px;
    padding-top: 20px;
  }
}

.project-slide-item__title {
  font-size: var(--f6);
}

.project-slide-item__location {
  margin-top: 0.45em;
  font-size: var(--f8);
}

/*  skylight theme */
.skylight-intro-row {
  display: flex;
  flex-direction: column;
  gap: 30px;

  @media (min-width: 1200px) {
    flex-direction: row;
    margin-right: 30px;
  }
  @media (min-width: 1500px) {
    gap: 90px;
    margin-right: 90px;
  }
}

.skylight-intro-start {
  @media (min-width: 1500px) {
    flex-basis: 60%;
    flex-shrink: 0;
  }
}

.skylight-intro-end {
  @media (min-width: 768px) and (max-width: 991px) {
    order: -1;
  }
  @media (min-width: 768px) and (max-width: 1199px) {
    width: calc(100vw - 6rem);
  }
  @media (min-width: 1500px) {
    flex-grow: 1;
  }
}

.skylight-feat-list {
  position: relative;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 30px;
  z-index: 10;

  @media (min-width: 768px) and (max-width: 1199px) {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
  }
}

.skylight-feature {
  flex-grow: 1;
  font-size: var(--f7);
  line-height: 1.2;
  text-decoration: none;
  color: var(--color-copy);

  &:hover,
  &:focus {
    .skylight-feature__icon {
      transform: scale(1.1);
      fill: var(--color-prime);
    }
  }

  @media (max-width: 1199px) {
    display: flex;
    gap: 0.5em;
    align-items: center;
    flex-basis: calc(33.333333% - 15px);
  }
  @media (min-width: 992px) {
    font-size: var(--f6);
  }
  @media (min-width: 1500px) {
    font-size: var(--f5);
  }
}

.skylight-feature__icon {
  width: auto;
  height: 2.142857142857143em;
  padding-left: 0;
  transform-origin: bottom left;
  fill: var(--color-second);
  transition-duration: 0.3s;
  transition-property: padding, transform;
  transition-timing-function: var(--timing, ease-in-out);

  svg {
    width: auto;
    height: 100%;
    transition-duration: 0.3s;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
  @media (max-width: 1199px) {
    height: 3em;
  }
  @media (min-width: 1200px) {
    margin-bottom: 10px;
  }
}

.skylight-feature__title {
  letter-spacing: 0.095238095238095em;
  text-transform: uppercase;
}

.skylight-projects-title-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.skylight-projects-title {
  @media (width < 992px) {
    margin-bottom: 0.5em;
  }
}

.skylight-projects-pagers {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.45em;
  row-gap: 0.5em;
  line-height: 1.2;
}

.skylight-projects-pagers__link[data-bs-target] {
  width: auto;
  height: auto;
  border-radius: 0;
  border: 0;
  margin: 0;
  text-indent: 0;
  transform: none;
  background-color: transparent;
  display: inline-block;
  padding: 0.25em 0.45em;
  border-bottom: 3px solid transparent;
  margin-top: 3px;
  font-weight: 600;
  font-size: var(--f8);
  letter-spacing: 0.027777777777778em;
  text-transform: uppercase;
  text-decoration: none;
  background-color: transparent;
  color: var(--color-copy);

  &:focus,
  &:hover,
  &.active {
    transform: none;
    border-color: var(--color-second);
    background: transparent;
  }
}

.skylight-project-row {
  display: grid;
  grid-template-columns: 1fr; /* mobile default */
  gap: 30px;
  @media (min-width: 992px) {
    grid-template-columns: repeat(3, 1fr);
  }
}

.skylight-project-item {
  text-decoration: none;
  color: var(--color-copy);

  &:focus,
  &:hover {
    color: var(--color-copy);

    .skylight-project-item__img {
      &:after {
        height: 100%;
      }
      img {
        transform: scale(1.2);
      }
    }
  }
}

.skylight-project-item__img {
  position: relative;
  margin-bottom: 30px;
  background-color: var(--color-second);
  overflow: hidden;

  &:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    rotate: 45deg;
    scale: 2;
    opacity: 0.5;
    background-color: var(--color-second);
    transition-duration: 0.5s;
    transition-property: height;
    transition-timing-function: ease-in-out;
    mix-blend-mode: darken;
  }

  img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition-duration: 0.75;
    transition-property: color, background-color, fill, transform, text-shadow,
      letter-spacing, outline, border, box-shadow, opacity, filter;
    transition-timing-function: ease-in-out;
  }
}

.skylight-project-item__desc {
  line-height: 1.2;
}

.skylight-project-item__title {
  font-family: var(--font-header);
  font-weight: var(--font-header-weight);
  font-size: var(--f4);
  margin-bottom: 0.5em;
}

.skylight-project__location {
  font-size: var(--f6);
}

.sky-reviews-content {
  position: relative;

  &:before {
    content: "\0201C";
    position: absolute;
    top: -0.125em;
    left: -0.125em;
    display: block;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-weight: 700;
    font-size: 450px;
    line-height: 1;
    color: var(--color-copy);
    opacity: 0.07;
  }

  @media (min-width: 992px) {
    padding-left: 40px;
  }
  @media (min-width: 1200px) {
    padding-left: 100px;

    &:before {
      top: 0;
      font-size: 150px;
      opacity: 1;
    }
  }
  @media (min-width: 1500px) {
    padding-left: 150px;

    &:before {
      left: 0.5ch;
    }
  }
}

.carousel-sky-reviews-pagers {
  display: flex;
  gap: 15px;

  button {
    font-weight: 500;
    font-size: var(--f6);
    text-transform: uppercase;
    letter-spacing: 0.111111111111111em;
  }
}

.carousel-sky-reviews-pagers__border {
  width: 1px;
  height: auto;
  background-color: var(--color-second);
}

/*  type block */
.place {
  position: relative;
  opacity: 0.25;

  @media (width < 992px) {
    opacity: 1;
  }
}

.type {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
}

/* newsletter */
.newsletter-block-content {
  @media (min-width: 1200px) {
    margin-right: 30px;
  }
}

.content-block--newsletter {
  padding: 45px 0;

  .headline {
    margin-bottom: 0.25em;
  }
}

.newsletter-form-container {
  @media (max-width: 991px) {
    margin-top: 30px;
  }
}
/*
#gform_6 {
  display: flex;
  gap: 15px;
  padding: 20px;
  background-color: rgba(255,255,255, 0.1);

  .gform_body {
    flex-grow: 1;
  }

  @media (max-width: 575px) {
    flex-direction: column;
  }
}

#gform_fields_6 {
  margin-bottom: 0;

  label {
    position: absolute;
    left: -9999px;
  }
  ::placeholder {
    opacity: 0.6;
  }
  .gfield {
    margin-bottom: 0;
  }
}

#gform_submit_button_6 {
  padding: 0.95em 2.25em;
  font-size: var(--f7);
}
*/

/*  FAQ Block */
.faq-block-container {
  display: flex;
  flex-direction: column;
  gap: 30px;

  @media (min-width: 992px) {
    flex-direction: row;
  }
  @media (min-width: 1200px) {
    gap: 60px;
  }
}

.faq-block-questions {
  flex-basis: 60%;
  flex-shrink: 0;
}

.faq-question {
  color: var(--color-copy);
}

.faq-accordion {
  p:last-child {
    margin-bottom: 0;
  }
}

/*  Blocks Page Template */
.page-template-blocks-page,
.page-template-ez-fill-page {
  .header-form-container {
    textarea {
      height: 90px;
    }

    .gform_fields {
      @media (min-width: 768px) {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 14px;

        .gfield,
        label,
        legend {
          flex-grow: 1;
          flex-basis: calc(100% - 14px);
          margin-bottom: 0;
        }

        .gfield--type-email,
        .gfield--type-phone {
          flex-basis: calc(50% - 14px);
        }
      }
      @media (min-width: 1200px) {
        .gfield--type-email,
        .gfield--type-phone {
          flex-basis: calc(50% - 14px);
        }
      }
    }
  }

  .ez-block {
    &:last-of-type {
      margin-top: var(--vertical-space);
      @media (min-width: 768px) {
        margin-top: var(--vertical-space-md);
      }
      @media (min-width: 992px) {
        margin-top: var(--vertical-space-lg);
      }
      @media (min-width: 1200px) {
        margin-top: var(--vertical-space-xl);
      }
      @media (min-width: 1500px) {
        margin-top: var(--vertical-space-xx);
      }
    }
  }

  .ez-alternating {
    margin-bottom: var(--vertical-space);
    @media (min-width: 768px) {
      margin-bottom: var(--vertical-space-md);
    }
    @media (min-width: 992px) {
      margin-bottom: var(--vertical-space-lg);
    }
    @media (min-width: 1200px) {
      margin-bottom: var(--vertical-space-xl);
    }
    @media (min-width: 1500px) {
      margin-bottom: var(--vertical-space-xx);
    }
  }
}

/* onefirst.scss */
/*  Deck Layout */
.of-deck-block--alter {
  .block-img {
    border-radius: 20px;
  }
}

.header-deck-bg {
  @media (min-width: 992px) {
    width: 45vw;
  }
}

/*  dot overrides */
section[class*="of-dots-block"] + .contact-block-stripe {
  .contact-stripe-right {
    &:after {
      content: url('data:image/svg+xml; utf8, <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><path d="M11.1,5.5c0,3.1-2.5,5.5-5.5,5.5C2.5,11.1,0,8.6,0,5.5S2.5,0,5.5,0C8.6,0,11.1,2.5,11.1,5.5 M58.6,5.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5S50,0,53,0C56.1,0,58.6,2.5,58.6,5.5 M107.4,5.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5S98.8,0,101.8,0C104.9,0,107.4,2.5,107.4,5.5 M155.5,5.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5S146.9,0,150,0C153.1,0,155.5,2.5,155.5,5.5 M203.7,5.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5s2.5-5.5,5.5-5.5C201.2,0,203.7,2.5,203.7,5.5 M251.8,5.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5s2.5-5.5,5.5-5.5C249.4,0,251.8,2.5,251.8,5.5 M300,5.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5s2.5-5.5,5.5-5.5C297.5,0,300,2.5,300,5.5M11.1,53.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C8.6,47.6,11.1,50.1,11.1,53.2 M58.6,53.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C56.1,47.6,58.6,50.1,58.6,53.2 M107.4,53.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C104.9,47.6,107.4,50.1,107.4,53.2 M155.5,53.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C153.1,47.6,155.5,50.1,155.5,53.2 M203.7,53.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C201.2,47.6,203.7,50.1,203.7,53.2 M251.8,53.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C249.4,47.6,251.8,50.1,251.8,53.2 M300,53.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C297.5,47.6,300,50.1,300,53.2 M11.1,101.4c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C8.6,95.9,11.1,98.4,11.1,101.4 M58.6,101.4c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C56.1,95.9,58.6,98.4,58.6,101.4 M107.4,101.4c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C104.9,95.9,107.4,98.4,107.4,101.4 M155.5,101.4c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C153.1,95.9,155.5,98.4,155.5,101.4 M203.7,101.4c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C201.2,95.9,203.7,98.4,203.7,101.4 M251.8,101.4c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C249.4,95.9,251.8,98.4,251.8,101.4 M300,101.4c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C297.5,95.9,300,98.4,300,101.4 M11.1,149.7c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C8.6,144.1,11.1,146.6,11.1,149.7 M58.6,149.7c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C56.1,144.1,58.6,146.6,58.6,149.7 M107.4,149.7c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C104.9,144.1,107.4,146.6,107.4,149.7 M155.5,149.7c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C153.1,144.1,155.5,146.6,155.5,149.7 M203.7,149.7c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C201.2,144.1,203.7,146.6,203.7,149.7 M251.8,149.7c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C249.4,144.1,251.8,146.6,251.8,149.7 M300,149.7c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C297.5,144.1,300,146.6,300,149.7 M11.1,197.9c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C8.6,192.4,11.1,194.9,11.1,197.9 M58.6,197.9c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5s2.5-5.5,5.5-5.5C56.1,192.4,58.6,194.9,58.6,197.9 M107.4,197.9c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5s2.5-5.5,5.5-5.5C104.9,192.4,107.4,194.9,107.4,197.9 M155.5,197.9c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5s2.5-5.5,5.5-5.5C153.1,192.4,155.5,194.9,155.5,197.9 M203.7,197.9c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5s2.5-5.5,5.5-5.5C201.2,192.4,203.7,194.9,203.7,197.9 M251.8,197.9c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5s2.5-5.5,5.5-5.5C249.4,192.4,251.8,194.9,251.8,197.9 M300,197.9c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5s2.5-5.5,5.5-5.5C297.5,192.4,300,194.9,300,197.9 M11.1,246.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C8.6,240.7,11.1,243.1,11.1,246.2 M58.6,246.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C56.1,240.7,58.6,243.1,58.6,246.2 M107.4,246.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C104.9,240.7,107.4,243.1,107.4,246.2 M155.5,246.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C153.1,240.7,155.5,243.1,155.5,246.2 M203.7,246.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C201.2,240.7,203.7,243.1,203.7,246.2 M251.8,246.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C249.4,240.7,251.8,243.1,251.8,246.2 M300,246.2c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C297.5,240.7,300,243.1,300,246.2 M11.1,294.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C8.6,288.9,11.1,291.4,11.1,294.5 M58.6,294.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C56.1,288.9,58.6,291.4,58.6,294.5 M107.4,294.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C104.9,288.9,107.4,291.4,107.4,294.5 M155.5,294.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C153.1,288.9,155.5,291.4,155.5,294.5 M203.7,294.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C201.2,288.9,203.7,291.4,203.7,294.5 M251.8,294.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C249.4,288.9,251.8,291.4,251.8,294.5 M300,294.5c0,3.1-2.5,5.5-5.5,5.5c-3.1,0-5.5-2.5-5.5-5.5c0-3.1,2.5-5.5,5.5-5.5C297.5,288.9,300,291.4,300,294.5"></path></svg>');
      position: absolute;
      right: -220px;
      top: -115px;
      display: block;
      width: 300px;
      height: 300px;
      opacity: 0.25;
      z-index: -1;
    }
  }
}

/* Custom CSS Here*/

.icon-circle .header-contact__item:before {
	font-size: var(--f6);
	width: 2.16666667em;
	height: 2.16666667em;
	color: var(--color-second);
}

.slogan-container {
	padding-right: 3vw;
  padding-bottom: 80px;
	border-right: 2px solid #fff;

	@media(min-width: 992px) {
		padding-bottom: 180px;
	}
}

.obs-review-row__title {
	font-style: italic;
	font-size: var(--f3);
}

/* Pencils down, no custom styles below here! */

/* Show page after all css is loaded */
html {
  opacity: 1;
  visibility: visible;
}
