 /* Reset some default browser styles */
 
 * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  /* font-family: "Open Sans", sans-serif; */
  font-weight: 400;
}
.container{
    /* margin: 0px; */
    /* padding: 0; */
}

body {
  /* background-color: #ffffff; */
  /* color: #333; */
  /* font-family: Open Sans; */
}

.epoch-footer{
  /* background:#0d1221;           */
  background-image: url(../images/footer/footer-bg.webp);
  font-family:"Open Sans",sans-serif;
  font-size:14px;
color: #C0C0C0;
}
.epoch-footer .border-secondary{
  border-color: #424753 !important;
  color: #C0C0C0;
}
.epoch-footer .nav-link{
  color: #C0C0C0 !important;
  font-size:13px;
  position:relative;
  padding-left:22px!important;
}
.quick-links-text{
margin-left: 2%;
color: white;

}
.quick-links a{
  cursor: pointer;
}
/* keep icons snug with the label */
.follow-inline i{
  font-size: 1rem;        /* ≈ 16 px like the screenshot */
  vertical-align: middle;
  color: white;
}
.follow-inline a{
  line-height: 1; 
  color: #C0C0C0;        /* removes extra height around icons */
}


/* helper sizes */
.tiny   {font-size:11px;color: #C0C0C0;}
.xsmall {font-size:12px; color: #C0C0C0;}
/* Footer Section */
/* .footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 60px;
  font-size: 12px; */
/* 1 px separators that run edge‑to‑edge */
.full‑width‑top,
.full‑width‑bottom{
    position:relative;          /* anchors the pseudo‑element */
}

/* choose which side gets the line */
.full‑width‑top::before   { top: 0;  }
.full‑width‑bottom::after { bottom: 0; }


.client-logos {
display: flex;
justify-content: space-around;
align-items: center; /* Align logos vertically */
flex-wrap: wrap; /* Allow wrapping on smaller screens */
}

.client-logos img {
max-width: 100px;
margin: 10px; /* Add some space between images */
}
.our-valued{

}

.logo-headline {font-weight: 800;text-align: center; /* Added some spacing between the heading and the logos */font-size: 1.6rem;}

/* Media Query for small screens (like mobile) */
@media screen and (max-width: 768px) {
.client-logos {
  justify-content: center; /* Center logos on smaller screens */
}

.client-logos img {
  max-width: 80px; /* Slightly smaller logos on smaller screens */
}
}

/* Media Query for very small screens (like very small mobile screens) */
@media screen and (max-width: 480px) {
  .navbar-toggler
  {
   position: relative;
        top: -26px;
        border: none;
        color: #fff;
  }
.client-logos {
  justify-content: center; /* Ensure logos are centered */
}

.client-logos img {
  max-width: 70px; /* Further reduce logo size */
}
}

.test{
  background-color: #EEF0F0;
}
.subtitle h4 {
  font-family: Open Sans;
  font-weight: 700;
  font-size: 25px;
  line-height: 100%;
  letter-spacing: 0%;
  color: #F7BD00;
  
}
.title {
  font-size: 2.5rem;
  font-weight: 700;
  /* margin-bottom: 1.5em; */
}

/* ----- NAVIGATION ARROWS: RIGHT-ALIGNED ----- */





/* ---------- TITLE/HEADER AREA ---------- */
.testimonial-slide-wrapper{
  margin-left:3rem !important;
}
@media (max-width: 920px) {
  .slide {
    flex-wrap: wrap;
  }
  .testimonial-card {
    margin: 1.5em auto;
  }
  .testimonial-slide-wrapper{
    margin-left:2rem !important;
  }
    .testimonial h1{
    font-size: 25px;
  }
}
@media (max-width: 768px) {
  /* Show only 1 card per slide on smaller tablets.
     Remove if you want 2 narrower cards even on tablets. */
  .slide {
    flex-direction: column;
    align-items: center;
  }
  .testimonial-card {
    /* width: 80%; */
    max-width: 500px;
    margin-bottom: 30px;
  }
  .testimonial-content {
    margin-left: 1em;
    text-align: center;
  }
  .testimonial-content svg {
    position: relative;
    bottom: 0;
    left: 0;
    margin-bottom: 10px;
  }
  .profile-pic {
    position: static;
    margin-bottom: 1em;
  }
    .testimonial h1{
    font-size: 25px;
  }
  .name {
    font-size: 1rem;
  }
  .company {
    font-size: xx-small;
  }
  .testimonial-text {
    font-size: 0.9rem;
    padding-left: 5%;
  }
  .date {
    position: relative;
    margin-top: 10px;
    right: auto;
  }
  .testimonial-slide-wrapper{
    margin-left:1rem !important;
  }
}
@media (max-width: 480px) {
  .testimonial-card {
    width: 90%;
  }
  .testimonial-content {
    margin-left: 0;
  }
  .testimonial-content svg {
    width: 50px;
    height: 50px;
  }
  .name {
    font-size: 0.9rem;
  }
  .company {
    font-size: x-small;
  }
  .testimonial-text {
    font-size: 0.85rem;
  }
  .date {
    font-size: 0.7rem;
  }
  .testimonial-slide-wrapper{
    margin:auto !important;
  }


}
 .testimonials-section {
  background-color: #eee;
    padding-top: 50px;
    padding-bottom: 50px;
    /* margin-bottom: 20px; */
  }


  .subtitle {
    margin-bottom: 2em;
    /* Remove text-align: center so we can control 
       how elements are laid out in the .title-nav-row */
  }

  /* Smaller heading (TESTIMONIALS) can stay centered if you like */
  .subtitle h4 {
    text-align: center;
    font-size: 1rem;
    margin-bottom: 0.5em;
    color: #666;
    letter-spacing: 2px;
  }

  /* -------------------------------------------------
     TITLE + NAV ROW: This puts the big title and
     arrow buttons side by side on one line
  ------------------------------------------------- */
  .title-nav-row {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap; /* allow wrapping on smaller widths */
  }

  .title {
    font-size: 2rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 0.5em;
   
  }

  /* -------------------------------
     NAVIGATION BUTTONS
  ------------------------------- */
  .testimonial-nav {
    display: flex;
    gap: 1em;
    /* Remove top margin so it aligns with the title */
    margin-top: 0; 
  }

  .testimonial-nav button {
    /* background-color: #fff; */
    border: 1px solid #ccc;
    color: #999;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  .testimonial-nav button:hover {
    background-color: #999;
    color: #fff;
  }
.testimonial h1{
  font-size: 2rem;
  font-weight: 800;
}
  /* -------------------------------
     SLIDER WRAPPER & SLIDES
  ------------------------------- */
  .slider-container {
    position: relative;
    margin-top: 2.5em;
    overflow: hidden; 
  }
  .slide {
    /* display: none; Hide by default; only the "active" slide is shown */
    width: 100%;
    flex-wrap: nowrap;
    gap: 2rem;
    justify-content: center;
    align-items: flex-start;
  }
  .slide.active {
    display: flex; 
  }

  .slider-container1 {
    position: relative;
    margin-top: 2.5em;
    overflow: hidden; 
  }
  .slide1 {
     display: none; /*Hide by default; only the "active" slide is shown */
     width: 100%;
     flex-wrap: nowrap;
     gap: 14rem;
     justify-content: center;
     align-items: flex-start;
  }
  .slide1.active {
    display: flex; 
  }
  .slide2 {
    display: none; /*Hide by default; only the "active" slide is shown */
   width: 100%;
   flex-wrap: nowrap;
   gap: 2rem;
   justify-content: center;
   align-items: flex-start;
 }
 .slide2.active {
   display: flex; 
 }
  /* -------------------------------
     TESTIMONIAL CARD STYLES
  ------------------------------- */
  .testimonial-card {
    position: relative;
    flex: 1 1 0;
    min-width: 300px;
    max-width: 550px;
    margin: 2em 0px;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    padding: 1.5em 2em 2.5em 3em;
  }

  .testimonial-card::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 6px;
    background-color: #fcb900;
    border-radius: 6px 0 0 6px;
  }

  .profile-pic {
    position: absolute;
    left: -40px;
    top: 60px;
    z-index: 2;
  }
  .profile-pic img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  }

  .testimonial-content {
    position: relative;
    margin-left: 3em;
  }
  .testimonial-content svg {
    position: absolute;
    bottom: -1em;
    left: -4em;
    color: #999;
  }
  .name {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 0.25em;
    color: #333;
  }
  .company {
    font-size: x-small;
    color: #999;
    margin-bottom: 1em;
  }
  .testimonial-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #555;
    padding-left: 10%;
  }
  

 

 

/* For very small screens (phones) */
@media screen and (max-width: 480px) {
  .testimonial-card {
    width: 100%; /* Make testimonial cards take up full width */
    margin-bottom: 20px; /* Less margin between the cards */
  }
  .testimonial h1{
    font-size: 25px;
  }

  .testimonial-content {
    margin-left: 0; /* Remove the left margin for very small screens */
  }

  .testimonial-content svg {
    width: 50px; /* Make the quote icon smaller */
    height: 50px;
  }
.banner-text h1{
font-size: 0.02rem;
}
  .name {
    font-size: 0.9rem; /* Reduce name font size further */
  }

  .company {
    font-size: x-small; /* Keep company font small */
  }

  .testimonial-text {
    font-size: 0.85rem; /* Reduce text size for phones */
  }

  .date {
    font-size: 0.7rem; /* Smaller date font */
  }
}


/* Top bar with contact details */
.top-bar {
  
  font-size: 14px;
  /* padding: 10px 2%; */
  /* display: flex; */
  /* justify-content: flex-end; */
  align-items: center;
  padding:16px 0px 0px ;
  gap: 30px;
}
.btn .btn-style{

  
}

.top-bar li {
  list-style: none;
}
.top-contact span{
  padding: 0px 10px;
}
.top-bar a {
  text-decoration: none;
  color: #333;
  
}
.top-bar a:hover {
  color: #F7BD00;
}
.top-bar span {
  display: inline-block;
}
.top-bar .container{
display: flex;
justify-content: flex-end;

/* justify-content: space-between; */
}
.top-bar .container span{
padding: 0px 10px ;
}
.top-bar .container .number-align{
  position: relative;
  top: 4px;
}
/* Main header / navbar */
header {
  position: relative;
  z-index: 1;
  /* padding-left: 20px; */
  align-items: center;
  /* padding: 15px 2% ; */
  background-color: #fff;
  background-size: cover;
  /* border-bottom: 1px solid #ddd; */
  position: sticky;
  top: 0;
  z-index: 999;
}
.mail{
  position: relative;
  top: 3px;
}
header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('../images/header/bg-pattern.gif');
  background-size: cover;
  background-position: center;
  opacity: 0.3;
  z-index: -1;
}
.badge{
  color: #000;
  /* size: 20px; */
}
.badge a{
  size: 20px;
}
/* ──────────────────────────────────────────────────────────────
   BASE LOOK – phones first
   (anything below 600 px wide keeps your current mobile design)
────────────────────────────────────────────────────────────────*/
.dwld .download-btns{
  display:inline-flex;               /* keep icon + text inline */
  align-items:center;
  gap:8px;                           /* space between svg/png + label */
  padding:.45rem .9rem;
  font-size:.875rem;                 /* 14 px */
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.4px;
   background-color: #F7BD00;               /* epoch yellow */
  color:#000;                        /* readable on yellow */
  border-radius:4px;
  border:none;
  transition:background .25s ease,   
             transform  .15s ease;
}
.dwld .download-btns:hover{
   background-color: #F7BD00;
}
.dwld .download-btns:active{
  transform:scale(.96);
}

