/* ===================================
   GLOBAL RESET
=================================== */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  overflow-x:clip;
  width:100%;
  max-width:100vw;
}

body{
  font-family:'Inter',sans-serif;
  overflow-x:clip;
  width:100%;
  max-width:100vw;
  position:relative;
  color:#1f2937;
  background:#ffffff;
}

h1,h2,h3,h4,h5,h6{
  font-family:'Poppins',sans-serif;
}

/* Prevent any flex/grid child from forcing the page wider than the
   viewport. This is the safety net for the navbar-overflow bug fix
   below (and protects against similar issues elsewhere). */
.flex,
[class*="flex"]{
  min-width:0;
}

img, svg{
  max-width:100%;
  height:auto;
}

/* ===================================
   NAVBAR TAMIL SUB-LABEL (overflow fix)
=================================== *
   Previously this label used pl-[58px]...pl-[150px] (padding-left)
   to visually align under the logo. Padding adds real box width, so
   on narrow screens the label + its padding exceeded the available
   width and pushed the whole navbar (and therefore the whole page)
   wider than the viewport -> horizontal scroll / content shifted
   right, exactly what showed up in the screenshot.

   Fix: use a transform instead of padding. A transform only shifts
   the element visually; it does NOT add to layout width, so it can
   never force the page to grow. Any leftover visual spill is safely
   clipped by overflow-x:hidden on html/body above.
*/
.navbar-tamil-label{
  display:inline-block;
  white-space:nowrap;
  transform:translateX(58px);
}

@media (min-width:640px){
  .navbar-tamil-label{ transform:translateX(78px); }
}

@media (min-width:768px){
  .navbar-tamil-label{ transform:translateX(110px); }
}

@media (min-width:1024px){
  .navbar-tamil-label{ transform:translateX(150px); }
}

/* ===================================
   COLORS
=================================== */

:root{
  --primary:#7A1F1F;
  --gold:#C79A52;
  --dark:#111111;
  --light:#FAFAFA;
  --text:#374151;
}

/* ===================================
   SECTION SPACING
=================================== */

.section-padding{
  padding:100px 0;
}

/* ===================================
   NAVBAR
=================================== */

.navbar-shadow{
  box-shadow:0 4px 20px rgba(0,0,0,.08);
  transition:.3s ease;
}

nav{
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100vw;
  z-index: 9999;
  overflow-x: hidden;
  overflow-y: visible;
}

/* Active Link Indicator */
.nav-link.active{
  color:#7A1F1F;
  font-weight:700;
  position:relative;
}

.nav-link.active::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:3px;
  background:#C79A52;
  border-radius:20px;
}
/* Mobile Nav Links */
.mobile-nav-link{
  padding:10px 0;
  transition:.3s;
}

.mobile-nav-link.active{
  color:#7A1F1F;
  font-weight:700;
  border-left:4px solid #C79A52;
  padding-left:12px;
}

/* ===================================
   BUTTONS
=================================== */

.btn-primary{
  transition:all .3s ease;
}

.btn-primary:hover{
  transform:translateY(-3px);
}

.btn-outline{
  transition:all .3s ease;
}

.btn-outline:hover{
  background:#ffffff;
  color:#111111;
}

/* ===================================
   HOVER EFFECTS
=================================== */

.hover-lift{
  transition:all .35s ease;
}

.hover-lift:hover{
  transform:translateY(-8px);
}

.hover-lift{
  transition:.3s;
}

.hover-lift:hover{
  transform:translateY(-8px);
}

/* Service Cards */

.service-card{
  transition:all .3s ease;
}

.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 15px 35px rgba(0,0,0,.08);
}

/* ===================================
   IMAGE EFFECTS
=================================== */

.image-zoom{
  overflow:hidden;
}

.image-zoom img{
  transition:.5s ease;
}

.image-zoom:hover img{
  transform:scale(1.08);
}

/* ===================================
   HERO SECTION
=================================== */

.hero-overlay{
  background:rgba(0,0,0,.55);
}

/* ===================================
   CTA SECTION
=================================== */

.cta-section{
  background:linear-gradient(
    135deg,
    #7A1F1F,
    #5e1717
  );
}

.home-page .home-hero-shell{
  background:
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(250,245,240,0.98));
}

