.wow {
 visibility: hidden; 
 
}

.animated {
  animation-duration: 1.4s;
}

 

.fz18 {
  font-size: 18px;
}

.fz20 {
  font-size: 20px;
}

.fz25 {
  font-size: 25px;
}

.bg-red {
  background-color: #EE0A07;
}

.bg-gray {
  background: #ECECEC !important;
}

.text-red {
  color: #EE0A07;
}

.text-black {
  color: black;
}

::-webkit-scrollbar {
  width: 5px;
}

::-webkit-scrollbar-track {
  background: black;
}

::-webkit-scrollbar-thumb {
  background: #EE0A07;
}

::-moz-selection {
  background: #EE0A07;
  color: white;
}

::selection {
  background: #EE0A07;
  color: white;
}

body {
  font-weight: 400;
  font-family: "Tajawal", sans-serif;
  background: #F5F5F5;
  position: relative;
  color: #000;
	overflow-x:hidden;

}
 

@media (min-width: 1200px) {
  .container {
    max-width: 1088px;
  }
}

a {
  text-decoration: none;
  transition: 0.3s;
}

.bg-none {
  background-image: none !important;
}

.mb-100 {
  margin-bottom: 100px;
}

.py-64 {
  padding-block: 64px;
}

@media only screen and (max-width: 600px) {
  .py-64 {
    padding-block: 40px;
  }
}

.btn-1 {
  background-color: #750504;
  border-radius: 0;
/*   background: linear-gradient(#ee0a07 0%, #000 100%); */
  color: white;
  padding: 9px 15px;
  display: inline-block;
  transition: 0.3s;
  font-size: 18px;
  border: none;
  font-weight: 500;
}

.btn-1 i {
  margin-inline-start: 5px;
  margin-inline-end: -12px;
  width: 34px;
  height: 34px;
  background-color: white;
  border-radius: 50%;
  display: inline-flex;
  color: #EE0A07;
  align-items: center;
  transition: 0.3s;
  justify-content: center;
}

@media (max-width: 767px) {
  .btn-1 {
    font-size: 16px;
  }
}

@media only screen and (max-width: 600px) {
  .btn-1 {
    padding: 9px 14px;
    font-size: 15px;
    flex-shrink: 0;
  }
}

.btn-1:hover {
  color: #EE0A07;
  box-shadow: inset 0px 0px 0px 50px white, 0px 9px 19px 1px rgba(0, 0, 0, 0.18);
  transform: translateY(-2px);
  background: white;
}

.btn-1:hover i {
  color: white;
}

header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  transition: 0.3s;
  z-index: 20;
  background: white;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

header:has(.search-form-wrapper.active) {
  padding-bottom: 10px;
}

@media only screen and (max-width: 600px) {
  header .btn-1 {
    padding: 4px;
    font-size: 14px;
    flex-shrink: 0;
  }
}

header .header-main-content {
  padding: 7px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

header .logo-img img {
  max-height: 72px;
  transition: 0.3s;
}

@media only screen and (max-width: 1024px) {
  header .logo-img img {
    max-height: 55px;
  }
}

.search-form-wrapper {
  background-color: #f3f3f3;
  border-radius: 30px;
  padding: 0 25px 0 15px;
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  transition: 0.3s;
}

.search-form-wrapper:focus-within {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.438);
}

.search-form-wrapper .search-form {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
}

.search-form-wrapper .search-form .search-btn {
  border: none !important;
  color: black;
  font-size: 20px;
  transition: 0.3s;
  padding-top: 8px;
}

.search-form-wrapper .search-form .search-btn:hover {
  color: #EE0A07;
}

.search-form-wrapper .search-form .form-control {
  padding-block: 10px;
  width: 100%;
  background-color: transparent;
  border: none;
  color: black;
  font-size: 18px;
  box-shadow: none;
}

.search-form-wrapper .search-form .form-control::-moz-placeholder {
  color: black;
  font-size: 14px;
  opacity: 0.5;
}

.search-form-wrapper .search-form .form-control::placeholder {
  color: black;
  font-size: 14px;
  opacity: 0.5;
}

.search-form-wrapper.active {
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
  max-height: 100px;
  margin-top: 5px;

  &:has(.open) {

    border-radius: 30px 30px 0 0;
  }
}

.header-main-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.main-menu {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}

.main-menu a {
  text-transform: capitalize;
  transition: 0.3s;
}

.main-menu>li {
  margin-inline-end: 24px;
  position: relative;
}

.main-menu>li:after {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background-color: white;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  transition: 0.3s;
}

@media only screen and (max-width: 1024px) {
  .main-menu>li:after {
    display: none;
  }
}

.main-menu>li:hover:after,
.main-menu>li.current-menu-item:after {
  bottom: -35px;
  transition: 0.3s;
}

.main-menu>li>a {
  color: black;
  font-size: 18px;
  transition: 0.3s;
  display: block;
  position: relative;
}

@media only screen and (max-width: 1024px) {
  .main-menu>li>a {
    font-size: 16px;
  }
}

.main-menu>li>a:before {
  content: "";
  background: #EE0A07;
  width: 0%;
  height: 1.5px;
  opacity: 0;
  display: block;
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s;
  z-index: -1;
}

.main-menu>li:hover>a:before,
.main-menu>li.current-menu-item>a:before {
  width: 50%;
  transition: 0.3s;
  opacity: 1;
}

.main-menu>li:last-of-type {
  margin: 0;
}

.show-submenu,
.show-overlay {
  opacity: 1;
  visibility: visible;
}

.main-menu .menu-item-has-children {
  position: relative;
  padding: 0;
}

.main-menu .menu-item-has-children>a {
  color: black;
  -moz-column-gap: 5px;
  column-gap: 5px;
  display: flex;
  align-items: baseline;
  position: relative;
}

.main-menu .menu-item-has-children>a::after {
  content: "\f078";
  position: relative;
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  font-size: 10px;
  color: black;
  transition: 0.3s;
}

.main-menu .menu-item-has-children:hover>a {
  color: #EE0A07;
}

.main-menu .menu-item-has-children:hover>a::after {
  color: #EE0A07;
}

.main-menu .menu-item-has-children:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  top: 100%;
  pointer-events: auto;
}

.main-menu .menu-item-has-children .sub-menu {
  width: 230px;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform-origin: center top;
  transform-style: preserve-3d;
  border-radius: 8px;
  z-index: 12;
  background-color: #fff;
  position: absolute;
  top: 80px;
  right: -22px;
  list-style: none;
  box-shadow: 0px 2px 13px 9px rgba(0, 0, 0, 0.02);
  padding: 12px;
  transition: 0.3s;
}

.main-menu .menu-item-has-children .sub-menu li {
  text-align: center;
  transition: 0.3s;
}

