/*
GLOBAL VARIABLES
*/

:root {
  /* =================================================
   BRAND COLORS
  ================================================= */
  --surface-brand: #0e0e0e;
  --color-brand-primary: #b47a15;
  --color-brand-secondary: #cda76f;
  --color-brand-soft: #f5f5f5;
  --color-brand-accent: #e7e4e1;
  --color-text-primary: #0e0e0e;
  --color-text-secondary: #cda76f;
  --color-text-accent1: #cda76f;
  --color-text-accent2: #ffffff;
  --color-text-subtle: #afafaf;
  --color-text-inverse: #ffffff;
  --color-text-base: #4e4e4e;
  --color-text-nav: #ffffff;
  --color-text-nav-interior: #4e4e4e;
  --color-text-nav-overlay: #4e4e4e;
  --color-text-ui: #fbf3f3;
  --color-header-bg: rgb(22 22 22);
  --color-bg-page1: #ffffff;
  --color-bg-page2: #fbfbfb;
  --color-bg-footer1: #0e0e0e;
  --color-bg-footer2: #0e0e0e;
  --color-bg-footer3: #ffffff;
  --color-carousel-overlay: linear-gradient(#080808b5 0%, #1d1d1d3b 40% 40%, #080808b5 100%);

  /* =================================================
   GRAPHIC DEFAULTS MOBILE
  ================================================= */
  --bg-pos-x-mobile: right;
  --bg-pos-y-mobile: 0px;
  --bg-size-mobile: 100%;
  --bg-height-mobile: 2400px;
  --bg-opacity-mobile: .1;
  --bg-top-mobile: 0px;
  --bg-transform-mobile: scaleX(1);

  /* =================================================
   GRAPHIC DEFAULTS DESKTOP
  ================================================= */
  --bg-pos-x-desktop: 0px;
  --bg-pos-y-desktop: 0px;
  --bg-size-desktop: 80%;
  --bg-height-desktop: 1245px;
  --bg-opacity-desktop: .3;
  --bg-top-desktop: 0px;
  --bg-transform-desktop: scaleX(1);

  /* =================================================
   HERO
  ================================================= */
  --carousel-bg-image: url("/img/upload/hero.webp");
}


/*==================================================================================*/
/* Bg Images */
/*==================================================================================*/

.sb-bg-image1-row {
  background-image: url(/img/upload/000_custom_image19.jpg);
}

.sb-bg-image2-row {
  background-image: url(/img/upload/000_custom_image19.jpg);
}

.sb-bg-image3-row {
  background-image: url(/img/upload/000_bg_5.jpg);
}
     
.sb-bg-graphic1-row:after {
  background-image: url(/img/upload/000_bg_marble12.jpg);
}

.sb-bg-graphic2-row:after {
  background-image: url(/img/upload/000_bg_marble12.jpg);
}

#page-home .sb-feature-gallery-row,
#page-home .sb-gallery-row  {
  background: rgb(0 0 0 / 0%);
}

#page-home .carousel-inner .item::after {
  background-image: none;
}


/*==================================================================================*/
/* Bg Overlays */
/*==================================================================================*/

.sb-bg-image1-row:before {
  background: rgb(255 255 255 / 0%);
  /* background: linear-gradient(270deg, rgb(0 0 0 / 0%) 25%, rgb(0 0 0 / 0%) 100%); */
}

@media (min-width: 949px) { 
.sb-bg-image1-row:before {
  background: rgb(255 255 255 / 0%);
  /* background: linear-gradient(346deg, rgb(112 32 102) 8%, rgb(0 0 0 / 0%) 45%); */
  }
}

.sb-bg-image2-row:before {
  background: rgb(255 255 255 / 0%);
  /* background: linear-gradient(270deg, rgb(0 0 0 / 0%) 25%, rgb(0 0 0 / 0%) 100%); */
}

@media (min-width: 949px) { 
.sb-bg-image2-row:before {
  background: rgb(255 255 255 / 0%);
  /* background: linear-gradient(346deg, rgb(112 32 102) 8%, rgb(0 0 0 / 0%) 45%); */
  }
}

.sb-bg-image3-row:before {
  background: rgb(255 245 229 / 40%);
  /* background: linear-gradient(270deg, rgb(0 0 0 / 0%) 25%, rgb(0 0 0 / 0%) 100%); */
}