/* ──────────────────────────────────────────────────────────────
   TABLET TWEAKS – portrait & landscape tablets
   600 px → 991.98 px width
────────────────────────────────────────────────────────────────*/

/* ──────────────────────────────────────────────────────────────
   DESKTOP+ – nothing changes unless you want it to
   If you need desktop-only overrides, add them after this block
────────────────────────────────────────────────────────────────*/

.logo {
  font-weight: bold;
  font-size: 24px;
}
.epoch-logo{
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  top: -60px;
  
}
.navbar {
  display: flex;
  gap: 20px;
  align-items: center;
  padding-bottom: 0px !important;
}
.navbar-nav li{
  border: 2px solid #F2F2F2;
  padding: 5px;
}
.navbar-nav li:hover{
  background-color: #F7BD00;
}
.dwld{
  transition: color 0.2s ease;
  /* padding-left: 10px; */
  /* width: 100%; */
}
.navbar-nav a {
  text-decoration: none;
  color: #333;
  font-weight: 700;
  padding: 6px 20px;
  transition: color 0.2s ease;
}
.navbar-nav a:hover {
  background-color: #F7BD00;
  /* padding: 10px; */
}
header{
  gap: 0px;
}

.download-btns{
  background-color: #F7BD00;
    color: #000;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    padding: 10px 15px;
}

/* ──────────────────────────────────────────────────────────────
   MOBILE-ONLY NAVBAR TWEAKS ( ≤ 767.98 px )
   Make the bar float over the hero, remove the white rails,
   and give it the same in-card padding the mock-up shows.
────────────────────────────────────────────────────────────────*/
@media (max-width: 767.98px){

  /* 1 ▸ let the whole header sit on top of the hero image   */
  header{
    position:absolute;          /* overlay, not its own block   */
    top:0; left:0; width:100%;
    background:transparent;     
    border:none;
    /* padding-top: 20px; */
  }
  header::before{ display:none; }  /* remove the faint gif layer */
.banner-text h1{
  font-size: 0.025rem;
}
  /* 2 ▸ strip Bootstrap’s default padding so the bar touches
         the hero’s edges, then add the 16-20 px you want     */
  .navbar{
    padding:0;                  /* kill  .navbar {padding-y: .5rem} */
  }
  .navbar .container{
    max-width:100%;             /* ignore the  `container` width cap */
    padding-left:20px;          /* side spacing INSIDE the card       */
    padding-right:20px;
  }

  /* 3 ▸ tidy up the hamburger & collapse panel               */
  .navbar-toggler{
    border:0;                   /* no thin white outline            */
    box-shadow: none !important;
  }
  /* if you want a white icon instead of Bootstrap’s default */
  .navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' fill='white'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    height: 30px;
    width: 30px;
    padding-top: 5em;
  }
.epoch-logo{
  height: 7px;
  width: 7px;
  padding-bottom: 2em;
}
  /* 4 ▸ make the slide-down menu use the same dark overlay   */
  .navbar-collapse{
    background:#fff;            /* matches hero overlay            */
    padding:1.25rem 20px;
   
  }
  .navbar-nav .nav-link{
    color:#000;
  }
  .navbar-nav .nav-link:hover{
    color:#ffc107;              /* the gold accent                 */
  }
  .hero{
    padding-top: 40px;
  }
}
/* ──────────────────────────────────────────────────────────────
   MOBILE VIEW  – hide the header / navbar completely
   (change the 767.98 px cut-off if you use a different breakpoint)
────────────────────────────────────────────────────────────────*/
@media (max-width: 767.98px){
  .top-bar{
    
    display:none !important;
  }
  .hero h4{
    font-size: 15px;
  }

}

/* Hero banner */
.hero {
  position: relative;
  width: 100%;
  height: 720px;
  background: url('../images/banner-image.webp');
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 2%;
  color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
}
.hero h1 {
  font-size: 2.5rem;
  margin-bottom: 10px;
  font-weight: 700;
}
.hero .breadcrumb {
  font-size: 14px;
  color: #ffc107;
}

/* ---------- modal shell ---------- */
/* ========== modal shell ========== */
.enquiry-modal{
  background:#fff;
  border:none;
  border-radius:12px;
  padding:32px;
  box-shadow:0 4px 30px rgba(0,0,0,.25);
}

/* ----- header line ----- */
.enquiry-modal .modal-header{
  border-bottom:1px solid #E5E5E5;
  padding-bottom:24px;
  margin-bottom:32px;
}

/* ========== red circular close ========== */
.btn-close-red{
  width:34px;
  height:34px;
  background:darkred;
  border-radius:50%;
  border:none;
  position:relative;
  flex:0 0 34px;
}
.btn-close-red:before,
.btn-close-red:after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:16px; height:2px;
  background:#fff;
  transform-origin:center;
}
.btn-close-red:before{transform:translate(-50%,-50%) rotate(45deg);}
.btn-close-red:after {transform:translate(-50%,-50%) rotate(-45deg);}

/* ========== form fields ========== */
.enquiry-modal .form-control,
.enquiry-modal .form-select{
  height:54px;
  border:1px solid #E5E5E5;
  border-radius:6px;
  font-size:15px;
}
.enquiry-modal textarea.form-control{height:auto;}

.enquiry-modal .form-control:focus,
.enquiry-modal .form-select:focus{
  border-color:#ccc; box-shadow:none;
}

.enquiry-modal ::placeholder{color:#9A9A9A;font-weight:500;}

/* greyed placeholder on required selects until valid */
.select-placeholder:invalid{color:#9A9A9A;font-weight:500;}
.select-placeholder:not(:invalid){color:#000;}

/* ensure option list itself is black */
.select-placeholder option{color:#000;}
.select-placeholder option[disabled]{color:#9A9A9A;}

/* country code pill */
.country-code{
  background:#fff;
  border:1px solid #E5E5E5;
  border-right:none;
  border-radius:6px 0 0 6px;
  font-size:15px;
}

/* ========== submit button ========== */
.submit-btn{
  background:#F7BD00;
  color:#000;
  font-weight:700;
  border-radius:6px;
  height:50px;
  border:none;
}
.submit-btn:hover{background:#e2a500;}
/* wrap BOTH pieces with one outer border and radius */
.phone-group{
  display:flex;
  height:54px;                     /* same height as other inputs   */
  border:1px solid #E5E5E5;
  border-radius:6px;
  overflow:hidden;                 /* keeps the children clipped    */
}

/* left pill with the “+971” code */
.country-code{
  display:flex;
  align-items:center;
  padding:0 18px;
  font-size:15px;
  color:#9A9A9A;                   /* light grey like placeholders  */
  border-right:1px solid #E5E5E5;  /* thin divider exactly as shot  */
}

/* right-side text box */
.phone-input{
  flex:1 1 auto;                   /* fill remaining width          */
  border:none;                     /* no inner borders              */
  font-size:15px;
}

/* grey placeholder */
.phone-input::placeholder{color:#9A9A9A;font-weight:500;}

/* focus ring on the WHOLE combo, not just the input */
.phone-group:focus-within{
  border-color:#ccc;
  box-shadow:0 0 0 0.15rem rgba(0,0,0,.05);
}

/* ========== responsive tweak ========== */
@media (max-width:575.98px){
  .enquiry-modal{padding:24px;}
}


@media screen and (max-width: 768px) {
  .hero {
    position: relative;
    /* width: 100%; */
    /* height: 467px; */
    background: url('../images/banner-image.webp');
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
    /* align-items: flex-start; */
    padding: 0 2%;
    color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
      background-position-x: 63%;
    background-repeat: no-repeat;
  }
  .banner-buttons{
    font-size: smaller;
  }
  .hero h1 {
    font-size: 28px; /* Adjust font size for smaller screens */
  }
  .hero .container{
    padding-top: 259px;

  }
  .repair-btns{
    display: flex;
    /* gap: 20px; */
    margin-top: 20px;
    /* flex-wrap: wrap; */
    /* justify-content: center; */
    font-size: 15px;
  }
.epoch-logo{
   filter: invert(100%);
}
 header{
    width: 100%;
    position: absolute;
    top: 10px;
}    /* your existing rule — keep it              */

    /* turn the overlay completely transparent */
    header::before{
        opacity:0 !important;    /* 0 = invisible; the !important beats the
                                    desktop rule above                        */
    }

}

/* .aboutus-hero{
 
  position: relative;
  width: 100%;
  height: 400px;
 
  background-image: ('../images/about-uspage/aboutheader.webp');
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 2%;
  color: #fff;
}
.about-img{
  background-image: ('../Epoch/images/about-uspage/aboutheader.webp');
  width: 100%;
  height: 100%;
  background-size: cover;
  

} */

/* Main blog section */

/* Example blog content area */

.blog img{
  

}




.header-blog h3{
color: #F7BD00;
font-size: 25px;
font-weight: 700;

}
.header-blog h1{font-weight: 800;text-align: start;font-size: 2rem;}
.custom-card {
  border: none;
  border-radius: 15px;
  overflow: hidden; /* Ensures the rounded corners also clip the overlay */
  position: relative; /* Needed for the overlay positioning */
}
/* Make sure images scale properly and fill the width */
.custom-card img {
  width: 100%;
  height: auto; /* Let the height adjust naturally for responsiveness */
  object-fit: cover; /* Or "cover" if you want to fill a fixed height. */
  display: block;
}
/* Overlay covers the bottom portion of the card image */
.card-img-overlay.custom-overlay {
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* Places text at the bottom */
  padding: 1rem;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.8),
    rgba(0, 0, 0, 0) 50%
  );
  color: #fff;
  border-radius: 10px; /* Match the card’s rounded corners */
}
/* Title styling */
.custom-overlay .card-title {
  font-size: 1rem;
  /* color: #000; */
  font-weight: bold;
  /* text-transform: uppercase; */
  margin-bottom: 0.5rem;
}
/* Body text styling */
.custom-overlay .card-text {
  font-size: 13px;
  /* margin-bottom: 0.5rem; */
  color: #f2f2f2;
}
/* Date text styling */
.card-date {
  font-size: 0.8rem;
  color: #ccc;
}

.carousel-controls {
  text-align: right;
  margin-bottom: 10px;
  padding-top: 25px;
}

.carousel-controls button {
  background: none;
  border: 1px solid #ccc;
  font-size: 1.5em;
  cursor: pointer;
  margin: 3px 5px;
  color: #ccc;
  width: 40px;
  height: 40px;
  line-height: 35px;
  text-align: center;
  border-radius: 50%;
  transition: background-color 0.3s;
}

.carousel-controls button:hover {
  background-color: #e0e0e0;
}
/* RESPONSIVE TWEAKS (optional; adjust as needed) */
@media (max-width: 576px) {
  .custom-overlay .card-title {
    font-size: 1.1rem;
  }
  .custom-overlay .card-text {
    font-size: 0.8rem;
  }
  .card-date {
    font-size: 0.7rem;
  }
}
.repair-header {
  background-color: #fff;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
  font-weight: 800;
}
.logo-bar {
  overflow: hidden; /* Hide overflow content */
}

.owl-carousel .item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px; /* Adjust padding if necessary */
}



.owl-carousel {
  display: flex;
}

.owl-carousel .owl-nav {
  display: none; /* Hide the default navigation arrows */
}

.owl-carousel .owl-dots {
  display: none; /* Hide the dots navigation */
}


@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); } /* scroll by the full width of the track */
}

/* pause when the user hovers */
.logo-bar:hover .logo-track {
  animation-play-state: paused;
}.logo-bar {
  overflow: hidden; /* Hide overflow content */
}

.owl-carousel .item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px; /* Adjust padding if necessary */
}