.main-menu .menu-item-has-children .sub-menu a {
  padding: 10px;
  align-items: center;
  font-size: 16px;
  border-radius: 4px;
  line-height: 1.5;
  color: black;
  text-align: center;
  justify-content: flex-start;
  font-weight: 400;
  display: flex;
  width: 100%;
  -moz-column-gap: 10px;
  column-gap: 10px;
  transition: color linear 0.2s;
}

.main-menu .menu-item-has-children .sub-menu a:hover {
  color: #EE0A07;
}

.bars {
  z-index: 21;
  display: none;
  flex-direction: column;
  align-items: center;
  row-gap: 6px;
  background: none;
  border: 0;
}

.bars .line {
  flex-shrink: 0;
  width: 25px;
  display: block;
  height: 1.5px;
  background-color: #EE0A07;
  transition: 0.3s;
}

.rotate-line1 {
  transform: rotate(45deg) translateX(-2px) translateY(-2px);
  transform-origin: 0% 0%;
}

.rotate-line3 {
  transform: rotate(-45deg) translateX(0px) translateY(0px);
  transform-origin: 0 100%;
}

.bars .hide-line2 {
  transform: translateX(-30px);
  opacity: 0;
  visibility: hidden;
}

.header-icons {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
  column-gap: 10px;
}

.header-icons .header-icon {
  font-size: 20px;
  color: #666666;
  cursor: pointer;
  transition: all 0.3s;
}

.header-icons .header-icon:hover {
  color: #EE0A07;
}

.search-icon {
  width: 25px;
}

.search-icon.active i:before {
  content: "\e59b";
  font-family: "Font Awesome 6 Pro";
}

.dropdown-parent {
  position: relative;
  display: inline-block;
}

.dropdown-parent .dropdown-list {
  width: 230px;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform-origin: center top;
  transform-style: preserve-3d;
  border-radius: 8px;
  z-index: 12;
  background-color: #F8F4EC;
  position: absolute;
  top: 80px;
  inset-inline-end: -22px;
  list-style: none;
  box-shadow: 0px 16px 35px 0px rgba(0, 0, 0, 0.1019607843);
  padding: 12px;
  transition: all 0.4s;
}

.dropdown-parent .dropdown-list li {
  text-align: center;
  transition: 0.3s;
}

.dropdown-parent .dropdown-list a {
  padding: 10px;
  align-items: center;
  font-size: 18px;
  color: black;
  text-align: center;
  justify-content: flex-start;
  display: flex;
  width: 100%;
  -moz-column-gap: 10px;
  column-gap: 10px;
  transition: 0.3s;
}

.dropdown-parent .dropdown-list a:hover {
  color: #EE0A07;
}

.dropdown-parent:hover .dropdown-list {
  opacity: 1;
  visibility: visible;
  top: 100%;
  pointer-events: auto;
}

@media only screen and (max-width: 1200px) {
  .menu-item-has-children .sub-menu {
    inset-inline-start: 0;
    transform: unset;
  }

  .main-menu>li {
    margin-inline-end: 25px;
  }
}

@media only screen and (max-width: 992px) {
  .navigation .container {
    padding-inline: 12px;
  }

  .rotate-line3 {
    transform: -45deg translateX(-1px) translateY(0px);
  }

  .logo-img {
    margin-inline-end: auto;
  }

  .header-main-content {
    height: auto;
    justify-content: flex-end;
    -moz-column-gap: 25px;
    column-gap: 25px;
  }

  .main-menu {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    margin-top: 10px;
  }

  .main-menu>li {
    margin-inline-end: 0;
    margin-bottom: 25px;
  }

  .main-menu>li:nth-child(5) {
    margin-inline-start: unset;
  }

  .main-menu>li>a {
    font-size: 18px;
    font-weight: 500;
  }

  .main-menu>li:nth-child(4) {
    margin-inline-start: 0;
  }

  .bars {
    display: flex;
  }

  .navigation {
    overflow-y: auto;
    position: fixed;
    opacity: 0;
    transition-duration: 1s;
    visibility: hidden;
    top: 0;
    inset-inline-start: 0;
    width: 100%;
    height: 100vh;
    padding: 40px;
    padding-top: 3rem;
    background-color: #fff;
    transition: 0.3s;
    z-index: 20;
    -webkit-clip-path: circle(0.5% at 0 0);
    clip-path: circle(0.5% at 0 0);
  }

  .open-sidebar {
    opacity: 1;
    visibility: visible;
    -webkit-clip-path: circle(140.9% at 0 0);
    clip-path: circle(140.9% at 0 0);
    transition: 0.3s;
  }

  .main-menu .menu-item-has-children>a::after {
    font-size: 14px;
    transition: 0.3s;
    color: #EE0A07;
  }

  .main-menu .menu-item-has-children>a.icon-rotate::after {
    transform: rotate(180deg);
  }

  .main-menu .menu-item-has-children>a::after {
    font-size: 15px;
  }

  .main-menu .menu-item-has-children .sub-menu {
    position: static;
    background-color: unset;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: unset;
    padding: 0;
    display: none;
    transition: none;
    width: 100%;
    padding-top: 18px;
  }

  .main-menu .menu-item-has-children .sub-menu li {
    display: flex;
    align-items: center;
    -moz-column-gap: 10px;
    column-gap: 10px;
    padding-inline-start: 14px;
  }

  .main-menu .menu-item-has-children .sub-menu li:before {
    content: "\e404";
    font-family: "Font Awesome 6 Pro";
    font-weight: 300;
    color: #EE0A07;
    font-size: 14px;
    transition: 0.3s;
  }

  .main-menu .menu-item-has-children .sub-menu li:not(:last-of-type) {
    margin-bottom: 17px;
  }

  .main-menu .menu-item-has-children .sub-menu li {
    text-align: start;
  }

  .main-menu .menu-item-has-children:hover .sub-menu {
    transform: unset;
  }

  .main-menu .menu-item-has-children .sub-menu a {
    display: flex;
    padding: 0;
    gap: 8px;
    width: -moz-max-content;
    width: max-content;
    color: black;
  }

  .main-menu .menu-item-has-children {
    width: auto;
    padding: 0;
  }

  .main-menu .menu-item-has-children>a {
    justify-content: space-between;
    cursor: pointer;
  }

  .main-menu .menu-item-has-children {
    line-height: normal;
  }
}

@media only screen and (max-width: 768px) {
  .navigation .container {
    padding-inline: 20px;
  }

  .main-menu .menu-item-has-children .sub-menu li a:hover {
    background-color: transparent;
    color: #EE0A07;
  }

  .main-menu .menu-item-has-children {
    padding: 0;
  }
}

.hero-section {
  animation: zoomBackground 30s linear infinite alternate;
  transition: 0.3s;
  overflow: hidden;
}

@media only screen and (max-width: 991px) {
  .hero-section {
    animation: none;
    height: auto;
    background-size: cover !important;
    background-position: center top !important;
  }
}

.hero-section .hero-main-content {
  position: relative;
  width: 100%;
  max-height: 688px;
  height: 88vh;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
}

