/* style-custom.css */

/* Flating Header Offset */
:root { --header-offset: 76px; }

@media (min-width: 768px) {
  :root { --header-offset: 92px; }
}

@media (min-width: 992px) {
  :root { --header-offset: 98px; }
}

/* Default: push page content below floating header */
body.has-floating-header main#main {
  padding-top: var(--header-offset);
}

/* Bleed pages: main is NOT padded */
body.has-floating-header.has-bleed-hero main#main {
  padding-top: 0;
}

/* Bleed hero: always gets offset immediately */
.hero--bleed {
  padding-top: var(--header-offset);
}

/* end floating header offset */




.nav {
    --si-nav-link-color: #fff;
}


.exo-2 {
  font-family: "Exo 2", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.open-sans {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

.pt-sans {
  font-family: "PT Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}





@media (max-width: 767.98px) {
    #header .navbar-brand>img {
        width: 120px;
    }
}

/* xs: slide = full container; card = full width */
@media (max-width: 575.98px) {
  .swiper #swiper-wrapper-mission .swiper-slide { width: 100% !important; }
  .swiper #swiper-wrapper-mission .swiper-slide > .card { max-width: 100% !important;margin-right: 24px; }
}

/* sm and up: fixed 416px slides */
@media (min-width: 576px) {
  .swiper #swiper-wrapper-mission .swiper-slide { width: 416px !important; }
  .swiper #swiper-wrapper-mission .swiper-slide > .card { width: 100%; max-width: none; }
}

.container-start {
    margin-left: calc((100% - (1328px - 1.5rem)) / 2);
}

@media (max-width: 1399.98px) {
    .container-start {
        margin-left: calc((100% - (95% - 1.5rem)) / 2);
    }
}

.breadcrumb-item+.breadcrumb-item::before {
    content: "/";
}

.breadcrumb {
    font-weight: 400;
}



/* default: overlay + boxed */
header.navbar-sticky {
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
  will-change: transform;
}

/* when stuck (theme class name may differ) */
header.navbar-sticky.navbar-stuck {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #151b25; /* si bg navy */ 
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* make the inner navbar go full-width look when stuck */
header.navbar-sticky.navbar-stuck .navbar {
  border-radius: 0 !important;
  box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.15) !important;
}

/* remove padding when full width */
header.navbar-sticky.navbar-stuck .container {
    padding-left: calc(var(--si-gutter-x) * .5) !important;
    padding-right: calc(var(--si-gutter-x) * .5) !important;
}

.navbar-toggler-icon, .navbar-toggler-icon::before, .navbar-toggler-icon::after {
    /* background-color: var(--si-navbar-toggler-color); */
    background-color: #fff;
}

/* Off canvas menu */
.offcanvas {
  background-color: #0c1626;
}

.offcanvas .nav-link {
  font-size: 1.25rem;
  padding: .75rem 0;
}

.offcanvas .nav-link:hover {
  color: #21a1d6;
}

.offcanvas-header {
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* Mobile logo floating */

.navbar-brand img {
  max-width: 150px;
  height: auto;
}

@media (min-width: 576px) {
  .navbar-brand img {
    max-width: 175px;
  }
}

@media (min-width: 992px) {
  .navbar-brand img {
    max-width: 200px;
  }
}

.jarallax,
.jarallax-img,
.jarallax-container {
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
}

.min-vh-80 {
    min-height: 80vh;
}

.btn-outline-light:hover {
    color: #222934;
}
.btn-link-light:hover {
    color: #00aaee;
}

/* ====== All Stuff from <head> needs sorting ====== */

/*
Orange: #fac469 (keep)

Green: #cbd4a0 (keep)

Blue: #c5e6ec (keep)

Yellow: #ffeea6 (keep)
*/

/* Add to PF Shell frontend css */
.z-fixed {
    z-index: 1030 !important;
}
.z-index2 {
    z-index: 2 !important;
}

footer.bg-dark {
    z-index: 222;
}

#nav-main a.nav-link {
    /* font-size: 17px; */
    /* font-weight: 400; */
    /* color: #05a6d4; */
}

#nav-main a.nav-link:hover {
    color: #05a6d4;
}

header a.nav-link {
    font-weight: 300;
}

.border-lighter {
    border-color: #ebf4f3 !important;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: "Exo 2", sans-serif;
    font-optical-sizing: auto;
    /* letter-spacing: 2.4px; */
	color: #161b25;
	line-height: 1.1 !important;
    letter-spacing: -0.01em;
}

body, p {
    /* font-family: "Open Sans", sans-serif; */
    font-optical-sizing: auto;
    /* font-size: 1.15rem; */
}

.navbar-nav .show>.nav-link, .navbar-nav .nav-link.active {
    color: var(--si-nav-link-active-color);
}

body {
    color: #454866;
}

.manrope {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: inherit;
  font-style: normal;
}

.bangers {
  font-family: "Bangers", system-ui;
}

.kalam {
  font-family: "Kalam", cursive;
}

.comic-neue {
  font-family: "Comic Neue", cursive;
}

strong {
    font-weight: 600;
}

.fw-bolder {
    font-weight: 900 !important;
}

.fw-600 {
    font-weight: 600;
}

.strike { text-decoration: line-through; }

/* .btn-lg {
    font-size: large;
} */

.ls-normal {
    letter-spacing: inherit;
}
.ls-lg {
    letter-spacing: 1.3px;
}

.ls-xl {
    letter-spacing: 2.2px;
}
/*
#nav-main a.nav-link {
    font-size: 25px;
    font-weight: 400;
    font-family: "Bangers", system-ui;
} */
/*
a.nav-menu-cta {
    font-family: "Bangers", system-ui;
    font-size: 24px;
    letter-spacing: 1.1px;
    padding: 8px 30px;
} */

a.nav-menu-cta:hover {
    /* background: #2d8c9c !important;
    border-color: #2d8c9c !important; */
}

@media (max-width: 575.98px) {
  a.nav-menu-cta { font-size: 1.25rem; padding: 0.25rem 1.5rem; }
}

/* HERO - HOME + PHL */

/*
.border-light {
    opacity: 1;
    border-color: #fff !important;
} */

p.hero-lead {
    font-size: 27px;
    color: #c04321;
}

@media (max-width: 767.98px){
  /* image: rounded top only */
  .hero-img{
    border-radius: 2rem 2rem 0 0 !important;
  }

  /* CTA: no rounding */
  .hero-cta{
    border-radius: 0 !important;
  }

  /* content: rounded bottom only */
  .hero-content{
    border-radius: 0 0 2rem 2rem !important;
  }

  p.hero-lead {
    font-size: 22px;
    color: inherit;
  }
}


/* PHL CUSTOM STYLES -> ALSO CHECK RELATED ITEMS EXIST ELSEWHERE */








/* Clamp */

/* Responsive font sizes with clamp() */

/* Largest heading */
.fs-1 {
  font-size: clamp(2rem, 1.5rem + 1.5vw, 3rem);   
  /* ~32px min → ~48px max */
}

/* H2 scale */
.fs-2 {
  font-size: clamp(1.75rem, 1.25rem + 1.2vw, 2.5rem); 
  /* ~28px min → ~40px max */
}

/* H3 scale */
.fs-3 {
  font-size: clamp(1.5rem, 1rem + 1vw, 2rem);    
  /* ~24px min → ~32px max */
}

/* H4 scale */
.fs-4 {
  font-size: clamp(1.25rem, 0.875rem + 0.8vw, 1.5rem); 
  /* ~20px min → ~24px max */
}

/* H5 scale */
.fs-5 {
  font-size: clamp(1rem, 0.75rem + 0.5vw, 1.25rem);    
  /* ~16px min → ~20px max */
}

/* Smallest heading / large body */
.fs-6 {
  font-size: clamp(0.875rem, 0.75rem + 0.3vw, 1rem);    
  /* ~14px min → ~16px max */
}

.display-2 {
    line-height: 1.2;
}



/* HERO MEDIA */

/* CSS: mobile-first sizing + md sticky */
.hero-media{
  /* Mobile: shorter rectangle */
  height: 200px;        /* tweak to taste (200–280px) */
}

/* sm */
@media (min-width: 576px){
  .hero-media{ height: 320px; }
}

/* md and up: your tall/sticky hero */
@media (min-width: 992px){
  .hero-media{
    height: 789px;      /* your existing tall height */
  }
}

/* END */



/* Tall MEDIA */

/* CSS: mobile-first sizing + md sticky */
.tall-media{
  /* Mobile: shorter rectangle */
  height: 400px;        /* tweak to taste (200–280px) */
}

/* sm */
@media (min-width: 576px){
  .tall-media{ height: 620px; }
}

/* md and up: your tall/sticky hero */
@media (min-width: 992px){
  .tall-media{
    height: 100%;      /* your existing tall height */
  }
}

/* END */



img.img-charity {
    max-width: 56px !important;
}

img.charity-dark {
    max-width: 135px;
    max-height: 39px;
}

.rotate-335 {
    -webkit-transform: rotate(335deg) !important;
    transform: rotate(335deg) !important;
}

/* OUTSIDE DIV ratio ratio-1x1 img w-100 h-100 object-fit-cover */

.object-fit-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
}

