/* 
Theme Name:		 Cardinal Crest Child Theme
Author:			   IDG Advertising
Author URI:		 https://idgadvertising.com/
Template:		   cardinalcrest
Version:		   2.8.26
Text Domain:	 cardinalcrest-child
*/
/* [start] local */
.post-content p {
  /* use margin-top on next element instead; this creates a bottom offset on paragraphs */
  margin-block-end: 0 !important;
}

.fusion-builder-row:has(> .st-self-apll-start) {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
}

.st-grid-service-featured-imgs > * {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
}

@media only screen and (max-width: 619px) {
  /* only mobile */
  /* set in the builder */
  .st-grid-service-featured-imgs > * {
    grid-template-columns: repeat(1, 1fr);
  }
}
.st-grid-benefits > * {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: var(--sp-5);
}

@media only screen and (max-width: 1120px) {
  /* tablet and mobile */
  .st-grid-benefits > * {
    grid-template-columns: repeat(1, 1fr);
  }
}
:root {
  --icon-menu-phone: url('https://cardinalcresthomes.com/wp-content/uploads/menu-icon-phone-stroked.svg');
  --icon-menu-phone-simple: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  --icon-menu-email: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
  --phone-icon-stroke:
      /* value no longer exists */
      .25px;
}

.menu-icon-full-phone > a > span {
  display: none !important;
}

.menu-icon-full-phone > a::before {
  display: inline-block;
  transform: translateZ(0);
  opacity: 1;
  margin-inline-start: var(--sp-3);
  background: var(--icon-menu-phone);
  background-size: contain;
  background-repeat: no-repeat;
  width: calc(1.15 * var(--sp-5));
  height: calc(1.15 * var(--sp-5));
  content: "";
}

.menu-icon-full-phone > a:hover::before {
  transform: scale(1.1);
  transition: var(--ut-interaction);
}

@media only screen and (min-width: 620px) {
  .menu-footer .awb-menu__open-nav-submenu_click {
    display: none !important;
  }
  .menu-footer .awb-menu__sub-ul {
    display: block !important;
  }
}
.menu-footer .menu-item:first-child {
  margin-top: var(--sp-3);
}

.menu-footer .menu-item {
  margin-top: var(--sp-3);
  border: none !important;
}

@media only screen and (max-width: 1120px) {
  .menu-socket,
  .menu-pre-footer {
    margin-inline: auto !important;
  }
  .menu-socket .menu-item,
  .menu-pre-footer .menu-item {
    margin: 0 !important;
  }
  #menu-socket,
  #menu-pre-footer {
    display: flex !important;
    -moz-column-gap: var(--sp-5);
         column-gap: var(--sp-5);
    row-gap: var(--sp-3);
    flex-direction: row;
  }
}
.menu-phone a,
.menu-email a {
  display: flex !important;
  align-items: center !important;
  gap: var(--sp-3);
  font-size: var(--t-s-m) !important;
  letter-spacing: var(--t-ls-normal) !important;
}

.menu-phone a {
  justify-content: flex-start !important;
  opacity: 0.9;
}

.menu-email a {
  text-transform: lowercase !important;
}

.menu-phone a::before,
.menu-email a::before {
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  width: 1em;
  height: 1em;
  content: "";
}

.menu-phone a::before {
  background: var(--icon-menu-phone-simple);
}

.menu-email a::before {
  background: var(--icon-menu-email);
}

.fusion-tb-header .awb-menu__sub-ul_main li.current-menu-item {
  background-color: var(--c-surface-light) !important;
}
.fusion-tb-header .awb-menu__sub-ul_main li.current-menu-item:hover {
  background-color: var(--c-surface-dark) !important;
}
.fusion-tb-header .awb-menu__sub-ul_main li.current-menu-item a {
  text-decoration: underline;
  text-decoration-color: var(--c-accent-80);
  text-underline-offset: var(--sp-1);
}

footer nav a {
  transition: var(--ut-interaction) !important;
}

footer nav a:hover {
  opacity: 0.75;
  transition: var(--ut-interaction) !important;
}

/*
Standard Menu:
.php-menu-children        - Container UL
.php-menu-item           - Each LI
.php-menu-link           - Each A tag
.php-menu-title          - Title SPAN

Reduced Menu:
.php-menu-children-reduced - Container UL
.php-menu-item-reduced     - Main LI
.php-menu-parent           - Parent wrapper DIV
.php-menu-link-reduced     - Parent A tag
.php-menu-sub-children     - Sub UL
.php-menu-sub-item         - Sub LI
.php-menu-sub-link         - Sub A tag
.php-menu-sub-title        - Sub title SPAN

Images (both menus):
.php-menu-photo            - Image wrapper DIV
*/
:root {
  --menu-underline-offset: .3rem;
}

.st-apll-mid {
  justify-content: center !important;
}

.fusion-column-wrapper:has(> .php-menu-children) {
  width: -moz-fit-content !important;
  width: fit-content !important;
}

.php-menu-children,
.php-menu-sub-children {
  display: flex;
  gap: calc(0.8 * var(--sp-6));
  /* match column padding, 1.6rem */
  margin: 0;
  padding: 0;
  list-style: none;
}

.php-menu-children-reduced {
  margin: 0;
  padding: 0;
  list-style: none;
}

.php-menu-sub-children {
  flex-direction: column;
  gap: var(--sp-3);
  /* match margin top, or not */
  margin-block-start: calc(var(--menu-underline-offset) + var(--sp-5));
}

.php-menu-item {
  flex: 1;
}

.php-menu-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-2);
  max-width: calc(var(--sp-site-width) * 0.25) !important;
}
.php-menu-link img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.php-menu-link:hover img {
  transform: scale(1.025);
  transition: var(--ut-interaction);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.php-menu-sub-link {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
}

:where(.php-menu-sub-link:hover, .php-menu-link-reduced:hover) .php-menu-photo {
  border: 2px solid var(--c-accent-add-80) !important;
}

.php-menu-title,
.php-menu-sub-title {
  color: var(--c-text);
  font-weight: var(--t-fw-medium);
  font-size: var(--t-s-l);
  line-height: var(--t-lh-h);
  font-family: var(--t-ff-h);
  letter-spacing: var(--t-ls-wide);
  text-align: center;
  text-transform: uppercase;
}

.php-menu-photo {
  overflow: hidden;
}

.php-menu-photo img {
  transition: var(--ut-interaction);
  aspect-ratio: 2/1.15;
  -o-object-fit: cover;
     object-fit: cover;
}

.php-menu-children-reduced .php-menu-photo {
  border: 2px solid transparent;
  width: calc(1.25 * var(--sp-7));
  height: calc(1.25 * var(--sp-7));
}

.php-menu-children-reduced .php-menu-photo img {
  aspect-ratio: 1/1;
}

.php-menu-parent > a {
  display: flex;
  position: relative;
  align-items: center;
  gap: var(--sp-4);
  width: 100% !important;
}

a._is-about {
  display: flex;
  position: relative;
  align-items: center;
  gap: var(--sp-4);
  margin-block-end: var(--sp-5) !important;
  max-width: -moz-fit-content !important;
  max-width: fit-content !important;
  color: var(--c-text);
  font-size: var(--t-s-xl);
  font-family: var(--t-ff-h);
  letter-spacing: var(--t-ls-wide);
  text-transform: uppercase;
}
a._is-about:hover {
  color: inherit !important;
}

a._is-about::after {
  display: block;
  position: absolute;
  bottom: calc(-1 * var(--menu-underline-offset));
  left: 0;
  transition: var(--ut-interaction);
  background-color: var(--c-accent);
  width: 110%;
  height: 2px;
  content: "";
}

a._is-about::before {
  display: block;
  background: url("https://staging.idgadvertising.com/cardinalcresthomes/wp-content/uploads/vector-bird-dark.svg") no-repeat center;
  background-size: contain;
  width: var(--sp-8);
  height: var(--sp-6);
  content: "";
}

a._is-about:hover::after {
  transition: var(--ut-interaction);
  width: 105%;
}

.menu-item .awb-menu__main-a {
  position: relative;
}

.menu-item .awb-menu__main-a::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: var(--ut-interaction);
  background-color: var(--c-accent);
  width: 0;
  height: 2px;
  content: "";
}