@media only screen and (max-width: 768px) {
  .hero-section .hero-main-content {
    height: auto;
    padding-block: 3rem;
  }
}

.hero-section .hero-main-content:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 22% 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 22% 100%);
}

@media only screen and (max-width: 991px) {
  .hero-section .hero-main-content:before {
    width: 80%;
  }
}

@media only screen and (max-width: 600px) {
  .hero-section .hero-main-content:before {
    width: 100%;
    -webkit-clip-path: none;
    clip-path: none;
  }
}

@media only screen and (max-width: 1024px) {
  .hero-section .hero-main-content {
    width: 100%;
  }
}

.hero-section .hero-main-content .hero-content {
  width: 55%;
  position: relative;
}

@media only screen and (max-width: 600px) {
  .hero-section .hero-main-content .hero-content {
    width: 100%;
    text-align: center;
  }
}

.hero-section .hero-main-content .hero-title {
  font-size: 38px;
  font-weight: bold;
  margin-bottom: 35px;
}

@media only screen and (max-width: 1024px) {
  .hero-section .hero-main-content .hero-title {
    font-size: 25px;
  }
}

.hero-section .hero-main-content .hero-text {
  font-size: 25px;
  margin-bottom: 40px;
  font-weight: 500;
  padding-inline-end: 2rem;
}

@media only screen and (max-width: 1024px) {
  .hero-section .hero-main-content .hero-text {
    font-size: 16px;
  }
}

@media only screen and (max-width: 600px) {
  .hero-section .hero-main-content .hero-text {
    font-size: 15px;
    padding-inline-end: 0;
  }
}

.hero-section .hero-btn {
  display: flex;
  gap: 24px;
}

@media only screen and (max-width: 600px) {
  .hero-section .hero-btn {
    justify-content: center;
  }
}

@keyframes zoomBackground {
  0% {
    background-size: 100%;
  }

  100% {
    background-size: 120%;
  }
}

.section-title {
  font-weight: bold;
  font-size: 35px;
  color: black;
  position: relative;
  margin-bottom: 50px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

@media only screen and (max-width: 600px) {
  .section-title {
    margin-bottom: 20px;
  }
}

.section-title span {
  background: #F5F5F5;
  padding: 0 15px;
  display: inline-block;
  position: relative;
  opacity: 1;
}

@media only screen and (max-width: 768px) {
  .section-title {
    font-size: 25px;
  }
}

@media only screen and (max-width: 600px) {
  .section-title {
    font-size: 20px;
  }
}

.section-title:before {
  content: "";
  width: 100vw;
  height: 1px;
  background: rgba(112, 112, 112, 0.15);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.section-description {
  font-size: 20px;
  color: black;
}

@media only screen and (max-width: 768px) {
  .section-description {
    font-size: 16px;
  }
}

.about-us-section {
  position: relative;
}

.about-us-section .description {
  font-size: 20px;
  color: black;
  line-height: 1.8;
  margin-bottom: 35px;
  font-weight: normal;
}

@media only screen and (max-width: 600px) {
  .about-us-section .description {
    font-size: 16px;
    text-align: center;
  }
}

.about-us-section .about-img {
  position: relative;
  text-align: center;
}

@media only screen and (max-width: 600px) {
  .about-us-section .about-img {
    margin-bottom: 40px;
  }
}

.service-card-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.single-service-card {
  position: relative;
  transition: 0.3s;
  height: 100%;
  border-radius: 10px;
  background: #f5f5f5;
  border: 1px solid #ee0a07;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .single-service-card {
    margin-top: 0 !important;
  }
}

.single-service-card .service-card-img {
  width: calc(100% + 4px);
  height: 140px;
  border: 1px solid #0d2132;
  background: #FFFFFF;
  transition: 0.3s;
  margin: -2px;
}

.single-service-card .service-card-img img {
  width: calc(100% + 4px);
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.single-service-card .icon {
  width: 65px;
  height: 65px;
  background: #fff;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.26));
  border-radius: 50%;
  margin: 0 auto;
  text-align: center;
  padding: 15px;
  margin-top: -30px;
  transition: 0.3s;
}

.single-service-card .service-title {
  font-weight: bold;
  font-size: 18px;
  color: black;
  text-align: center;
  line-height: 1.8;
  margin: 8px 0 10px;
  padding-inline: 10px;
}

.single-service-card .service-title a {
  color: black;
  transition: 0.3s;
}

.single-service-card .description {
  font-weight: normal;
  font-size: 16px;
  color: black;
  padding: 0 10px 10px;
  text-align: center;
}

.single-service-card .read-more {
  font-size: 16px;
  color: #EE0A07;
  justify-content: end;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  margin-top: auto;
  margin-bottom: 0;
}

.single-service-card:hover {
  transform: translateY(-5px);
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.26));
  background: white;
}

.single-service-card:hover a {
  color: #EE0A07;
}

.single-service-card:hover .icon {
  box-shadow: 0px 0 0 2px #ee0a07, 0px 0 0 8px rgba(0, 0, 0, 0.1);
  padding: 12px;
}

.swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background: #ec898e;
  border: 1px solid #ec898e;
  opacity: 0.17;
  border-radius: 50%;
  margin: 0 5px;
  transition: 0.3s;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #EE0A07;
  opacity: 1;
  border-radius: 7px;
  width: 46px;
  transition: 0.3s;
}

.projects-gallery-wrapper {
  display: flex;
  align-items: center;
  position: relative;
}

.projects-gallery-wrapper .project-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

.projects-gallery-wrapper .project-wrapper::after {
  content: "";
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, #000 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.projects-gallery-wrapper .project-wrapper .description {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  width: 75%;
  padding: 10px;
  color: white;
  transition: 0.3s;
  z-index: 2;
  font-size: 20px;
  line-height: 1.8;
}

@media only screen and (max-width: 991px) {
  .projects-gallery-wrapper .project-wrapper .description {
    font-size: 16px;
    width: 100%;
  }
}

@media only screen and (max-width: 600px) {
  .projects-gallery-wrapper .project-wrapper .description {
    width: auto;
  }
}

.projects-gallery-wrapper .project-wrapper:hover img {
  transform: scale(1.1);
}

.projects-gallery-wrapper img {
  border-radius: 10px;
  width: 100%;
  transition: 0.3s;
}

.projects-gallery-wrapper .projects-slider {
  width: 65%;
  margin: 0;
}

@media only screen and (max-width: 991px) {
  .projects-gallery-wrapper .projects-slider {
    width: 100%;
  }
}

