/* Base project styles */
html { scroll-padding-top: 80px; }
.object-fit-cover { object-fit: cover; }
.rounded-4 { border-radius: 1rem !important; }
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important; }

/* Remove focus ring for nav links (keep accessibility elsewhere) */
.nav-link:focus, .nav-link:focus-visible { outline: 0 !important; box-shadow: none !important; }

/* Navbar toggler focus cleanup */
.navbar-toggler,
.navbar-toggler:focus,
.navbar-toggler:focus-visible { outline: 0 !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent; }

/* nav-link focus cleanup */
.nav-link:focus, .nav-link:focus-visible { outline: 0 !important; box-shadow: none !important; }

  svg:not([data-critical]) {
    visibility: visible;
  }

  .navbar-collapse {
  visibility: visible !important;
}

/* LOGO */
.main-logo {
    height: 100%;
    max-height: 45px;
    object-fit: contain;
}
/* LOGO - END */


.checkmark-1 {
        display: inline;
    margin-right: 10px;
    width: 30px;
    height: 50px;
    margin-top: -3px
}

.form-select {
  height: 58px;
  color: #818080;
  font-size: 17px;
  font-weight: 400;
}

.swiper-continous {
--swiper-wrapper-transition-timing-function: linear !important;
}
/* ////// */
/* HEADER */
/* ////// */

.header-2 {
    margin-top: 0 !important;
}
.header-2 .hamburger-inner, .header-2 .hamburger-inner::before, .header-2 .hamburger-inner::after {
    background-color: white !important;
}

.navbar-nav li a, header .call-now-text {
    color: rgb(26 26 26) !important;
}
@media screen and (max-width: 992px) {
    .navbar-nav li a, header .call-now-text {
    
    color: rgb(51, 51, 51) !important;
}
}
header .phone-svg svg {
    width: 26px;
    height: auto;
    display: inline;
    fill: white;
    margin-right: 5px;
    vertical-align: sub;
  animation: ringing 1.6s ease-in-out infinite; /* now 2s total */
  animation-delay: 2s;
  transform-origin: center center;
}

.clock-container {
    display: inline-flex;
    margin-top: 5px;
    padding: 8px 13px;
    border: 1px solid #d2d2d2;
    border-radius: 43px;
}

.open-light {
    background-color: #2ac90e;
    border-radius: 50px;
    position: relative;
    margin-left: 15px;
    margin-right: 15px;
    min-width: 10px !important;
    min-height: 10px !important;
    width: 10px !important;
    height: 10px !important;
    margin-top: 3px;
    display: block;
    animation: pulse 1s infinite;
}

.open-now-text {
    font-size: 17px;
    line-height: 1;
    font-weight: 600;
    color: #0f0f0f;
    white-space: nowrap;
}

#ct8, .open-now-text {
    font-size: 15px;
    line-height: 1;
    font-weight: 600;
    color: #0f0f0f;
    white-space: nowrap;
}

.pre-header-affiliation-img {
    max-width: 150px;
}

@media screen and (max-width: 1400px) {
    header .phone span {
        font-size: 17px !important;
        vertical-align: text-bottom;
    }

	header .container {
		max-width: 100%;
		/* background: white; */
	}
}

@media screen and (max-width: 1200px) {
    header .phone .call-now-text {
        display: none;
    }

    header .phone svg {
        max-width: 17px;
    }
    header .phone span {
        font-size: 15px !important;
        vertical-align: bottom;
    }
}