.menu-icon-full-phone.menu-item .awb-menu__main-a::after {
  display: none !important;
}

.menu-item:hover .awb-menu__main-a::after {
  left: 50%;
  transform: translateX(-50%);
  width: 105%;
}

@media only screen and (max-width: 1120px) {
  /* tablet and mobile */
  .awb-menu__main-a span {
    font-weight: 500 !important;
  }
}
header .awb-menu {
  max-width: -moz-fit-content !important;
  max-width: fit-content !important;
}

:root {
  /* colors declared in builder's global settings */
  --c-text: var(--awb-color1, #0f0b08);
  --c-text-80: var(--awb-color2, rgba(15, 11, 8, 0.8));
  --c-text-inverse: var(--awb-color3, #fbfbfb);
  --c-text-inverse-90: var(--awb-color4, rgba(251, 251, 251, 0.9));
  --c-accent: var(--awb-color5, #e85a42);
  --c-accent-80: var(--awb-color6, rgba(232, 90, 66, 0.8));
  --c-surface-light: var(--awb-color7, #fffef2);
  --c-surface-light-80: var(--awb-color8, rgba(255, 254, 242, 0.8));
  --c-surface-dark: var(--awb-custom_color_20, #f1ead5);
  --c-surface-dark-80: var(--awb-custom_color_22, rgba(241, 234, 213, 0.8));
  --c-accent-add: var(--awb-custom_color_4, #6a6862);
  --c-accent-add-80: var(--awb-custom_color_5, rgba(106, 104, 98, 0.8));
  --c-overlay-60: var(--awb-custom_color_26, rgba(0, 0, 0, 0.6));
  --c-overlay-50: var(--awb-custom_color_28, rgba(0, 0, 0, 0.5));
  --c-overlay-25: var(--awb-custom_color_3, rgba(0, 0, 0, 0.25));
  --c-black: var(--awb-custom_color_32, #000000);
  --c-white: var(--awb-custom_color_34, #ffffff);
  --c-transparent: var(--awb-custom_color_70, rgba(0, 0, 0, 0));
  --c-error: var(--awb-custom_color_71, #db4b68);
  --c-error-bg: var(--awb-custom_color_72, rgba(219, 75, 104, 0.1));
  --c-success: var(--awb-custom_color_73, #12b878);
  --c-success-bg: var(--awb-custom_color_74, rgba(18, 184, 120, 0.1));
  --c-notice: var(--awb-custom_color_75, #f1ae2a);
  --c-notice-bg: var(--awb-custom_color_76, rgba(241, 174, 42, 0.1));
  --c-rebecca-purple: var(--awb-custom_color_1, #663399);
  --c-tomato: var(--awb-custom_color_2, #ff6347);
}

/* 
Text Sizing CSS
Version:		   2.2.1

*/
:root {
  /* 
  * Typography system leveraging Avada's Global Options CSS custom properties.
  * All --awb-* variables are automatically generated from theme configuration.
  */
  /* Font Size Scale - Responsive fluid typography */
  /* 36.96px -> 60.96px */
  --t-s-5xl: var(--awb-typography2-font-size);
  /* 32.16px -> 48.8px */
  --t-s-4xl: var(--awb-typography3-font-size);
  /* 28px -> 39.04px */
  --t-s-3xl: var(--awb-typography4-font-size);
  /* 24.32px -> 31.2px */
  --t-s-2xl: var(--awb-typography5-font-size);
  /* 21.12px -> 24.96px */
  --t-s-xl: var(--awb-custom_typography_1-font-size);
  /* 18.4px -> 20px */
  --t-s-l: var(--awb-custom_typography_2-font-size);
  /* 16px -> 18px */
  /*    --t-s-m: var(--awb-custom_typography_3-font-size); */
  /* 13.92px -> 12.8px */
  /*  --t-s-s: var(--awb-custom_typography_4-font-size); */
  /* modification: 1.125rem seems to work better in the live website - figma set to 1rem */
  /* [ ] this was reverted, make adjusted if needed, scale seems odd for m and s */
  --t-s-m: clamp(1rem, 0vi + 1rem, 1.125rem);
  --t-s-s: clamp(0.87rem, -0.1vi + 0.91rem, 0.8rem);
  /* Handwritten Scale - Custom fluid typography for decorative elements */
  --t-s-handwritten-m: var(--awb-custom_typography_8-font-size);
  --t-s-handwritten-l: var(--awb-custom_typography_7-font-size);
  --t-s-handwritten-xl: var(--awb-custom_typography_6-font-size);
  /* Display Scale - Hero/banner typography */
  /* 49px -> 128px */
  --t-s-huge: var(--awb-typography1-font-size);
  /* Line Heights */
  /* Huge/Display */
  --t-lh-tight: var(--awb-typography1-line-height);
  /* Headings */
  --t-lh-h: var(--awb-typography2-line-height);
  /* H3-H4 */
  --t-lh-h-relaxed: var(--awb-typography4-line-height);
  /* Body */
  --t-lh-p: var(--awb-custom_typography_3-line-height);
  /* Small body */
  --t-lh-p-relaxed: var(--awb-custom_typography_4-line-height);
  /* Buttons/Nav links */
  --t-lh-flat: var(--awb-custom_typography_5-line-height);
  --t-lh-handwritten-tight: var(--awb-custom_typography_6-line-height);
  --t-lh-handwritten-normal: var(--awb-custom_typography_7-line-height);
  --t-lh-handwritten-relaxed: var(--awb-custom_typography_8-line-height);
  /* Font Families */
  --t-ff-h: var(--awb-typography1-font-family);
  --t-ff-p: var(--awb-custom_typography_3-font-family);
  --t-ff-handwritten: var(--awb-custom_typography_6-font-family);
  /* Letter Spacing */
  /* Body text */
  --t-ls-tight: var(--awb-custom_typography_3-letter-spacing);
  /* Headings */
  --t-ls-normal: var(--awb-typography2-letter-spacing);
  /* Buttons */
  --t-ls-wide: var(--awb-custom_typography_5-letter-spacing);
  /* Handwritten, body  */
  --t-ls-none: var(--awb-custom_typography_6-letter-spacing);
  /* Font Weights */
  --t-fw-light: var(--awb-custom_typography_1-font-weight);
  --t-fw-normal: var(--awb-custom_typography_5-font-weight);
  --t-fw-medium: var(--awb-typography2-font-weight);
  --t-fw-bold: var(--awb-custom_typography_6-font-weight);
}

.t-decor-underline > * {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

.t-tw-balanced > * {
  text-wrap: balance;
}

.t-tw-pretty > *,
p {
  text-wrap: pretty;
}

/* specific styling */
.process-bold-color-text strong {
  color: var(--c-accent);
  font-weight: 800;
}

@media only screen and (max-width: 619px) {
  .m-t-s-2xl {
    font-size: var(--awb-typography5-font-size) !important;
  }
  .m-t-s-xl {
    font-size: var(--awb-custom_typography_1-font-size) !important;
  }
  .m-t-s-l {
    font-size: var(--awb-custom_typography_2-font-size) !important;
  }
  .m-t-s-m {
    font-size: var(--t-s-m) !important;
  }
}
@media only screen and (min-width: 1121px) {
  /* only desktop */
  /* set in the builder */
}
@media only screen and (min-width: 620px) {
  /* desktop and tablet */
  /* set in the builder */
}
@media only screen and (min-width: 620px) and (max-width: 1120px) {
  /* only tablet */
  /* set in the builder */
}
@media only screen and (max-width: 1120px) {
  /* tablet and mobile */
}
@media only screen and (max-width: 619px) {
  /* only mobile */
  /* set in the builder */
}
:root {
  /* builder's value */
  --sp-site-width: var(--site_width);
}

:root {
  --sp-0: 0;
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-7: 3rem;
  --sp-8: 4rem;
  --sp-9: 6rem;
  --sp-10: 8rem;
  --sp-11: 12rem;
  --sp-12: 16rem;
}

@media only screen and (max-width: 1120px) {
  :root {
    --sp-7: 2.5rem;
    --sp-8: 3.5rem;
    --sp-9: 4.5rem;
    --sp-10: 5.5rem;
    --sp-11: 7.5rem;
    --sp-12: 9.5rem;
  }
}
@media only screen and (max-width: 619px) {
  :root {
    --sp-8: 3rem;
    --sp-9: 4rem;
    --sp-10: 5rem;
    --sp-11: 6rem;
    --sp-12: 7rem;
  }
}
:root {
  --sp-safe-100svh: clamp(calc(3 * var(--sp-11)), 100svh, calc(10 * var(--sp-11)));
  --sp-safe-95svh: clamp(calc(3 * var(--sp-11)), 95svh, calc(10 * var(--sp-11)));
  --sp-safe-90svh: clamp(calc(3 * var(--sp-11)), 90svh, calc(10 * var(--sp-11)));
  --sp-safe-85svh: clamp(calc(3 * var(--sp-11)), 85svh, calc(10 * var(--sp-11)));
  --sp-safe-80svh: clamp(calc(3 * var(--sp-11)), 80svh, calc(10 * var(--sp-11)));
  --sp-safe-75svh: clamp(calc(3 * var(--sp-11)), 75svh, calc(10 * var(--sp-11)));
  --sp-safe-70svh: clamp(calc(3 * var(--sp-11)), 70svh, calc(10 * var(--sp-11)));
  --sp-safe-65svh: clamp(calc(3 * var(--sp-11)), 65svh, calc(10 * var(--sp-11)));
  --sp-safe-60svh: clamp(calc(3 * var(--sp-11)), 60svh, calc(10 * var(--sp-11)));
  --sp-safe-55svh: clamp(calc(3 * var(--sp-11)), 55svh, calc(10 * var(--sp-11)));
  --sp-safe-50svh: clamp(calc(3 * var(--sp-11)), 50svh, calc(10 * var(--sp-11)));
  --sp-safe-45svh: clamp(calc(3 * var(--sp-11)), 45svh, calc(10 * var(--sp-11)));
  --sp-safe-40svh: clamp(calc(3 * var(--sp-11)), 40svh, calc(10 * var(--sp-11)));
  --sp-safe-35svh: clamp(calc(3 * var(--sp-11)), 35svh, calc(10 * var(--sp-11)));
  --sp-safe-30svh: clamp(calc(3 * var(--sp-11)), 30svh, calc(10 * var(--sp-11)));
  --sp-safe-25svh: clamp(calc(3 * var(--sp-11)), 25svh, calc(10 * var(--sp-11)));
  --sp-safe-20svh: clamp(calc(3 * var(--sp-11)), 20svh, calc(10 * var(--sp-11)));
  --sp-safe-15svh: clamp(calc(3 * var(--sp-11)), 15svh, calc(10 * var(--sp-11)));
  --sp-safe-10svh: clamp(calc(3 * var(--sp-11)), 10svh, calc(10 * var(--sp-11)));
  --sp-safe-5svh: clamp(calc(3 * var(--sp-11)), 5svh, calc(10 * var(--sp-11)));
}

/* body added to increase specificity over builder's value --awb-max-width-medium */
body .sp-mw-5,
body .sp-mw-5-section > * {
  max-width: calc(var(--sp-site-width) * 0.05) !important;
}

body .sp-mw-10,
body .sp-mw-10-section > * {
  max-width: calc(var(--sp-site-width) * 0.1) !important;
}

body .sp-mw-15,
body .sp-mw-15-section > * {
  max-width: calc(var(--sp-site-width) * 0.15) !important;
}

body .sp-mw-20,
body .sp-mw-20-section > * {
  max-width: calc(var(--sp-site-width) * 0.2) !important;
}

body .sp-mw-25,
body .sp-mw-25-section > * {
  max-width: calc(var(--sp-site-width) * 0.25) !important;
}

body .sp-mw-30,
body .sp-mw-30-section > * {
  max-width: calc(var(--sp-site-width) * 0.3) !important;
}

body .sp-mw-35,
body .sp-mw-35-section > * {
  max-width: calc(var(--sp-site-width) * 0.35) !important;
}

body .sp-mw-40,
body .sp-mw-40-section > * {
  max-width: calc(var(--sp-site-width) * 0.4) !important;
}

body .sp-mw-45,
body .sp-mw-45-section > * {
  max-width: calc(var(--sp-site-width) * 0.45) !important;
}

body .sp-mw-50,
body .sp-mw-50-section > * {
  max-width: calc(var(--sp-site-width) * 0.5) !important;
}

body .sp-mw-55,
body .sp-mw-55-section > * {
  max-width: calc(var(--sp-site-width) * 0.55) !important;
}

body .sp-mw-60,
body .sp-mw-60-section > * {
  max-width: calc(var(--sp-site-width) * 0.6) !important;
}

body .sp-mw-65,
body .sp-mw-65-section > * {
  max-width: calc(var(--sp-site-width) * 0.65) !important;
}

body .sp-mw-70,
body .sp-mw-70-section > * {
  max-width: calc(var(--sp-site-width) * 0.7) !important;
}

body .sp-mw-75,
body .sp-mw-75-section > * {
  max-width: calc(var(--sp-site-width) * 0.75) !important;
}

body .sp-mw-80,
body .sp-mw-80-section > * {
  max-width: calc(var(--sp-site-width) * 0.8) !important;
}

body .sp-mw-85,
body .sp-mw-85-section > * {
  max-width: calc(var(--sp-site-width) * 0.85) !important;
}

body .sp-mw-90,
body .sp-mw-90-section > * {
  max-width: calc(var(--sp-site-width) * 0.9) !important;
}

body .sp-mw-95,
body .sp-mw-95-section > * {
  max-width: calc(var(--sp-site-width) * 0.95) !important;
}

.sp-g-1,
.sp-g-1 > .fusion-column-wrapper {
  gap: var(--sp-1);
}

.sp-g-2,
.sp-g-2 > .fusion-column-wrapper {
  gap: var(--sp-2);
}

.sp-g-3,
.sp-g-3 > .fusion-column-wrapper {
  gap: var(--sp-3);
}

.sp-g-4,
.sp-g-4 > .fusion-column-wrapper {
  gap: var(--sp-4);
}

.sp-g-5,
.sp-g-5 > .fusion-column-wrapper {
  gap: var(--sp-5);
}

.sp-g-6,
.sp-g-6 > .fusion-column-wrapper {
  gap: var(--sp-6);
}

.sp-g-7,
.sp-g-7 > .fusion-column-wrapper {
  gap: var(--sp-7);
}

.sp-g-8,
.sp-g-8 > .fusion-column-wrapper {
  gap: var(--sp-8);
}

.sp-g-9,
.sp-g-9 > .fusion-column-wrapper {
  gap: var(--sp-9);
}

.sp-g-10,
.sp-g-10 > .fusion-column-wrapper {
  gap: var(--sp-10);
}

.sp-g-11,
.sp-g-1 > .fusion-column-wrapper {
  gap: var(--sp-11);
}

.sp-g-12,
.sp-g-12 > .fusion-column-wrapper {
  gap: var(--sp-12);
}

.sp-px-1 {
  padding-inline: var(--sp-1);
}

.sp-px-2 {
  padding-inline: var(--sp-2);
}

.sp-px-3 {
  padding-inline: var(--sp-3);
}

.sp-px-4 {
  padding-inline: var(--sp-4);
}

.sp-px-5 {
  padding-inline: var(--sp-5);
}

.sp-px-6 {
  padding-inline: var(--sp-6);
}

.sp-px-7 {
  padding-inline: var(--sp-7);
}

.sp-px-8 {
  padding-inline: var(--sp-8);
}

.sp-px-9 {
  padding-inline: var(--sp-9);
}

.sp-px-10 {
  padding-inline: var(--sp-10);
}

.sp-px-11 {
  padding-inline: var(--sp-11);
}

.sp-px-12 {
  padding-inline: var(--sp-12);
}

:root {
  --min-height: 400px;
  --max-height: 1200px;
  --max-height-xl: 1600px;
  --aspect-ratio-mobile: 4 / 3;
  --vh-100: clamp(var(--min-height), 100vh, var(--max-height));
  --vh-95: clamp(calc(var(--min-height) * 0.95), 95vh, calc(var(--max-height) * 0.95));
  --vh-90: clamp(calc(var(--min-height) * 0.90), 90vh, calc(var(--max-height) * 0.90));
  --vh-85: clamp(calc(var(--min-height) * 0.85), 85vh, calc(var(--max-height) * 0.85));
  --vh-80: clamp(calc(var(--min-height) * 0.80), 80vh, calc(var(--max-height) * 0.80));
  --vh-75: clamp(calc(var(--min-height) * 0.75), 75vh, calc(var(--max-height) * 0.75));
  --vh-70: clamp(calc(var(--min-height) * 0.70), 70vh, calc(var(--max-height) * 0.70));
  --vh-65: clamp(calc(var(--min-height) * 0.65), 65vh, calc(var(--max-height) * 0.65));
  --vh-60: clamp(calc(var(--min-height) * 0.60), 60vh, calc(var(--max-height) * 0.60));
  --vh-55: clamp(calc(var(--min-height) * 0.55), 55vh, calc(var(--max-height) * 0.55));
  --vh-50: clamp(calc(var(--min-height) * 0.50), 50vh, calc(var(--max-height) * 0.50));
  --vh-45: clamp(calc(var(--min-height) * 0.45), 45vh, calc(var(--max-height) * 0.45));
  --vh-40: clamp(calc(var(--min-height) * 0.40), 40vh, calc(var(--max-height) * 0.40));
  --vh-35: clamp(calc(var(--min-height) * 0.35), 35vh, calc(var(--max-height) * 0.35));
  --vh-30: clamp(calc(var(--min-height) * 0.30), 30vh, calc(var(--max-height) * 0.30));
  --vh-25: clamp(calc(var(--min-height) * 0.25), 25vh, calc(var(--max-height) * 0.25));
  --vh-20: clamp(calc(var(--min-height) * 0.20), 20vh, calc(var(--max-height) * 0.20));
  --vh-15: clamp(calc(var(--min-height) * 0.15), 15vh, calc(var(--max-height) * 0.15));
  --vh-10: clamp(calc(var(--min-height) * 0.10), 10vh, calc(var(--max-height) * 0.10));
  --vh-5: clamp(calc(var(--min-height) * 0.05), 5vh, calc(var(--max-height) * 0.05));
}

.col-vh-5 {
  max-height: var(--vh-5) !important;
  height: var(--vh-5) !important;
  min-height: var(--vh-5) !important;
}

.col-vh-10 {
  max-height: var(--vh-10) !important;
  height: var(--vh-10) !important;
  min-height: var(--vh-10) !important;
}

.col-vh-15 {
  max-height: var(--vh-15) !important;
  height: var(--vh-15) !important;
  min-height: var(--vh-15) !important;
}

.col-vh-20 {
  max-height: var(--vh-20) !important;
  height: var(--vh-20) !important;
  min-height: var(--vh-20) !important;
}

.col-vh-25 {
  max-height: var(--vh-25) !important;
  height: var(--vh-25) !important;
  min-height: var(--vh-25) !important;
}

.col-vh-30 {
  max-height: var(--vh-30) !important;
  height: var(--vh-30) !important;
  min-height: var(--vh-30) !important;
}

.col-vh-35 {
  max-height: var(--vh-35) !important;
  height: var(--vh-35) !important;
  min-height: var(--vh-35) !important;
}

.col-vh-40 {
  max-height: var(--vh-40) !important;
  height: var(--vh-40) !important;
  min-height: var(--vh-40) !important;
}

.col-vh-45 {
  max-height: var(--vh-45) !important;
  height: var(--vh-45) !important;
  min-height: var(--vh-45) !important;
}

.col-vh-50 {
  max-height: var(--vh-50) !important;
  height: var(--vh-50) !important;
  min-height: var(--vh-50) !important;
}

.col-vh-55 {
  max-height: var(--vh-55) !important;
  height: var(--vh-55) !important;
  min-height: var(--vh-55) !important;
}

.col-vh-60 {
  max-height: var(--vh-60) !important;
  height: var(--vh-60) !important;
  min-height: var(--vh-60) !important;
}

.col-vh-65 {
  max-height: var(--vh-65) !important;
  height: var(--vh-65) !important;
  min-height: var(--vh-65) !important;
}

.col-vh-70 {
  max-height: var(--vh-70) !important;
  height: var(--vh-70) !important;
  min-height: var(--vh-70) !important;
}

.col-vh-75 {
  max-height: var(--vh-75) !important;
  height: var(--vh-75) !important;
  min-height: var(--vh-75) !important;
}

.col-vh-80 {
  max-height: var(--vh-80) !important;
  height: var(--vh-80) !important;
  min-height: var(--vh-80) !important;
}

.col-vh-85 {
  max-height: var(--vh-85) !important;
  height: var(--vh-85) !important;
  min-height: var(--vh-85) !important;
}

.col-vh-90 {
  max-height: var(--vh-90) !important;
  height: var(--vh-90) !important;
  min-height: var(--vh-90) !important;
}

.col-vh-95 {
  max-height: var(--vh-95) !important;
  height: var(--vh-95) !important;
  min-height: var(--vh-95) !important;
}

.col-vh-100 {
  max-height: var(--vh-100) !important;
  height: var(--vh-100) !important;
  min-height: var(--vh-100) !important;
}

._max-height-xl {
  max-height: var(--max-height-xl) !important;
}

@media only screen and (max-width: 1120px) {
  /* tablet and mobile */
  body .t-sp-mw-100 {
    max-width: var(--sp-site-width) !important;
  }
}
@media only screen and (max-width: 619px) {
  .aspect-ratio-mobile {
    aspect-ratio: var(--aspect-ratio-mobile) !important;
    height: auto !important;
    min-height: unset !important;
    max-height: unset !important;
  }
  .m-m-b-4 {
    margin-bottom: var(--sp-4) !important;
  }
}
/* 
Components css
Version:		   2.2.4

*/
:root {
  --arrow: url('https://staging.idgadvertising.com/cardinalcresthomes/wp-content/uploads/arrow.svg') ;
}

.com-btn-chimichanga {
  position: relative;
  min-width: calc(var(--sp-7) * 6);
}



.com-btn-chimichanga::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all var(--ut-interaction);
  box-sizing: border-box;
  border: 3px solid var(--c-accent);
  width: 100%;
  height: 100%;
  content: "";
}

.com-btn-chimichanga:hover::after {
  --chimichanga-hover-separation: var(--sp-4);
  transition: all var(--ut-interaction);
  width: calc(100% + var(--chimichanga-hover-separation));
  height: calc(100% + var(--chimichanga-hover-separation));
}

.btn-resource-fix {
	min-width: auto !important;
}

.fusion-button span {
  display: flex;
  align-items: center;
  transition: all var(--ut-interaction);
}

.fusion-button span::after {
  opacity: 0;
  transition: all var(--ut-interaction);
  margin-inline-start: 0;
  background-image: var(--arrow);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: var(--sp-4);
  height: var(--sp-4);
  content: "";
}

.fusion-button:hover span::after {
  display: block;
  opacity: 1;
  transition: all var(--ut-interaction) !important;
  margin-left: var(--sp-3);
}

*:has(> .com-headline-elegant) {
  position: relative;
}

.com-headline-elegant {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin: 0 auto;
  border: 1px solid var(--c-text-inverse);
  padding: 0.5em 1.5em;
  min-width: -moz-fit-content !important;
  min-width: fit-content !important;
  color: var(--c-text-inverse);
  font-size: clamp(1.2vw, 1.6vw, var(--t-s-l)) !important;
  line-height: 1;
  letter-spacing: 0.65ch !important;
  text-align: center;
}
.com-headline-elegant img {
  transform: translateX(-0.4em);
  width: 5em;
  height: auto;
}

.com-card-service > * {
  position: relative !important;
  aspect-ratio: 4/2.15;
  width: 100%;
}

@media only screen and (max-width: 1120px) {
  /* tablet and mobile */
  .com-card-service > * {
    aspect-ratio: auto;
  }
}
:where(.com-card-service, .com-card-project, .com-card-plan) div:has(> .fusion-button) {
  position: absolute !important;
  right: 0;
  bottom: 0;
  z-index: 99 !important;
}

:where(.com-card-plan) div:has(> .fusion-button) {
  /* compensation on space between that avada generates */
  /* avada's variable: --awb-column-spacing */
  right: 12px;
  /* bottom: calc(24px/2); */
}

.com-col-project-3 div:has(> .fusion-button) {
  /* compensation on space between that avada generates */
  /* avada's variable: --awb-column-spacing */
  right: var(--awb-spacing-right);
  /* bottom: calc(0px / 3); */
}

.com-card-service *:has(> .com-card-service_copy) {
  position: absolute !important;
  bottom: 0;
  left: 0;
}

/***** GRETCHEN'S EDITS ****/
@media only screen and (max-width: 1475px) and (min-width: 1121px) {
  .project-responsive-position-gk {
    padding-bottom: 55px;
  }
}
.project-responsive-title-gk {
  min-height: 62px;
}

/****** END GRETCHEN's EDITS ****/
@media only screen and (max-width: 1120px) {
  /* tablet and mobile */
  .com-card-service *:has(> .com-card-service_copy) {
    position: static !important;
  }
}
:where(.com-card-plan, .com-card-project) :where(ul, li) {
  margin: 0;
  padding: 0;
  list-style: none;
}

:where(.com-card-plan, .com-card-project) ul {
  max-width: calc(var(--sp-site-width) * 0.25);
}

/* :where(.com-card-plan, .com-card-project) li {
    font-size: var(--t-s-l);
} */
.com-card-plan .fix-alignment {
  width: -moz-fit-content;
  width: fit-content;
}

.com-card-plan .fix-alignment + * {
  margin-top: var(--sp-1) !important;
}

.com-card-project li {
  /* remove and apply .fix-alignment if the selector is too broad */
  width: -moz-fit-content !important;
  width: fit-content !important;
}

.com-card-project_list-horizontal,
.com-card-plan_list-horizontal {
  display: flex;
  gap: 1ch;
}

:where(.com-card-project_list-horizontal, .com-card-plan_list-horizontal) li::before {
  content: "/ ";
}

:where(.com-card-project_list-horizontal, .com-card-plan_list-horizontal) li:first-child::before {
  content: "";
}

@media only screen and (max-width: 1680px) {
  /* save button to collapse on flat cards */
  :where(.com-card-plan) div:has(> .fusion-button) {
    position: static !important;
  }
}
@media only screen and (max-width: 1120px) {
  /* tablet and mobile */
  :where(.com-card-plan, .com-card-project) div:has(> .fusion-button) {
    position: static !important;
  }
}
@media only screen and (max-width: 1680px) {
  /* exeption on simplified project cards */
  :where(.com-card-project._simple) div:has(> .fusion-button) {
    position: absolute !important;
  }
}
.fusion-title.js-marquee {
  position: relative;
  width: 100%;
  white-space: nowrap;
}

.fusion-title.js-marquee h2.fusion-title-heading {
  opacity: 0;
}

.fusion-title.js-marquee:before {
  display: flex;
  position: absolute;
  top: 0;
  left: -50vw;
  align-items: center;
  animation: marquee-scroll 100s linear infinite;
  width: -moz-max-content;
  width: max-content;
  height: 100%;
  content: "Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials Testimonials ";
  color: var(--c-text);
  font-family: var(--t-ff-h);
  text-transform: uppercase;
  word-spacing: 1em;
}

@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.swiper-pagination-bullet {
  border: 1px solid var(--c-accent-add);
}

.com-card-testimonial > * > * {
  height: 100%;
}

.com-card-testimonial .fusion-content-tb {
  padding-block-start: calc(var(--sp-4) * 0.9);
}

.com-card-testimonial .fusion-content-tb::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--c-accent);
  width: 100%;
  height: 1px;
  content: "";
}

.categories-tagged {
  display: flex;
  gap: 1ch;
}

.categories-tagged span {
  color: var(--c-accent-add);
  text-transform: lowercase;
  word-spacing: -0.55ch;
}

.categories-tagged span::before {
  content: "#";
}

.com-card-article .fusion-meta-tb {
  text-transform: uppercase;
}

.com-card-article:has(.fusion-column-anchor) img {
  transform: scale(1);
  transition: all var(--ut-interaction-slow);
}

.com-card-article:has(.fusion-column-anchor:hover) img {
  transform: scale(1.05);
  transition: all var(--ut-interaction-slow);
}

.com-socket-link {
  position: relative;
  color: var(--c-text-inverse) !important;
}

.com-socket::before {
  position: absolute;
  top: 0;
  opacity: 0.1;
  background-color: var(--c-black);
  width: 100%;
  height: 100%;
  content: "";
}

.fusion-social-networks-wrapper {
  display: flex !important;
  justify-content: space-between;
  margin: 0 !important;
  max-width: calc(0.2 * var(--sp-site-width));
}
.fusion-social-networks-wrapper a:hover {
  opacity: 0.7;
  color: inherit !important;
}
.fusion-social-networks-wrapper li {
  padding: 0 !important;
}

html body footer .fusion-social-networks-wrapper {
  margin-inline: auto !important;
}
html body footer .fusion-social-networks-wrapper a {
  color: var(--c-text-inverse) !important;
}

.com-card-benefit-plain .fusion-title-heading {
  display: flex !important;
  flex-direction: column;
  gap: var(--sp-4);
}
.com-card-benefit-plain .fusion-title-heading::before {
  background-color: var(--c-accent);
  width: var(--sp-6);
  height: 2px;
  content: "";
}

.com-collage > * {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-5);
}
.com-collage > * * {
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.com-collage > * > *:nth-child(2) {
  grid-row: span 2;
  padding-block: var(--sp-8);
}

@media only screen and (max-width: 619px) {
  /* only mobile */
  /* set in the builder */
  .com-collage > * {
    grid-template-columns: repeat(1, 1fr);
  }
  .com-collage > * > *:nth-child(2) {
    grid-row: span 1;
    padding-block: 0;
  }
}
.com-card-plan_img {
  display: flex !important;
  position: relative;
  justify-content: center;
  align-items: center;
  background-color: var(--c-white) !important;
  overflow: hidden;
  -o-object-fit: contain;
     object-fit: contain;
}

.com-card-plan_img::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%);
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
}

.com-card-plan_img img {
  position: relative;
  z-index: 0;
  width: 90% !important;
  height: auto;
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

@media only screen and (min-width: 620px) {
  /* desktop and tablet */
  /* set in the builder */
  .com-card-benefit .fusion-title {
    padding-right: var(--sp-8) !important;
  }
  .com-card-benefit {
    /*   .fusion-text {
        margin-top: var(--sp-6) !important;
    } */
  }
  .com-card-benefit .fusion-image-element {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--c-accent-add);
    padding: var(--sp-4);
    max-width: -moz-fit-content !important;
    max-width: fit-content !important;
  }
  .com-card-benefit .fusion-image-element img {
    transform: scale(1);
    filter: brightness(100) saturate(0) contrast(1000);
  }
}
:root {
  --com-card-benefit-list-border: 2.5px solid var(--c-surface-dark);
}

li:has(.com-card-benefit-list-item) {
  border-top: var(--com-card-benefit-list-border);
  padding-block: calc(0.8 * var(--sp-3)) !important;
  max-width: calc(var(--sp-site-width) * 0.4);
}

li:has(.com-card-benefit-list-item):last-child {
  border-bottom: var(--com-card-benefit-list-border);
}

.awb-circles-info {
  position: relative !important;
  padding-bottom: 90% !important;
  width: 90% !important;
  max-width: 90% !important;
  height: 0 !important;
}

.awb-circles-info-wrapper {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Floor Plans Grid Container */
.floorplans {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Image styling */
.floorplans li a {
  display: block;
  width: 100%;
}

.floorplans li img {
  display: block;
  width: 100%;
  height: auto;
}

/* Optional: Force minimum 2 columns on larger screens */
@media (min-width: 900px) {
  .floorplans {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
}
/* Photo gallery columns **/
.photo-gallery .fusion-layout-column {
  padding-bottom: 1rem !important;
}

/** Bio Pop-up **/
.com-bio-pop h3 {
  color: var(--c-white);
}

.com-bio-pop p {
  color: var(--c-white);
}

/** Testimonials **/
.com-test-quotes::before {
  display: block;
  position: absolute;
  top: 90px;
  right: 90px;
  z-index: 1;
  mix-blend-mode: multiply;
  background-image: url("https://cardinalcresthomes.com/wp-content/uploads/quotes-icon.svg");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 100px;
  height: 100px;
  content: "";
}

/** custom blog meta ***/
.com-blog-meta {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-left: 0;
  list-style: none;
}

.fusion-recent-posts .columns .column a {
  color: var(--c-text), var(--awb-color1);
}

.fusion-recent-posts .columns .column h3 {
  margin-top: 0 !important;
  border-bottom: 2px solid var(--c-surface-dark);
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-4);
}

.blog-content p {
  margin-bottom: var(--sp-3) !important;
}

.fusion-text-paragraph p {
  margin-bottom: var(--sp-3) !important;
}

.com-testimonial-container .com-testimonial-box:only-child {
  width: 100% !important;
  height: 60vh;
}

.com-menu-flex-list {
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  cursor: pointer;
  margin-bottom: var(--sp-5);
}

.com-menu-flex-list .link-text {
  cursor: pointer;
  padding-left: var(--sp-5);
  color: #000;
  font-weight: 400;
  font-size: var(--t-s-2xl);
  font-family: var(--t-ff-h);
  letter-spacing: 4px;
  text-transform: uppercase;
}

.com-menu-flex-list img {
  cursor: pointer;
  width: auto;
  height: 40px;
}

.com-menu-flex-list .img-element {
  width: 40px;
  text-align: center;
}

.com-menu-title {
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  gap: var(--sp-6);
  padding-left: 0;
  list-style: none;
}

.com-menu-title h2 {
  margin-bottom: 0;
  font-size: var(--t-s-3xl);
}

.fusion-post-cards {
  /** text-align: center !important; **/
}

.fusion-load-more-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: var(--sp-7) auto 0 auto !important;
  position: relative !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  min-width: calc(var(--sp-7) * 6) !important;
  padding-top: var(--button_padding-top, 1rem) !important;
  padding-right: var(--button_padding-right, 2rem) !important;
  padding-bottom: var(--button_padding-bottom, 0.875rem) !important;
  padding-left: var(--button_padding-left, 2rem) !important;
  font-family: var(--button_typography-font-family) !important;
  font-size: var(--button_font_size, clamp(1.125rem, 0vi + 1.125rem, 1.125rem)) !important;
  font-weight: var(--button_typography-font-weight) !important;
  font-style: var(--button_typography-font-style, normal) !important;
  line-height: var(--button_line_height, 1.1) !important;
  letter-spacing: var(--button_typography-letter-spacing) !important;
  text-transform: var(--button_text_transform) !important;
  background: var(--button_gradient_top_color) !important;
  color: var(--button_accent_color) !important;
  border-color: var(--button_border_color) !important;
  border-width: var(--button_border_width-top, 0) var(--button_border_width-right, 0) var(--button_border_width-bottom, 0) var(--button_border_width-left, 0) !important;
  border-style: solid !important;
  border-radius: var(--button-border-radius-top-left, 0) var(--button-border-radius-top-right, 0) var(--button-border-radius-bottom-right, 0) var(--button-border-radius-bottom-left, 0) !important;
  box-shadow: none !important;
  outline: 3px solid var(--c-accent) !important;
  outline-offset: 0 !important;
  transition: all var(--ut-interaction) !important;
  cursor: pointer !important;
}

.fusion-load-more-button:hover {
  outline-offset: calc(var(--sp-4) / 2) !important;
  transition: all var(--ut-interaction) !important;
}

.fusion-load-more-button::after {
  opacity: 0;
  transition: all var(--ut-interaction);
  margin-inline-start: 0;
  background-image: var(--arrow);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: var(--sp-4);
  height: var(--sp-4);
  content: "";
}

.fusion-load-more-button:hover::after {
  opacity: 1;
  transition: all var(--ut-interaction);
  margin-left: var(--sp-3);
}

@media only screen and (max-width: 1200px) {
  .com-card-service :has(> .com-card-service_copy) {
    position: relative !important;
  }
}
@media only screen and (max-width: 619px) {
  .com-blog-meta {
    text-align: left;
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .com-headline-elegant {
    font-size: 1rem !important;
  }
}
:root {
  --ut-interaction: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --ut-interaction-slow: 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  --ut-beautiful-shadow: 113px 80px 39px 0px rgba(0, 0, 0, 0.00), 73px 51px 35px 0px rgba(0, 0, 0, 0.01), 41px 29px 30px 0px rgba(0, 0, 0, 0.03), 18px 13px 22px 0px rgba(0, 0, 0, 0.05), 5px 3px 12px 0px rgba(0, 0, 0, 0.06);
}

.ut-beautiful-shadow > * {
  box-shadow: var(--ut-beautiful-shadow) !important;
}

.hid {
  display: none !important;
}

@media only screen and (min-width: 1121px) {
  /* only desktop */
  /* set in the builder */
  .hid {
    display: none !important;
  }
}
@media only screen and (min-width: 620px) {
  /* desktop and tablet */
  /* set in the builder */
  .hid-desktop {
    display: none !important;
  }
}
@media only screen and (min-width: 620px) and (max-width: 1120px) {
  /* only tablet */
  /* set in the builder */
  .hid-desktop-tablet {
    display: none !important;
  }
}
@media only screen and (max-width: 1120px) {
  /* tablet and mobile */
  .hid-tablet-mobile {
    display: none !important;
  }
}
@media only screen and (max-width: 619px) {
  /* only mobile */
  /* set in the builder */
  .hid-mobile {
    display: none !important;
  }
}
body:not(.logged-in) .hid-non-admin {
  display: none !important;
  border: 2px solid var(--c-rebecca-purple) !important;
}

body.logged-in .hid-non-admin {
  border: 2px solid var(--c-rebecca-purple) !important;
}

/** Fusion Privacy CSS  **/
.fusion-privacy-element .fusion-privacy-form ul {
  list-style: none;
  margin: 0 0 20px 0;
  padding: 0;
}

.fusion-privacy-element .fusion-privacy-form-floated ul li {
  display: inline-block;
  margin-right: 20px;
}

/** Fusion Comment CSS  **/
#comment-input:after {
  content: "";
  display: table;
  clear: both;
}

#comment-input input {
  float: left;
  margin-right: 1%;
  padding-left: 15px;
  padding-right: 15px;
  width: 32.666666%;
  min-width: 28%;
  font-size: 13px;
  color: #747474;
  border: 1px solid #d2d2d2;
}

#comment-input input:last-child {
  margin-right: 0;
}

#comment-textarea {
  margin-bottom: 10px;
}

#comment-textarea.fusion-contact-comment-below {
  margin-top: 10px;
  margin-bottom: 0;
}

#comment-textarea textarea {
  padding: 12px 15px;
  width: 100%;
  height: 150px;
  font-size: 13px;
  color: #747474;
  border: 1px solid #d2d2d2;
}

.fusion-contact-form {
  line-height: normal;
}

.fusion-contact-form #comment-submit-container {
  margin-top: 20px;
  margin-bottom: 0;
}

.fusion-contact-form .grecaptcha-badge {
  z-index: 100000;
}

.fusion-contact-form .fusion-hide-recaptcha-badge {
  display: none;
}

.fusion-contact-form .fusion-comment-privacy-checkbox-wrapper {
  display: flex;
  align-items: baseline;
  margin: 20px 0;
  font-size: 13px;
}

.fusion-contact-form .fusion-comment-privacy-checkbox {
  margin: 0 10px 0 0;
}

.fusion-contact-form #comment-recaptcha {
  margin-top: 13px;
}

/* General input styling */
body .gform_wrapper input[type=text],
body .gform_wrapper input[type=email],
body .gform_wrapper input[type=url],
body .gform_wrapper input[type=tel],
body .gform_wrapper input[type=number],
body .gform_wrapper input[type=password],
body .gform_wrapper input[type=select],
body .gform_wrapper textarea {
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid #C8C1AB !important;
  padding: 10px;
  color: #2b2c2c;
  font-size: var(--t-s-m) !important;
  font-family: var(--t-ff-p);
  text-transform: none;
}

/* Highlight input on focus */
body .gform_wrapper input:focus,
body .gform_wrapper textarea:focus {
  outline: none;
  box-shadow: 0 0 5px rgba(43, 44, 44, 0.5);
  border: 2px solid var(--c-accent) !important;
}

/* Placeholder styles */
body .gform_wrapper ::-moz-placeholder {
  opacity: 1;
  color: #ababab !important;
  font-weight: var(--t-fw-light) !important;
  letter-spacing: var(--t-ls-normal) !important;
  /* Firefox fix */
  /* [ ] todo check firefox issues */
}
body .gform_wrapper ::placeholder {
  opacity: 1;
  color: #ababab !important;
  font-weight: var(--t-fw-light) !important;
  letter-spacing: var(--t-ls-normal) !important;
  /* Firefox fix */
  /* [ ] todo check firefox issues */
}

/* Change text color when not placeholder (i.e. user typed something) */
body .gform_wrapper input:not(:-moz-placeholder), body .gform_wrapper textarea:not(:-moz-placeholder) {
  color: #2b2c2c !important;
  font-weight: var(--t-fw-light) !important;
  font-family: var(--t-ff-p) !important;
  letter-spacing: 0.03em !important;
}
body .gform_wrapper input:not(:placeholder-shown),
body .gform_wrapper textarea:not(:placeholder-shown) {
  color: #2b2c2c !important;
  font-weight: var(--t-fw-light) !important;
  font-family: var(--t-ff-p) !important;
  letter-spacing: 0.03em !important;
}

body .gform_wrapper .gfield_checkbox label {
  display: inline-block;
  padding-block: var(--sp-xs);
  font-weight: var(--t-fw-light) !important;
  font-size: var(--t-s-m) !important;
  line-height: 1.4;
  font-family: "Nimbus Sans", sans-serif !important;
  letter-spacing: 0.031rem;
  white-space: normal;
  /* allow wrapping */
  word-break: break-word;
  /* break long words if needed */
}

/* Bigger square checkboxes */
@media screen and (min-width: 481px) {
  body .gform_wrapper input[type=checkbox] {
    width: 1.25rem;
    height: 1.25rem;
    -webkit-appearance: none;
    position: relative;
    vertical-align: middle !important;
    -moz-appearance: none;
         appearance: none;
    cursor: pointer;
    margin-right: 5px;
    border: 1px solid #2b2c2c;
    border-radius: 0;
    background-color: var(--c-white);
  }
}
/* Checkmark styling */
body .gform_wrapper input[type=checkbox]:checked::before {
  position: absolute;
  top: 0;
  left: var(--sp-1);
  transform: rotate(45deg);
  border: solid var(--c-accent) !important;
  border-width: 0 3px 3px 0 !important;
  width: 7px;
  height: var(--sp-3);
  content: "";
  color: var(--c-accent) !important;
}

#top legend span span.gfield_required.gfield_required_text,
#top label span span.gfield_required.gfield_required_text {
  color: var(--c-accent) !important;
}

legend.gfield_label.gform-field-label {
  font-weight: var(--t-fw-light) !important;
  font-size: var(--t-s-m) !important;
  font-family: var(--t-ff-p);
}

label.gfield_label.gform-field-label {
  font-weight: var(--t-fw-light) !important;
  font-size: var(--t-s-m) !important;
  font-family: var(--t-ff-p);
  letter-spacing: 1px !important;
}

label.gform-field-label.gform-field-label--type-sub {
  font-weight: var(--t-fw-light) !important;
  font-size: var(--t-s-m) !important;
  font-family: var(--t-ff-p);
  letter-spacing: 1px !important;
}

legend.gfield_label.gform-field-label.gfield_label_before_complex {
  margin-bottom: 0 !important;
  padding-top: 20px;
  letter-spacing: 1px;
}

.gfield_description {
  color: #2b2b2b !important;
  font-style: normal;
  font-size: var(--t-s-s) !important;
  line-height: 1.8em !important;
  font-family: var(--t-ff-p) !important;
}

label.gform-field-label.gform-field-label--type-inline.gfield_consent_label {
  font-weight: var(--t-fw-light) !important;
  font-family: var(--t-ff-p) !important;
}

/* Container layout for radio choices */
body .gform_wrapper .gfield_radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Hide the default radio inputs */
body .gform_wrapper .gfield_radio input[type=radio] {
  display: none;
}

/* Style labels to look like buttons */
body .gform_wrapper .gfield_radio label {
  transition: all 0.2s ease;
  cursor: pointer;
  border: 1px solid #ccc;
  background-color: #f2f2f2;
  padding: 3px 25px;
  width: 100%;
  color: #2b2c2c;
  font-weight: 400 !important;
  font-size: var(--t-s-m);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* Hover effect */
body .gform_wrapper .gfield_radio label:hover {
  border-color: #aaa;
  background-color: #e0e0e0;
}

/* Style the selected radio button */
body .gform_wrapper .gfield_radio input[type=radio]:checked + label {
  border-color: var(--c-accent);
  background-color: var(--c-accent);
  color: var(--c-white);
}

input#gform_submit_button_2 {
  margin: 0 auto;
  background-color: var(--c-accent) !important;
  color: var(--c-white) !important;
  font-weight: var(--t-fw-medium) !important;
  font-size: var(--t-s-m);
  letter-spacing: 3px !important;
  text-transform: uppercase;
}

/* Gravity Forms Select Box Styling */
body .gform_wrapper select {
  appearance: none;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid #C8C1AB !important;
  border-radius: 0;
  background-color: var(--c-white);
  padding: 10px;
  width: 100%;
  color: #2b2c2c !important;
  font-weight: var(--t-fw-light) !important;
  font-size: var(--t-s-m) !important;
  line-height: var(--t-lh-p);
  font-family: var(--t-ff-p) !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%232b2c2c' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-position: right 10px center;
  background-size: 10px 7px;
  background-repeat: no-repeat;
}

/* Focus state */
body .gform_wrapper select:focus {
  outline: none;
  box-shadow: 0 0 5px rgba(43, 44, 44, 0.5);
  border: 2px solid var(--c-accent) !important;
}

/* Disabled select styling */
body .gform_wrapper select:disabled {
  cursor: not-allowed;
  background-color: #f9f9f9;
  color: #999;
}

/* Placeholder-like option styling (if using a default disabled option) */
body .gform_wrapper select option[disabled] {
  color: #ababab;
}

/* Reset radio buttons to default styling */
body .gform_wrapper .gfield_radio input[type=radio] {
  display: inline-block;
  appearance: auto;
  -webkit-appearance: radio;
  -moz-appearance: radio;
  cursor: pointer;
  margin-right: 6px;
  width: auto;
  height: auto;
}

body .gform_wrapper .gfield_radio label {
  display: inline-block;
  transition: none;
  cursor: pointer;
  border: none;
  background-color: transparent;
  padding: 0;
  width: auto;
  color: inherit;
  font-weight: inherit;
}

body .gform_wrapper .gfield_radio label:hover {
  border: none;
  background-color: transparent;
}

body .gform_wrapper .gfield_radio input[type=radio]:checked + label {
  border: none;
  background-color: transparent;
  color: inherit;
}

body .gform_wrapper .gfield_radio {
  display: block;
  flex-wrap: nowrap;
  gap: 0;
}

@media only screen and (max-width: 991px) {
  /* tablet and mobile */
  .fusion-fullwidth {
    padding: var(--sp-7) var(--sp-5) !important;
  }
}
/* Magic Circle v1.0 | Last Editor: Pablo Santalla | 2026-02-11 5:44 PM */
:root {
  --magic-circle-max-size: 100%;
  --magic-circle-border-size: 85%;
  --magic-circle-main-size: 70%;
  --magic-circle-icon-size: 10%;
  --magic-circle-title-size: clamp(1rem, 2cqw, 1.5rem);
  --magic-circle-content-size: clamp(0.875rem, 2cqw, 1.25rem);
  --magic-circle-border-gap: 7.5%;
  --magic-circle-content-gap: var(--sp-4);
  --magic-circle-text-margin: var(--sp-2);
  --magic-circle-list-padding: var(--sp-4);
  --magic-circle-list-item-margin: var(--sp-1);
  --magic-circle-main-bg: var(--c-accent-add);
  --magic-circle-border-color: var(--c-accent-add);
  --magic-circle-icon-bg: var(--c-surface-light);
  --magic-circle-title-color: var(--c-surface-light);
  --magic-circle-text-color: var(--c-surface-light);
  --magic-circle-title-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  --magic-circle-scroll-color: #fffef2;
  --magic-circle-transition: all 0.5s ease;
}

.magic-circle {
  position: relative;
  container-type: inline-size;
  aspect-ratio: 1;
  width: var(--magic-circle-max-size);
}

.magic-circle__border {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--magic-circle-border-size);
  height: var(--magic-circle-border-size);
}

.magic-circle__border svg {
  width: 100%;
  height: 100%;
}

.magic-circle__border circle {
  stroke: var(--magic-circle-border-color);
}

.magic-circle__scroll-indicator {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--magic-circle-main-size);
  height: var(--magic-circle-main-size);
  pointer-events: none;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.magic-circle__scroll-indicator.visible {
  opacity: 0.5;
}

.magic-circle__scroll-indicator circle {
  stroke-linecap: round;
}

.magic-circle__main {
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform: translate(-50%, -50%);
  transition: var(--magic-circle-transition);
  box-sizing: border-box;
  border-radius: 50%;
  background-color: var(--magic-circle-main-bg);
  padding: var(--sp-7);
  width: var(--magic-circle-main-size);
  height: var(--magic-circle-main-size);
  text-align: center;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: relative;
}

.magic-circle__main::-webkit-scrollbar {
  display: none;
}

.magic-circle__content {
  visibility: visible;
  opacity: 1;
  transition: var(--magic-circle-transition);
  max-width: 80%;
  flex-shrink: 0;
  position: relative;
  z-index: 0;
}

.magic-circle__content.hidden {
  position: absolute;
  visibility: hidden;
  opacity: 0;
}

.magic-circle__title {
  flex-shrink: 0;
  color: var(--magic-circle-title-color) !important;
  font-size: var(--magic-circle-title-size) !important;
  max-width: 100% !important;
  text-shadow: var(--magic-circle-title-shadow);
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.magic-circle__description {
  flex-shrink: 0;
  margin-top: var(--magic-circle-content-gap);
  color: var(--magic-circle-text-color);
  font-size: var(--magic-circle-content-size);
  max-width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.magic-circle__description ol {
  counter-reset: item;
  margin: 0;
  padding: 0;
  list-style: none;
}

.magic-circle__description ol li {
  counter-increment: item;
}

.magic-circle__description ol li + li {
  margin-top: var(--magic-circle-list-item-margin);
}

.magic-circle__description ol li::before {
  content: counter(item) ". ";
}

.magic-circle__description p {
  margin: 0;
}

.magic-circle__description p + p {
  margin-top: var(--magic-circle-text-margin);
}

.magic-circle__description ul {
  margin: 0;
  padding-left: var(--magic-circle-list-padding);
}

.magic-circle__description ul li {
  margin: 0;
}

.magic-circle__description ul li + li {
  margin-top: var(--magic-circle-list-item-margin);
}

.magic-circle__icon {
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  justify-content: center;
  align-items: center;
  transform: translate(-50%, -50%);
  transition: var(--magic-circle-transition);
  cursor: pointer;
  border-radius: 50%;
  background-color: var(--magic-circle-icon-bg);
  width: var(--magic-circle-icon-size);
  height: var(--magic-circle-icon-size);
}

@media only screen and (min-width: 620px) {
  :root {
    --magic-circle-title-size: clamp(1.5rem, 3cqw, 2.5rem);
    --magic-circle-content-size: clamp(1rem, 2.25cqw, 1.5rem);
  }
}
@media only screen and (max-width: 619px) {
  .magic-circle__main {
    justify-content: flex-start;
  }
}
.fix-force-grid-faqs .fusion-grid {
  display: grid !important;
}

.fix-alignment {
  width: -moz-fit-content;
  width: fit-content;
}

/* 'content' element inherits padding - this duplicates section padding - code below aims to fix this */
@media only screen and (max-width: 619px) {
  /* only mobile */
  /* set in the builder */
  body.single-project .fusion-fullwidth .fusion-fullwidth {
    padding-inline: 0 !important;
  }
}
/* expanding menu horizontally - just color */
/* .awb-menu__mega-wrap {
    overflow-x: hidden !important;

    .fusion-builder-row {
        background-color: var(--c-surface-light) !important;

        .fusion-column-wrapper {
            box-shadow: none !important;
        }
    }
} */
/* avoid full-width menu on mobile */
@media only screen and (max-width: 619px) {
  /* only mobile */
  /* set in the builder */
  #menu-main {
    /*  width: calc(100vw - 2 * var(--sp-5)) !important; */
    padding-inline: var(--sp-5) !important;
    overflow: visible !important;
    background-color: transparent !important;
  }
  #menu-main * {
    overflow-x: hidden !important;
  }
  /* Article/Blog Post fix */
  .m-fd-col .fusion-column-wrapper {
    flex-direction: column-reverse !important;
    align-items: flex-start !important;
  }
  .m-fd-col .fusion-column-wrapper .categories-tagged {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--sp-1);
  }
}
.sp-g-5, .sp-g-5 > .fusion-column-wrapper {
  gap: var(--sp-5) !important;
}