.home-page .home-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  text-transform:uppercase;
  letter-spacing:.25em;
  font-size:.82rem;
  font-weight:700;
  color:#C79A52;
}

.home-page .home-eyebrow::before{
  content:"";
  width:28px;
  height:1px;
  background:linear-gradient(90deg, rgba(199,154,82,.1), rgba(199,154,82,1));
}

.home-page .home-card,
.home-page .home-service-card,
.home-page .home-feature-card,
.home-page .home-portfolio-card,
.home-page .home-stat-card{
  border:1px solid #efe4d6;
  box-shadow:0 18px 40px rgba(17,17,17,.08);
  transition:transform .35s ease, box-shadow .35s ease;
}

.home-page .home-card:hover,
.home-page .home-service-card:hover,
.home-page .home-feature-card:hover,
.home-page .home-portfolio-card:hover,
.home-page .home-stat-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 48px rgba(17,17,17,.12);
}

.home-page .home-card,
.home-page .home-service-card,
.home-page .home-feature-card{
  background:linear-gradient(145deg, #ffffff 0%, #fffaf4 100%);
  border-radius:24px;
}

.home-page .home-stat-card{
  background:linear-gradient(145deg, #fffdfb 0%, #fffaf4 100%);
  border-radius:18px;
}

.home-page .home-portfolio-card{
  border-radius:24px;
  overflow:hidden;
  background:#fff;
}

.home-page .home-cta-panel{
  background:
    radial-gradient(circle at top left, rgba(199,154,82,.08), transparent 24%),
    linear-gradient(135deg, #7A1F1F 0%, #5c1717 55%, #3f0f0f 100%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 24px 50px rgba(0,0,0,.25);
}

.about-cta-section{
  background:
    radial-gradient(circle at top left, rgba(199, 154, 82, 0.08), transparent 20%),
    linear-gradient(135deg, #151515 0%, #0f0f0f 50%, #181818 100%);
}

.about-cta-panel{
  background:
    linear-gradient(135deg, rgba(122, 31, 31, 0.95), rgba(37, 18, 18, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35);
}

/* ===================================
   FOOTER
=================================== */

.footer-bg{
  background:linear-gradient(
    90deg,
    #111111 0%,
    #1b1b1b 50%,
    #111111 100%
  );
}

.footer-title{
  color:#C79A52;
  font-weight:600;
}

.footer-link{
  display:inline-block;
  transition:all .3s ease;
}

.footer-link:hover{
  color:#C79A52;
  padding-left:5px;
}

.footer-icon{
  transition:.3s ease;
}

.footer-icon:hover{
  color:#C79A52;
  transform:translateY(-3px);
}

.footer-divider{
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-logo{
  width:70px;
  height:auto;
}

.footer-text{
  color:#d1d5db;
  line-height:1.8;
}

.footer-bottom{
  background:#7A1F1F;
}

/* ===================================
   SCROLLBAR
=================================== */

::-webkit-scrollbar{
  width:8px;
}

::-webkit-scrollbar-track{
  background:#f3f4f6;
}

::-webkit-scrollbar-thumb{
  background:#7A1F1F;
  border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
  background:#5f1717;
}


/* ===================================
   ANIMATIONS
=================================== */

.float-animation{
  animation:float 3s ease-in-out infinite;
}

@keyframes float{

  0%,100%{
    transform:translateY(0);
  }

  50%{
    transform:translateY(-8px);
  }

}

.pulse-dot{
  animation:pulse 1.5s infinite;
}

@keyframes pulse{

  0%{
    transform:scale(1);
    opacity:1;
  }

  50%{
    transform:scale(1.2);
    opacity:.7;
  }

  100%{
    transform:scale(1);
    opacity:1;
  }

}

/* ===================================
   about page
=================================== */

.about-page section.py-24{
  padding-top:3rem;
  padding-bottom:3rem;
}

.about-page section.pt-32{
  padding-top:5rem;
  padding-bottom:3rem;
}

.about-page .about-hero-shell{
  background:
    linear-gradient(135deg, #ffffff 0%, #fffdf9 45%, #ffffff 100%);
}

.about-page .about-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:#C79A52;
  font-weight:700;
  font-size:.82rem;
}

.about-page .about-eyebrow::before{
  content:"";
  width:32px;
  height:1px;
  background:linear-gradient(90deg, rgba(199,154,82,.1), rgba(199,154,82,1));
}

.about-page .about-premium-card,
.about-page .about-feature-card,
.about-page .about-stat-box,
.about-page .about-grid-card{
  border:1px solid #efe4d6;
  box-shadow:0 18px 40px rgba(17,17,17,.08);
  transition:transform .35s ease, box-shadow .35s ease;
}

.about-page .about-premium-card:hover,
.about-page .about-feature-card:hover,
.about-page .about-stat-box:hover,
.about-page .about-grid-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 48px rgba(17,17,17,.12);
}

.about-page .about-premium-card{
  background:linear-gradient(145deg, #ffffff 0%, #fffaf4 100%);
  border-radius:28px;
}

.about-page .about-feature-card{
  background:linear-gradient(145deg, #ffffff 0%, #fffdfa 100%);
  border-radius:24px;
}

.about-page .about-stat-box{
  background:linear-gradient(145deg, #ffffff 0%, #fffaf5 100%);
  border-radius:24px;
}

.about-page .about-grid-card{
  background:linear-gradient(145deg, #ffffff 0%, #fffaf6 100%);
  border-radius:20px;
}

.about-page .about-icon-wrap{
  width:56px;
  height:56px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(122,31,31,.12), rgba(199,154,82,.12));
  color:#7A1F1F;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.about-page .about-subtle-text{
  color:#5b6472;
}

.stat-card{
  transition:all .3s ease;
}

.stat-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.leadership-card{
  transition:all .3s ease;
}

.leadership-card:hover{
  transform:translateY(-10px);
}

.industry-card{
  transition:all .3s ease;
}

.industry-card:hover{
  transform:translateY(-5px);
}

/* CTA GLOW */

.cta-glow{
  box-shadow:
  0 0 50px rgba(122,31,31,.25);
}

.image-zoom{
  overflow:hidden;
  border-radius:24px;
}

.image-zoom img{
  transition:transform .7s ease;
}

.image-zoom:hover img{
  transform:scale(1.05);
}


/* ===================================
   SERVICE PAGE
=================================== */

.service-page{
  background:#fff;
}

.service-page main{
  overflow-x:hidden;
}

.service-page section{
  padding-top:3rem;
  padding-bottom:3rem;
}

.service-page section.py-24,
.service-page section.pt-32,
.service-page section.pb-24{
  padding-top:3rem !important;
  padding-bottom:3rem !important;
}

.service-page section.pt-32{
  padding-top:4rem !important;
}

.service-page .pt-32{
  padding-top:4rem !important;
}

.service-page .pb-24{
  padding-bottom:2rem !important;
}

.service-page .mb-20,
.service-page .mb-16{
  margin-bottom:1.5rem !important;
}

/* Service Images */

.service-image{
  overflow:hidden;
  border-radius:24px;
}

.service-image img{
  transition:.7s ease;
}

.service-image:hover img{
  transform:scale(1.05);
}

/* Service Cards */

.service-card{
  transition:.3s ease;
}

.service-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

/* FAQ Accordion */

.faq-item{
  transition:.3s ease;
}

.faq-item:hover{
  border-color:#C79A52;
}

.faq-question{
  cursor:pointer;
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}

.faq-item.active .faq-answer{
  max-height:200px;
}

.faq-icon{
  transition:.3s ease;
}

.faq-item.active .faq-icon{
  transform:rotate(45deg);
}


/* CTA Cards */
.cta-card{
  transition:.4s ease;
}

.cta-card:hover{
  transform:translateY(-5px);
}

/* Services CTA */

.cta-card{
  transition:all .4s ease;
}

.cta-card:hover{
  transform:translateY(-5px);
}

/* ===================================
   Contact Page
=================================== */

/* Contact Cards */
.contact-card{
  transition:.3s ease;
}

.contact-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,.08);
  border-color:#C79A52;
}


/*  Why section Trust Cards */

.trust-card{
  transition:.3s ease;
}

.trust-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

/* Contact Form */

.contact-input{
  width:100%;
  padding:15px 16px;
  border:1px solid #ead9c2;
  border-radius:16px;
  outline:none;
  background:linear-gradient(145deg,#fff,#fffaf6);
  box-shadow:0 10px 24px rgba(122,31,31,0.06);
  color:#111827;
  transition:all .25s ease;
}

.contact-input:hover{
  border-color:#C79A52;
  box-shadow:0 14px 28px rgba(122,31,31,0.10);
}

.contact-input:focus{
  border-color:#7A1F1F;
  box-shadow:0 0 0 4px rgba(122,31,31,0.12), 0 14px 30px rgba(122,31,31,0.12);
  background:#fff;
}

.contact-input::placeholder{
  color:#6b7280;
}

.premium-form-card,
.premium-contact-panel{
  transition:transform .35s ease, box-shadow .35s ease;
}

.premium-form-card:hover,
.premium-contact-panel:hover{
  transform:translateY(-4px);
}

.premium-form-card:hover{
  box-shadow:0 28px 55px rgba(122,31,31,0.16);
}

.premium-contact-panel:hover{
  box-shadow:0 30px 60px rgba(17,17,17,0.22);
}

.premium-info-row{
  transition:transform .25s ease, border-color .25s ease, background-color .25s ease;
}

.premium-info-row:hover{
  transform:translateX(3px);
  border-color:rgba(199,154,82,0.45);
  background:rgba(255,255,255,0.10);
}

/* Map Section */

.map-panel{
  background:
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(255,245,233,0.98));
  border:1px solid rgba(199,154,82,0.35);
}

.map-panel::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:30px;
  padding:1px;
  background:linear-gradient(135deg, #7A1F1F, #C79A52, #7A1F1F);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite:exclude;
  pointer-events:none;
  opacity:.75;
}

.map-frame-wrap{
  position:relative;
  overflow:hidden;
  border-radius:24px;
}

.map-frame{
  width:100%;
  min-height:340px;
  height:420px;
  border:0;
  display:block;
  background:#fff;
}

.map-address-card{
  background:
    linear-gradient(145deg, #7A1F1F 0%, #5c1414 45%, #341010 100%);
  backdrop-filter: blur(8px);
}

@media (max-width: 768px){
  .map-frame{
    min-height:280px;
    height:340px;
  }
}

/* Contact CTA */

.contact-cta-card{
  box-shadow:
  0 25px 60px rgba(133, 14, 14, 0.12);
}


/* ===========================
   MOBILE MARQUEE
=========================== */

@media (max-width:768px){

.announcement-strip{

    padding:12px 0;

}

.announcement-content{

    gap:28px;

}

.announcement-content span{

    font-size:13px;

    white-space:nowrap;

}

.announcement-content i{

    font-size:12px;

}

.divider{

    width:6px;
    height:6px;

}

}

/* =========================
   FLOATING CONTACT BUTTONS
========================= */

.floating-contact{
  position:fixed;
  right: 18px;
  top:50%;
  margin-top:20px;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:10px;
  z-index:9999;
}

.floating-btn{

  width:48px;
  height:48px;

  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  color:#fff;

  font-size:18px;

  text-decoration:none;

  box-shadow:
      0 10px 22px rgba(0,0,0,.15);

  transition:all .3s ease;

}

/* Floating Button Hover Effect */
.floating-btn:hover{

  transform:translateY(-4px) scale(1.08);

  box-shadow:
      0 15px 30px rgba(0,0,0,.25);

}

.call-btn{
  background:#7A1F1F;
}

.whatsapp-btn{
  background:#25D366;
}

.facebook-btn{
  background:#1877F2;
}

.instagram-btn{

  background:linear-gradient(
    45deg,
    #F58529,
    #DD2A7B,
    #8134AF,
    #515BD4
  );

}

/* Responsive Adjustments for Floating Contact */
@media (max-width:768px){

  .floating-contact{
    right:12px;
    top:auto;
    bottom:18px;
    gap:8px;
    transform:none;
  }

  .floating-btn{
    width:40px;
    height:40px;
    font-size:16px;
    min-width:40px;
    min-height:40px;
  }

}

/* Floating Contact Animation */
.floating-btn{
    opacity:0;
    animation:popup .5s ease forwards;
}

.floating-btn:nth-child(1){
    animation-delay:.1s;
}

.floating-btn:nth-child(2){
    animation-delay:.2s;
}

.floating-btn:nth-child(3){
    animation-delay:.3s;
}

.floating-btn:nth-child(4){
    animation-delay:.4s;
}

@keyframes popup{

    from{
        opacity:0;
        transform:scale(.5);
    }

    to{
        opacity:1;
        transform:scale(1);
    }

}

/* ==========================================
            PREMIUM PRELOADER
========================================== */

#preloader{

    position:fixed;

    inset:0;

    width:100%;

    height:100vh;

    max-height:100vh;

    overflow:hidden;

    background:#0f0f0f;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

    transition:opacity .8s ease,
               visibility .8s ease;

}

#preloader.hide{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

.preloader-content{

    text-align:center;

    width:min(90%,650px);

}

.preloader-logo{

    width:180px;

    margin:auto;

    opacity:0;

    transform:scale(.8);

    animation:logoReveal .8s ease forwards;

}

.preloader-title{

    margin-top:30px;

    color:#C79A52;

    font-size:2.3rem;

    letter-spacing:6px;

    font-weight:500;

    text-transform:uppercase;

    opacity:0;

    animation:titleReveal .8s ease forwards;

    animation-delay:.5s;

}

.preloader-divider{

    margin:28px auto;

    width:220px;

    height:1px;

    position:relative;

    background:rgba(199,154,82,.25);

}

.preloader-divider span{

    position:absolute;

    left:50%;

    top:50%;

    width:12px;

    height:12px;

    transform:translate(-50%,-50%) rotate(45deg);

    background:#C79A52;

    box-shadow:

    0 0 12px rgba(199,154,82,.8);

}

.preloader-tagline{

    color:#f2f2f2;

    font-size:1.1rem;

    line-height:2;

    letter-spacing:3px;

    margin-bottom:50px;

    opacity:0;

    animation:titleReveal .8s ease forwards;

    animation-delay:.9s;

}

.loader{

    width:100%;

    height:8px;

    border:1px solid rgba(199,154,82,.35);

    border-radius:30px;

    overflow:hidden;

    background:rgba(255,255,255,.04);

}

.loader-fill{

    width:0;

    height:100%;

    border-radius:30px;

    background:linear-gradient(

    90deg,

    #C79A52,

    #f7d68f,

    #C79A52

    );

    box-shadow:

    0 0 20px rgba(199,154,82,.8);

    animation:loadingBar 1.8s linear forwards;

}

/* Animations */

@keyframes logoReveal{

from{

opacity:0;

transform:scale(.8);

}

to{

opacity:1;

transform:scale(1);

}

}

@keyframes titleReveal{

from{

opacity:0;

transform:translateY(25px);

}

to{

opacity:1;

transform:translateY(0);

}

}

@keyframes loadingBar{

to{

width:100%;

}

}

/* Responsive */

@media(max-width:768px){

.preloader-logo{

width:140px;

}

.preloader-title{

font-size:1.45rem;

letter-spacing:3px;

}

.preloader-tagline{

font-size:.95rem;

letter-spacing:2px;

}

.preloader-divider{

width:160px;

}

}

/* ==========================================
        PREMIUM SCROLL PROGRESS BAR
========================================== */

#progress-bar{

    position: fixed;

    top: 0;

    left: 0;

    width: 0;

    height: 5px;

    z-index: 99998;

    opacity: 0;

    transform: translateY(-5px);

    transition:
        width .08s linear,
        opacity .35s ease,
        transform .35s ease;

    background: linear-gradient(
        90deg,
        #7A1F1F 0%,
        #A84A3D 35%,
        #C79A52 70%,
        #F4D38A 100%
    );

    background-size: 200% 100%;

    box-shadow:
        0 0 12px rgba(199,154,82,.55),
        0 0 22px rgba(199,154,82,.25);

    animation: progressShine 3s linear infinite;

}

#progress-bar.active{

    opacity: 1;

    transform: translateY(0);

}

/* Premium Shine Animation */

@keyframes progressShine{

    0%{

        background-position: 0% 50%;

    }

    100%{

        background-position: 200% 50%;

    }

}

/*==================================================
        PREMIUM ANNOUNCEMENT STRIP
==================================================*/

.announcement-strip{

    width:100%;

    height:52px;

    background:#7A1F1F;

    overflow:hidden;

    position:relative;

    border-top:1px solid rgba(255,255,255,.08);

    border-bottom:1px solid rgba(255,255,255,.08);

}

.announcement-track{

    display:flex;

    width:max-content;

    height:100%;

    animation:marqueeMove 38s linear infinite;

    will-change:transform;

}

.announcement-strip:hover .announcement-track{

    animation-play-state:paused;

}

.announcement-content{

    display:flex;

    align-items:center;

    white-space:nowrap;

}

.announcement-content span{

    display:flex;

    align-items:center;

    gap:10px;

    color:#fff;

    font-size:.95rem;

    font-weight:600;

    letter-spacing:1.5px;

    text-transform:uppercase;

    padding:0 28px;

}

.announcement-content i{

    color:#C79A52;

    font-size:15px;

}

.divider{

    width:7px;

    height:7px;

    border-radius:50%;

    background:#C79A52;

    flex:none;

    margin:0 10px;

    opacity:.8;

}

@keyframes marqueeMove{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

/* Mobile */

@media(max-width:768px){

.announcement-strip{

height:46px;

}

.announcement-content span{

font-size:.75rem;

padding:0 18px;

letter-spacing:1px;

gap:8px;

}

.announcement-content i{

font-size:13px;

}

.divider{

width:5px;

height:5px;

margin:0 6px;

}

}

/*==========================================
        PREMIUM CUSTOM CURSOR
==========================================*/

/* Desktop devices only */
@media (pointer: fine){

    body{

        cursor:none;

    }

    #custom-cursor{

        position:fixed;

        width:18px;

        height:18px;

        border:2px solid #C79A52;

        border-radius:50%;

        pointer-events:none;

        transform:translate(-50%,-50%);

        z-index:999999;

        transition:

        width .25s ease,

        height .25s ease,

        border-color .25s ease,

        box-shadow .25s ease,

        background .25s ease;

    }

    .cursor-dot{

        position:absolute;

        top:50%;

        left:50%;

        width:4px;

        height:4px;

        background:#7A1F1F;

        border-radius:50%;

        transform:translate(-50%,-50%);

    }

    #custom-cursor.cursor-hover{

        width:28px;

        height:28px;

        background:rgba(122,31,31,.15);

        box-shadow:

        0 0 18px rgba(199,154,82,.45);

    }

}

/* ==========================================
      PRELOADER MOBILE OPTIMIZATION
========================================== */

@media (max-width:768px){

  .preloader-content{
    width:90%;
    max-width:340px;
    padding:0 15px;
    text-align:center;
  }

  .preloader-logo{
    width:120px;
  }

  .preloader-title{
    font-size:1.3rem;
    letter-spacing:2px;
    line-height:1.5;
    margin-top:20px;
  }

  .preloader-divider{
    width:140px;
    margin:20px auto;
  }

  .preloader-divider span{
    width:10px;
    height:10px;
  }

  .preloader-tagline{
    font-size:.9rem;
    letter-spacing:1px;
    line-height:1.7;
    margin-bottom:35px;
  }

  .loader{
    height:6px;
  }

  #progress-bar{
    height:4px;
  }

}

@media (max-width:480px){

  .preloader-content{
    width:100%;
    max-width:300px;
    padding:0 12px;
  }

  .preloader-logo{
    width:100px;
  }

  .preloader-title{
    font-size:1.1rem;
    letter-spacing:1.5px;
  }

  .preloader-tagline{
    font-size:.82rem;
  }

}

/*Gallery Grid*/
.gallery-btn{

padding:12px 22px;
border-radius:999px;

background:#fff;

border:2px solid #ececec;

font-weight:600;

transition:.35s;

font-size:.95rem;

}

.gallery-btn:hover{

border-color:#7A1F1F;

color:#7A1F1F;

}

.gallery-btn.active{

background:#7A1F1F;

border-color:#7A1F1F;

color:#fff;

}

@media(max-width:640px){

.gallery-btn{

width:100%;

font-size:.95rem;

padding:13px;

}

}

#navbar.fixed-nav{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,.1);
}
