/*
GLOBAL VARIABLES
*/

:root {
  /* =================================================
   BRAND COLORS
  ================================================= */
  --surface-brand: #2c3c83;
  --color-brand-primary: #2c3c83;
  --color-brand-secondary: #2c3c83;
  --color-brand-soft: #f7f7f7;
  --color-brand-accent: #ffffff;
  --color-text-primary: #1d1d1d;
  --color-text-secondary: #2c3c83;
  --color-text-accent1: #2c3c83;
  --color-text-accent2: #ffffff;
  --color-text-subtle: #424242;
  --color-text-inverse: #ffffff;
  --color-text-base: #4e4e4e;
  --color-text-nav: #222222;
  --color-text-nav-interior: #4e4e4e;
  --color-text-nav-overlay: #4e4e4e;
  --color-text-ui: #fbf3f3;
  --color-header-bg: rgb(255 255 255);
  --color-bg-page1: #ffffff;
  --color-bg-page2: #ffffff;
  --color-bg-footer1: #fafafa;
  --color-bg-footer2: #232323;
  --color-bg-footer3: #ffffff;
  --color-carousel-overlay: linear-gradient(rgb(0 0 0 / 30%) 0%, rgb(0 0 0 / 30%) 40% 40%, rgb(0 0 0 / 30%) 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_custom_image19.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 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-image3-row:before {
  background: rgb(255 255 255 / 0%);
  /* 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,
.header .nav,
.header .nav a,
.toolbar #logotext {
  font-family: inherit;
}

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

:root {
  --h3-size: 18px;
  --h3-transform: cadetblue;
  --h3-letter-spacing: 0px;
}


/* =========================================================
   Logo
========================================================= */

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

html.snapped body {
    --header-logo-height-desktop: 55px;
    --header-logo-height: 40px;
}


/* =========================================================
   Header Custom
========================================================= */

/* Primary navigation typography and spacing */

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

/* Hide header CTA phone/address tools */

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

/* Hide topbar CTA/phone buttons */

.site-header__top .btn-cta,
.site-header__top .btn-ph {
    display: none !important;
}

/* Topbar styling */

.site-header__top::before {
    background: #f3f3f3;
}

.site-header.has-topbar .site-header__top {
    padding-top: 12px;
    padding-bottom: 12px;
}

/* Header CTA text color */

.site-header__cta .btn-text {
    color: #111 !important;
}

/* Navigation pill background */

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


/* =========================================================
   Button Adjustments
========================================================= */

/* Global button sizing and shape */

a.btn,
.btn,
.carousel a {
    padding: 25px 60px;
    border-radius: 50px;
    font-size: 20px;
}

/* Mobile button sizing */

@media (max-width: 767px) {
    a.btn,
    .btn {
        max-width: 100%;
        padding: 18px 28px;
        font-size: 16px;
        line-height: 1.3;
        white-space: normal;
    }
}

/* Animated button with arrow icon */

.anim-bg-zoom .btn {
    display: inline-flex;
    align-items: center;
    padding: 20px 25px 20px 30px;
}

.anim-bg-zoom .btn::after {
    content: "";
    display: inline-block;
    position: relative;
    width: 24px;
    height: 24px;
    margin-left: 10px;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 24'%3E%3Cpath d='M2 2l10 10-10 10' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* =========================================================
   Carousel / Hero Custom
========================================================= */

/* Desktop carousel content width */

@media (min-width: 1281px) {
    .carousel-wrapper .pad-r-xl {
        display: block;
        padding-right: 500px !important;
    }
}

/* Desktop carousel heading size */

@media (min-width: 949px) {
    .carousel .item-content h2 {
        font-size: 90px;
        line-height: 95px;
    }
}

/* Mobile first-slide image positioning */

@media (max-width: 768px) {
    #slider-image-1 .carousel-lcp-img {
        object-position: 65% center;
    }
}

/* Home carousel height */

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

/* Carousel image overlay gradient */

.container > .carousel-wrapper > .carousel .carousel-inner .item::before {
    background: linear-gradient(
        90deg,
        rgb(0 0 0) 0%,
        rgb(0 0 0) 18%,
        rgb(0 0 0 / 50%) 38%,
        rgb(0 0 0 / 30%) 58%,
        rgb(255 255 255 / 8%) 78%,
        rgb(255 255 255 / 0%) 100%
    );
}

.carousel .item-content h3 {
    text-transform: capitalize;
}

/* =========================================================
   Hero Typography
========================================================= */

/* Hero heading size and weight */

.body .hero h2 {
    font-size: 85px !important;
    font-weight: 700 !important;
    line-height: 90px !important;
}

/* Hero text color */

.body .hero h2,
.body .hero p {
    color: #ffffff;
}

/* Hero heading accent text */

.body .hero h2 span {
    color: #009bdd !important;
}

/* Desktop hero content width */

@media (min-width: 1281px) {
    .body .hero.pad-r-xl {
        display: block;
        padding-right: 750px !important;
    }
}


/* =========================================================
   Typography Adjustments
========================================================= */

/* Preserve inherited H3 font in content areas */

.site-header__top h3,
body .content h3,
body .sb-embed h3 {
    font-family: inherit;
}

/* Content H3 weight */

body :is(.content, .embed) h3 {
    font-weight: 600 !important;
}

/* Custom XL H2 sizing */

@media (min-width: 949px) {
    .body .is-h2-xl h2 {
        --h2-size: 62px;
        line-height: 80px !important;
    }
}


