.top-header {
    position: relative;
    font-size: 14px;
    z-index: 2000;
    border-bottom: none;
}
.text-primary-red {
    color: #d4442a !important;
}
.text-primary-blue{
    color: #00466b;
}
.btn-primary-red {
    background-color: #d4442a;
    color: #fff;
}
.btn-primary-red:hover {
    background-color: #00679e;
    color: #fff;
}
.no-primary-red {
  background-color: #d4442a;
  color: #fff;
}
.btn-primary-blue {
  background-color: #00679e;
  color: #fff;
}
.btn-primary-blue:hover {
  background-color: #d4442a;
  color: #fff;
}
.navbar-stick .navbar-other .navbar-nav .nav-item .btn-primary-red{
    background-color: #d4442a !important;
    border-color: #d4442a !important;
    color: #fff !important;
}
.navbar-stick .navbar-other .navbar-nav .nav-item .btn-primary-red:hover{
    background-color: #00679e !important;
    border-color: #00679e !important;
    color: #fff !important;
}
.header-with-logo {
    position: relative;
}
.header-with-logo::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 52px;
    height: 1px;
    background: #e5e5e5;
    z-index: 1000;
    pointer-events: none;
}
.navbar-brand {
    position: relative;
    z-index: 3000;
    pointer-events: none;
}
.navbar-brand a,
.navbar-brand img {
    pointer-events: auto;
}
.navbar-brand img {
    max-height: 225px;
    background: #fff;
    padding: 35px 6px 6px 6px;
    border-radius: 8px;
    transform: translateY(0px);
}
.navbar-stick .navbar-brand img {
    max-height: 225px;
    background: #fff;
    padding: 35px 6px 6px 6px;
    border-radius: 8px;
    transform: translateY(49px);
}
.navbar.navbar-stick {
    padding-top: 0;
    height: 80px;
}
.navbar {
    padding-top: 32px;
}
/*---------menu bar link ----------- */
.offcanvas-body a {
  transition: all 0.3s ease;
}
.offcanvas-body .nav-link:hover {
  transform: translateX(5px);
}
.offcanvas-body .dropdown-item:hover {
  padding-left: 20px;
}
.offcanvas-footer a {
  transition: all 0.3s ease;
}
.offcanvas-footer a:hover {
  color: #d4442a;  
}
/*---------menu bar link ----------- */

/*---------hero banner ----------- */
.main-hero-slider{
  position:relative;
  overflow:hidden;
}
/* Slide image */
.hero-slide{
  height:100vh;
  background-size:cover;
  background-position:center;
  position:relative;
}
/* Gradient Overlay */
.hero-slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:
  linear-gradient(139deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.10) 70%),
  linear-gradient(139deg, rgba(212,68,42,0.9) 0%, rgba(0,103,158,0.7) 54%);
  z-index:1;
}
/* Text above gradient */
.hero-content{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10;
  text-align:center;
}
.hero-content{
  pointer-events: none;
}

.hero-content *{
  pointer-events: auto;
}
.swiper-hero.home, .swiper-hero.home .swiper-slide {
  height: 650px !important;
}
/* text above */
.hero-text-rotator {
    position: relative;
    height: 46px;
    overflow: hidden;
}
.hero-text-rotator .text-item {
    position: absolute;
    left: 0;
    right: 0;
    opacity: 0;
    transform: translateY(-100%);
    transition: all 0.6s ease;
    font-size: 28px;
    line-height: 1.2em;
    color: #fff;
    text-align: center;
}
.hero-text-rotator .text-item.active {
    opacity: 1;
    transform: translateY(0);
}
.hero-text-rotator .text-item.exit {
    transform: translateY(100%);
    opacity: 0;
}
.underline-3:after {
    top: 38px;
}
.main-hero-slider-para {
    font-size: 16px;
    letter-spacing: 0.5px;
}
/*------ ongoing-project ------*/
.ongoing-projects a.read-text{
    color: #d4442a;
    text-underline-offset: 3px;
}
.ongoing-projects a.read-text:hover{
    color: #00466b;
}
.image-ribbon-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
  } 
.project-ribbon {
  position: absolute;
  top: 16px;
  left: -40px;
  background: #d4442a; 
  color: #fff;
  padding: 8px 50px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  transform: rotate(-45deg);
  z-index: 2;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}