.binded-item {
    position: fixed;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    visibility: hidden;
    opacity: 0;
    transition: opacity .35s ease-in-out, visibility .35s ease-in-out;
}

.binded-item.active {
    position: relative;
    visibility: visible;
    opacity: 1;
}

/* Heart Beat */

@keyframes rotate-cw {
  to { transform: rotate(360deg); }
}

@keyframes rotate-ccw {
  to { transform: rotate(-360deg); }
}

@keyframes swinging {
  0% { transform: rotate(10deg); }
  50% { transform: rotate(-5deg); }
  100% { transform: rotate(10deg); }
}

@keyframes heartbeat {
  0%,
  40%,
  80%,
  100% { transform: scale(.8); }
  20%,
  60% { transform: scale(1); }
}
.heartbeat {
  animation: heartbeat 1.4s infinite;
}

@keyframes blinking {
  from { opacity: 0; }
}
.blinking {
  animation: blinking 1s infinite;
}

/* FORMS GRAVITY FORCE */

.gform_wrapper .gfield input, .gform_wrapper .gfield textarea {
    min-height: calc(1.6em + 1.57rem + 2px) !important;
    padding: 0.785rem 1.125rem !important;
    font-size: 1rem !important;
    border-radius: 0.5rem !important;
    line-height: 1.6 !important;
    border: 1px solid #888a92 !important;
}