@media (min-width: 949px) { 
.sb-bg-image3-row:before {
  background: rgb(255 245 229 / 40%);
  /* background: linear-gradient(346deg, rgb(112 32 102) 8%, rgb(0 0 0 / 0%) 45%); */
  }
}

/*==================================================================================*/
/* ACCENT ENGINE TOKENS  */
/*==================================================================================*/

:root {
  --heading-accent-content: inherit;
  --heading-accent-width: min(180px, 80%);
  --heading-accent-transform: none;
  --heading-accent-svg:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0%25' stop-color='%23d4af37'/%3E%3Cstop offset='35%25' stop-color='%23b68b2d'/%3E%3Cstop offset='70%25' stop-color='%23555555'/%3E%3Cstop offset='100%25' stop-color='%23000000'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 10 Q100 5 200 10' stroke='url(%23g)' stroke-width='2' fill='none'/%3E%3C/svg%3E");
}

/*==================================================================================*/
/* SET FONT FAMILY */
/*==================================================================================*/

/* Headings / Special Elements */
h1, h2, h4, h5, h6,
.content h1,
.content h2,
.content h4,
.content h5,
.content h6,
.logo #logotext,
.gallery-header,
.locations_list,
.site-nav a,
.toolbar #logotext {
  font-family: "Italiana", serif;
}

/*==================================================================================*/
/* THEME DESIGN TOKENS */
/*==================================================================================*/

:root {
  --h3-size: 14px;
  --h3-transform: uppercase;
  --h3-letter-spacing: 4px;
}

/*==================================================================================*/
/* LOGO */
/*==================================================================================*/

body {
  --header-logo-height-desktop: 80px;
  --header-logo-height: 50px;
}

html.snapped body {
  --header-logo-height-desktop: 70px;
  --header-logo-height: 60px;
}

/*==============================================================================
  HEADER CUSTOM
==============================================================================*/

.site-header
.site-nav
> .nav-list
> .nav-item
> a {
  padding: 0 7px;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0px;
  text-transform: uppercase;
}

.site-header .site-header__cta .phone,
.site-header .site-header__cta .tool-link--address {
  display: none !important;
}

.site-header__top::before {
  background: #0c0c0c00;
}

.site-header__top * {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 300;
}

@media (min-width: 949px) {
  .site-header.has-topbar .site-header__top {
    padding-block: 10px !important;
  }
}


/*==============================================================================
  BUTTON ADJUSTMENTS
==============================================================================*/

a.btn,
.btn,
.carousel a {
  border-radius: 50px;
  font-weight: 500;
}

.carousel a,
a.btn,
.btn,
.btn-default,
a.btn.btn-default,
input.btn-default,
.footer
.primary-link:last-child > a {
  color: #ffffff !important;
  background: #0c0c0c !important;
  border-color: #0c0c0c !important;
}

.carousel a,
a.btn,
.btn,
.btn-cta {
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    border-radius: 6px;
    letter-spacing: 3px;
}

.embed a,
.content a,
.sb-module a {
  color: #b37a15;
}



/*==============================================================================
  PAGE ADJUSTMENTS
==============================================================================*/

@media (min-width: 949px) {
  .carousel .item-content h2 {
    font-size: 55px;
    font-weight: 400;
    line-height: 60px;
  }
}


/* Apply only to body-copy containers */

html:is(
  .has-body-light,
  .has-body-regular,
  .has-body-strong
) :where(
  .site-header__top,
  .item-content,
  .embed p:not(.is-p-lg),
  .embed ul,
  .content p,
  .content ul
) {
  font-size: 14px;
  font-weight: 300;
  line-height: 24px;
  color: #858585;
}

@media (min-width: 768px) {
  body :is(
    .content,
    .embed
  ) h1,
  body :is(
    .content,
    .embed
  ) h2,
  .sb-module
  .headline
  h2,
  .footer h2,
  .sb-module h2,
  .carousel h2 {
    font-weight: 100 !important;
  }
}


/* =========================================================
   One-Off Fixes
========================================================= */

/* Centered desktop logo layout */

@media (min-width: 1282px) {
    .site-header__main.has-logo-center {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            auto
            minmax(0, 1fr);
    }

    .has-logo-center .site-nav {
        justify-self: start;
        min-width: 0;
    }

    .has-logo-center .site-header__brand {
        justify-self: center;
    }

    .has-logo-center .site-header__cta {
        justify-self: end;
    }
}