.projects-gallery-wrapper .projects-slider img {
  height: 500px;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media only screen and (max-width: 991px) {
  .projects-gallery-wrapper .projects-slider img {
    height: 350px;
  }
}

@media only screen and (max-width: 600px) {
  .projects-gallery-wrapper .projects-slider img {
    height: 300px;
  }
}

.projects-gallery-wrapper .projects-slider-thumbs {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 50%;
  padding-bottom: 1rem;
}

@media only screen and (max-width: 991px) {
  .projects-gallery-wrapper .projects-slider-thumbs {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .projects-gallery-wrapper .projects-slider-thumbs {
    transform: none;
    top: 93%;
  }
}

.projects-gallery-wrapper .projects-slider-thumbs img {
  height: 270px;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.26);
  cursor: pointer;
  transition: 0.3s;
}

@media only screen and (max-width: 991px) {
  .projects-gallery-wrapper .projects-slider-thumbs img {
    height: 150px;
  }
}

@media only screen and (max-width: 768px) {
  .projects-gallery-wrapper .projects-slider-thumbs img {
    height: 120px;
  }
}

@media only screen and (max-width: 425px) {
  .projects-gallery-wrapper .projects-slider-thumbs img {
    height: 100px;
  }
}

.projects-gallery-wrapper .projects-slider-thumbs img:hover {
  transform: scale(0.95);
}

.projects-gallery-wrapper .swiper-button-next,
.projects-gallery-wrapper .swiper-button-prev {
  position: static;

}

.projects-gallery-wrapper .navigation {
  position: absolute;
  top: calc(100% - 40px);
  left: 24px;
  z-index: 2;
  display: flex;
  gap: 16px;
}

.projects-gallery-wrapper .navigation .swiper-button-next,
.projects-gallery-wrapper .navigation .swiper-button-prev {
  width: 38px;
  height: 38px;
  background: linear-gradient(#ee0a07 0%, #770504 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  color: white;
  font-size: 22px;
}

.projects-gallery-wrapper .navigation .swiper-button-next::after,
.projects-gallery-wrapper .navigation .swiper-button-prev::after {
  display: none;
}

.projects-gallery-wrapper .navigation .swiper-button-next:before {
  content: "\f0d9";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
}

.projects-gallery-wrapper .navigation .swiper-button-prev:before {
  content: "\f0da";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
}

@media only screen and (max-width: 768px) {
  .stats-section {
    padding-top: 80px !important;
  }
}

.stats-wrapper {
  display: flex;
  justify-content: center;
  gap: 60px;
  width: 90%;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .stats-wrapper {
    flex-wrap: wrap;
    gap: 40px;
    width: 100%;
  }

  .stats-wrapper .single-counter {
    flex: 0 0 40%;
  }
}

.stats-wrapper .single-counter {
  text-align: center;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #ee0a07;
  padding: 7px;
  position: relative;
  width: 100%;
}

.stats-wrapper .single-counter:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 73px;
  height: 79px;
  border-radius: 0px 10px;
  background: #ee0a07;
}

@media only screen and (max-width: 600px) {
  .stats-wrapper .single-counter {
    flex: 0 0 40%;
  }
}

.stats-wrapper .single-counter .wrapper {
  border-radius: 10px;
  background: #ececec;
  padding: 14px;
  position: relative;
  width: 100%;
  height: 100%;
}

.stats-wrapper .single-counter .counter {
  font-size: 45px;
  font-weight: bold;
  color: black;
  margin-top: 8px;
  transform: translateY(10px);
  opacity: 0;
  transition: transform 0.6s ease, opacity 0.6s ease;
  will-change: transform, opacity;
}

.stats-wrapper .single-counter .counter--shown {
  transform: translateY(0);
  opacity: 1;
}

.stats-wrapper .single-counter .counter__num {
  display: inline-block;
}

.stats-wrapper .single-counter .icon {
  height: 37px;
  overflow: hidden;
}

.stats-wrapper .single-counter .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.stats-wrapper .single-counter .state-title {
  font-size: 18px;
  font-weight: 500;
  color: black;
  margin-top: 5px;
}

.vision-mission {
  background: #ECECEC;
  padding: 30px 0 40px;
  margin-block: 60px 0;
}

@media only screen and (max-width: 600px) {
  .vision-mission {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

.single-vm-wrapper {
  position: relative;
  overflow: hidden;
}

@media only screen and (max-width: 600px) {
  .single-vm-wrapper {
    margin-bottom: 2rem;
  }
}

.single-vm-wrapper:before {
  content: "";
  background: url(../images/vision-shape.png) no-repeat left bottom;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

@media only screen and (max-width: 600px) {
  .single-vm-wrapper:before {
    background-size: contain;
    background-position: -24vw 23px;
  }
}

.single-vm-wrapper .title {
  font-weight: bold;
  font-size: 35px;
  color: black;
  margin-bottom: 10px;
  padding-inline-start: 20%;
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 1024px) {
  .single-vm-wrapper .title {
    font-size: 25px;
  }
}

@media only screen and (max-width: 768px) {
  .single-vm-wrapper .title {
    padding-inline-start: 0;
  }
}

.single-vm-wrapper .description {
  font-weight: normal;
  font-size: 18px;
  height: 178px;
  transform: translate(0, 5px);
  color: black;
  background: white;
  -webkit-clip-path: polygon(29% 0, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(29% 0, 100% 0%, 100% 100%, 0% 100%);
  padding: 10px 15px 15px 23%;
  width: calc(100% - 50px);
  overflow-y: auto;
}

@media only screen and (max-width: 1024px) {
  .single-vm-wrapper .description {
    padding: 10px 15px 15px 25%;
  }
}

@media only screen and (max-width: 768px) {
  .single-vm-wrapper .description {
    -webkit-clip-path: polygon(20% 0, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(20% 0, 100% 0%, 100% 100%, 0% 100%);
    padding: 10px 15px 15px 15%;
  }
}

@media only screen and (max-width: 600px) {
  .single-vm-wrapper .description {
    padding: 1rem 1rem 1rem 2.5rem;
    width: 100%;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
  }
}

@media only screen and (max-width: 600px) {
  .why-us {
    padding-bottom: 0 !important;
  }
}

.why-us ul {
  counter-reset: li;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}

@media only screen and (max-width: 600px) {
  .why-us ul {
    -moz-column-count: 1;
    column-count: 1;
  }
}

.why-us .section-title {
  margin-bottom: 85px;
}

@media only screen and (max-width: 600px) {
  .why-us .section-title {
    margin-bottom: 25px;
  }
}

.why-us li {
  counter-increment: li;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
  position: relative;
  padding-inline-start: 50px;
  flex-basis: 45%;
  flex-grow: 1;
  flex-shrink: 0;
}

@media only screen and (max-width: 600px) {
  .why-us li {
    flex-basis: 100%;
    margin-bottom: 0;
  }
}

.why-us li:before {
  content: "0" counter(li);
  font-size: 77px;
  font-weight: bold;
  color: #ECECEC;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4117647059), -1px -1px 1px rgba(0, 0, 0, 0.4117647059);
  opacity: 0.5;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  margin-top: -10px;
}

.why-us li .icon {
  width: 44px;
  height: 44px;
  border-radius: 5px;
  background: #ececec;
  border: 1px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  z-index: 2;
}

.why-us li .icon img {
  width: 70%;
  height: auto;
  margin: auto;
  -o-object-fit: contain;
  object-fit: contain;
  transition: 0.3s;
}

.why-us li .title {
  font-weight: 500;
  font-size: 20px;
}

@media only screen and (max-width: 600px) {
  .why-us li .title {
    font-size: 18px;
  }
}

.why-us li:hover .icon {
  background: #EE0A07;
}

.why-us li:hover img {
  filter: brightness(0) invert(1);
}

.why-us-content {
  background: #ECECEC;
}

.why-us-img {
  position: absolute;
  top: -100%;
  left: 0;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .why-us-img {
    position: static;
    width: 50%;
    margin: auto;
  }

  .why-us-img img {
    width: 100% !important;
  }
}

@media only screen and (max-width: 600px) {
  .why-us-img {
    width: 100%;
    margin-bottom: 20px;
  }
}

.why-us-img img {
  width: 300px;
  height: 300px;
  -o-object-fit: cover;
  object-fit: cover;
}

.testimonials-section {
  position: relative;
  padding-bottom: 50px;
}

@media only screen and (max-width: 600px) {
  .testimonials-section .section-title {
    margin-bottom: 25px !important;
  }
}

.testimonials-section .single-testimonial-card {
  background: white;
  padding: 16px 20px;
  color: black;
  border-radius: 22px;
  height: 150px;
  border: 1px solid #EE0A07;
  box-shadow: -5px 5px 0 0 #EE0A07;
  position: relative;
}

.testimonials-section .single-testimonial-card:after {
  content: "";
  background: url(../images/review-card-shape.png) no-repeat center center;
  display: block;
  width: 23px;
  height: 35px;
  position: absolute;
  bottom: -25px;
  left: 40px;
}

.testimonials-section .single-testimonial-card img {
  width: 21px;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.testimonials-section .testimonials-card-name {
  display: flex;
  align-items: center;
}

.testimonials-section .user-info {
  gap: 10px;
}

.testimonials-section .name {
  font-size: 20px;
  display: inline-flex;
  font-weight: 500;
}

.testimonials-section .testimonials-text {
  margin-top: 10px;
  font-size: 18px;
  margin-bottom: 0;
  max-height: 145px;
  overflow-y: auto;
}

@media only screen and (max-width: 1024px) {
  .testimonials-section .testimonials-text {
    max-height: 85px;
  }
}

@media only screen and (max-width: 600px) {
  .testimonials-section .testimonials-text {
    max-height: unset;
    overflow-y: unset;
  }
}

.testimonials-swiper {
  padding-bottom: 40px;
  padding-inline: 10px;
}

.contact-us .contact-content {
  background: url(../images/contact-bg.jpg) no-repeat center center;
  background-size: cover;
  padding-inline-start: calc((100vw - 1088px) / 2);
  padding-block: 45px;
}

@media only screen and (max-width: 1024px) {
  .contact-us .contact-content {
    padding-inline-start: calc((100vw - 960px) / 2);
  }
}

@media only screen and (max-width: 768px) {
  .contact-us .contact-content {
    padding-inline: 2rem;
    text-align: center;
  }
}

.contact-us .contact-content .title {
  font-weight: bold;
  font-size: 35px;
  color: #000;
  margin-bottom: 35px;
}

.contact-us .contact-img {
  max-height: 390px;
  overflow: hidden;
}

.contact-us .contact-img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

footer {
  position: relative;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%), url("../images/footer-bg.jpg") no-repeat center center;
  padding-top: 32px;
  margin-top: 100px;
  color: #fff;
  background-size: cover;
}



@media only screen and (max-width: 600px) {
  footer {
    margin-top: 50px;
  }

  .footer-info.social {
    text-align: center;

    ul {
      justify-content: center;
    }
  }
}

footer .footer-about {
  margin-top: 32px;
}

@media only screen and (max-width: 768px) {
  footer .footer-about {
    text-align: center;
  }
}

@media only screen and (max-width: 600px) {
  footer .footer-about {
    text-align: start;
  }
}

footer .footer-about img {
  max-height: 117px;
  margin: 0 auto 20px;
  display: block;
}

@media only screen and (max-width: 600px) {
  footer .footer-about img {
    margin: 0 0 10px;
  }
}

footer .footer-title {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 1rem;
}

footer .footer-menu {
  margin-top: 32px;
}

@media only screen and (max-width: 600px) {
  footer .footer-menu {
    gap: 20px !important;
  }
}

footer .footer-menu ul {
  line-height: 2;
}

footer .footer-menu a {
  font-size: 16px;
  color: white;
  transition: 0.3s;
}

@media only screen and (max-width: 600px) {
  footer .footer-menu a {
    font-size: 14px;
  }
}

footer .footer-menu a:hover {
  color: #EE0A07;
}

footer .footer-info {
  margin-top: 25px;
  font-size: 16px;
  color: white;
}

@media only screen and (max-width: 600px) {
  footer .footer-info {
    font-size: 14px;
  }
}

@media only screen and (max-width: 768px) {
  footer .footer-info {
    text-align: center;
  }

  footer .footer-info ul {
    justify-content: center;
  }
}

@media only screen and (max-width: 600px) {
  footer .footer-info {
    text-align: start;
  }

  footer .footer-info ul {
    justify-content: start;
  }
}

footer .footer-info i {
  width: 23px;
  height: 23px;
  border-radius: 5px;
  background-color: white;
  color: black;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-end: 10px;
  transition: 0.3s;
}

footer .footer-info a {
  color: white;
  transition: 0.3s;
}

footer .footer-info a:hover {
  color: #EE0A07;
}

footer .footer-info a:hover i {
  background-color: #EE0A07 !important;
  color: white !important;
}

footer .footer-info ul {
  line-height: 2;
}

footer .social-icons {
  display: flex;
  list-style: none;
  gap: 20px;
  margin: 0;
  padding: 0;
  justify-content: end;
}

@media only screen and (max-width: 600px) {
  footer .social-icons {
    justify-content: center;
    margin-top: 30px;
  }
}

footer .social-icons i {
  font-size: 25px;
  color: black;
  transition: 0.3s;
}

footer .social-icons a {
  display: block;
}

footer .social-icons a:hover i {
  background-color: #EE0A07 !important;
  color: white !important;
}

.copyrights {
  padding-block: 15px;
  color: white;
  margin-top: 40px;
  border-top: 1px solid rgba(112, 112, 112, 0.4);
}

.copyrights a {
  color: #EE0A07;
  transition: 0.3s;
}

.copyrights a:hover {
  color: white;
}

.floating-icons {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 18;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

.floating-icons .up-btn {
  background-color: #EE0A07;
  filter: drop-shadow(0px 3px 6px rgba(239, 62, 104, 0.47));
  color: white;
  padding: 10px;
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s;
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 20px;
  opacity: 0;
  visibility: hidden;
  z-index: 20;
}

.floating-icons .up-btn.show {
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
}

.floating-icons .up-btn:hover {
  background-color: white;
  color: black;
}

.floating-icons .whatsapp-icon {
  background-color: #2AA81A;
  color: white;
  padding: 10px;
  font-size: 28px;
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s;
  width: 60px;
  height: 60px;
  text-align: center;
  line-height: 20px;
  z-index: 20;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  animation: pulse-green 2s infinite;
}

.floating-icons .whatsapp-icon:hover {
  background-color: #EE0A07;
  color: white;
}

@keyframes pulse-green {
  0% {
    box-shadow: 0 0 0 0 rgba(42, 168, 26, 0.93);
  }

  70% {
    box-shadow: 0 0 0 15px rgba(225, 78, 29, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(225, 78, 29, 0);
  }
}

.breadcrumb-section {
  background-size: cover !important;
  padding-block: 3rem;
}

@media only screen and (max-width: 600px) {
  .breadcrumb-section {
    padding-block: 2rem;
  }
}

.breadcrumb-section ul {
  padding: 0;
  margin: 0;
}

.breadcrumb-section ul li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.breadcrumb-section ul li:not(:last-child):after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 20px;
  background-color: #D2D2D2;
  margin-inline: 10px;
}

.breadcrumb-section ul li a {
  color: #D2D2D2;
  transition: 0.3s;
  font-size: 20px;
  font-weight: 500;
}

@media only screen and (max-width: 600px) {
  .breadcrumb-section ul li a {
    font-size: 16px;
  }
}

.breadcrumb-section ul li a:hover {
  color: #EE0A07;
}

.breadcrumb-section .main-title {
  color: white;
  font-size: 35px;
  margin: 10px 0 0;
}

@media only screen and (max-width: 600px) {
  .breadcrumb-section .main-title {
    font-size: 25px;
  }
}

.single-value {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.26);
  text-align: center;
  padding: 0 10px 10px;
  height: 85%;
}

.single-value .title {
  font-weight: 500;
  font-size: 20px;
  color: #fff;
  background: #EE0A07;
  display: inline-block;
  padding: 8px 30px;
  border-radius: 0 0 40% 40%;
  transform: translateY(-14px);
  position: relative;
}

.single-value .title:before {
  content: "";
  position: absolute;
  top: 4px;
  left: -9px;
  transform: rotate(-45deg);
  border-width: 10px;
  border-style: solid;
  border-color: #C40300 transparent transparent transparent;
}

.single-value .title:after {
  content: "";
  position: absolute;
  top: 4px;
  right: -9px;
  transform: rotate(-135deg);
  border-width: 10px;
  border-style: solid;
  border-color: transparent transparent #C40300 transparent;
}

.single-value .description {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(100% - 15px);
  padding: 28px 20px 20px;
  border-radius: 10px;
  background: #fff;
  border: 1.5px solid #ee0a07;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
  color: #000;
  margin-top: -32px;
}

.single-value .icon {
  width: 43px;
  height: 43px;
  background: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-20px);
  padding: 8px;
}

.single-value .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.single-certificate {
  padding: 10px;
  -o-object-fit: contain;
  object-fit: contain;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.26);
}

.service-page-wrapper .why-us-features ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.service-page-wrapper .why-us-features ul li {
  display: flex;
  align-items: center;
  flex: 0 0 48%;
  gap: 10px;
  font-size: 18px;
}

@media only screen and (max-width: 600px) {
  .service-page-wrapper .why-us-features ul li {
    flex: 0 0 100%;
  }
}

.service-page-wrapper .why-us-features ul li .icon {
  width: 50px;
  height: 50px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.26);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

.service-page-wrapper .service-img {
  border-radius: 10px;
  border: 2px solid #ee0a07;
  overflow: hidden;
}

.single-step {
  text-align: center;
}

.single-step .icon {
  position: relative;
  background: url(../images/step.png) center center no-repeat;
  background-size: contain;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  border-radius: 50%;
  margin-bottom: 10px;
  margin: auto;
  font-size: 50px;
  text-shadow: 1px 1px 0 #EE0A07, -1px -1px 0 #EE0A07;
  color: #F5F5F5;
}

.single-step .title {
  font-size: 20px;
  font-weight: bold;
}

@media only screen and (min-width: 1200px) {
  .service-steps .col-lg-3:not(:last-child) .single-step {
    position: relative;
  }

  .service-steps .col-lg-3:not(:last-child) .single-step::after {
    content: "";
    position: absolute;
    top: 67%;
    right: 60%;
    width: 100%;
    height: 1px;
    background-color: #ee0a07;
    z-index: -1;
  }
}

.single-related-project {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.single-related-project a {
  transition: 0.3s;
}

.single-related-project a img {
  width: 100%;
  height: 280px;
  -o-object-fit: cover;
  object-fit: cover;
}

.single-related-project a .content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  text-align: center;
  font-size: 25px;
  font-weight: bold;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
}

.single-related-project a .content .title {
  margin-bottom: 20px;
}

.single-related-project:hover .content {
  opacity: 1;
  visibility: visible;
}

.service-faq {
  background: #DEDEDE;
}

.service-faq .section-title span {
  background: #DEDEDE;
}

/*FAQ*/
@media only screen and (max-width: 600px) {
  .faq-section {
    padding: 0 !important;
  }
}

.single-faq-item {
  margin-bottom: 16px;
}

.single-faq-item .faq-title {
  border-radius: 10px;
  background: #ECECEC;
  padding: 12px 30px;
  font-size: 20px;
  font-weight: bold;
  color: black;
  cursor: pointer;
  position: relative;
  transition: 0.3s;
  overflow: hidden;
  margin-bottom: 5px;
}

@media only screen and (max-width: 600px) {
  .single-faq-item .faq-title {
    padding: 12px 30px 12px 80px;
    font-size: 16px;
  }
}

.single-faq-item .faq-title::after {
  content: "\f0d7";
  position: absolute;
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  font-size: 20px;
  color: #EE0A07;
  transition: 0.3s;
  bottom: 0;
  top: 0;
  inset-inline-end: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
}

.single-faq-item .faq-title.active {
  color: #EE0A07;
}

.single-faq-item .faq-title.active::after {
  content: "\f0d8";
  transition: 0.3s;
  color: black;
}

.single-faq-item .faq-content {
  font-size: 20px;
  font-weight: normal;
  line-height: 2;
  padding: 20px;
  display: none;
  border-radius: 10px;
  background: #fff;
}

@media only screen and (max-width: 600px) {
  .single-faq-item .faq-content {
    font-size: 16px;
  }
}

.faq-categories {
  background: #dedede;
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 30px;
}

@media only screen and (min-width: 1024px) {
  .faq-categories {
    position: sticky;
    top: 90px;
  }
}

.faq-categories .nav-tabs {
  gap: 15px;

  @media only screen and (max-width: 600px) {
    gap: 5px;

  }
}

@media only screen and (min-width: 1024px) {
  .faq-categories .nav-tabs {
    flex-direction: column;
  }
}

.faq-categories .nav-link {
  font-weight: 500;
  font-size: 20px;
  color: #000;
  padding: 5px 8px;
  border-radius: 10px;
  transition: 0.3s;

  @media only screen and (max-width: 600px) {
    font-size: 15px;
  }
}

.faq-categories .nav-link:hover,
.faq-categories .nav-link.active {
  background: #EE0A07;
  color: #fff;
}

.cta-box {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  padding: 20px;
  background: white url(../images/cta.png) center center no-repeat;
  background-size: contain;
  text-align: center;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media only screen and (min-width: 1024px) {
  .cta-box {
    margin: -60px 0 0;
    transform: translateY(25px);
  }
}

.cta-box .cta-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
}

.dynamic-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: 20px;
  /* Define the grid pattern: 3 columns base */
  grid-template-columns: repeat(3, 1fr);
}

/* Row 1: Items 1-2 (first item spans 2, second item spans 1) */
.grid-item:nth-child(7n+1) {
  grid-column: span 2;
}

.grid-item:nth-child(7n+2) {
  grid-column: span 1;
}

/* Row 2: Items 3-5 (3 equal columns, each spans 1) */
.grid-item:nth-child(7n+3) {
  grid-column: span 1;
}

.grid-item:nth-child(7n+4) {
  grid-column: span 1;
}

.grid-item:nth-child(7n+5) {
  grid-column: span 1;
}

/* Row 3: Items 6-7 (first item spans 1, second item spans 2 - opposite of row 1) */
.grid-item:nth-child(7n+6) {
  grid-column: span 1;
}

.grid-item:nth-child(7n+7) {
  grid-column: span 2;
}

/* Responsive design */
@media (max-width: 768px) {
  .dynamic-grid {
    grid-template-columns: 1fr;
  }

  .grid-item:nth-child(n) {
    grid-column: span 1 !important;
  }

  .dynamic-grid {
    padding: 20px;
    gap: 15px;
  }
}

.project-gallery {
  position: relative;
}

.project-gallery .swiper-button-prev,
.project-gallery .swiper-button-next {
  width: 38px;
  height: 38px;
  border: 1px solid #EE0A07;
  border-radius: 10px;
  background: #f5f5f5;
  top: 100%;
  margin: 0;
  transition: 0.3s;
  user-select: none;
}

.project-gallery .swiper-button-prev:after,
.project-gallery .swiper-button-next:after {
  display: none;
}

.project-gallery .swiper-button-prev svg,
.project-gallery .swiper-button-next svg {
  width: 16px;
  height: 16px;
}

.project-gallery .swiper-button-prev svg path,
.project-gallery .swiper-button-next svg path {
  fill: #EE0A07;
  transition: 0.3s;
}

.project-gallery .swiper-button-prev:hover,
.project-gallery .swiper-button-next:hover {
  background: #EE0A07;
}

.project-gallery .swiper-button-prev:hover svg path,
.project-gallery .swiper-button-next:hover svg path {
  fill: #fff;
}

.project-gallery .swiper-button-prev {
  right: calc(50% - 60px) !important;
}

.project-gallery .swiper-button-next {
  left: calc(50% - 60px) !important;
}

.single-blog-card {
  border-radius: 10px;
  overflow: hidden;
  color: #000;
  background: #fff;
  transition: 0.3s;
}

.single-blog-card .blog-card-img {
  position: relative;
}

.single-blog-card .blog-card-img .post-date {
  position: absolute;
  top: 13px;
  right: 0;
  background: white;
  color: #EE0A07;
  padding: 5px 10px;
  border-radius: 16px 0px 0px 16px;
  font-size: 16px;
}

.single-blog-card .blog-card-img img {
  height: 200px;
  -o-object-fit: cover;
  object-fit: cover;
  transition: 0.3s;
}

.single-blog-card .blog-title {
  font-weight: 500;
  font-size: 20px;
  margin: 10px 0;
  padding: 0 16px 0;
}

.single-blog-card .blog-title a {
  color: #000;
  text-decoration: none;
}

.single-blog-card .description {
  font-size: 18px;
  padding: 0 16px 0;
}

.single-blog-card .read-more {
  font-size: 16px;
  color: #EE0A07;
  text-decoration: none;
  margin-top: 10px;
  text-align: end;
  display: block;
  padding: 0 16px 16px;
}

.single-blog-card .read-more:hover {
  color: black;
}

.single-blog-card:hover {
  background: #ececec;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.26);
}

.single-blog-card:hover img {
  transition: 0.3s;
  filter: brightness(1.05);
}

.single-blog-card:hover .blog-title a {
  color: #EE0A07;
}

.post-content {
  font-size: 18px;
  margin-bottom: 20px;
  line-height: 1.8;
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
}

.pagination .page-link,
.pagination .page-numbers {
  color: black;
  background-color: #fff;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50% !important;
  display: flex;
  font-size: 20px;
  box-shadow: none !important;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  font-family: Arial, Helvetica, sans-serif;
}

.pagination .page-link:hover,
.pagination .page-link.active,
.pagination .page-link.current,
.pagination .page-numbers:hover,
.pagination .page-numbers.active,
.pagination .page-numbers.current {
  background-color: #EE0A07;
  color: white;
}

.contact-form {
  background: #fff;
  padding: 24px;
  border: 1px solid #EE0A07;
  border-radius: 10px;
}

.contact-form label {
  font-size: 20px;
  margin-bottom: 10px;
  color: black;
  font-weight: 500;
}

.contact-form .form-control {
  border-radius: 10px;
  background-color: #fff;
  border: 1px solid #ee0a07;
  opacity: 0.8;
  color: black;
  font-size: 20px;
  margin-bottom: 16px;
  padding: 10px;
  transition: 0.3s;
  direction: rtl;
}

.contact-form .form-control:focus {
  border-color: #EE0A07;
  box-shadow: 0 2px 0 0 #EE0A07;
  outline: none;
  transition: 0.3s;
  background-color: #fff;
  opacity: 1;
}

.contact-form .btn {
  padding-inline: 3rem;
  margin-top: 1rem;
}

.contact-form-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}

.contact-info {
  padding: 35px 90px 20px 90px;
  border-radius: 10px;
  background: #dedede;
  position: relative;

  @media (max-width: 600px) {
    padding: 35px 90px 20px 50px;
  }
}

.contact-info:before {
  content: "";
  position: absolute;
  background: url(../images/contact-icon.png) center center no-repeat;
  top: -20px;
  right: -20px;
  width: 100px;
  height: 100px;
  background-size: contain;
}

.contact-info ul {
  line-height: 2.5;
}

.contact-info li a {
  color: #000;
  font-size: 18px;
  font-weight: 500;
  transition: 0.3s;
}

.contact-info li a:hover {
  color: #EE0A07;
}

.contact-info li a:hover i {
  background: white;
  color: #EE0A07;
}

.contact-info li i {
  width: 23px;
  height: 23px;
  background: #EE0A07;
  color: #DEDEDE;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-end: 10px;
  border-radius: 5px;
  transition: 0.3s;
  font-size: 15px;
}

.map-wrapper {
  width: 100%;
  margin-top: 3rem;
}

.map-wrapper iframe {
  width: 100%;
  display: block;
  max-height: 240px;
}

@media only screen and (max-width: 600px) {
  .about-content {
    text-align: center;
  }
}

.contact-info-content {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 20px;
  text-align: center;
  margin-top: 40px;
  border-top: 1px solid #EE0A07;
  padding-top: 40px;
}

.contact-info-content .contact-info-item:last-child {
  flex-grow: 1;
  flex-basis: 100%;
}

.contact-info-content .contact-info-item i {
  width: 35px;
  height: 35px;
  border-radius: 8px;
  background: #EE0A07;
  color: black;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  font-size: 18px;
}

.contact-info-content .contact-info-item p {
  font-size: 18px;
  margin-bottom: 5px;
  font-weight: 700;
}

.contact-info-content .contact-info-item a {
  font-size: 18px;
  color: white;
  font-weight: 400;
  transition: 0.3s;
}

.contact-info-content .contact-info-item a:hover {
  color: #EE0A07;
}

.single-order-step {
  background: url(../images/step-bg.png) center center no-repeat;
  width: 250px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  padding-inline: 3.5rem 1rem;
  gap: 10px;
  position: relative;
  margin-inline: auto;
}

.single-order-step .step-icon {
  flex-shrink: 0;
}

.single-order-step .step-number {
  position: absolute;
  top: -30px;
  right: -5px;
  color: #EE0A07;
  font-size: 70px;
  font-weight: bold;
  opacity: 0.5;
  z-index: -1;
  pointer-events: none;
  letter-spacing: -2px;
}

.quotation-form {
  padding: 50px;
  background: #ECECEC;
  border: 0;
  border-radius: 10px;
}

.quotation-form .form-control {
  background-color: #ECECEC;
}

.book-page-wrapper {
  background: url("../images/book-bg.jpg") no-repeat;
  padding-block: 50px;
  background-size: 100% auto;
}

@media only screen and (max-width: 600px) {
  .book-page-wrapper {
    background-size: cover;
  }
}

.book-form {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background-color: rgba(255, 255, 255, 0.15);
  padding: 50px 20%;
}

.book-form label {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  margin-bottom: 10px;
}

.book-form .form-control {
  background-color: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(13, 33, 50, 0.6117647059);
  border-radius: 5px;
  color: black;
  padding: 10px;
  transition: 0.3s;
  direction: rtl;
  margin-bottom: 16px;
}

.book-form .form-control:focus {
  border-color: #EE0A07;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
  outline: none;
  transition: 0.3s;
  background: #fff;
}

html[dir=rtl] input[type=url],
html[dir=rtl] input[type=email],
html[dir=rtl] input[type=tel] {
  direction: rtl;
}

.wpcf7-spinner {
  position: absolute;
  top: 50%;
  margin: 0;
  transform: translateY(-50%);
}

.wpcf7-form.submitting .wpcf7-submit {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.8;
}

#search-results {
  list-style: none;
  background: #F3F3F3;
  max-height: 400px;
  overflow-y: auto;
  position: absolute;
  top: calc(100% - 9px);
  left: 0;
  right: 0;
  border-radius: 0 0 30px 30px;

  &.open {
    padding: 20px;
  }

  li {
    margin-bottom: 15px;

    a {
      display: flex;
      align-items: center;
      gap: 15px;
      transition: 0.3s;
      font-size: 16px;
      color: #0D2132;

      img {
        width: 50px;
        height: 50px;
        object-fit: cover;
        border-radius: 5px;
        flex-grow: 0;
        flex-shrink: 1;
      }

      &:hover {
        color: #EE0A07;
      }
    }
  }

}

/*# sourceMappingURL=main.css.map */

/* == WordPress WYSIWYG Editor Styles ==
   Updated for WordPress 6.x+
   -------------------------------------------------------------------- */

/* --- Alignment & Images --- */
.alignnone,
a img.alignnone {
	display: inline-block;
	margin: 0 0 1.5em 0;
}

.alignleft,
a img.alignleft {
	float: left;
	margin: 0 1.5em 1.5em 0;
}

.alignright,
a img.alignright {
	float: right;
	margin: 0 0 1.5em 1.5em;
}

.aligncenter,
a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
	clear: both;
}