.gform_wrapper .gchoice input {
    padding: 2px 10px !important;
    height: auto !important;
    min-height: auto !important;
    border-radius: 5px !important;
}

.gfield_label, label.gfield_label.gform-field-label {
    font-weight: 600 !important;
    font-size: 1rem !important;
    margin-bottom: 0.3125rem;
}

.gform_wrapper input:focus {
    color: #565973 !important;
    border-color: rgb(85 104 98 / 35%) !important;
    box-shadow: inset 0 0 0 transparent, 0 0.5rem 1.125rem -0.5rem rgb(56 86 93 / 20%) !important;
    outline: 0 !important;
}

.gform_wrapper textarea:focus {
    outline: 0;
}

/* Footer CTA Home Form */

.footer-cta-form input#gform_submit_button_2 {
    margin: 0 auto;
}

.footer-cta-form-circle {
  width: 480px;
  height: 480px;
  right: -290px;
  top: 140px;
  z-index: 0;
  pointer-events: none;
}

@media (max-width: 1200px) {
    .footer-cta-form-circle {
        right: -356px;
    }
}

@media (max-width: 1050px) {
  .footer-cta-form-circle {
    display: none;
  }
}

.footer-cta-bg {
  height: 65%; /* XS default */
}

/* SM */
@media (min-width: 500px) {
  .footer-cta-bg {
    height: 61%;
  }
}

/* SM */
@media (min-width: 600px) {
  .footer-cta-bg {
    height: 57%;
  }
}

/* MD */
@media (min-width: 768px) {
  .footer-cta-bg {
    height: 55%;
  }
}

/* LG+ */
@media (min-width: 992px) {
  .footer-cta-bg {
    height: 989px;
  }
}

/* Contact US Form */

p.gform_required_legend {
    display: none;
}

input#gform_submit_button_1 {
    background: #00aaee;
    color: #FFF;
    font-size: 1rem;
    padding: 1.05rem 2rem;
    border-radius: 0.5rem;
    font-weight: 600;
    border: 1px solid #0095d1;
}

input#gform_submit_button_1:hover {
    background: #0095d1;
    border-color: #0083b8;
    color: #fff;
}

/* Free Estimate From */

input#gform_submit_button_2 {
    background: #00aaee;
    color: #fff;
    font-size: 1rem;
    padding: 1.35rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 900;
    border: 1px solid #0095d1;
    display: inline-block;
    text-shadow: 0px 2px 2px #5096c5;
}

input#gform_submit_button_2:hover {
    background: #0095d1;
    border-color: #0083b8;
    color: #fff;
}


/* List Group */

.list-group-borderless .list-group-item {
    border: none;
}



/* Accordion */

#faq button.accordion-button {
    letter-spacing: -0.01em;
    font-size: 1.06rem;
    font-weight: 600;
}

.accordion .accordion-item {
    color: var(--si-body-color);
}

.accordion .accordion-button {
    text-align: left;
}

.accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: var(--si-accordion-active-bg);
    -webkit-box-shadow: inset 0 calc(-1 * var(--si-accordion-border-width)) 0 var(--si-accordion-border-color);
    box-shadow: inset 0 calc(-1 * var(--si-accordion-border-width)) 0 var(--si-accordion-border-color);
}

.accordion.accordion-border-start .accordion-button {
    background-color: transparent !important;
    color: var(--si-gray-900);
    font-size: 20px;
    box-shadow: none;
    font-weight: 600 !important;
}