.com-card-testimonial .fusion-content-tb {
  position: relative;
}

.fusion-imageframe.has-aspect-ratio.employee-img-fix img {
  width: 1000px;
}

:root {
  --watermark-url: url("https://cardinalcresthomes.com/wp-content/uploads/Cardinal_Crest_Bird.webp");
  --watermark-width: 80px;
  --watermark-height: 40px;
  --watermark-width-small: 60px;
  --watermark-height-small: 30px;
  --watermark-padding: 12px;
  --watermark-spacing-x: 1.75rem;
  --watermark-spacing-y: 1rem;
}

.fusion-column-wrapper:where([data-bg="https://cardinalcresthomes.com/wp-content/uploads/8516-2-1.webp"],
[data-bg="https://cardinalcresthomes.com/wp-content/uploads/model-home-exterior.webp"]) {
  position: relative;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.fusion-column-wrapper:where([data-bg="https://cardinalcresthomes.com/wp-content/uploads/8516-2-1.webp"],
[data-bg="https://cardinalcresthomes.com/wp-content/uploads/model-home-exterior.webp"])::before {
  content: "";
  position: absolute;
  bottom: var(--watermark-spacing-y);
  right: var(--watermark-spacing-x);
  width: var(--watermark-width);
  height: var(--watermark-height);
  background-image: var(--watermark-url);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(0) invert(1);
  pointer-events: none;
  z-index: 10;
}

.floorplans li {
  position: relative;
}
.floorplans li::before {
  content: "";
  position: absolute;
  bottom: var(--watermark-spacing-y);
  right: var(--watermark-spacing-x);
  width: calc(var(--watermark-width-small) + var(--watermark-padding) * 2);
  height: calc(var(--watermark-height-small) + var(--watermark-padding) * 2);
  background-color: rgba(0, 0, 0, 0.3);
  pointer-events: none;
  z-index: 10;
}
.floorplans li::after {
  content: "";
  position: absolute;
  bottom: calc(var(--watermark-spacing-y) + var(--watermark-padding));
  right: calc(var(--watermark-spacing-x) + var(--watermark-padding));
  width: var(--watermark-width-small);
  height: var(--watermark-height-small);
  background-image: var(--watermark-url);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(0) invert(1);
  pointer-events: none;
  z-index: 11;
}

/* [end] local */
.fusion-post-cards .fusion-filters li.fusion-active a {
  color: #e85a42 !important;
}

.ilightbox-title {
  display: none;
}/*# sourceMappingURL=style.css.map */

.menu-icon-full-phone ul li {
	width: 300px;
}

hr {
    height: 3px;
    background-color: #F1EAD5;
    border: none !important;
}

.com-collage > * {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-5) !important;

    * {
        height: 100% !important;
        object-fit: cover !important;
    }

    > *:nth-child(2) {
        grid-row: span 2;
        padding-block: var(--sp-8);
    }
}

.single-ppc .fusion-content-tb-6 {
	margin-top: 0px !important;
}

.single-service-area p {
	margin-bottom: var(--sp-4) !important;
}