.logo-bar .owl-carousel img {
 height: 60px; /* Adjust the height of logos */
 width: auto;
}

.owl-carousel {
  display: flex;
}

.owl-carousel .owl-nav {
  display: none; /* Hide the default navigation arrows */
}

.owl-carousel .owl-dots {
  display: none; /* Hide the dots navigation */
}


/* ABOUT SECTION */
.about-section {
  max-width: 1200px;
  margin: 40px auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 20px;
}
.about-text {
  flex: 1 1 500px;
  margin-right: 40px;
}
.about-text h2 {
  font-size: 2em;
  margin-bottom: 20px;
  text-align: justify;
}
.about-text p {
  line-height: 1.45;
  text-align: justify;
}
.read-more-btns {
  display: inline-block;
  background-color: #ffc107;
  color: #000;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 4px;
  font-weight: bold;
}
.read-more-btns:hover 
{
  background-color: #000;
  color: #fff;
}
.read-more-btnn{
  text-decoration: none;
  color: #000;
  font-weight: 800;

}
.about-image {
  flex: 1 1 400px;
  text-align: center;
  margin-top: 20px;
}
.about-image img {
  max-width: 100%;
  height: auto;
}

/* TRADING DIVISIONS SECTION */
.trading-divisions {
  background-color: #eee;
  padding: 40px 20px;
}
.trading-divisions .content {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.trading-divisions h2 {
  font-size: 2em;
  font-weight: 600px;
  margin-bottom: 20px;
}
.trading-divisions p {
  line-height: 1.6;
  margin: 0 auto 20px auto;
  max-width: 800px;
  color: #525252;
}

.slider-container {
position: relative;
width: 100%;
overflow: hidden;
padding: 20px 0;
/* background-color: #eee; */
}

.slider-wrapper {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
gap: 20px;
padding: 0 20px;
flex-wrap: nowrap;        /* 👈 NEVER wrap; stay on one row */
justify-content: center;
align-items: stretch;
}

.slide-card {flex: 0 0 auto;width: 18rem;background-color: #fff;border: 1px solid #ddd;/* border-radius: 4px; */box-shadow: 0 2px 4px rgba(0,0,0,0.1);height: 23rem;}

/* Adjust card body padding and layout */
.slide-card .card-body {padding: 0;display: flex;flex-direction: column;align-items: center;}

/* Style for images within cards */
.slide-card .card-body img {
width: 100%;
height: 150px;
object-fit: cover;
/* border-top-left-radius: 4px; */
/* border-top-right-radius: 4px; */
}

/* Style for card title */
.slide-card .card-title {
font-size: 1.1rem;
/* font-weight: bold; */
color: #333;
margin: 15px 15px 10px;
text-align: center;
/* text-transform: uppercase; */
}

/* Style for read more button */
.slide-card .read-more-btn {
display: inline-block;
/* background-color: #ffc107; */
background-color: #e0a800;
color: #000;
padding: 8px 20px;
text-decoration: none;
border-radius: 4px;
font-weight: bold;
text-transform: uppercase;
margin-bottom: 15px;
transition: background-color 0.3s ease;
}

.slide-card .read-more-btn:hover {
background-color: #e0a800;
}

/* Optional: Hide scrollbar for better aesthetics */
.slider-wrapper::-webkit-scrollbar {
display: none;
}

.slider-wrapper {
-ms-overflow-style: none;
scrollbar-width: none;
}

/* Fade overlay styling */
.fade-overlay {
position: absolute;
top: 0;
bottom: 0;
width: 80px;
z-index: 1;
pointer-events: none;
}

.fade-left {
left: 0;
background: linear-gradient(to right, rgba(255,255,255,0.9), rgba(255,255,255,0));
}

.fade-right {
right: 0;
background: linear-gradient(to left, rgba(255,255,255,0.9), rgba(255,255,255,0));
}

.service-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;

}
.service-header h1 {font-family: Open Sans;font-weight: 800;font-size: 2rem;line-height: 100%;letter-spacing: 0%;text-align: center;font-size: 2rem;}
.view-more-btn {
  background-color: #f5c518;
  color: #333;
  padding: 10px 20px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
  text-transform: uppercase;
  transition: background-color 0.3s;
}

.view-more-btn:hover {
  background-color: #e0b015;
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.service-card {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s;
  padding: 20px;

}
.service-card:hover {
  transform: translateY(-5px);
}

.service-card img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 4px;
}
.service-card-content {
  padding-top: 20px;
  width: 457;
height: 57;
top: 3880px;
left: 192px;

}
.service-card h3 {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin: 0 0 10px;
}
.service-card p {
font-family: Open Sans;
font-weight: 400;
font-size: 14px;
line-height: 150%;
letter-spacing: 10%;
text-align: justify;
color: #525252;

}
.read-more-btn {
  display: inline-block;
  /* background-color: #f5c518; */
  color: #333;
  padding: 8px 15px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
  transition: background-color 0.3s;
  float: right; /* Aligns the button to the right */
}
.read-more-btn:hover {
  background-color: #e0b015;
}
/* Clearfix to prevent layout issues due to float */
.service-card-content::after {
  content: "";
  display: table;
  clear: both;
}
@media (max-width: 768px) {
  .services-grid {
      grid-template-columns: 1fr;
      
  }
  .trading-divisions p{
display: none;
  }
  .trading-divisions h2 {

    font-size: 20px;
  }
  .read-more-btn {
      float: none; /* Reset float for mobile */
      display: block;
      text-align: right; /* Align text to the right on mobile */
  }
  .service-header h1{
    font-size: 25px;
  }
  .view-more-btn{
    display: block;
    float: none;
    text-align: right;
    /* height: 20%; */
    /* width: 30%; */
    /* font-size: 1rem; */
    display: flex;
    flex-wrap: wrap;

  }
}
/* zero-out any bottom spacing on Why-Epoch and top spacing on the next section */
.why-epoch-section {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* if the very next section is .online-services, kill its top gap too */
.why-epoch-section + .online-services {
  /* margin-top: 0 !important; */
  /* padding-top: 0 !important; */
}


.why-epoch-section {
  /* background-color: #fff; */
  padding-top: 100px;
  /* position: relative; */
  /* top: 97px; */
}

.why-epoch-main {
  margin: 0 auto;
  /* display: flex; */
  justify-content: space-between;
  align-items: stretch;
}

.why-epoch-left {
  /* flex: 1 1 50%; */
  background-color: #ffc107;
  /* display: flex; */
  /* flex-direction: column; */
  /* position: relative; */
  height: fit-content;
  padding-right: 40px;
  z-index: 9;
}
.hedgegroupSec .order-1
{
  background-color: #fff;
}

.cont {
  position: relative;
  left: 53px;
  top: -75px;
}

.why-epoch-image img {
  width: 100%;
  /* height: 100%; */
  object-fit: cover;
  position: relative;
  /* top: -126px; */
  margin-bottom: 20px;
  /* max-height: 700px; */
}

/* .why-epoch-content {
  color: #333;
  flex: 1;
  position: relative;
  top: -100px;
} */


.why-epoch-content{
  opacity:0;                     /* start invisible            */
  transform:translateY(40px);    /* and 40 px lower            */
  transition:opacity .6s ease-out, transform .6s ease-out;
}

/* when JavaScript adds .in-view, it fades/slides into place */
.why-epoch-content.in-view{
  opacity:1;
  transform:translateY(0);
}   

.why-epoch-content h2 {
  font-family: Open Sans;
  font-weight: 800;
  font-size: 2rem;
  line-height: 100%;
  letter-spacing: 0%;
}

.why-epoch-content p {
  line-height: -0.4;
  font-size: 1em;
  color: #333;
}

.stats {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.stat-item {
  flex: 1 1 30%;
  text-align: left;
}

.stat-item h3 {
  font-size: 2em;
  font-weight: 800;
  color: #333;
  margin-bottom: 5px;
}
.stat-item h3:hover{
  /* color: #F7BD00; */
  text-shadow: 0 0 5px #F7BD00;
  transform: scale(1.1);


 transition: transform .28s ease, text-shadow .25s ease;
}
.stat-item h4 {
  font-family: Open Sans;
  font-weight: 700;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: 0%;
}
.stat-item h4:hover{
  /* color: #F7BD00; */
  text-shadow: 0 0 5px #F7BD00;
  transform: scale(1.1);


 transition: transform .25s ease, text-shadow .25s ease;
}
.stat-item p:hover{
 
  text-shadow: 0 0 5px #F7BD00;
  transform: scale(1.1);

}



/* Right Side: Industries We Serve */
.industries-right {/* flex: 1 1 50%; *//* padding: 30px; */background-color: #fff;/* position: relative; *//* height: 100%; */position: relative;top: -66px;}

.industries-right h2 {font-size: 2em;margin-bottom: 15px;margin-left: 25px;font-weight: 800;/* text-transform: uppercase; */}

.industries-right p {line-height: 1.6;margin-bottom: 30px;color: #525252;font-size: 1em;margin-left: 25px;}

.industries-diagram {
text-align: center;
margin-bottom: 30px;

}

.industries-diagram img {/* max-width: 100%; *//* height: auto; */width: 480px;}



@media (max-width: 992px) {
/* Adjust or remove the large negative top offsets on tablets if desired */
.why-epoch-image img {
  top: -100px;
}
 .top-bar{
    display: none !important;
  }
.why-epoch-content {
  top: -60px;
}
.why-epoch-content h2{
  top: -60px;
}
.industries-right {
  top: -60px;
}.industries-diagram img {
  width: 80%;
}
}

@media (max-width: 768px) {

  .why-epoch-section{
    text-align: start;
    padding-top: 71px;
  }
  .industries-diagram img {width:100% !important;}
.why-epoch-main {
  flex-direction: column;
}
.cont{
  position: relative;
  left: 0; /* Reset left position for smaller screens */
text-align: justify;
}

.why-epoch-left,
.industries-right {
  flex: 1 1 100%;
  width: 100%;
  top: 0; /* Remove negative top on small screens for simpler stacking */
  margin: 0 auto;
}

.why-epoch-image img {
  top: 0; /* Ensure image is not negatively offset on small screens */
  margin-bottom: 20px;
}

.why-epoch-content {
  top: 0;
  /* margin-bottom: 20px; */
}
.why-epoch-content h2{
  font-size: 30px;
}

.industries-right {
  padding-top: 40px;
}
.stats{
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}
.stat-item h3{
      font-size: 20px;
      font-weight: 800;
      color: #333;
      margin-bottom: 5px;
}
.stat-item h4{
      font-family: Open Sans;
      font-weight: 700;
      font-size: 9px;
      line-height: 100%;
      letter-spacing: 0%;
}
.stat-item .counting{
      line-height: 1.6;
    font-size: 0.7em;
    color: #333;
    text-align: justify;
}

}
/* ========= mobile reorder ========= */
@media (max-width: 768px) {
  .why-epoch-content{
    display: flex;              /* make sure we’re in flex context   */
    flex-direction: column;     /* stack vertically                  */
  }

  /* 0 ▸ heading stays on top (default order: 0)  */
  .why-epoch-content h2   {order: 0;font-size: 22px;}

  /* 1 ▸ move the stats block *just* under the heading */
  .why-epoch-content .stats { 
    order: 1; 
    margin-top: .5rem;          /* breathing room                    */
  }

  /* 2 ▸ paragraph comes last on mobile */
  .why-epoch-content > p {      /* the descriptive paragraph         */
    order: 2;
    /* margin-top: 1rem; */
  }
}



/* Why Epoch International & Industries We Serve Section */
/* Why Epoch International & Industries We Serve Section */
/* .why-epoch-section {
background-color: #fff;
}

.why-epoch-main {
margin: 0 auto;
display: flex;
justify-content: space-between;
/* flex-wrap: wrap; */
/* gap: 40px; */
/* align-items: stretch;  */



















/* Responsive adjustments for Why Epoch Section */


.epoch-logo
{position: relative;top: -30px;}
#carouselExampleSlidesOnly
{
background: #EEF0F0;
padding-bottom: 40px;
margin-bottom: 30px;
}
/* Simple responsive behavior: stack columns on smaller screens */


/* .why-epoch-left,
.industries-right {
width: 100%;
margin: 1rem 0;
} */


/* Responsive adjustments */
@media (max-width: 768px) {
.slide-card {
    /* width: 16rem; */
}
.slide-card .card-body img {
    height: 120px;
}
.slide-card .card-title {
    font-size: 1rem;
}
}

/* ____________About us sections below___________________ */




/* About Us Section Styling */
.banner {background: url("../images/aboutheader.webp") center/cover no-repeat;height: 300px;display: flex;align-items: center;justify-content: center;position: relative;/* color: #fff; */}

/* A semi-transparent overlay to darken background image if needed */
.banner::before {
content: "";
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
/* background: rgba(0, 0, 0, 0.3); */
z-index: 1;
}

/* The main heading in the banner area */
.banner-text {
position: relative;
z-index: 2;
text-align: center;

}
.banner-text h6{
  color: #F7BD00;
}

.inline {/* display: inline; */display: flex;flex-direction: row;/* align-items: center; */justify-content: center;cursor: pointer;gap: 10px;text-decoration: none;color: white;}
.inline p:active{
color: #e0a800;
} 
.banner-text h1 {
  font-weight: 700;
  font-size: 2rem;
  line-height: 100%;
  letter-spacing: 0%;
  color: white;
  }

  .red-close-btn{
   color: red;
  }

.internationl-container{
display: flex;
      max-width: 1200px;
      margin: 50px auto;
      padding: 20px;
      background-color: #fff;
      /* box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
}
.image-section {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 20px;
  }
  .image-section img {
      width: 100%;
      /* height: 100%; */
      border-radius: 10px;
  }
  .text-section {
      flex: 2;
      padding-left: 40px;
  }
  .text-section h1 {
    /* font-family: Open Sans; */
    font-weight: 800;
    font-size: 2rem;
    line-height: 107%;
    letter-spacing: 0%;
    /* border-bottom: 1px solid #F7BD00 ; */
  }

.linee{
width: 37rem;
height: 1.43px;
background-color: #F7BD00;
/* padding-bottom: 50px; */

}

  .text-section h4 {
    /* font-family: Open Sans; */
    font-weight: 800;
    font-size: 1.4rem;
    line-height: 107%;
    letter-spacing: 0%;
    color: #F7BD00;
    
  }
  .text-section p {
      font-size: 16px;
      color: #666;
      line-height: 1.6;
      margin: 15px 0;
      text-align: justify;
  }
  .highlight {
      color: #333;
      font-weight: bold;
  }

  .contents p {
    /* font-family: Open Sans; */
    /* font-family: Open Sans; */
    /* font-weight: 400; */
    /* font-size: 1rem; */
    /* line-height: 1.5em; */
    letter-spacing: 0%;
    /* text-align: justify; */
  }
  /* =========================
 RESPONSIVE MEDIA QUERIES
 ========================= */
@media screen and (max-width: 992px) {
/* Container stacks vertically */
.internationl-container {
  flex-direction: column;
  margin: 20px auto; /* adjust top/bottom margin if needed */
  padding: 20px;
}

/* Image and text take full width */
.image-section, .text-section {
  flex: 1;
  width: 100%;
  padding-left: 0; 
}


.text-section {
  margin-top: 20px;
}

.linee{
  width: auto;
}

/* Keep image fully responsive */
.image-section img {
  height: auto; 

}




/* Slightly smaller heading sizes on mobile, if desired */
.text-section h1 {
  font-size: 30px; /* was 55px; tweak as you see fit */
  line-height: 1.2;
}
.text-section h4 {
  font-size: 23px; /* was 36px; tweak as needed */
}
}


  .mission-vision-section {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: flex-start;
    /* max-width: 1200px; */
    /* margin: 2rem auto; */
    /* padding: 1rem; */
  }

  /* Each column (Mission or Vision) */
  .mv-box {
    flex: 1 1 300px; /* Ensure columns can shrink on small screens */
    max-width: 500px;
    /* margin: 1rem; */
    text-align: left; /* Left-align heading & text */
    display: flex;
    /* justify-content: ; */
    flex-direction: row;
    gap: 10px;
  }
 
  .mv-box-contents{
      padding: 17px 0px 0px 17px;
      /* gap: 10px; */
      position: relative;
      top: -20px;
  }

  .mv-box-contents p{
    /* font-family: Open Sans; */
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5em;
    text-align: justify;
  }
  /* Images for mission or vision */
  .mv-box img {
    width: 50%;
    height: 50%;
    display: block;
    border-radius: 5px;
    margin-bottom: 1rem;
    /* gap: 30px; */
  }

  /* Example style for the “OUR MISSION” & “OUR VISION” headings */
  .mv-box h3 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    font-weight: bold;
  }

  /* Emphasize “OUR” in gold color (#F7B600) */
  .mv-box h3 span {
    color: #F7B600;
    margin-right: 0.25rem; 
  }

  /* Paragraph text for mission/vision */
  .mv-box p {
      /* font-family: Open Sans; */
      font-weight: 400;
      font-size: 15px;
      /* letter-spacing: 0px; */
      color: #525252;
      /* line-height: 21px; */
      /* line-height: 20px; */
      /* text-align: justify; */
  }

  /* Large Hero/Banner Section */
  .about-us-hero {
    position: relative;
    width: 100%;
    height: 450px; /* Adjust as needed */
    background: url("../images/about-uspage/contactimage.webp") center/cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-top: 1rem; /* spacing from the mission/vision section */
  }
  /* Dark overlay to ensure text is readable */
  .about-us-hero::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
  }
  
  /* Content inside the hero, above the overlay */
  .about-us-hero-content {
    position: relative;
    z-index: 2;
    color: #fff;
    /* max-width: 900px; */
    padding: 1rem;
  }
  .about-us-hero-content h2 {
    /* font-family: Open Sans; */
    font-weight: 800;
    font-size: 40px;
    line-height: 135%;
    letter-spacing: 0%;
    

  }
  .about-us-hero-content h1 {
    font-size: 2rem; /* Or 2.5rem if you need bigger text */
    margin-bottom: 1.5rem;
    font-weight: 700;
  }
  /* Call to Action Button */
  .about-us-hero-content .btn {
    display: inline-block;
    background-color: #F7B600;
    color: #000;
    padding: 0.85rem 2rem;
    text-decoration: none;
    font-weight: bold;
    border-radius: 15em;
    transition: background 0.3s ease;
  }
  .about-us-hero-content .btn:hover {
    background-color: #ffa500; 
  }


  /* RESPONSIVE ADJUSTMENTS */
  @media (max-width: 768px) {
    .about-us-hero {
      height: 300px; /* reduce banner height on small screens */
    }
    .about-us-hero-content h2,
    .hero-content h1 {
      font-size: 1.3rem;
    }
    .mission-vision-section {
      flex-direction: column;
      align-items: center;
    }
    .mv-box {
      max-width: 600px; 
    }
    .about-text h2{
      font-size: 20px;
    }
    .inline{
      font-size: 10px;
    }
  }



  /* _____________contact page ___________________*/
/* _____________contact page ___________________*/

.contact-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1rem;
  background: #F7BD000D;
}

/* Heading with underline using a pseudo-element */
.contact-section h2 {
  position: relative;      /* So the pseudo-element can be positioned */
  display: inline-block;   /* Shrinks to fit text width (so underline doesn't span full width) */
  font-weight: 700;
  font-size: 40px;
  line-height: 100%;
  letter-spacing: 0%;
  margin-bottom: 1.5rem;   /* Some space below heading */
}

/* The pseudo-element that acts as an underline */
.contact-section h2::after {
  content: "";
  position: absolute;
  bottom: -6px;           /* 6px below text */
  left: 0;
  width: 100%;             /* Adjust to control underline length */
  height: 2px;            /* Underline thickness */
  background-color: #F7BD00; /* Underline color */
}

/* Container with three columns: left, center, right */
.contact-container {
  display: flex;
  flex-wrap: wrap; /* Make it responsive */
  gap: 2rem;
}

/* Left column (locations) */
.left-column {
  flex: 1 1 250px;
  /* background: #fff; */
  padding: 1.5rem;
  border-radius: 4px;
}

.left-column h3 {
  position: relative;      /* So the pseudo-element can be positioned */
  display: inline-block;   /* Shrinks to fit text width (so underline doesn't span full width) */
  font-weight: 700;
  font-size: 40px;
  line-height: 100%;
  letter-spacing: 0%;
  margin-bottom: 1.5rem;
  /* font-family: Open Sans; */
  font-weight: 600;
  font-size: 20px;
  line-height: 32px;
  letter-spacing: 0%;
  vertical-align: middle;
}

.left-column h3::after {
  content: "";
  position: absolute;
  bottom: -6px;           /* 6px below text */
  left: 0;
  width: 20%;             /* Adjust to control underline length */
  height: 2px;            /* Underline thickness */
  background-color: #F7BD00; /* Underline color */
}

.lock .note{
  margin-bottom: 1.5rem;
  padding-left: 10%;
}
.contact-locations h4{
  font-family: Open Sans;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 32px;
  letter-spacing: 0%;
  vertical-align: middle;

}

.location-block h4 {
  font-weight: bold;
  margin-bottom: 0.5rem;
  position: relative;      /* So the pseudo-element can be positioned */
  display: inline-block;   /* Shrinks to fit text width (so underline doesn't span full width) */
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 100%;
  letter-spacing: 0%;
  margin-bottom: 1.5rem;
}

.location-block h4::after {
  content: "";
  position: absolute;
  bottom: -6px;           /* 6px below text */
  left: 0;
  width: 20%;             /* Adjust to control underline length */
  height: 2px;            /* Underline thickness */
  background-color: #F7BD00; /* Underline color */

  /* font-family: Open Sans; */
  font-weight: 600;
  font-size: 20px;
  line-height: 32px;
  letter-spacing: 0%;
  vertical-align: middle;
}


.location-block p {
  margin-left: 1rem;
  font-size: 0.95rem;
  line-height: 1.4;
}

.location-block small {
  font-style: italic;
}
.loc-info               {                 /* icon + paragraph wrapper   */
  display: flex;
  align-items: flex-start;                /* top‑align address text     */
  gap: 8px;      
  color: #797979;                         /* exact spacing you see      */
}



.loc-info svg           {                 /* keeps the icon from growing */
  flex-shrink: 0;
  margin-top: 3px;                        /* nudge down to optical‑align */
  color: #000;                            /* match screenshot           */
}



.note {
  margin-top: 1rem;
  font-size: 0.9rem;
  /* font-style: italic; */
  color: #666;
  background-color: white;
  width: 80%;
  text-align: center;
  padding: 0.25m;
}

/* Center column (contact details) */
.center-part {
  flex: 1 1 200px;
}

.center-column {
  background: #fff;
  width: 100%;
  padding: 1.5rem;
  border-radius: 4px;
  margin-bottom: 1rem;
}

.center-column h3 {
  margin-bottom: 1rem;
  color: #D40909;
  /* font-family: Open Sans; */
  font-weight: 400;
  font-size: 20px;
  line-height: 50.4px;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
}

.center-column p {
  text-align: center;
}

.enquiry-note {
  margin-top: 1rem;
  font-size: 0.9rem;
  color: #9E3F3F;
  font-style: italic;
}

/* Right column (map) */
.right-column {
  flex: 1 1 300px;
  min-width: 300px;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
}

.map-embed {
  width: 100%;
  height: 100%;
  min-height: 400px;
  border: none;
}

/* Flag styles (optional) */
.flag {
  margin-left: 0.5rem;
  width: 20px;
  vertical-align: middle;
}

/* Invert map color if desired */
iframe {
  /* filter: invert(100%); */
}

/* Media queries for mobile view */
@media (max-width: 768px) {
  .quick-links {
    margin-bottom: 25px !important;
} 
  .foot .social-media 
  {
    display: none;
  }
  .copyright p {
    font-size: 12px !important;
    width: 100%;
    float: left;
    text-align: center;
}
  .location-box {
    margin-top: 20px;
}
  .location-item 
  {
    width: 100%;
    display: inline;
    margin-bottom: 10px;
    float: left;
  }
  .mail
  {
    margin: 20px 0px;
  }
  .right-section-images {
    display: inline;;
    gap: 20px;
}
  .contact-section {
    padding: 1rem !important;
    box-sizing: border-box !important;
  }

  .contact-section h2 {
    font-size: 28px !important;
    text-align: center !important;
  }
.epoch-contact-midimage{
  padding-top: 20px;
}
  .contact-container {
    flex-direction: column !important;
    gap: 1rem !important;
  }

  .left-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 1rem !important;
    box-sizing: border-box !important;
  }

  .left-column h3 {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  .left-column h3::after {
    width: 30% !important;
  }

  .location-block {
    margin-bottom: 1rem !important;
  }

  .location-block h4 {
    font-size: 16px !important;
    margin-bottom: 0.5rem !important;
  }

  .location-block h4::after {
    width: 30% !important;
  }

  .location-block p {
    font-size: 0.9rem !important;
    margin-left: 0 !important;
    line-height: 1.3 !important;
  }

  .location-block small {
    font-size: 0.8rem !important;
  }

  .note {
    width: 100% !important;
    max-width: 320px !important;
    font-size: 0.85rem !important;
    padding: 0.5rem !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .center-part {
    justify-content: center !important;
  }

  .center-column {
    width: 100% !important;
    max-width: 400px !important;
    padding: 1rem !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .center-column h3 {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  .center-column p {
    font-size: 0.9rem !important;
  }

  .enquiry-note {
    font-size: 0.85rem !important;
  }

  .right-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 300px !important;
    box-sizing: border-box !important;
  }

  .map-embed {
    width: 100% !important;
    min-height: 300px !important;
  }

  .flag {
    width: 18px !important;
  }
}

@media (max-width: 576px) {
  .contact-section {
    padding: 0.5rem !important;
  }

  .contact-section h2 {
    font-size: 24px !important;
  }

  .left-column {
    padding: 0.75rem !important;
  }

  .left-column h3 {
    font-size: 16px !important;
  }

  .location-block h4 {
    font-size: 14px !important;
  }

  .location-block p {
    font-size: 0.85rem !important;
  }

  .location-block small {
    font-size: 0.75rem !important;
  }

  .note {
    font-size: 0.8rem !important;
    max-width: 280px !important;
    padding: 0.4rem !important;
  }

  .center-column {
    padding: 0.75rem !important;
  }

  .center-column h3 {
    font-size: 16px !important;
  }

  .center-column p {
    font-size: 0.85rem !important;
  }

  .enquiry-note {
    font-size: 0.8rem !important;
  }

  .right-column {
    height: 250px !important;
  }

  .map-embed {
    min-height: 250px !important;
  }

  .flag {
    width: 16px !important;
  }
}
  /* ----career-page------*/

  .content-wrapper {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #fff;
    padding: 2rem;
  }

  /******************************************************
   *                      HERO SECTION                  *
   ******************************************************/
  .career-hero {
    text-align: center;
    margin-bottom: 3rem;
  }
  .career-hero h1 {
   
    font-size: 2rem;
    margin-bottom: 0.5rem;
    font-weight: 800;
  }
  .career-hero h4 {
    font-size: 1.4rem;
    color: #F7BD00;  /* "Come Join Us" in orange */
    font-weight: 800;
    /* margin-bottom: 1rem; */
  }
  .career-hero p {
    font-size: 1rem;
    line-height: 1.6;
    max-width: 700px;
    margin: 0.5rem auto 0;
  }

  /******************************************************
   *                TWO-COLUMN SECTIONS                 *
   ******************************************************/
  .two-column-section {
    display: grid;
    grid-template-columns: 1fr 1fr; /* two equal columns */
    gap: 2rem;
    margin-bottom: 3rem;
    align-items: start;
  }
  /* Reuse the same class but reverse columns as needed */
  .two-column-section.reverse {
    grid-template-columns: 1fr 1fr; 
    /* On wider screens, we can just swap the order in HTML for reversing */
  }

  /* Shared styles for text & images in columns */
  .column-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 18px;
  }
  .column-text h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
    color: #000; /* black heading */
  }
  .column-text p {
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1rem;
    text-align: justify;
  }
  .column-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
  }

  /******************************************************
   *                     RESPONSIVE                     *
   ******************************************************/
   

  @media (max-width: 768px) {
    .two-column-section,
    .two-column-section.reverse {
      grid-template-columns: 1fr; 
    }
  }
/* Section container + heading */
.jobs-section {
background-color: #fff8e6;
padding: 2rem 1rem;
}
.jobs-section h2 {
font-size: 1.8rem;
margin-bottom: 1.5rem;
font-weight: 800;
position: relative;
display: inline-block;
padding-bottom: 0.3rem;
}
.jobs-section h2::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 90px;
height: 3px;
background-color: #f7bd00; /* Heading underline */
}
.jobs-container {
display: flex;
gap: 2rem;
margin-bottom: 2rem;
}
.jobs-menu ul {
line-height: 2;
margin: 0;
padding: 0;
list-style: none;
}
.jobs-menu ul li {
cursor: pointer;
}
.jobs-menu ul li.highlight {
color: #f7bd00;
font-weight: 700;
}
.jobs-cards {
display: flex;
flex-direction: column;
gap: 1rem;
flex: 1; /* fill remaining space */
}
.job-card {
background-color: #fff;
border-radius: 4px;
padding: 1rem 1.5rem;
box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
/* Layout for the job info: title, experience, deadline, arrow */
.job-info {
/* display: grid; */
/* grid-template-columns: 150px 150px 150px auto; 3 fixed columns + arrow on the right */
align-items: center;
/* gap: 1rem; */
flex-wrap: wrap;
display: flex;
justify-content: space-between;
}
.job-title {
font-weight: 600;
font-size: 1rem;
}
.job-meta {
display: flex;
flex-direction: column;
font-size: 0.9rem;
color: #666;
}
.job-meta span:first-child {
font-size: 0.8rem;
margin-bottom: 2px;
}
.job-meta span:last-child {
font-weight: 600;
color: #333;
}
.job-arrow {
font-size: 1.2rem;
color: #333;
}
.job-card:hover {
box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
/* Footer text under job cards */
.jobs-footer {
font-size: 0.8rem;
color: #666;
margin-top: 2rem;
text-align: center;
/* max-width: 700px; */
margin-left: auto;
margin-right: auto;
}

/* ----------Blog ----------*/
.page-header {
  text-align: center;
  margin-bottom: 2rem;
}
.page-header h2 {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}
.page-header p {
  font-size: 1rem;
  color: #666;
}
.blog-banner {
  position: relative;
  width: 100%;
   /* Adjust as needed */
  background: url("../images/blog_banner.webp") center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: 1rem; /* spacing from the mission/vision section */
  color: #fff;
  padding: 180px 0px 200px;
}



.blog-hero {
  text-align: center;
  padding-top: 2rem;
  
}
.blog-hero h1 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  font-weight: 800;
}
.blog-hero p {
  font-size: 1rem;
  color: #666;
}

/****************************************
 *          FEATURED POST BOX           *
 ****************************************/
 .featured-post {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  display: flex;
  flex-wrap: wrap; /* Wrap on smaller screens */
  margin-bottom: 2rem;
  overflow: hidden; /* Just in case of large image */
}

.featured-image {
  flex: 1 1 40%;
  min-width: 250px;
  max-height: 300px;
  overflow: hidden;
}
.featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.featured-content {
  flex: 1 1 60%;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.featured-content h2 {
  font-size: 1.3rem;
  margin-bottom: 0.8rem;
}
.featured-content p {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  color: #555;
}
.featured-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto; /* push meta to bottom of card if content is tall */
}
.featured-meta .date {
  font-size: 0.85rem;
  color: #999;
}
.featured-meta .read-more {
  font-size: 0.9rem;
  color: #000;
  font-weight: bold;
  text-decoration: none;
}


/****************************************
 *         BLOG POSTS GRID (3)          *
 ****************************************/
.blog-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.blog-card {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.blog-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}
.card-content {
  padding: 1rem;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-content h4 {
  text-transform: lowercase; /* to match "long established" style if needed */
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.card-content p {
  font-size: 0.9rem;
  line-height: 1.4;
  color: #555;
  margin-bottom: 1rem;
}
.card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
  color: #999;
}
.card-meta .read-more {
  color: #000;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
}

/****************************************
 *           TWO LARGE CARDS            *
 ****************************************/
/* Container holding both cards side by side */
.cards-container {
  display: grid;
  grid-template-columns: 1fr 1fr; /* Two columns side by side */
  gap: 20px;                     /* Spacing between cards */
}

/* Individual card styles */
.lap-card {
  display: flex;                 /* So text + image can sit side by side */
  background-color: #fff;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* The text/content part of the card */
.card-content {
  flex: 1;                       /* Take up remaining space */
  padding: 20px;
  display: flex;                 /* So we can push footer to bottom if needed */
  flex-direction: column;
  justify-content: space-between;
}

/* Headline spacing */
.card-content h2 {
  margin-bottom: 10px;
  font-size: 1.25rem;
}

/* Paragraph spacing */
.card-content p {
  margin-bottom: 20px;
  font-size: 0.95rem;
  color: #555;
}

/* Footer area with date and read-more link */
.card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-footer .date {
  font-size: 0.85rem;
  color: #999;
}
.card-footer .read-more {
  font-size: 0.85rem;
  text-decoration: none;
  color: #007bff;
}

/* Image container */
.card-image {
  width: 100%; /* or any width you like */
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ddd; /* fallback for when no image is loaded */
}

/* Make images responsive inside their container */
.card-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Responsive for smaller screens: stack text over image */
@media (max-width: 768px) {
  .two-cards {
    flex-direction: column;
  }
  .two-cards .card {
    flex-direction: column;
    max-width: 100%;
  }
  .card-image {
    order: -1; /* put image above text if you want */
    flex: unset;
    width: 100%;
  }
  .card-text {
    width: 100%;
  }
}


/****************************************
 *         RELATED ARTICLES (4)         *
 ****************************************/
.related-articles {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.related-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.related-header h3 {
  font-size: 1.3rem;
}
.related-header a {
  font-size: 0.9rem;
  color: #000;
  background-color: #F7BD00;
  padding: 5px;
  border-radius: 2px 2px;
  text-decoration: none;
  font-weight: bold;
}
.related-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.related-card {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.related-card img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
}
.related-info {
  padding: 0.8rem;
}
.related-info h5 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.related-meta {
  font-size: 0.8rem;
  /* color: #999; */
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.related-meta .read-more {
  color: #000;
  cursor: pointer;
  font-weight: bold;
}
.related-meta span{
  font-weight: 800;
  color: #000;
}

/****************************************
 *               FOOTER                 *
 ****************************************/

/****************************************
 *             RESPONSIVE               *
 ****************************************/
 @media screen and (min-device-width: 768px) and (max-device-width: 1400px) { 
    .navbar-nav a
    {
      font-size: 12px;
    }
    .epoch-logo {
    top: -10px !important;
}
}
 @media screen and (min-device-width: 768px) and (max-device-width: 999px) { 
   .navbar-collapse {
    position: fixed;
    right: 10%;
    background: #fff;
    top: 15%;
}
}
@media (max-width: 992px) {
  .featured-post {
    grid-template-columns: 1fr;
  }
  .blog-posts-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .related-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .two-cards {
    grid-template-columns: 1fr;
  }
  .card {
    grid-template-columns: 1fr; /* text above image in the big 2-cards */
  }
}
@media (max-width: 576px) {
  .blog-posts-grid {
    grid-template-columns: 1fr; /* single column on mobile */
  }
  .related-list {
    grid-template-columns: 1fr;
  }
  .footer-content {
    flex-direction: column;
  }
}


/* -----------Product-page ----------*/
/* h1 {
  text-align: center;
  font-size: 32px;
  margin-bottom: 10px;
  font-weight: 800;
}

h1 span {
  color: #f2b632;
  font-weight: 600;
} */

.intro {
  text-align: center;
  color: #555;
  font-size: 16px;
  /* max-width: 1000px; */
  margin: 0 auto 40px auto;
  line-height: 1.6;
  text-align: start;
}
.card-custom{

  /* padding: 20px; */
  /* padding-left: 10px; */
  margin-bottom: 20px;
  /* text-align: center; */
  transition: transform 0.3s ease;
  
}
.card-custom a{
  text-decoration: none;
  color: #000;
  font-weight: bold;
  transition: 0.3s ease;
  /* text-align: center; */
}
.custom-align{
  /* text-align: start; */
  flex-wrap: wrap;
}

.card-custom img {
  width: 100%;
  /* height: 180px; */
  object-fit: none;
  border-radius: 8px;
}
.navbar-collapse 
{
  margin-top: 8px;
}
.card-custom h3 {
  /* width: 512; */
  /* height: 29px; */
  /* top: 1199px; */
  /* left: 1250px; */
  /* font-size: 18px; */
  /* font-family: Open Sans; */
  /* font-family: Open Sans; */
  font-weight: 700;
  font-size: 16px;
  line-height: 28.8px;
  letter-spacing: 0%;
  vertical-align: middle;
  text-transform: capitalize;
  margin-top: 13px;
  text-align: left;
}

.card-custom p {
  /* width: 504; */
  /* height: 71px; */
  /* top: 1231px; */
  /* left: 1246px; */
  /* font-family: Open Sans; */
  font-weight: 400;
  font-size: 14.6px;
  line-height: 23.9px;
  letter-spacing: 0%;
  text-align: justify;
  vertical-align: middle;
  text-transform: capitalize;
}

.cta {
  margin-top: 60px;
  height: 250px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  background-image: linear-gradient(
      rgba(162, 152, 152, 0.6),
      rgba(134, 130, 130, 0.6)
    ),
    url('../Epoch/images/trading-images/product-page9.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cta p {
  font-size: 22px;
  margin-bottom: 20px;
}

.cta a {
  display: inline-block;
  /* background: #f2b632; */
  color: #000;
  text-decoration: none;
  font-weight: bold;
  padding: 12px 20px;
  border-radius: 5px;
  transition: 0.3s ease;
}


/*_________-productpage_________*/


.sec-contents h1{
font-weight: 800;
font-size: 2rem;
}
.sec-contents h4{
  font-weight: 800;
  font-size: 1.4rem;
  color: #F7BD00;

}
/* -----------product-division -----*/

.product-footer-banner {
  margin-top: 60px;
  height: 250px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  background-image: url('../images/about-uspage/products-divisions2.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


.product-section p {
  font-size: 22px;
  margin-bottom: 20px;
}

.product-footer-banner a {
  display: inline-block;
 background-color: #ffc107;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  padding: 12px 20px;
  border-radius: 5px;
  transition: 0.3s ease;
}

.product-section a:hover {
  background: #ffc107;
}
/*  put this after (or together with) your existing footer‑styles  */
.footer-contents{
text-align: justify;        
text-justify: inter-word;   /* improves spacing in some browsers         */
}

.sidebar .side‑btn{
  position: relative;
  display: block;
  margin-bottom: 10px;                    /* gap between cards              */
  padding: 23px 20px;                     /* inner spacing                  */
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  color: #000;
 
  
  border: none;
  border-radius: 8px;
  background: linear-gradient(180deg,#fff 0%,#f4f5f7 100%);
  box-shadow: 0 2px 4px rgba(0,0,0,.10);
  overflow: hidden;                       /* ensures the yellow bar stays inside */
  transition: margin-left .25s ease,
              box-shadow  .25s ease;
}

/* the yellow highlight bar */
.sidebar .side‑btn::before{
  content:'';
  position:absolute;
  top:0; left:0;
  width:4px; height:100%;
  background:#ffc107;                     /* same tone as screenshot        */
  transform:scaleY(0);                    /* hidden by default              */
  transform-origin:top;
  transition:transform .25s ease;
}

/* ---------- interactive states ---------- */
.sidebar .side‑btn:hover,
.sidebar .side‑btn:focus,
.sidebar .side‑btn.active{
  margin-left:8px;                        /* “nudge‑right” effect           */
  box-shadow:0 4px 8px rgba(0,0,0,.15);
}

.sidebar .side‑btn:hover::before,
.sidebar .side‑btn:focus::before,
.sidebar .side‑btn.active::before{
  transform:scaleY(1);                    /* reveal yellow bar              */
}

/* remove default focus outline so the glow looks cleaner,
   but keep it keyboard‑accessible                                         */
.sidebar .side‑btn:focus-visible{
  outline:2px solid #ffc10755;
  outline-offset:4px;
}




/*----------Product-brand--------*/
.highlight-title {
  color: #f2b632;
  font-weight: 600;
}

.company-section {
  background-color: white;
  padding: 60px 20px;
  border-radius: 8px;
  margin: 40px auto;
  /* max-width: 1200px; */
}
/* .product-division-img{

  object-fit: contain;
  height: 100%;
  width: 100%;
} */

/* .company-img {
  border-radius: 10px;
  width: 100%;
  height: auto;
  object-fit: cover;
} */

@media (max-width: 768px) {
  .company-section {
    padding: 30px 15px;
  }
  
.sec-contents h1{
  font-size: 25px;
}

.sec-contents h4{
  font-size: 17px;

}
}
/*-------product-page -----------*/


/*--------services ------------*/

.section-header {
  text-align: center;
  margin-bottom: 40px;
}

.section-header h4 {
  color: #F7BD00;
  font-weight: 800;
  font-size: 1.4rem;
}

.section-header h1 {
  font-weight: 800;
  font-size: 2rem;
}

.service-card {
  /* background-color: rgb(244, 237, 228); */
  /* background-color: #F8F4E1; */
  border-radius: 12px;
  padding: 20px;
  /* text-align: center; */
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
  transition: transform 0.2s ease;
}

.service-card:hover {
  transform: translateY(-5px);
}

.service-card img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: 10px;
}

.service-card h5 {
  font-size: 15px;
  font-weight: 600;
  color: #222;
}

.cta {
  margin-top: 60px;
  height: 250px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  background-image: linear-gradient(
      rgba(162, 152, 152, 0.6),
      rgba(134, 130, 130, 0.6)
    ),
    url('../Epoch/images/trading-images/product-page9.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cta p {
  font-size: 22px;
  margin-bottom: 20px;
}

.cta a {
  display: inline-block;
  /* background: #f2b632; */
  color: #000;
  text-decoration: none;
  font-weight: bold;
  padding: 12px 20px;
  border-radius: 5px;
  transition: 0.3s ease;
}





/* ----------services 2 -------------*/
.section {
  background-color: #ffffff;
  padding: 60px 20px;
}

.section h3 {
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 20px;
}

.section p {
  font-size: 16px;
  line-height: 1.7;
  color: #444;
}

/* ──────────────────────────────────────────────────────────────
   BLOG-DETAIL  •  ONE-OFF RESPONSIVE FIXES
   place AFTER your current stylesheet
────────────────────────────────────────────────────────────────*/

/* 1 ▸ make sure the photo always scales */
.section img.blog-hero {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;       /* matches your design */
}

/* 2 ▸ refine the two-column layout on desktop */
.blog-detail-row {            /* wrapper around text + image       */
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 2.5rem;              /* space between columns             */
}

/* text column should never grow wider than 540 px for readability */
.blog-detail-text {
    flex: 1 1 540px;
    max-width: 540px;
    text-align: justify;
    line-height: 1.7;
}

/* let the picture take the rest of the row */
.blog-detail-media {
    flex: 0 1 60%;
    min-width: 280px;         /* prevents awkward shrinking        */
}

/* 3 ▸ mobile/ tablet breakpoint – stack the columns                */
@media (max-width: 991.98px) {
    .blog-detail-row {
        flex-direction: column;
        gap: 1.75rem;
    }

    /* put image first on small screens (optional – remove if you
       prefer text, then image)                                      */
    .blog-detail-media   { order: -1; }

    /* relaxed line-length on small screens */
    .blog-detail-text {
        max-width: none;
        text-align: left;
    }
}

/* 4 ▸ tiny phones ≤ 575 px – trim font sizes just a touch          */
@media (max-width: 575.98px) {
    .section h3               { font-size: 1.35rem; }
    .blog-detail-text,
    .section p                { font-size: 0.94rem; line-height: 1.6; }
}



.cta {
  /* Existing CTA Styles */
  height: 250px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  background-image: linear-gradient(
      rgba(162, 152, 152, 0.6),
      rgba(134, 130, 130, 0.6)
    ),
    url('../images/trading-images/product-page9.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  /* Add this line to create spacing before the footer: */
  margin-bottom: 40px;
}

.cta p {
  font-size: 22px;
  margin-bottom: 20px;
}

.cta a {
  display: inline-block;
  /* background: #f2b632; */
  color: #000;
  text-decoration: none;
  font-weight: bold;
  padding: 12px 20px;
  border-radius: 5px;
  transition: 0.3s ease;
}


.productpageMainTitle
{
  text-align: center;
}
.productpageMainTitle h4 
{
  font-weight: 800;
  font-size: 1.4rem;
  color: #ffc107;
}
.productpageMainTitle h2 

{
  
  font-weight: 700;
  font-size: 2rem;
}
.active-menu
{
  background-color: #ffc107;
}
.clientSlider .item {
  padding: 20px;
  margin: 5px;
  color: white;
  text-align: center;
  border-radius: 10px;
}
.clientSlider .owl-dot
{
  display: none !important;
}
.testimonial
{
  background: #eeeeee;
}
section.foot p, section.foot a, section.foot, section.foot span, section.foot strong, section.foot h6
{
  color: #fff;
}
.locationsec img 
{
  float: left;
  margin-right: 10px;
  margin-top: 3px;
}
.location-box p 
{
  margin-bottom: 0px;
  font-size: 12px;
}
.locationsec 
{
  margin-top: 8px;
  margin-right: 10px;
}

.copyright p 
{
  font-size: 14px;
}
.mail-contents a 
{
  text-decoration: none;
  line-height: 39px;
}
.productpageMainTitle .card-custom img
{
  width: 100%;
  height: 290px;
  object-fit: cover;
}
.addresssec p 
{
  font-size: 13px;
  line-height: 16px;
  margin-bottom: 12px;
}
.addresssec h1 
{
  font-size: 35px;
  line-height: 35px;
}
.additionaladdress 
{
  padding: 10px;
  font-size: 13px;
  text-align: center;
  margin-bottom: 15px;
  background: #f0f0f0;
}
.map-wrap 
{
  height: 226px;
}
.map-wrap iframe 
{
  height: 100%;
}
.social-icon{
  height: 65%;
  width: 75%;
}
.productpageMainTitle h1{
  font-size: 2rem;
  font-weight: 800;
}
.blog-section .custom-overlay .card-title
{
    text-transform: none;
}
@media (max-width: 767.98px) {
  .contact-info
  {
    float: left;
  }

  .foot .logo img 
  {
    width: 160px;
    height: auto;
  }
  .section {
    padding: 40px 15px;
  }

  .section h3 {
    font-size: 22px;
  }

  .section p {
    font-size: 15px;
  }
  
.addresssec h1{
         font-size: 27px;
}
.productpageMainTitle  h4{
  font-size: 17px;
}
.productpageMainTitle h1{
  font-size: 25px;
  font-weight: 800;
}
}

/*--------hedge-group--------*/
@media screen and (min-width: 768px) and (max-width: 1400px) {

  /* give navbar some breathing room and keep the
     button visually separated from the nav links   */
  .navbar .dwld{
    margin-left: 0 !important;
  }
 .top-bar{
    display: none !important;
  }
  header{
    padding-top: 10px !important;
  }
  /* upscale the button a bit for fingertip comfort */
  .dwld .download-btns{
    padding:.55rem 1.4rem !important;           /* bigger tap target   */
    font-size:1rem !important;                  /* 16 px               */
    border-radius:6px !important;               /* softer corners      */
  }

  /* OPTIONAL: if you’d like the icon to sit on the left
               but get slightly larger on tablets       */
  .dwld .download-btns img{
    width:22px !important; height:22px !important;
  }
.why-epoch-left{
      /* flex: 1 1 50%; */
    background-color: #ffc107 !important;
    display: flex !important;
    flex-direction: column !important;
    /* position: relative; */
    height: fit-content !important;
    padding-right: 40px !important;
    z-index: 9 !important;
}

.online-services{
  position: relative !important;
  top: -125px !important;
}
.online-services-background{
  background-image: url('/images/hedge-goup/sign.png');
}
 header .navbar{
    flex-wrap:nowrap;          /* no second row                    */
    overflow:hidden;           /* hide stray px while debugging    */
  }

  /* 2 ▸ push pill hard right and stop it from shrinking */
  .navbar .dwld{
    margin-left:auto;          /* flex gap between links & pill    */
    flex:0 0 auto;             /* don’t grow, *don’t* shrink       */
  }

  /* 3 ▸ give the pill a slimmer profile for tablets */
  .dwld .download-btns{
    padding:.55rem 1rem !important;  /* was 0.55 / 1.4              */
    font-size:.875rem  !important;   /* 14 px                        */
    line-height:1;                  /* keeps it vertically snug     */
    white-space:nowrap;             /* icon + text stay together    */
  }
  .dwld .download-btns img{
    width:18px !important;
    height:18px !important;         /* trims icon a touch           */
  }
}
@media (max-width:767.98px){

  /* collapse links under the brand row, keep pill full-width */
  .navbar{ flex-wrap:wrap; }

  .navbar-collapse{            /* the ul */
    order:2;
    width:100%;
  }

  .navbar .dwld{               /* pill wrapper */
    order:3;                   /* sits under the collapse on phones */
    width:100%;
    margin:0;
    text-align:center;
  }

  .dwld .download-btns{
    width:100%;                /* big fat tap-target               */
    justify-content:center;
  }
  .industries-right p{
  text-align: justify;
}
.industries-right h2{
  font-size: 22px !important;
 
    margin-bottom: 15px;
    margin-left: 25px;
    font-weight: 800;
}
}
/*--------hedge-group--------*/
@media screen and (min-width: 480px) and (max-width: 768px) {

  /* give navbar some breathing room and keep the
     button visually separated from the nav links   */
  .navbar .dwld{
    margin-left:.29rem !important;
  }

  /* upscale the button a bit for fingertip comfort */
  .dwld .download-btns{
    padding:.555rem .234rem !important;           /* bigger tap target   */
    font-size:.5rem !important;                  /* 16 px               */
    border-radius:4px !important;               /* softer corners      */
  }
.top-bar{
  display: none !important;
}
  /* OPTIONAL: if you’d like the icon to sit on the left
               but get slightly larger on tablets       */
  .dwld .download-btns img{
    width:10px !important; height:10px !important;
  }
.why-epoch-left{
      /* flex: 1 1 50%; */
    background-color: #ffc107 !important;
    display: flex !important;
    flex-direction: column !important;
    /* position: relative; */
    height: fit-content !important;
    padding-right: 10px !important;
    z-index: 9 !important;
}
.industries-right p{
  text-align: justify;
}
.industries-right h2{
  font-size: 22px !important;
 
    margin-bottom: 15px;
    margin-left: 25px;
    font-weight: 800;
}
.online-services{
  position: relative !important;
  top: -72px !important;
}
}

/* ─── Online-services slider tweaks ────────────────────────────── */

/* Base rule – three items side-by-side at all widths */
.online-services .slide3{
  flex: 0 0 calc(33.333% - 20px);   /* three cards minus gutter   */
  max-width: calc(33.333% - 20px);
  margin: 0 10px;
  opacity: .7;                      /* keep your fade-in effect   */
  transform: scale(.9);
  transition: transform .4s, opacity .4s;
}

/* Kill the old “one card” rule that was inside 991 px media query */
@media (max-width: 991px){
  .online-services .slide3{
    /* use a slightly narrower gutter so three cards fit on small screens */
    flex: 0 0 calc(33.333% - 14px);
    max-width: calc(33.333% - 14px);
    margin: 0 7px;
  }
}

/* Very small phones – keep three logos but tighten the gap */
@media (max-width: 576px){
  .online-services .slide3{
    flex: 0 0 calc(33.333% - 10px);
    max-width: calc(33.333% - 10px);
    margin: 0 5px;
  }
}

/* Section positioning – remove big negative offset and add padding */
@media (max-width: 991px){
  .online-services{
    top: 0;                       /* cancels the –72 px or –125 px shift */
    padding: 40px 0;              /* breathing room above and below      */
  }
  .sign-img{
    display: none;
  }
  .hedgegroupSec .row > [class*="col-"]{
    padding-left: 10px;
    padding-right: 10px;
    
  }
  .top-bar{
    display: none !important;
  }
}
/* ──────────────────────────────────────────────────────────────
   MOBILE “Why-Epoch” LAYOUT  ≤ 767 px
   ─ grab the phone mock-up 1 : 1
────────────────────────────────────────────────────────────────*/
@media (max-width: 767.98px){

    /* 1 ▸ keep the yellow, but let the column size itself
           (no more enormous fixed height)                 */
    .why-epoch-left{
        background:#ffc107;
        padding:0;                 /* no stray inside gap   */
    }

    /* 2 ▸ put every element back in the normal flow
           – we undo the big negative pushes used on desktop */
    .cont,
    .why-epoch-image img,
    .why-epoch-content{
        position:static !important;
        top:auto  !important;
        left:auto !important;
    }

    /* the photo stretches full width, exactly like the mock-up */
    .why-epoch-image img{
        width:100%;
        height:auto;
        display:block;
    }
    .section-header h1{
      font-size: 25px;
    }
.section-header h4{
  font-size: 17px;
}
    /* 3 ▸ comfortable copy padding */
    .why-epoch-content{
        /* padding:1.25rem 1.5rem; */
    }

    /* 4 ▸ stats wrap cleanly on two rows if they need to */
    .stats{
        margin-top:1rem;
        gap:10px;
    }
    .why-epoch-content p{
      
    }

.hedgegroupSec .order-1
{
  background-color: #fff;
}
.view-more-btn{
    background-color: #f5c518;
  color: #333;
  padding: 10px 20px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px;
  text-transform: uppercase;
  transition: background-color 0.3s;
  
}
 .top-bar{
    display: none !important;
  }
.view-more{
  font-size: 10px;
}
}
/* =======================================================================
   PHONE-ONLY TWEAKS for the “Repair Services We Offer” strip
   – keeps heading at the top
   – shows tiles two-up
   – puts “VIEW MORE SERVICES” as a full-width bar at the very bottom
   =======================================================================*/
@media (max-width: 575.98px){

    /* 1 – constrain the whole block and create an anchoring context */
    .main.container{
        max-width: 480px;            /* keeps nice side gutters        */
        margin: 0 auto;
        padding: 0 16px;
        position: relative;          /* lets us pin the button later   */
    }

    /* 2 – centre the heading (button is no longer beside it) */
    /* .service-header{
        justify-content: center;
    } */

    /* 3 – tile grid: 2-up, gap 12 px, no inner card chrome      */
    .services-grid{
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        padding-bottom: 72px;        /* space so last row never hides   */
    }
    .service-card{
        flex: 0 0 calc(50% - 12px);
        padding: 0;
        border: 0;
        box-shadow: none;
        background: #fff;
        text-align: center;
    }
     .top-bar{
    display: none !important;
  }
    .service-card img{
        width: 100%;
        height: 130px;
        object-fit: cover;
        border-radius: 8px;
    }
    .service-card-content{padding: 6px 4px;}
    .service-card-content h3{
        font-size: 13px;
        line-height: 1.25;
        margin: 4px 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .service-card-content p,
    .service-card-content .read-more-btn{display:none;}
.service-header{
  /* padding-left: 20px; */
}
    /* 4 – relocate + restyle the yellow “VIEW MORE SERVICES” button   */
    .service-header .view-more{      /* same element, just moved       */
        position: absolute;
        left: 0;
        /* right: 10px; */
        bottom: 0;                   /* hugs bottom of the container   */

        
    }
}
/* ===============  PHONE LAYOUT for the services grid  =============== */
/* === PHONE tweak: button only as wide as its label, left-aligned === */
@media (max-width: 575.98px){

  .view-more{
    display:inline-block;      /* shrink to content width          */
    width:auto;                /* no forced 100 % stretch          */
         /* top gap, zero side-margins       */
    padding:.75rem 1.25rem;    /* keep the tall look / side air    */
   
  }

  /* (Only needed if something above had text-align:center) */
  .view-more, .view-more-btn, .services-grid, .main{
    text-align:left;
  }
}
/* =========================================================
   BLOG SLIDER – mobile view
   ========================================================= */
@media (max-width: 767.98px){
  /* don’t let the desktop script hide a whole slide2 block */
  .blog-slider .slide2{
    display:block !important;
  }
  

.header-blog h1 {
  font-size: 25px;
}
.banner-text h1 {
  font-size: 25px;
  margin-top: 40px;
}
.online-services-background{
  background: url('/images/hedge-goup/sign.png') no-repeat center ;
  background-size: 88%;
  /* opacity: 0.89; */
}
}
/* ------------------------------------------------------------------
   PHONE-ONLY – keep the Epoch logo tidy on screens ≤ 575 px wide
   ------------------------------------------------------------------*/
@media (max-width: 575.98px){
    .productItems
    {
        height: auto !important;
    }
    .about-text
    {
        margin-right: 0px !important;
    }

  /* 1 ▸ shrink the clickable area so it doesn’t eat vertical space   */
  .epoch-logo{
      padding: 0;                 /* kills the extra 2 em bottom gap  */
      line-height: 1;             /* keeps anchor snug                */
  }

  /* 2 ▸ size the actual picture (or svg) inside the anchor            */
  .epoch-logo > img{
      height: 32px;               /* ← pick the height that feels right */
      width:  auto;               /* maintain aspect ratio            */
  }

  /* 3 ▸ if you sometimes use an inline SVG instead of <img>, add:    */
  .epoch-logo svg{                /* optional                          */
      height: 32px;
      width:  auto;
  }
.logo-bar .owl-carousel img{
  height: auto;
  width: 66px;
  gap: 5px;
}
.logo-bar .owl-item{
 gap: 5px;
}
.productItems{
   height: auto;
}
.productItems .image-box{
 
}

.intro{
  text-align: justify;
}
.section p {
  text-align: justify;
}
}
/* hide the offenders at the phone breakpoint */
@media (max-width: 767.98px){
  .layer-bg     {display:none;}
  .cont         {left:0; top:0;}        /* undo the sideways push   */
}

/* final safety-net – prevent any leftover scroll */
html,body{overflow-x:hidden;}
/* ───────────────────────────────────────────────
   HEDGE GROUP “ONLINE-SERVICES”  –  RESPONSIVE FIX
   paste AFTER all of your existing styles
───────────────────────────────────────────────── */

/* ====== TABLETS — portrait & landscape (768-991 px) ====== */
@media (min-width:768px) and (max-width:991.98px){

  /* keep the two halves stacked (text on top, slider under) */
  .online-services .hedgegroupSec .row{
    flex-direction: column-reverse;      /* text first, logos second   */
  }

  .online-services .left-image,
  .online-services .content-column{
    flex:0 0 100%;
    max-width:100%;
  }

  /* tighten up the logo ticker so three are visible */
  .online-services #slider3{
    gap:14px;
  }
  .online-services .slide3{
    flex:0 0 calc(33.333% - 14px);
    max-width:calc(33.333% - 14px);
  }
  .hedge-content-para{
    font-size: 20px;
    text-align: justify;
    padding-left: 50px;
  }
  .sign-img{
    object-fit: cover;
  }
      .industries-right{
        padding-top: 60px;
      }
}
/* ───────────────────────────────────────────────
   NAVBAR  »  TABLET PORTRAIT & LANDSCAPE (768-991 px)
   responsive fix for stretched Epoch logo
─────────────────────────────────────────────────*/
@media (min-width:768px) and (max-width:991.98px){

  /* 1 ▸ tidy up the clickable area around the brand */
  .epoch-logo{
    position: static;          /* reset the negative “top:-60px”       */
    padding: 0;                /* kills extra vertical space            */
    line-height: 1;            /* keeps anchor snug                     */
  }

  /* 2 ▸ constrain the picture (or inline-svg) itself               */
  .epoch-logo > img,
  .epoch-logo svg{
    /* height: 48px; */              /* pick the height you like (≈ 3 rem)    */
    margin-bottom: 15px;
    width:  auto;              /* let width follow aspect ratio         */
  }

  /* 3 ▸ give the bar a little breathing room so logo/hamburger
         aren’t glued to the top edge                                 */
  .navbar{
    padding-top: 8px;          /* adjust to taste                       */
    padding-bottom: 8px;
  }

  /* 4 ▸ optional – make sure the download pill never wraps */
  .navbar .dwld{
    margin-left: 1rem;
    flex: 0 0 auto;
  }
}
/* ───────────────────────────────────────────────
   BLOG-SLIDER  »  TABLET PORTRAIT & LANDSCAPE
   Show the tablet exactly like the mobile view
─────────────────────────────────────────────────*/
@media (min-width:768px) and (max-width:991.98px){

  /* 1 ▸ stack every card full-width, one per row  */
  .blog-section .col-md-4{
    flex: 0 0 100% !important;     /* ignore Bootstrap’s 33% rule  */
    max-width: 100% !important;
  }

  /* 2 ▸ reveal the 2nd slide wrapper the same way you do on phones */
  .blog-slider .slide2{
    display: block !important;
  }

  /* 3 ▸ give the cards a little breathing room                    */
  .blog-section .row.g-3{          /* override the Bootstrap gap    */
    row-gap: 1.5rem;
  }

  /* 4 ▸ centre the arrow controls (optional, feels nicer on tabs) */
  .carousel-controls{
    text-align: center;
    margin-top: 1rem;
  }
}


.repair-btns button:hover img
{
  filter: invert(100%);
}

.flip-button {
  width: 240px;
  height: 40px;
  perspective: 1000px;
  margin: 26px 0px 0px;
}

.flip-inner {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.6s ease;
}

.flip-button:hover .flip-inner {
  transform: rotateY(180deg);
}

.flip-front,
.flip-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: bold;
}

.flip-front {
  background-color: #ffffff;
  color: #000000;
}

.flip-back {
  background-color: #ffc70f;
  color: #000000;
  transform: rotateY(180deg);
}

footer .col-12.text-center.small
{
  padding-bottom: 30px;
}
footer .d-flex.align-items-center.flex-wrap.gap-4 img
{
   object-fit: contain;
}
.epoch-contact-midimage 
{
  position: relative;
  text-align: center;
}
.epoch-contact-midimage  .epochtec-contact-link
{
  position: absolute;
  bottom: 16px;
  left: 0px;
  padding: 10px;
  background: #ffc107;
  width: 84%;
  float: none;
  color: #000;
  text-decoration: none;
  font-weight: 600;
  border-radius: 10px;
}
.epoch-contact-midimage  .epochtec-contact-link:hover 
{
  background: #000;
  color: #fff;
}
.divisionsec .card-body p 
{
  text-align: center !important;
}
.service-header button:hover 
{
   background-color: #000 !important;
   color: #fff !important;
   border-color: #000;
}
.epoch-footer .col-lg-7 p.small a
{
  text-decoration: none;
  color: #fff;
}
.epoch-logo img
{
  width: 200px;
}