.accordion.accordion-border-start .accordion-button .heading-icon {
    background-color: var(--si-body-bg);
    color: var(--si-gray-900);
    width: 2.6rem;
    height: 2.6rem;
    line-height: 2.6rem;
    text-align: center;
    border-radius: 6px;
    margin-right: 15px;
    font-size: 1.3rem;
    font-weight: 500;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.accordion.accordion-border-start .accordion-item {
    border: 2.5px solid transparent;
    background-color: #e9f0f09c;
    border-radius: 10px;
    padding: 0;
    position: relative;
    overflow: hidden;
}

.accordion.accordion-border-start .accordion-button[aria-expanded=true] .heading-icon {
    background-color: var(--si-gray-900);
    color: var(--si-gray-100);
}

.accordion.accordion-border-start .accordion-item:has(.accordion-button[aria-expanded=true]) {
    border-left: 2.5px solid var(--si-primary);
}

.accordion.accordion-border-start .accordion-body {
    padding-left: 5rem;
}

.accordion-body {
    padding: var(--si-accordion-body-padding-y) var(--si-accordion-body-padding-x);
}

/* end accordion */


/* Accordion Icon */

.accordion-icon .accordion-item {
    color: var(--si-accordion-color);
    background-color: transparent;
    border: none;
}

.accordion.accordion-icon .accordion-header .accordion-button {
    background: transparent;
    font-size: inherit;
    border: none;
    padding-right: 2rem;
}

.accordion.accordion-icon .accordion-header .accordion-button:before {
    content: "";
    background: var(--bs-gray-800) !important;
    width: 10px;
    height: 2px;
    display: block;
    position: absolute;
    top: 47%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
    z-index: 9;
}

.accordion.accordion-icon .accordion-header .accordion-button[aria-expanded=true]:before {
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
}

.accordion.accordion-icon-start .accordion-header .accordion-button:before {
    content: "";
    left: 0 !important;
    right: auto;
    width: 15px;
    height: 2px;
    background: -webkit-gradient(linear, left top, left bottom, from(#543DE7), to(#7F39F8)) !important;
    background: linear-gradient(180deg, #438781 0%, #26afa3 100%) !important;
}

.accordion.accordion-icon .accordion-header .accordion-button[aria-expanded=false]:after {
    -webkit-transform: rotateZ(267deg);
    transform: rotateZ(267deg);
}

.accordion.accordion-icon .accordion-header .accordion-button:after {
    content: "";
    background: var(--bs-gray-800) !important;
    width: 10px;
    height: 2px;
    display: block;
    position: absolute;
    top: 47%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
    z-index: 9;
}

.accordion.accordion-icon-start .accordion-header .accordion-button:after {
    content: "";
    left: 0 !important;
    right: auto;
    width: 15px;
    height: 2px;
    background: -webkit-gradient(linear, left top, left bottom, from(#543DE7), to(#7F39F8)) !important;
    background: linear-gradient(180deg, #438781 0%, #3fb7ad 100%) !important;
    border-radius: 0;
}



/* Accordion ALT  - Dark BG */

.accordion-alt button.accordion-button {
    background: 0 0;
    color: #fff;
    font-size: 1.3rem;
    padding-left: 0;
    padding-right: 0;
}

.accordion-alt .accordion-item {
    background: 0 0;
    border: none;
}

.accordion-alt .accordion-button:not(.collapsed) {
    color: var(--si-accordion-btn-icon-box-active-bg);
    box-shadow: none;
}

.accordion-alt .accordion-body {
    color: #ffffffb3;
    padding-left: 0;
}

.accordion-alt .accordion-body strong {
    color: #fff;
}





/* ICONS */

.icon-xxl {
    width: 7rem;
    height: 7rem;
    line-height: 7rem;
    text-align: center;
    font-size: 2.5rem;
}

.icon-xl {
    width: 4.6875rem;
    height: 4.6875rem;
    line-height: 4.5rem;
    text-align: center;
    font-size: 1.9rem;
}

.icon-lg {
    width: 3.5rem;
    height: 3.5rem;
    line-height: 3.5rem;
    text-align: center;
    font-size: 1.2rem;
}

.icon-md {
    width: 2.6rem;
    height: 2.6rem;
    line-height: 2.6rem;
    text-align: center;
    font-size: 0.8rem;
}




/* After Added from Furniture */


/* Height */

.h-100px {
    height: 100px !important;
}

.h-150px {
    height: 150px;
}

.h-200px {
    height: 200px !important;
}

@media (min-width: 576px) {
    .h-sm-200px {
        height: 200px !important;
    }
}

@media (min-width: 576px) {
    .h-sm-300px {
        height: 300px !important;
    }
}

/* Width */

.mw-50 {
	max-width: 50px;
}
.mw-100 {
	max-width: 100px;
}
.mw-150 {
	max-width: 150px;
}
.mw-200 {
	max-width: 200px;
}
.mw-250 {
	max-width: 250px;
}
.mw-300 {
	max-width: 300px;
}
.mw-350 {
	max-width: 350px;
}
.mw-400 {
	max-width: 400px;
}
.mw-450 {
	max-width: 450px;
}
.mw-500 {
	max-width: 500px;
}
.mw-550 {
    max-width: 550px;
}
.mw-600 {
	max-width: 600px;
}
.mw-650 {
	max-width: 650px;
}
.mw-700 {
	max-width: 700px;
}
.mw-750 {
	max-width: 750px;
}
.mw-800 {
	max-width: 800px;
}
.mw-850 {
	max-width: 850px;
}
.mw-900 {
	max-width: 900px;
}
.mw-950 {
	max-width: 950px;
}

.max-width-1550 {
    max-width: 1550px;
    margin-right: auto;
    margin-left: auto;
}

/* WWT Layout */

.h-adapt {
    height: 58%;
}

.h-500px {
    height: 955px !important;
}

.h-600px {
    height: 500px !important;
}




.inner-container {
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 992px) {
    .d-lg-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
    }
}

@media (min-width: 576px) {
    .d-sm-block {
        display: block !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-block {
        display: block !important;
    }
}




/* NAV Links Animate */

.nav.nav-link-hover-underline .nav-link:hover .nav-link-text {
    opacity: 100%;
    background-size: 100% 6%;
}

.nav.nav-link-hover-underline .nav-link .nav-link-text {
    color: #c04321 !important;
    line-height: 1.8;
    opacity: 50%;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    position: relative;
    display: inline-block;
    /*background: -webkit-gradient(linear, left top, right top, from(#c04321), to(#c04321);*/
    background: linear-gradient(to right, #c04321 0%, #c04321 100%);
    background-size: 0px 6%;
    background-repeat: no-repeat;
    background-position: left 100%;
}

/* Footer Nav Links */

#footer-links a.nav-link {
    color: rgba(255, 255, 255, .9);
}

#footer-links a.nav-link:hover {
    color: var(--si-nav-link-hover-color);
    color: #00aaee;
}



/* NAV PILLS - May be from the tabber not used */

.nav-pills-primary-grad .nav-link:hover .nav-bg-primary-grad, .nav-pills-primary-grad .nav-link.active .nav-bg-primary-grad {
    opacity: 100% !important;
}
.nav-pills-primary-grad .nav-link .nav-bg-primary-grad {
    background: -webkit-gradient(linear, left top, left bottom, from(#543DE7), to(#7F39F8));
    background: linear-gradient(180deg, #543DE7 0%, #7F39F8 100%);
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

/* May not be needed - see related items */
*, *::before, *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.nav-pills-primary-grad .nav-link:hover, .nav-pills-primary-grad .nav-link.active {
    color: #fff;
}
.nav-pills-primary-grad .nav-link {
    position: relative;
    overflow: hidden;
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 1rem !important;
    color: #141727;
    background-color: #ffffff80;
    font-weight: 500;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.nav-pills .nav-link {
    cursor: pointer;
    padding: 0.5rem 1rem;
    color: var(--si-body-color);
    white-space: nowrap;
}
.nav-pills .nav-link:hover {
    color: var(--si-primary);
}
.nav-pills .nav-link.active:hover {
    color: #fff;
}

.nav-pills-primary-grad .nav-link .nav-link-content {
    z-index: 9;
    position: relative;
}



/* Cards */

.card-content-hover .hover-content {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 9;
    width: 100%;
    padding: 40px;
    opacity: 0;
    -webkit-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
    overflow: hidden;
    background: #2fc5cd;
    height: 100%;
}

.card-content-hover:hover .hover-content {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
    bottom: 0;
}

.card-content-hover:hover {
    background: #2fc5cd !important;
    opacity: 1;
}

.card-bg-grad-hover {
    overflow: hidden;
}

.card-hover:hover .btn i.bx.bx-right-arrow-alt, .card-hover:hover .menu-button>a.nav-link i.bx.bx-right-arrow-alt {
    color: inherit;
    opacity: 1;
    position: relative;
    bottom: 0px;
    left: 3px;
}



/* Colors */

path.fill-body {
    fill: #fff !important;
}

.fill-body {
    fill: var(--si-body-bg) !important;
}

.alert-success {
    --si-alert-color: #2c5551;
    --si-alert-bg: #43878117;
    --si-alert-border-color: #438781;
}

.border-primary-bright {
    border-color: #2fc5cd;
}

.bg-blur {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}


/* =====================================================
   ACCENT (Brand Cyan)
===================================================== */

.bg-accent { background-color: #00aaee; }
.text-accent { color: #00aaee; }
.border-accent { border-color: #00aaee; }

/* Text Soft Primary */
.text-primary {
   /* color: #4ea0d8 !important; */
}

/* =====================================================
   DARK FOUNDATION SCALE
   (Primary structural colors)
===================================================== */

/* Deepest dark – main headers, nav, footer */
.bg-ink { background-color: #121720; }
.text-ink { color: #121720; }

/* Primary dark surface – cards, dark sections */
.bg-navy { background-color: #161b25 !important; }
.text-navy { color: #161b25; }

/* Slightly lighter dark – dividers, layered surfaces */
.bg-navy-soft { background-color: #222934; }
.text-navy-soft { color: #222934; }

/* Optional alternate dark tone */
.bg-navy-alt { background-color: #202933; }
.text-navy-alt { color: #202933; }

/* Smoke */
.bg-smoke { background-color: #4a515e; }
.text-smoke { color: #4a515e; }


/* =====================================================
   LIGHT / SURFACE SCALE
===================================================== */

/* Soft white background (clean modern section bg) */
.bg-secondary { background-color: #f7f9fb; }
.text-secondary { color: #f7f9fb; }

/* Soft neutral background fill */
.bg-mist { background-color: #b5b7ca; }
.text-mist { color: #b5b7ca; }

/* Warm neutral */
.bg-neutral { background-color: #b0afad; }
.text-neutral { color: #b0afad; }

.bg-charcoal { background-color: #bcbdba; }
.text-charcoal { color: #bcbdba; }

.bg-faded-charcoal {
    background-color: #ddd;
}

/* =====================================================
   TEXT UTILITIES
===================================================== */

/* Default body text on light backgrounds */
.text-body { color: #121720; }

/* Muted paragraph / secondary text */
.text-muted { color: #4a515e; }

/* Dark divider (for dark sections) */
.border-navy-soft { border-color: #222934; }






/* Button Color */

.btn-dark:hover {
    background-color: var(--si-primary) !important;
    border-color: var(--si-primary) !important;
}

.btn-primary-grad {
    color: #fff;
    background: -webkit-gradient(linear, left top, right top, from(#438781), color-stop(51%, #000000), to(#6bb67c));
    background: linear-gradient(to right, #00aaee 0%, #35b9a9 51%, #2f9eb9 100%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-size: 200% auto;
    border: 0;
    line-height: 1.62;
}

.btn-primary-grad:hover {
    color: #fff;
    background: -webkit-gradient(linear, left top, right top, from(#2dafa3), color-stop(0, #2dafa3), to(#00aaee));
    background: linear-gradient(to left, #00aaee 0%, #2dafa3 100%);
}

.btn-secondary-grad {
    color: #fff;
    background: -webkit-gradient(linear, left top, right top, from(#7F39F8), color-stop(51%, #543DE7), to(#7F39F8));
    background: linear-gradient(to right, #f839c7 0%, #2fc5cd 51%, #7a489a 100%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-size: 200% auto;
    border: 0;
    line-height: 1.62;
}

/* Background Color */

.bg-faded-primary-2 {
    background-color: rgb(253 244 222) !important;
}

.bg-yellow {
    background-color: #f5bf54 !important;
}

.bg-dark {
    --si-bg-opacity: 1;
    background-color: #0b0f19 !important;
    background-color: rgba(var(--si-dark-rgb), var(--si-bg-opacity)) !important;
}

.bg-exp {
    background-color: #ffdaa1;
}

.bg-exp-gradient {
    background: linear-gradient(102deg, #ffd79a 0%, #f8e0c8 80.43%);
}

.bg-panel {
    background-color: #fdeecc;
}

.bg-panel-2 {
    background-color: #f6ebd3;
}

.bg-faded-panel {
    background: #fff9ec;
}

/* XS-only override for specific panels */
@media (max-width: 575.98px) {
  .merge-panel-xs.bg-faded-panel {
    background: transparent; /* or none */
  }
}

.bg-panel-hue {
    background: #ffe9c6;
}

.text-panel {
    color: #171312;
}

.bg-smoke {
    background: #4a515e;
}

.bg-smokey {
	background: #2f2e2e;
}

.bg-rust {
    background: #c04323;
}

.text-success {
    color: #66a07b !important;
}

.bg-faded-success {
    background-color: rgb(87 171 118 / 12%) !important;
}

.bg-faded-secondary {
    --bs-bg-opacity: 1;
    background-color: #f7b5291f !important;
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: #4387821f !important;
}

.bg-secondary-grad {
    background: linear-gradient(90deg, rgb(72 167 102 / 15%) 0%, rgb(243 252 191 / 15%) 51%, rgb(243 203 149 / 34%) 100%);
}

.bg-gradient-pruple-fade {
    background: -webkit-gradient(linear, left top, right top, from(rgba(240, 150, 255, 0.15)), color-stop(51%, rgba(191, 200, 252, 0.15)), to(rgba(187, 148, 255, 0.15)));
    background: linear-gradient(90deg, rgba(240, 150, 255, 0.15) 0%, rgba(191, 200, 252, 0.15) 51%, rgba(187, 148, 255, 0.15) 100%);
}


.bg-gradient-purple-translucent {
    background: linear-gradient(180deg, rgba(46, 197, 205, 0) 0%, rgb(124 46 205 / 60%) 120%) !important;
}

/* Border Color */

.border-comic {
    border: 3px outset #0a0601;
}

/* XS-only override for specific panels */
@media (max-width: 575.98px) {
  .merge-panel-xs.border-comic {
    border: 0;
  }
}

.border-faded-primary {
    border-color: rgb(160 125 48 / 35%) !important;
}

.border-primary {
    border-color: rgba(68, 140, 116, 0.35) !important;
}

/* Text Color */

.text-army {
    color: #638649;
}

.deep-charcoal {
  color: #121212;
}

.cool-gray {
  color: #6A6A6A;
}

.text-pink {
    color: #ff6399;
}

.text-purple {
    color: #893efb;
}

.text-gray-light {
    color: #c4c5c7;
}

.text-gradient {
    display: table;
    background: -webkit-linear-gradient(0deg, #4cd3d4, #58a7d7, #ee53f4);
    background: -webkit-linear-gradient(27deg, #ffaf00, #f33a05);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-box-decoration-break: clone;
}

.text-gradient-primary {
    background: linear-gradient(to right, #448c74, #000000);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


.icon-gradient-primary {
    background: linear-gradient(to right, #49bb93, #499f7f);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}



/* Overlay Opacity Blur */

.bg-overlay {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}


.opacity-1 {
    opacity: 0.1 !important;
}
.opacity-2 {
    opacity: 0.2 !important;
}
.opacity-3 {
    opacity: 0.3 !important;
}
.opacity-6 {
    opacity: 0.6 !important;
}



.blur-7 {
    -webkit-filter: blur(2rem) !important;
    filter: blur(2rem) !important;
}
.blur-8 {
    -webkit-filter: blur(5rem) !important;
    filter: blur(5rem) !important;
}

.blur-9 {
    -webkit-filter: blur(9rem) !important;
    filter: blur(9rem) !important;
}




/* Extra Padding Margin Classes */

.pt-overlap {
    padding-top: 165px !important;
}

.py-xl-6 {
        padding-top: 6rem !important;
        padding-bottom: 6rem !important;
}

.pt-xl-6 {
        padding-top: 6rem !important;
}

.pb-xl-6 {
        padding-bottom: 6rem !important;
}

@media (min-width: 992px) {
    .pe-lg-6 {
        padding-right: 4.5rem !important;
    }
}

@media (min-width: 1200px) {
    .ps-xl-6 {
        padding-left: 4.5rem !important;
    }
}

.py-xl-7 {
        padding-top: 7rem !important;
        padding-bottom: 7rem !important;
}

.pt-xl-7 {
        padding-top: 7rem !important;
}

.pb-xl-7 {
        padding-bottom: 7rem !important;
}

@media (min-width: 1200px) {
    .pe-xl-7 {
        padding-right: 6rem !important;
    }
}

.pb-8 {
    padding-bottom: 8rem !important;
}

.py-xl-8 {
        padding-top: 8rem !important;
        padding-bottom: 8rem !important;
}

.pt-xl-8 {
        padding-top: 8rem !important;
}

.pb-xl-8 {
        padding-bottom: 8rem !important;
}

@media (min-width: 1200px) {
    .pt-xl-9 {
        padding-top: 11rem !important;
    }
}

@media (min-width: 1200px) {
    .py-xl-9 {
        padding-top: 11rem !important;
        padding-bottom: 11rem !important;
    }
}

@media (min-width: 1200px) {
    .pb-xl-9 {
        padding-bottom: 11rem !important;
    }
}


@media (min-width: 1200px) {
    .mx-xl-5 {
        margin-right: 3rem !important;
        margin-left: 3rem !important;
    }
}

.mt-n6 {
    margin-top: -4.5rem !important;
}

.ms-n6 {
    margin-left: -4.5rem !important;
}

.mt-n7 {
    margin-top: -6rem !important;
}

@media (min-width: 1200px) {
    .mt-xl-n7 {
        margin-top: -6rem !important;
    }
}

.mt-8 {
    margin-top: 8rem !important;
}

.mb-8 {
    margin-bottom: 8rem !important;
}

.mt-n8 {
    margin-top: -8rem !important;
}

@media (min-width: 768px) {
    .mt-md-n8 {
        margin-top: -8rem !important;
    }
}

.mt-n9 {
    margin-top: -11rem !important;
}

@media (min-width: 992px) {
    .mt-lg-n9 {
        margin-top: -11rem !important;
    }
}

.mb-n9 {
    margin-bottom: -11rem !important;
}

@media (min-width: 992px) {
    .mb-lg-n9 {
        margin-bottom: -11rem !important;
    }
}

@media (min-width: 1400px) {
    .ms-xxl-9 {
        margin-left: 11rem !important;
    }
}


/* Translate */

.translate-middle-x {
    -webkit-transform: translateX(-50%) !important;
    transform: translateX(-50%) !important;
}

.translate-middle {
    -webkit-transform: translate(-50%, -50%) !important;
    transform: translate(-50%, -50%) !important;
}












/* ====== Slideout Togglers - PF City Search - PF Upfront Price ====== */

.slideout {
    visibility: hidden;
    width: 0;
    z-index: 130;
    overflow-x: hidden;
    transition: .4s;
    box-shadow: -3px -3px 6px rgba(0, 0, 0, .125);
}

.slideout-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    z-index: 120;
    display: none;
}

.slideout-inner {
    min-width: 370px;
    padding-top: 100px;
    padding-bottom: 120px;
}

@media (min-width: 1056px) {
    .slideout-inner {
        padding-top: 120px;
    }
}

/* ====== Locations Plugin Styles (But could be general if we use the same scroll box - also in PHL plugin styles) ======= */

/* Related items Scroller */

.scroll-container {
    overflow: hidden;
}

.scroll-container-inner {
    margin: 0 0 0 -16px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    overflow-x: auto;
}

@media (min-width: 1200px) {
    .scroll-container-inner {
        margin: 0 -24px;
    }
}

.scroll-box {
    flex-shrink: 0;
    width: 185px;
    margin: 0 16px;
    padding-bottom: .75rem;
}

@media (min-width: 768px) {
    .scroll-box {
        width: 220px;
    }
}

@media (min-width: 992px) {
    .scroll-box {
        width: 240px;
    }
}

@media (min-width: 1200px) {
    .scroll-box {
        /*width: 260px;*/
        width: 310px;
        margin: 0 24px;
    }
}

.scroll-box-img.rounded-circle {
    overflow: hidden;
}

/* .scroll-box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
} */

.scroll-box-img {
    height: 197px;
    width: 197px;
    margin-bottom: 2rem;
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
}

@media (min-width: 768px) {
    .scroll-box-img {
        height: 220px;
        width: 220px;
    }
}

@media (min-width: 992px) {
    .scroll-box-img {
        height: 240px;
        width: 240px;
    }
}

@media (min-width: 1200px) {
    .scroll-box-img {
        height: 310px;
        /*width: 260px;*/
        width: 310px;
    }
}

/* What We Take Hero Slider */


  #heroThumbL, #heroThumbR { overflow: hidden; }
  .swiper-3d .swiper-slide-shadow { display:none !important; }
  #heroMain img { display:block; width:auto; height:auto; max-height: 400px; margin: 0 auto; }
  #heroThumbL img, #heroThumbR img { display:block; width:100%; height:auto; }
  .position-relative.user-select-none { width: 262px;height: 262px;align-content: center; }



/* Projects portfolio Styles */

.case-client-logo-card {
  min-width: 110px;
  min-height: 88px;
  max-width: 180px;
}

.case-client-logo {
  display: block;
  max-width: 120px;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
}

#projectGalleryGrid .gallery-item img {
  transition: transform 0.3s ease;
}

#projectGalleryGrid .gallery-item:hover img {
  transform: scale(1.03);
}

#projectGalleryGrid .gallery-item {
  cursor: pointer;
}

#projectGalleryModal .swiper-button-prev,
#projectGalleryModal .swiper-button-next {
  width: 48px;
  height: 48px;
}

#projectGalleryModal .swiper-button-prev:after,
#projectGalleryModal .swiper-button-next:after {
  font-size: 20px;
  font-weight: 700;
}

#projectGalleryModal .swiper-pagination-bullet {
  background: #fff;
  opacity: .5;
}

#projectGalleryModal .swiper-pagination-bullet-active {
  opacity: 1;
}
	
#projectGalleryModal {
  --bs-modal-bg: #000;
  --bs-modal-border-color: transparent;
  --bs-modal-border-width: 0;
  --bs-modal-padding: 0;
  --bs-modal-margin: 0.75rem;
  --bs-modal-color: #fff;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: .88;
}

#projectGalleryModal .modal-dialog {
  max-width: 1100px;
}

#projectGalleryModal .modal-content,
#projectGalleryModal .modal-body,
#projectGalleryModal .swiper,
#projectGalleryModal .swiper-wrapper,
#projectGalleryModal .swiper-slide {
  background: #000;
}

#projectGalleryModal .modal-content {
  border-radius: 0;
  overflow: hidden;
}

#projectGalleryModal .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 78vh;
}

#projectGalleryModal .swiper-slide img {
  display: block;
  max-width: 100%;
  max-height: 82vh;
  width: auto;
  height: auto;
  object-fit: contain;
}

#projectGalleryModal .swiper-button-prev,
#projectGalleryModal .swiper-button-next {
  width: 52px;
  height: 52px;
  color: #111;
  background: rgba(255,255,255,.92);
  border-radius: 999px;
}

#projectGalleryModal .swiper-button-prev:after,
#projectGalleryModal .swiper-button-next:after {
  font-size: 20px;
  font-weight: 700;
}

#projectGalleryModal .swiper-pagination {
  position: absolute;
  bottom: 18px !important;
}

#projectGalleryModal .swiper-pagination-bullet {
  background: #fff;
  opacity: .45;
}

#projectGalleryModal .swiper-pagination-bullet-active {
  opacity: 1;
}

#projectGalleryModal .btn-close {
  opacity: 1;
}





/* Footer menu icons (Boxicons) */
#footer-links .nav-item.menu-icon-envelope > a::before {
  font-family: "boxicons";
  content: "\ed9f"; /* envelope icon */
  font-size: 1.125rem;
  margin-right: 0.5rem;
  vertical-align: middle;
  display: inline-block;
  line-height: 0;
}

#footer-links .nav-item.menu-icon-user > a::before {
  font-family: "boxicons";
  content: "\eee8"; /* user-pin icon */
  font-size: 1.125rem;
  margin-right: 0.5rem;
  vertical-align: middle;
  line-height: 0;
}