@media screen and (max-width: 992px) {

    .clock-container {
        margin-top:0px;
    }
    .pre-header-affiliation-container {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .pre-header-clock-container {
        display: none;
    }
}
@media screen and (max-width: 550px) {
    .header-phone-container {
        display: none !important;
    }
}
@media screen and (max-width: 500px) {
    .header-phone-container {
        /* display: none !important; */
    }
}

@media screen and (max-width: 400px) {
    
}

@media screen and (max-width: 992px) {
    .menu-bg {
        top: 70px !important;
        padding-top: 0 !important;
    }
}
/* //////////// */
/* HEADER - END */
/* //////////// */

@keyframes pulse {
  0% {
    transform: scale(1); /* Original size */
  }
  50% {
    transform: scale(1.1); /* Grows to 110% of original size */
  }
  100% {
    transform: scale(1); /* Returns to original size */
  }
}

@keyframes ringing {
  0%   { transform: rotate(0deg); }
  10%  { transform: rotate(20deg); }
  20%  { transform: rotate(-18deg); }
  30%  { transform: rotate(16deg); }
  40%  { transform: rotate(-14deg); }
  50%  { transform: rotate(12deg); }
  60%  { transform: rotate(-10deg); }
  70%  { transform: rotate(0deg); }
  80%  { transform: rotate(0deg); }
  90%  { transform: rotate(0deg); }
  95%  { transform: rotate(0deg); }   /* settle */
  100% { transform: rotate(0deg); }   /* hold still until loop restarts */
}




    #heartbeat { margin: 0 .25rem; animation: heartbeat .25s infinite alternate; }
    @keyframes heartbeat { to { transform: scale(1.2); } }

@media screen and (max-width: 768px) {
    .section-padding {
        padding-top: 15px;
        padding-bottom: 15px;
    }
}

.navbar-collapse.show + .header-phone-container {
    padding-bottom: 10px !important;
}

.warranty-section-1 .badge-logo-img {
    width: 60px;
    margin: 0 auto;
    margin-top: 30px;
}

.font-cormorant {
        font-family: 'Cormorant Garamond', 'Cormorant Fallback', serif !important;
}

.starburst-stars {
    display: inline-flex;
    white-space: nowrap;
    position: absolute;
    margin-left: 10px;
    top: 6px;
}

.starburst-stars svg {
        width: 26px !important;
    }
.starburst-stars svg {
    height: auto;
    position: relative;
    margin:  0;
    padding: 0;
    width: 12px;
}

.starburst-stars svg g {
    fill: #ffc107;
}

.container-custom-xl {
    max-width: 2100px;
    margin: 0 auto;
}

/* FOOTER */

.footer-2 .footer-logo {
    max-width: 110px !important;
}

/* END - FOOTER */

/* Noise BG effect */

   .noise-bg {
    z-index: 0;
    opacity: .18;
    pointer-events: none;
    mix-blend-mode: multiply;
    width: 100%;
    height: 100vh;
    position: absolute;
    inset: 0%;
    overflow: hidden;
}

.noise-bg .noise-bg-img-1 {
      z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0%;
  opacity: 0;
  animation: fadeIn 1s infinite;
}

.noise-bg .noise-bg-img-2 {
      z-index: 1;
  opacity: 1;
  object-fit: cover;
  transform-style: preserve-3d;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0%;
  transform: rotateX(0)rotateY(-180deg)rotateZ(0);
  animation: fadeOut 1s infinite;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* END - Noise BG effect */

/* MA Shape */

.ma-shape {
    overflow: hidden;
    position: absolute;
    left: 0;
    width: 100%;
    line-height: 0;
    direction: ltr
}

.ma-shape-top {
    top: -1px
}

.ma-shape-top:not([data-negative=false]) svg {
    z-index: -1
}

.ma-shape-bottom {
    bottom: -1px;
}

.ma-shape-bottom:not([data-negative=true]) svg {
    z-index: -1
}

.ma-shape[data-negative=false].ma-shape-bottom,.ma-shape[data-negative=true].ma-shape-top {
    transform: rotate(180deg);
}

.ma-shape svg {
    display: block;
    width: calc(300% + 1.3px);
    max-width: unset !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    height: 40px;
}

.cover-section-8 .ma-shape-bottom {
    bottom: -1px;
    z-index: 7;
    position: absolute;
}
.ma-shape .ma-shape-fill {
    fill: #fff;
    transform-origin: center;
    transform: rotateY(0deg)
}

.bg-line.leaf {
    background: repeating-linear-gradient(-55deg, rgba(255, 255, 255, 0) .8px, #7cb798 1.6px, #7cb798 3px, rgba(255, 255, 255, 0) 3.8px, rgba(255, 255, 255, 0) 10px)
}

.shape.rellax {
    position: absolute
}

.shape.rellax {
    z-index: 1;
}

.position-relative .shape.rellax+figure {
    position: relative;
    z-index: 2
}

.bg-pale-violet {
    background-color: #f0eaf6 !important
}

/* END - MA Shape */

.rounded img {
    border-radius: .4rem;
}

/* TITLES */
    .large-title, .large-title span {
    font-size: 3vw !important;
    letter-spacing: -0.5px;
    font-weight: 500;
    z-index: 2;
}
.large-title {
   
    line-height: 1.2;
    position: relative;
    margin-bottom: 20px;
    margin-top: 0;
}

.small-title {
   
font-weight: 400;
   
font-size: 1.6vw !important;
   
margin-bottom: 20px;
   
letter-spacing: -0.6px;
}


@media screen and (max-width: 992px) {
    .large-title {
        font-size: 30px !important;;
    }
    .small-title {
        font-size: 15px !important;;
    }
}

@media screen and (max-width: 768px) {
   
     .large-title, .large-title span {
        font-size: 29px !important;
        text-align: center;
        margin-bottom: 15px;
    }

    .small-title {
        font-size: 18px !important;
        text-align: center;
        margin-bottom: 15px;
    }

}
/* TITLES - END */

/* CUSTOM CONTAINERS */
.container-custom-l {
    width: 80%;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    margin-right: auto;
    margin-left: auto
}

@media screen and (max-width: 768px) {
    .why-service-1 .container-custom-l {
        width: 100%;
    }
}

/* CUSTOM CONTAINERS - END */

/* ============================================================
   GLOBAL CONTAINER WIDTH OVERRIDE
   Bootstrap caps .container at 1320px on xxl (1400px+). That feels
   cramped on modern 1440px+ displays — most marketing sites are at
   1500–1700px now. Bumping the xxl cap to 1640px widens every section
   that uses Bootstrap's .container without touching any markup.
   Smaller breakpoints (xs–xl) are intentionally left untouched so
   existing tablet/laptop layouts don't shift.
   ============================================================ */
@media (min-width: 1400px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1900px;
  }

  /* Header is intentionally narrower than the rest of the site so the
     nav/logo/phone don't drift too far apart on ultra-wide displays. */
  header .container,
  header .container-lg,
  header .container-md,
  header .container-sm,
  header .container-xl,
  header .container-xxl {
    max-width: 1500px;
  }
}