/* Preset CSS */
/* body { border: 5px solid red; } */

/* dddddddddddddddddddddddddd */


/* ddddddddddddddddddddddd */

/* header cell view so hamburger menu does not drop below logo start
@media (max-width: 767px) {
  /* Keep logo and nav on same row */
  .elementor-element-0f3a175,
  .elementor-element-ccf202c {
    width: 50% !important;
  }

  /* Align items vertically centered */
  .elementor-top-section > .elementor-container {
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
}
/* header cell view so hamburger menu does not drop below logo end


/* pagination bullets to be white start */
.swiper-pagination-bullet {
        background-color: #ffffff !important;
        opacity: 1 !important;
    }

    .swiper-pagination-bullet-active {
        background-color: #279989 !important;
    }
/* pagination bullets to be white end */
    /* ============benbar team members start============== */
    .benbar-wrapper {
      max-width: 1400px;
      margin: 0 auto;
      padding: 20px;
    }

    .benbar-container {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }

    .benbar-member {
      background: #fffdf5;
      border-radius: 10px;
      overflow: hidden;
      text-align: center;
      box-shadow: 0 4px 6px rgba(0,0,0,0.1);
      transition: transform 0.3s;
    }

    .benbar-member:hover {
      transform: translateY(-5px);
    }

    .benbar-image-wrapper {
      position: relative;
      width: 100%;
      padding-top: 120%;
      overflow: hidden;
    }

    .benbar-image-wrapper img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }

    .benbar-member:hover img {
      transform: scale(1.1);
    }

    .benbar-info {
      padding: 15px;
    }

    .benbar-email {
      display: block;
      width: 75px;
      margin: 0 auto 10px;
      font-size: 32px;
      text-decoration: none;
      color: #0073e6;
      transition: color 0.3s;
    }

    .benbar-email:hover {
      color: #005bb5;
    }

    .benbar-info h3 {
      margin: 10px 0 5px;
      font-size: 18px;
      font-weight: bold;
      text-align: center;
    }

    .benbar-info p {
      margin: 0;
      font-size: 14px;
      color: #666;
      line-height: 1.4;
      text-align: left;
    }

    /* Responsive layout */
    @media (max-width: 1000px) {
      .benbar-container {
        grid-template-columns: repeat(3, 1fr);
      }
    }

    @media (max-width: 768px) {
      .benbar-container {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 500px) {
      .benbar-container {
        grid-template-columns: 1fr;
      }
    }
    /* ============benbar team members end============== */
/* Horizontal Rule with Image start (uses a 50px x 50px image now) */
/* =====================================
   Horizontal Rule with Center Image
===================================== */

.hr-with-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* Left & Right Lines */
.hr-with-image::before,
.hr-with-image::after {
    content: "";
    flex: 1;
    border-bottom: 3px solid #669c3d;
    margin: 0 15px;
}

/* Center Image */
.hr-with-image img {
    display: block;
    height: 50px !important;
    max-height: 50px;
    width: auto !important;
    flex-shrink: 0;
}
/* Horizontal Rule with Image end */
/* ===== work projects lightbox start == */
    * {
      box-sizing: border-box;
    }

    .beninlinebox-wrapper {
      display: grid;
      place-items: center;
      /* padding: 1.5rem; */
      /* min-height: 100vh; */
      /* background: white; */
      color: black;
    }

    .beninlinebox-container {
     /* --beninlinebox-border: 1px solid #07272D; */
      --beninlinebox-bg: white;
      --beninlinebox-fg: black;
      --beninlinebox-space: .5rem;

      display: grid;
      grid-auto-rows: 1fr;
      border: var(--beninlinebox-border);
      width: 100%;
      max-width: 1100px;
      background: var(--beninlinebox-bg);
      /* color: var(--beninlinebox-fg); */
      color: #ffffff;
      font-family: system-ui, sans-serif;
      font-size: 1rem;
      line-height: 1.5;
    }

    .beninlinebox-intro {
      padding: var(--beninlinebox-space);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: var(--beninlinebox-space);    
      /*background-color: #101820;*/
      background-color: #07272D;
			padding-left: 20px;
      padding-right: 20px
    }

    .beninlinebox-intro img {
      width: 100%;
      max-width: 450px;
      /* height: auto; */
			height: 200px;
      object-fit: cover;
      border: var(--beninlinebox-border);
    }

    .beninlinebox-flow > * + * {
      margin-top: var(--beninlinebox-space);
    }

    h2 {
      font-size: 2em;
      font-weight: bold;
      line-height: 1.2;
      text-align: center;
    }

    .beninlinebox-button {
      background: #07272D;
      color: white;
      border: none;
      padding: 0.5rem 1.25rem;
      cursor: pointer;
    }

    .beninlinebox-button:active {
      transform: translateY(1px);
    }

    .beninlinebox-details {
      display: grid;
      grid-template-rows: auto 1fr auto;
      padding: 0 10px; 
      background-color: #dfdfdf;
    }

    .beninlinebox-details header,
    .beninlinebox-details footer {
      padding: 0.75rem 0;
      text-align: center;
      font-size: 0.95em;
      font-weight: 700;
      text-transform: uppercase;
      background-color: #43695B;
      border-bottom: var(--beninlinebox-border);  
      color: #ffffff;
    }

    .beninlinebox-scroll {
      overflow-y: auto;
      padding: var(--beninlinebox-space);
      border-block: var(--beninlinebox-border);
      /* max-height: 500px; */
			max-height: 600px;
    }

    .beninlinebox-scroll::-webkit-scrollbar {
      width: 8px;
    }

    .beninlinebox-scroll::-webkit-scrollbar-thumb {
      background: black;
    }

    .beninlinebox-scroll::-webkit-scrollbar-track {
      background: white;
    }

    .benimage-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: 1rem;
      margin-top: 1rem;
    }

    .benimage-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }

    .benimage-item img {
      max-width: 100%;
      height: auto;
      border: var(--beninlinebox-border);
      cursor: pointer;
    }

    .benimage-item p {
      margin: 0.5rem 0;
    }

    .benimage-item .beninlinebox-button {
      font-size: 0.9em;
    }

    /* Lightbox styles */