.image-ribbon-wrap img {
  width: 100%;
  height: auto;
  display: block;
}
.ribbon-right .project-ribbon {
  left: auto;
  right: -40px;
  transform: rotate(45deg);
}
/*-------- about-myco-heighlight -------------*/
.about-myco-heighlight {
  position: relative;
  background-color: #f8b68a; 
  overflow: hidden;
}
.about-myco-heighlight {
  position: relative;
  overflow: hidden;
}
.about-myco-heighlight::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background:
    linear-gradient(
      rgba(0, 70, 107, 0.93),
      rgba(0, 70, 107, 0.93)
    ),
    url("../img/building-pattern.png");
  background-position: left center;
  background-repeat: no-repeat; 
  background-attachment: fixed;
  z-index: 0;
}
.about-myco-heighlight .container,
.about-myco-heighlight .row,
.about-myco-heighlight [class*="col-"] {
  position: relative;
  z-index: 1;
}
.about-myco-heighlight a.btn-primary-red:hover {
  background-color: #d4442a;
  color: #fff;
}
/*-------- completed-projects -------------*/
.completed-projects {
  background-color: #f9f9f9; 
  position: relative;
}
.completed-projects::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: url("../img/shapes-background.jpg") no-repeat center top;
  background-size: contain; 
  opacity: 0.4; 
  pointer-events: none;
  z-index: 0;
}
.completed-projects > .container {
  position: relative;
  z-index: 1;
} 
.completed-projects .post-header.logo-image{
  width:50%;
  margin: 0 auto;
}
.completed-projects .swiper-slide{
  background-color: rgba(255, 80, 41, .05);
  border-radius: 15px;
}
.completed-projects .swiper-slide figure{
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
.completed-projects .swiper-wrapper {
  align-items: stretch;
}  
.completed-projects .swiper-slide {
  height: auto;
  display: flex;
} 
.completed-projects  .swiper-slide article {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
figure.overlay {
  position: relative;
  overflow: hidden;
}
figure.overlay::after {
  content: "COMPLETED";
  position: absolute;
  top: 19px;
  left: -43px;
  background: #198754;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 45px;
  transform: rotate(-45deg);
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 9999;
  pointer-events: none;
}
.process-carousel {
  overflow: hidden;
  width: 100%;
}
.process-track {
  display: flex;
  transition: transform 0.6s ease-in-out;
  will-change: transform;
}
.process-content {
  min-width: 100%;
  padding: 0 12px;
  text-align: center;
}
.process-step {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.process-label {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 500;
  color: #1f2933;
  text-align: center;
}
.process-btn.active + .process-label {
  color: #00466b;
  font-weight: 600;
}
.process-step {
    position: relative;
}
.process-step::after {
  content: "";
  position: absolute;
  top: 18px; 
  right: -50%;
  width: 100%;
  height: 2px;
  background-color: #dbe3ea;
  z-index: 0;
}
.process-step:last-child::after {
  display: none;
}
.process-btn {
  position: relative;
  z-index: 1;
}
.footer-bg-color {
  background:
    linear-gradient(rgba(0, 70, 107, 0.95), rgba(0, 70, 107, 0.95)),
    url("../img/building-pattern.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.footer-bg-color .footer-text h4,
.footer-bg-color .footer-text address,
.footer-bg-color .footer-text p,
.footer-bg-color .footer-text a {
  color: #ffffff;
}
.footer-bg-color a.text-primary-red {
  color: #f7675f !important;
  text-decoration: none;
  transition: color 0.3s ease, text-decoration 0.3s ease;
} 
.footer-bg-color a.text-primary-red:hover {
  color: #a61318 !important; 
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer-bg-color .widget a {
  color: #fff; 
  text-decoration: none;
  transition: color 0.3s ease, text-decoration 0.3s ease;
}
.footer-bg-color .widget a:hover {
  color: #ff3b30; /* hover color */
  text-decoration: underline;
  text-underline-offset: 4px;
}
.heading-with-lines {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
} 
.heading-with-lines::before,
.heading-with-lines::after {
  content: "";
  flex: 1;
  height: 1px;
  max-width: 260px;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.05),
    rgba(0,0,0,0.25)
  );
}
.heading-with-lines::after {
  background: linear-gradient(
    to left,
    rgba(0,0,0,0.05),
    rgba(0,0,0,0.25)
  );
}
.custom-modal-radius {
  border-radius: 20px;
  overflow: hidden;
}
.modal-image {
  margin: 0;
  overflow: hidden;
}
.modal-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
  
}
.custom-close {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 10;
}
.modal {
  z-index: 9999 !important;
}
.modal-backdrop {
  z-index: 9998 !important;
}
.modal-body{
  padding: 45px 26px;
}
.modal-pattern::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/plan-pattern.png"); 
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.11; 
  z-index: 0;
}
.modal-pattern > * {
  position: relative;
  z-index: 1;
}
#modal-03 .modal-body{
  padding: 45px 26px 26px 26px;
}

@media (min-width: 768px) {
  #modal-03 .modal-dialog {
      max-width: 695px !important;
  }
}
#preloader {  
  position: fixed;
  inset: 0;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.logo-loader {
  position: relative;
  padding: 24px;
  border-radius: 0px;
  background: #000; 
}
@property --gradient-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.logo-loader::before,
.logo-loader::after {
  content: "";
  position: absolute;
  inset: -5px; 
  border-radius: inherit;
  z-index: -1;
  background: conic-gradient(
    from var(--gradient-angle),
    #ffd166 0% 25%,      
    #ff9f1c 25% 50%,     
    #e75662 50% 75%,     
    transparent 75% 100% 
  );
  animation: rotate 3s linear infinite;
}
.logo-loader::after {
  filter: blur(0px); 
}
.logo-loader img {
  width: 160px;
  display: block;
  position: relative;
  z-index: 1;
}
@keyframes rotate {
  0% { --gradient-angle: 0deg; }
  100% { --gradient-angle: 360deg; }
}
#preloader.loaded {
  opacity: 0;
  visibility: hidden;
}
/*---------MBC--------------*/
.swiper-hero.banner-slider, 
.swiper-hero.banner-slider .swiper, 
.swiper-hero.banner-slider .swiper-wrapper, 
.swiper-hero.banner-slider .swiper-slide {
  height: fit-content !important;
}
.banner-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}
.common-banner-overlay {
  height: 175px;
  background:
    linear-gradient(
      139deg,
      rgba(0, 0, 0, 0.15) 0%,
      rgba(0, 0, 0, 0.10) 70%
    ),
    linear-gradient(
      139deg,
      rgba(212, 68, 42, 1) 0%,
      rgba(0, 103, 158, 90%) 54%
    ),
    url("../img/common-banner.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.ongoing-projects .nav-color{
  background-color: black;
}
.ongoing-projects .swiper-container.nav-dark .swiper-button, 
.ongoing-projects .swiper-container.nav-dark .swiper-slide figure .item-link {
  background: rgb(0, 0, 0) !important;
}
.avatar {
  width: 40px;
  height: 40px;
  min-width: 40px;     
  border-radius: 50%;   
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;      
}
.nav-tabs-basic .nav-link {
  color: #d4442a;
  border-bottom: 2px solid #d4442a;
}
.nav-tabs-basic .nav-link:hover {
  color: #00466b;
  border-bottom: 2px solid #00466b;
}
.nav-tabs-basic .nav-link.active {
  color: #00466b;
  border-bottom: 2px solid #00466b;
}
.overlay-gallery-image {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: .5s ease;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}
.image-link:hover .overlay-gallery-image {
  opacity: 1;
}
.myco-map {
  width: 100%;
  height: 350px;
  overflow: hidden;
  border-radius: 8px;
}
.myco-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.bg-trans{
  position: relative;
  background-color: transparent;
  border-radius: 8px;
  overflow: hidden;
}
.bg-trans span:nth-child(1) {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(to right, #00466b,#d4442a);
	animation: animate1 2s linear infinite;
}
@keyframes animate1 {
	0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(100%);
	}
}
.bg-trans span:nth-child(2) {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 3px;
	background: linear-gradient(to bottom, #00466b,#d4442a);
	animation: animate2 2s linear infinite;
	animation-delay: 1s;
}
@keyframes animate2 {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(100%);
	}
}
.bg-trans span:nth-child(3) {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(to left, #00466b,#d4442a);
	animation: animate3 2s linear infinite;
}
@keyframes animate3 {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}
.bg-trans span:nth-child(4) {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 3px;
	background: linear-gradient(to top, #00466b, #d4442a);
	animation: animate4 2s linear infinite;
	animation-delay: 1s;
}
@keyframes animate4 {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(-100%);
	}
}
/*---------MBC--------------*/

/*----------- common-body ----------------*/
.whole-bg{
  background-color: #ffffff;
  background-image: 
    linear-gradient(rgba(0,0,0,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.02) 1px, transparent 1px);
  background-size: 60px 60px;
}
/*----------- common-body ----------------*/

/*----------- about-us ----------------*/
.image-animated-rectangle {
  position: relative;
  display: inline-block;
  border-radius: 8px; 
  overflow: visible; 
}
.image-animated-rectangle img {
  display: block;
  width: 100%;
  border-radius: 0px; 
}
.image-animated-rectangle .border-animate {
  position: absolute;
  top: -7px;    
  left: -7px;
  width: calc(100% + 14px);  
  height: calc(100% + 14px);
  border: 3px solid transparent;
  border-image: linear-gradient(90deg, #d4442a, #00466b, #d4442a);
  border-image-slice: 1;
  animation: border-move 2.5s linear infinite;
  border-radius: 15px; 
  pointer-events: none; 
}
@keyframes border-move {
  0% {
    border-image-source: linear-gradient(90deg, #d4442a, #00466b, #d4442a);
  }
  50% {
    border-image-source: linear-gradient(180deg, #00466b, #d4442a, #00466b);
  }
  100% {
    border-image-source: linear-gradient(90deg, #d4442a, #00466b, #d4442a);
  }
}
/*----------- about-us ----------------*/

/*----------- contact-us ----------------*/
.bg-contact-icon {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
}
.bg-icon-box {
  background-image: url(../img/bg-icon-box.png);
}
.bg-icon-box-round {
  background-image: url(../img/bg-icon-box-round.png);
}
.contact-icon-clr {
  color: #fa8161;
}
.contact-icon-clr-blue {
  color: #00679e;
}
.contact-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.contact-link:hover {
  color: #d4442a;
}
/*----------- contact-us ----------------*/
/*----------------whatsapp-------------*/
/* WhatsApp Floating Button */
.whatsapp-float{
  position: fixed;
  bottom: 25px;
  right: 25px;
  width: 60px;
  height: 60px;
  z-index: 10;
}
.whatsapp-float img{
  width:100%;
  height:100%;
}
/*----------------whatsapp-------------*/
/*--------------- progress-wrap -------------*/
.progress-wrap {
  right: 1.9rem;
  bottom: 4.5rem;
}
/*--------------- progress-wrap -------------*/
/* ================= DESKTOP ================= */
@media (min-width: 992px) {
    .navbar-expand-lg.transparent:not(.fixed) {
        padding-top: 0;
        height: 70px;
    }
    .navbar-expand-lg .navbar-collapse .nav-link {
        white-space: nowrap;
        padding: 21px 21px;
    }
    .navbar-light .navbar-nav .nav-link,
    .navbar-light .navbar-nav .nav-link.dropdown-toggle::after {
        color: #d4442a !important;
        letter-spacing: 0.1px;
    }
    .navbar-light .navbar-nav .nav-link:hover,
    .navbar-light .navbar-nav .nav-item.show>.nav-link,
    .navbar-light .navbar-nav .nav-link:hover.dropdown-toggle::after,
    .navbar-light .navbar-nav .nav-item.show>.nav-link.dropdown-toggle::after,
    .navbar-light .navbar-nav .nav-link.active {
        color: #00679e !important;
    }
    .navbar-light .dropdown-menu .dropdown-item {
        color: #d4442a !important;
        font-weight: 600;
        letter-spacing: 0.3px;
        background-color: transparent;
        text-decoration: none;
    }
    .navbar-light .dropdown-menu .dropdown-item:hover {
        color: #00679e !important;
        background-color: transparent;
        text-decoration: underline;
        text-underline-offset: 4px;
    }
    .navbar-light .dropdown-menu .dropdown-item.active,
    .navbar-light .dropdown-menu .dropdown-item:focus {
        color: #00679e !important;
        text-decoration: underline;
    }
}

/* ================= MOBILE ================= */
@media(max-width: 1199px){
  .swiper-hero.home, .swiper-hero.home .swiper-slide {
    height: 450px !important;
  }
}
@media (max-width: 991px) {
    .offcanvas-body .navbar-nav .nav-item a:hover{
      color:#d4442a !important;
    }
    .offcanvas-body .navbar-nav .nav-item ul li a:hover{
      color:#d4442a !important;
    }
    .navbar-brand img,
    .navbar-stick .navbar-brand img {
        max-height: 138px;
        background: #fff;
        padding: 2px 16px;
        border-radius: 8px;
        transform: translateY(-10px);
    }
    .navbar,
    .navbar.navbar-stick {
        height: 80px;
    }
    .navbar-other,
    .navbar-stick .navbar-other {
        margin-top: -73px;
    }
    .navbar-expand-lg .navbar-brand {
        padding-top: 10px;
        padding-bottom: 10px;
        z-index: 1;
    }
    .navbar {
        padding-top: 0;
    }
    .header-with-logo::after {
        display: none;
    }
    .about-myco-heighlight::before {
        width: 100%;
      }
      .about-myco-heighlight .card .card-body .counter-lg, .about-myco-heighlight .card .card-body p{
        color:#d4442a !important; 
      }
      .card-border-top:after {
        border-top-color: #d4442a;
    }
    .process-step::after {
      right: -35%;
      width: 70%;
    }
}
@media (max-width: 767px) {
  .process-step::after {
    display: none;
  }
}
@media (max-width: 575px) {
  .heading-with-lines {
    gap: 12px;
  }
  .heading-with-lines::before,
  .heading-with-lines::after {
    max-width: 80px;
  }
}