img {
	max-width: 100%;
	height: auto;
}

/* --- Captions --- */
.wp-caption {
	background: #f9f9f9;
	border: 1px solid #e0e0e0;
	text-align: center;
	margin-bottom: 1.5em;
	padding: 5px 0 10px;
	max-width: 100%;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 100%;
	padding: 0;
}

.wp-caption p.wp-caption-text {
	font-size: 13px;
	line-height: 1.5;
	color: #666;
	margin: 0;
	padding: 5px 0 0;
}

/* --- Smilies --- */
.wp-smiley {
	margin: 0 !important;
	max-height: 1em;
	vertical-align: middle;
}

/* --- Blockquotes --- */
blockquote {
	border-left: 4px solid #ddd;
	margin: 1.5em 0;
	padding-left: 1em;
	color: #555;
	font-style: italic;
}

blockquote.left {
	float: left;
	width: 33%;
	margin: 0 1.5em 1em 0;
	text-align: right;
}

blockquote.right {
	float: right;
	width: 33%;
	margin: 0 0 1em 1.5em;
	text-align: left;
}

/* --- Galleries --- */
.gallery {
	margin: 1.5em 0;
	clear: both;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	margin: 0 0 1em 0;
	width: 33.33%;
}

.gallery-columns-1 .gallery-item { width: 100%; }
.gallery-columns-2 .gallery-item { width: 50%; }
.gallery-columns-3 .gallery-item { width: 33.33%; }
.gallery-columns-4 .gallery-item { width: 25%; }
.gallery-columns-5 .gallery-item { width: 20%; }

.gallery-icon img {
	border: none;
	height: auto;
	max-width: 100%;
}

.gallery-caption {
	color: #555;
	font-size: 12px;
	line-height: 1.4;
	margin-top: 4px;
}

/* --- Image Sizes --- */
.size-full {}
.size-large {}
.size-medium {}
.size-thumbnail {}

/* --- Tables --- */
table {
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 1.5em;
}

th, td {
	border: 1px solid #e0e0e0;
	padding: 8px 10px;
}

th {
	background-color: #f3f3f3;
	text-align: left;
}

/* --- Text Elements --- */
p {
	margin-bottom: 1.5em;
}

ul, ol {
	margin: 0 0 1.5em 2em;
}

strong {
	font-weight: 700;
}

em {
	font-style: italic;
}

pre {
	background: #f4f4f4;
	padding: 10px;
	overflow-x: auto;
}

/* --- Clearfix --- */
.clear:before,
.clear:after {
	content: "";
	display: table;
}
.clear:after {
	clear: both;
}