.benlightbox-overlay {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  overflow-y: auto;
  justify-content: center;
  align-items: flex-start;
  padding: 2rem;
}

.benlightbox-overlay.active {
  display: flex;
}

.benlightbox-content {
  width: 100%;
  max-width: 1000px;
  margin: auto;
}

.benlightbox-content img {
  width: 100%;
  height: auto;
  display: block;
  border: 5px solid white;
} 

    .benlightbox-close {
      position: absolute;
      top: 20px;
      right: 30px;
      font-size: 2rem;
      color: white;
      background: none;
      border: none;
      cursor: pointer;
    }

    @media (min-width: 768px) {
      .beninlinebox-container {
        grid-template-columns: 1fr 1fr;
      }

      .beninlinebox-details {
        border-top: none;
        border-left: var(--beninlinebox-border);
        padding: var(--beninlinebox-space);
      }

      .beninlinebox-details header,
      .beninlinebox-details footer {
        border-bottom: none;
      }
    }
/* ===== work projects lightbox end == */
/* +++++circle start+++++ */
  /* Container for 3 columns with circle start */
  .tcg-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    gap: 2%;
  }

  /* Column styles */
  .tcg-left,
  .tcg-center,
  .tcg-right {
    box-sizing: border-box;
  }

  .tcg-left {
    width: 28%;
    display: grid;
    grid-template-rows: repeat(5, 1fr); /* 5 equal rows */
    gap: 10px;
  }

  .tcg-center {
    width: 44%;
    display: flex;
    justify-content: center;
  }

  .tcg-right {
    width: 28%;
    display: grid;
    grid-template-rows: repeat(4, 1fr); /* 4 equal rows */
    gap: 10px;
  }

  /* Row styling */
  .tcg-row {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #d7d3d3;
    border: 4px solid #ccc;
    padding: 10px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    transition: all 0.3s ease;
  }

  /* Highlight effect: white bg + red border */
  .tcg-row.highlight {
    background: #ffffff;
    border-color: #0ea594;
  }

  /* Responsive stacking */
  @media (max-width: 1000px) {
    .tcg-container {
      flex-wrap: wrap;
    }
    .tcg-left,
    .tcg-center,
    .tcg-right {
      width: 100%;
    }
  }

  /* Circle container styling */
  .tcg-circle {
    width: 100%;
    max-width: 500px;
  }

  .tcg-circle svg {
    width: 100%;
    height: auto;
    display: block;
  }

  /* Slice styling */
  .tcg-slice path {
    fill-opacity: 0;
    transition: fill-opacity .25s ease;
    pointer-events: all;
  }

  .tcg-slice:hover path {
    fill-opacity: .20;
  }

  .tcg-label {
    font: 700 14px/1.2 Arial, sans-serif;
    fill: #fff;
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
    text-anchor: middle;
    dominant-baseline: middle;
  }

  .tcg-slice:hover .tcg-label {
    opacity: 1;
  }
    /* Container for 3 columns with circle end */
/* +++++circle end+++++ */

/* ============mavgal1 Responsive Image Gallery start============ */
/* ===== GALLERY BASE STYLES ===== */
.mavgaluniq1-gallery {
  position: relative;
  max-width: 700px;
  margin: 30px auto;
  cursor: pointer;
  overflow: hidden;
  border-radius: 10px;
}