/* Navigation pill color */

.site-header.has-nav-pills {
    --nav-pill-bg: color-mix(
        in srgb,
        var(--color-brand-primary) 90%,
        white
    );
}


/* Centered desktop logo layout */

@media (min-width: 1282px) {
    .site-header__main.has-logo-center {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            auto
            minmax(0, 1fr);
    }

    .has-logo-center .site-nav {
        justify-self: start;
        min-width: 0;
    }

    .has-logo-center .site-header__brand {
        justify-self: center;
    }

    .has-logo-center .site-header__cta {
        justify-self: end;
    }
}


/* Navigation pill color */

.site-header.has-nav-pills {
    --nav-pill-bg: color-mix(
        in srgb,
        var(--color-brand-primary) 90%,
        white
    );
}


/* typography */

.carousel .item-content h2 {
    font-weight: 500;
}

.carousel .item-content h2 span {
    font-size: 60px !important;
}

@media (min-width: 949px) {
.carousel .item-content h2 span {
    font-size: 170px !important;
    }
}

@media (min-width: 949px) {
    .carousel .item-content h2 {
        font-size: 60px;
    font-family: "Italiana", serif;
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.95;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.3);
    }
}

.carousel .item-content h2 span {
        color: #ffe8bf!important;
    }

body :is(.content, .embed) h1,
body :is(.content, .embed) h2,
.sb-module .headline h2,
.footer h2,
.sb-module h2 {
    font-weight: 100;
}

/* Home carousel height */

@media (min-width: 949px) {
    #page-home .carousel,
    #page-home .carousel-inner,
    #page-home .carousel .item-inner {
        height: 950px;
        min-height: 950px;
    }
}

.carousel .item-content-inner {
    max-width: var(--site-wide);
    margin: auto;
}


/* Oversized decorative heading spans */

body :is(
    .content,
    .embed,
    .site-nav,
    .feature-cards1 > div > div
) h2 span {
    font-size: 60px !important;
    opacity: 0.2;
}


@media (min-width: 949px) {
body :is(
    .content,
    .embed,
    .site-nav,
    .feature-cards1 > div > div
) h2 span {
    font-size: 120px !important;
    opacity: 0.2;
}
}

h2 > span {
    color: #090909 !important;
    font-family: "Margo Script", cursive !important;
    line-height: 20px !important;
    opacity: 1 !important;
}


.sb-top-footer-row h2:has(> span) {
  font-family: "Poppins", sans-serif !important;
  font-weight: 200 !important;
}

/* Headings / Special Elements */
.site-nav a {
  font-family: inherit
}


/* Portfolio gallery */

.sb-wrap:has(.is-portfolio-gallery) .sb-module {
    max-width: var(--site-wide);
}

.feature-cards1.is-portfolio-gallery > div {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px !important;
}


/* Card backgrounds */

.embed:has(.has-card)::before,
.content:has(.has-card)::before {
    background: color-mix(
        in srgb,
        var(--color-brand-soft) 5%,
        #0e0e0e
    );
    border: 1px solid var(--color-brand-primary);
}

@media (min-width: 949px) {
html:not(.snapped) .site-header .site-header__container {
padding-top: 10px;
  }
}

/* CUSTOM HERO BG COLOR */
.carousel-innerstatic.carousel-wrapper {
    background: #151515!important;
}


.carousel a,
a.btn,
.btn,
.btn-default,
a.btn.btn-default,
input.btn-default,
.footer .primary-link:last-child > a {
    text-wrap: auto;
}


.sb-row:is(
  .is-border-top,
  .has-divider-top
),
.sb-row:has(
  .has-border-top,
  .has-divider-top
) {
  border-top: 1px solid;
}

:where(.is-border-top):not(.sb-row) {
  border-top: 1px solid
    rgb(from
      var(--element-border-color, #fff)
      r g b / 30%
    );
}

.review-stars {
  color: var(--color-text-secondary)!important;
}

nav.mobile-nav.is-offcanvas #header-logo img {
filter: brightness(0) saturate(100%) invert(16%) sepia(1%) saturate(1047%) hue-rotate(216deg);
}