.mavgaluniq1-main {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s ease;
}

.mavgaluniq1-gallery:hover .mavgaluniq1-main {
  transform: scale(1.2);
}

/* ===== CAPTION ===== */
.mavgaluniq1-caption {
  position: absolute;
  bottom: 10px;
  left: 15px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  padding: 6px 12px;
  border-radius: 5px;
  font-size: 15px;
}

/* ===== THUMB BUTTON ===== */
.mavgaluniq1-thumb {
  position: absolute;
  bottom: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 125px;
  height: 125px;
  opacity: 0.85;
  transition: bottom 0.6s ease;
}

.mavgaluniq1-gallery:hover .mavgaluniq1-thumb {
  bottom: 50%;
  transform: translate(-50%, 50%);
}

/* ===== LIGHTBOX ===== */
.mavgaluniq1-lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
}

.mavgaluniq1-lightbox img {
  display: block;
  margin: auto;
  max-width: 90%;
  max-height: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ===== ARROWS ===== */
.mavgaluniq1-prev, .mavgaluniq1-next {
  position: absolute;
  top: 50%;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  padding: 15px;
  user-select: none;
  transform: translateY(-50%);
  transition: 0.3s;
  z-index: 10001;
}

.mavgaluniq1-prev:hover, .mavgaluniq1-next:hover {
  color: #279989;
}

.mavgaluniq1-prev { left: 10px; }
.mavgaluniq1-next { right: 10px; }

/* ===== CLOSE BUTTON ===== */
.mavgaluniq1-close {
  position: absolute;
  top: 20px;
  right: 25px;
  font-size: 35px;
  color: #fff;
  cursor: pointer;
  z-index: 10002;
}

.mavgaluniq1-close:hover { color: #279989; }
  /* ======mavgal1 Responsive Image Gallery end===== */
/* =====mavgal2 Responsive Image Gallery start====== */
/* ===== GALLERY BASE STYLES ===== */
.mavgaluniq2-gallery {
  position: relative;
  max-width: 700px;
  margin: 30px auto;
  cursor: pointer;
  overflow: hidden;
  border-radius: 10px;
}

.mavgaluniq2-main {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s ease;
}

.mavgaluniq2-gallery:hover .mavgaluniq2-main {
  transform: scale(1.2);
}

/* ===== CAPTION ===== */
.mavgaluniq2-caption {
  position: absolute;
  bottom: 10px;
  left: 15px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  padding: 6px 12px;
  border-radius: 5px;
  font-size: 15px;
}

/* ===== THUMB BUTTON ===== */
.mavgaluniq2-thumb {
  position: absolute;
  bottom: -180px;
  left: 50%;
  transform: translateX(-50%);
  width: 125px;
  height: 125px;
  opacity: 0.85;
  transition: bottom 0.6s ease;
}

.mavgaluniq2-gallery:hover .mavgaluniq2-thumb {
  bottom: 50%;
  transform: translate(-50%, 50%);
}

/* ===== LIGHTBOX ===== */
.mavgaluniq2-lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
}

.mavgaluniq2-lightbox img {
  display: block;
  margin: auto;
  max-width: 90%;
  max-height: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ===== ARROWS ===== */
.mavgaluniq2-prev, .mavgaluniq2-next {
  position: absolute;
  top: 50%;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  padding: 15px;
  user-select: none;
  transform: translateY(-50%);
  transition: 0.3s;
  z-index: 10001;
}

.mavgaluniq2-prev:hover, .mavgaluniq2-next:hover {
  color: #279989;
}

.mavgaluniq2-prev { left: 10px; }
.mavgaluniq2-next { right: 10px; }

/* ===== CLOSE BUTTON ===== */
.mavgaluniq2-close {
  position: absolute;
  top: 20px;
  right: 25px;
  font-size: 35px;
  color: #fff;
  cursor: pointer;
  z-index: 10002;
}

.mavgaluniq2-close:hover { color: #279989; }
/* ========mavgal2 Responsive Image Gallery end============= */ 
/* ||||||||||| atria textbox over image start ||||| */
/* ==============================
   IMAGE + OVERLAY TEXT LAYOUT
   ============================== */

.testimonial-image-with-text {
  position: relative;
  width: 85%;                 /* smaller image area on desktop */
  margin: 0 auto;
  overflow: visible;          /* allow overlay to extend outside image */
  padding-bottom: 12%;        /* reserve space for hanging text box */
}

/* image */
.testimonial-image-with-text img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

/* overlay text box (desktop) */
.testimonial-text-box {
  position: absolute;
  right: 0;
  bottom: 0;
  /*transform: translate(25%, 25%); */
  transform: translate(20%, -20%); 
	/* controlled overlap instead of negatives */
  background: #ffffff;
  padding: 28px 32px;
  max-width: clamp(320px, 60%, 520px);
  border-radius: 10px;
  box-shadow: 0 6px 22px rgba(0,0,0,0.18);
  color: #000;
}

/* heading */
.testimonial-text-box h3 {
  margin: 0 0 10px;
  font-size: 1.75rem;
  line-height: 1.25;
  font-weight: 700;
}

/* subheading */
.testimonial-text-box h3 span {
  display: block;
  margin-top: 4px;
  font-size: 0.95rem;
  font-weight: 400;
  color: #444;
}

/* paragraph */
.testimonial-text-box p {
  margin: 0;
  /*font-size: 1.05rem; */
	font-size: 1.50rem;
  line-height: 1.6;
}

/* ==============================
   MOBILE STACKING
   ============================== */

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

  .testimonial-image-with-text {
    width: 100%;
    padding-bottom: 0;
  }

  .testimonial-text-box {
    position: static;
    transform: none;
    max-width: 100%;
    margin-top: 16px;
    padding: 20px 22px;
    border-radius: 6px;
    box-shadow: 0 6px 22px rgba(0,0,0,0.18);
  }

  .testimonial-text-box h3 {
    font-size: 1.4rem;
  }

  .testimonial-text-box p {
    font-size: 1rem;
  }
}


/* top-right decorative icon */
.testimonial-icon {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 1.6rem;
  color: #ccc;          /* subtle by default */
  pointer-events: none; /* purely decorative */
}

/* slightly adjust on mobile */
@media screen and (max-width: 767px) {
  .testimonial-icon {
    font-size: 1.5rem;
    top: 12px;
    right: 14px;
  }
}
/* ||||||||||| atria textbox over image end ||||| */
/* ============== select box accrd 4 careers page start ================ */
        .accrd-container {
            max-width: 1200px;
            margin: 0 auto;
            /* background: white; */
           /* border-radius: 8px; */
            overflow: hidden;
            /* box-shadow: 0 2px 10px rgba(0,0,0,0.1); */
            display: flex;
            min-height: 500px;
        }

        .accrd-nav-section {
            flex: 0 0 300px;
           /* background: #fff; */
            /* padding: 40px 30px; */
            padding: 20px 10px;			
          /*  border-right: 1px solid #e0e0e0; */
        }

        .accrd-nav-item {
            padding: 20px 0;
            cursor: pointer;
            border-bottom: 1px solid #e0e0e0;
            color: #b1b2b5;
            /*font-size: 18px; */
            font-size: 22px;			
            font-weight: 500;
            transition: color 0.3s ease;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .accrd-nav-item:last-child {
            border-bottom: none;
        }

        .accrd-nav-item:hover {
            color: #333;
        }

        .accrd-nav-item.accrd-active {
            color: #333;
        }

        .accrd-nav-item.accrd-active::before {
            color: #279989;
        }

        .accrd-nav-item::before {
            content: '◆';
            font-size: 14px;
        }

        .accrd-content-section {
            flex: 1;
            /*padding: 60px 50px; */
            padding: 20px 10px;			
            display: flex;
           /* align-items: center; */
            justify-content: center;
        }

        .accrd-content-item {
            display: none;
            animation: accrdFadeIn 0.5s ease;
            width: 100%;
        }

        .accrd-content-item.accrd-active {
            display: block;
        }

        .accrd-content-wrapper {
            display: flex;
            align-items: flex-end;
            gap: 30px;
            width: 100%;
        }

        /* More specific selector to override Elementor's default img styles */
        .accrd-content-wrapper .accrd-content-image {
            max-width: 350px !important;			
            width: 350px !important;
            height: auto;
            display: block;
            border-radius: 8px;
            flex-shrink: 0;
        }

        .accrd-content-text {
            font-size: 18px;
            line-height: 1.6;
            color: #333;
            max-width: 300px;
            padding-bottom: 20px;
        }

        @keyframes accrdFadeIn {
            from {
                opacity: 0;
                transform: translateY(10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @media (max-width: 768px) {
            .accrd-container {
                flex-direction: column;
            }

            .accrd-nav-section {
                flex: 0 0 auto;
                border-right: none;
                border-bottom: 1px solid #e0e0e0;
                /* padding: 20px; */
                padding: 10px;				
            }

            .accrd-content-section {
                /*padding: 30px 20px; */
                padding: 15px 10px;				
            }

            .accrd-content-wrapper {
                flex-direction: column;
                align-items: flex-start;
            }

            .accrd-content-wrapper .accrd-content-image {
                max-width: 100% !important;
                width: 100% !important;
            }

            .accrd-content-text {
                font-size: 16px;
                max-width: 100%;
                padding-bottom: 0;
                padding-top: 20px;
            }
        }
/* ============== select box accrd 4 careers page end ================ */

