@font-face {
  font-family: "Manrope";
  src: url("../font/Manrope-VariableFont_wght.ttf") format("truetype");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ================= Colors ================= */
  --primary: #10202d;
  --secondary: #0b5ed7;
  --yellow: #f4c430;
  --white: #ffffff;
  --black: #0f172a;
  --gray: #6b7280;
  --border-light: #e5e7eb;

  /* ================= Backgrounds ================= */
  --bg-white: #ffffff;
  --bg-black: #0f172a;
  --bg-gray-light: #f8fafc;
  --bg-blue-light: #f1f7ff;
  --bg-card: #ffffff;

  /* Font */
  --font-family: "Manrope", sans-serif;

  /* Font sizes */
  --h1: 40px;
  --h2: 32px;
  --h3: 24px;
  --h4: 20px;
  --h5: 18px;
  --h6: 16px;
  --p: 16px;
  --small: 14px;

  /* Font weights */
  --w-100: 100;
  --w-200: 200;
  --w-300: 300;
  --w-400: 400;
  --w-500: 500;
  --w-600: 600;
  --w-700: 700;
  --w-800: 800;

  /* Line height */
  --lh-normal: 1.4;
  --line-height-1-4: 1.4;

  /* Radius */
  --radius-10: 10px;
  --radius-20: 20px;
  --radius-30: 30px;
  --radius-40: 40px;
  --radius-50: 50px;

  /* Transition */
  --transition: all 0.3s ease;

  /* Shadow */
  --shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px;

  /* Common heading */
  --common-heading: 32px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: var(--font-family);
  font-size: var(--h6);
  line-height: var(--lh-normal);
  color: var(--black);
}

img {
  max-width: 100%;
  display: block;
}

.full-img {
  width: 100%;
  border-radius: 10px;
}

a {
  text-decoration: none;
  color: inherit;
}

ul,
li,
figure {
  margin: 0;
  padding: 0;
  list-style: none;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

.container-sm {
  max-width: 860px;
}

.container-lg {
  max-width: 1420px;
  margin: 0 auto;
  padding: 0 20px;
}

.container-full {
  width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: var(--lh-normal);
}

h1 {
  font-size: var(--h1);
  font-weight: var(--w-800);
}

h2 {
  font-size: var(--h2);
  font-weight: var(--w-800);
}

h3 {
  font-size: var(--h3);
  font-weight: var(--w-700);
}

h4 {
  font-size: var(--h4);
  font-weight: var(--w-500);
}

h5 {
  font-size: var(--h5);
  font-weight: var(--w-600);
}

h6 {
  font-size: var(--h6);
  font-weight: var(--w-500);
}

p {
  font-size: var(--p);
  color: #000;
  line-height: var(--lh-normal);
}

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

.flex {
  display: flex;
  flex-wrap: wrap;
}

.align-center {
  align-items: center;
}

.no-wrap {
  flex-wrap: nowrap !important;
}

.space-center {
  justify-content: center;
}

.space-between {
  justify-content: space-between;
}

.space-end {
  justify-content: flex-end;
}

.grid {
  display: grid;
  gap: 20px;
}

.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gap-10 {
  gap: 10px;
}

.gap-20 {
  gap: 20px;
}

.gap-30 {
  gap: 30px;
}

.gap-40 {
  gap: 40px;
}

.gap-50 {
  gap: 50px;
}

.col-half,
.col-6 {
  width: 48%;
}

.col-2 {
  width: 20%;
}

.col-3 {
  width: 32%;
}

.col-4 {
  width: 24%;
}

.col-5 {
  width: 30%;
}

.col-7 {
  width: 68%;
}

.col-55 {
  width: 55%;
}

.col-45 {
  width: 43%;
}

/* Chrome, Edge, Safari */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}

.form-group {
  margin-bottom: 20px;
}

label {
  font-size: var(--small);
  margin-bottom: 6px;
  display: block;
}

.form-control {
  width: 100%;
  padding: 12px 16px;
  font-family: var(--font-family);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-10);
  transition: var(--transition);
  cursor: pointer;
}

.form-control:focus {
  outline: none;
  border-color: var(--primary);
}

input[type="date"] {
  width: 100%;
  display: block;
  font-family: var(--font-family);
}

select option {
  color: var(--black);
  font-family: var(--font-family);
}

.w-100 {
  width: 100%;
}

.w-90 {
  width: 88%;
}

.w-70 {
  width: 68%;
}

.w-50 {
  width: 48%;
}

.w-32 {
  width: 32%;
}

.w-30 {
  width: 30%;
}

.w-25 {
  width: 24%;
}

.w-20 {
  width: 19%;
}

.w-15 {
  width: 15%;
}

button {
  outline: none;
  border: none;
  background-color: transparent;
  cursor: pointer;
}

.bulit-list {
  padding-left: 30px;
  margin: 20px 0;
}

.bulit-list li {
  margin-bottom: 8px;
  list-style: disc;
  line-height: 1.6;
}

.bulit-list li:last-child {
  margin-bottom: 0;
}

.bulit-list li ol li,
.number-list li {
  list-style: unset;
}

.number-list li ul li {
  list-style: disc;
}

/* Buttons */
.btn {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 30px;
  border-radius: 10px;
  color: #000;
  background: linear-gradient(25deg,
      hsl(202.29deg 93.58% 36.67%),
      hsl(157.98deg 94.95% 38.82%),
      hsl(107.47deg 95.18% 67.45%),
      hsl(202.29deg 93.58% 36.67%));
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: all 0.5s ease-in-out;
  cursor: pointer;
  font-weight: 700;
  font-size: 16px;
}

.btn::after {
  content: "";
  width: 200px;
  height: 200px;
  background-color: #000;
  position: absolute;
  top: 56px;
  left: -100%;
  transform: rotate(45deg);
  transition: all 0.4s ease-in-out;
  z-index: -1;
}

.btn:hover {
  color: #fff;
}

.btn:hover::after {
  top: 0;
  left: 0;
  transform: rotate(0);
}

.btn img {
  width: 20px;
}

.btn i {
  margin-left: 10px;
  transform: rotate(45deg);
}

.view-btn {
  font-size: 16px;
  font-weight: 600;
  padding: 10px 30px;
  border-radius: 30px;
  background-color: #ffffff;
  color: #ec9f0e;
  border: 1px solid #ddd;
  transition: all 0.3s ease-in-out;
}

.view-btn:hover {
  background-color: #ec9f0e;
  color: #fff;
  border-color: #ec9f0e;
}

.whatsapp-btn,
.call-now {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 700;
  font-size: 16px;
  position: relative;
  overflow: hidden;
  transition: all 0.5s ease-in-out;
}

.whatsapp-btn {
  color: #000;
  background-color: hsl(139.11deg 76.82% 54.31%);
  border: 1px solid #3da104;
}

.whatsapp-btn:hover {
  background-color: #367213;
  color: #fff;
}

.call-now {
  background-color: #11a9d7 !important;
  color: #fff;
  border: 1px solid #11a9d7;
}

/* common weight css */
.weight-100 {
  font-weight: var(--w-100);
}

.weight-200 {
  font-weight: var(--w-200);
}

.weight-300 {
  font-weight: var(--w-300);
}

.weight-400 {
  font-weight: var(--w-400);
}

.weight-500 {
  font-weight: var(--w-500);
}

.weight-600 {
  font-weight: var(--w-600);
}

.weight-700 {
  font-weight: var(--w-700);
}

.weight-800 {
  font-weight: var(--w-800);
}

/* common border-radius css */
.round-10 {
  border-radius: var(--radius-10);
}

.round-20 {
  border-radius: var(--radius-20);
}

.round-30 {
  border-radius: var(--radius-30);
}

.round-40 {
  border-radius: var(--radius-40);
}

.round-50 {
  border-radius: var(--radius-50);
}

/* common spacing */
.py {
  padding: 50px 0;
}

.py-50 {
  padding: 50px 0;
}

.my {
  margin: 50px 0;
}

.my-20 {
  margin: 20px 0;
}

.my-50 {
  margin: 50px 0;
}

.mt-20 {
  margin-top: 20px;
}

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

.mt-top-10 {
  margin-top: 10px;
}

.mt-top-20 {
  margin-top: 20px;
}

.mt-top-30 {
  margin-top: 30px;
}

.mt-top-40 {
  margin-top: 40px;
}

.mt-top-50 {
  margin-top: 50px;
}

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

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

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

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

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

.px {
  padding: 0 20px;
}

.px-left {
  padding-left: 20px;
}

.px-right {
  padding-right: 20px;
}

.pt-top-10 {
  padding-top: 10px;
}

.pt-top-20 {
  padding-top: 20px;
}

.pt-top-30 {
  padding-top: 30px;
}

.pt-top-40 {
  padding-top: 40px;
}

.pt-top-50 {
  padding-top: 50px;
}

.pb-bottom-10 {
  padding-bottom: 10px;
}

.pb-bottom-20 {
  padding-bottom: 20px;
}

.pb-bottom-30 {
  padding-bottom: 30px;
}

.pb-bottom-40 {
  padding-bottom: 40px;
}

.pb-bottom-50 {
  padding-bottom: 50px;
}

p a,
li p a {
  color: var(--primary);
  font-weight: var(--w-600);
}

.common-heading {
  font-size: var(--common-heading);
  line-height: var(--line-height-1-4);
  max-width: 800px;
  margin: 0 auto 40px;
  text-align: center;
}

.common-heading h2 {
  position: relative;
}

.common-heading h2::after {
  content: "";
  width: 100px;
  height: 4px;
  background-color: #03045e;
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
}

.common-heading p {
  margin-top: 20px;
  font-size: 18px;
  color: #686767;
}

.relative,
.bg-control {
  position: relative;
}

.bg-control {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.bg-layer::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -1px;
  background-color: rgb(0 0 0 / 54%);
  border-radius: 10px;
}

.text-hide {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Scrollbar Styling */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background-color: #ebebeb;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: hsl(160.32deg 96.88% 37.65%);
}

/* breadcrumb css */
.breadcrumb-sec {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
}

.breadcrumb li {
  font-size: 14px;
  margin-right: 10px;
  font-weight: 600;
  color: #8b8b8b;
}

.breadcrumb li:last-child {
  margin-right: 0;
}

.breadcrumb li a {
  font-size: 14px;
  color: hsl(160.32deg 96.88% 37.65%);
  font-weight: 600;
  transition: all 0.4s ease-in-out;
}

/* header css */
header {
  width: 100%;
  padding: 12px 0;
}

header.fixed-header {
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 5%);
  transition: all 0.5s ease-in-out;
  position: fixed;
  top: -1px;
  left: 0;
  animation: sticky1 0.35s ease-out;
  background-color: #fff;
  z-index: 5;
}

@keyframes sticky1 {
  from {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(0);
  }
}

header .logo img {
  width: 90px;
}

header .logo a {
  font-size: 30px;
  font-weight: 600;
  color: hsl(160.32deg 96.88% 37.65%);
}

header nav ul li:not(:last-child) {
  margin-right: 30px;
}

header nav ul .dropdown {
  position: relative;
}

header nav ul .dropdown ul {
  width: max-content;
  position: absolute;
  top: 47px;
  left: -23px;
  z-index: 11;
  background-color: #fff;
  transform: translateY(60px);
  transition: all 0.4s ease-in-out;
  opacity: 0;
  visibility: hidden;
}

header nav ul .dropdown:hover ul {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

header nav ul .dropdown ul li {
  margin-right: 0;
  cursor: pointer;
  font-weight: 600;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #ddd;
}

header nav ul .dropdown ul li:last-child {
  border-bottom: none;
}

header nav ul .dropdown ul li::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #3be067;
  border-bottom: 1px solid #fff;
  position: absolute;
  left: -97%;
  top: 0;
  z-index: -1;
  transition: all 0.4s ease-in-out;
}

header nav ul .dropdown ul li:hover::after {
  left: 0;
}

header nav ul .dropdown ul li:hover a {
  color: #000;
}

header nav ul .dropdown ul li a {
  color: #504e61;
  display: block;
  padding: 10px;
}

header nav ul li a {
  font-size: 16px;
  font-weight: 500;
  color: #504e61;
  padding: 25px 0;
  transition: all 0.4s ease-in-out;
}

header nav ul li a.active,
header nav ul li a:hover {
  color: hsl(160.32deg 96.88% 37.65%);
}

header .social-icon ul li:not(:last-child) {
  margin-right: 10px;
}

header .social-icon ul li a {
  color: #fff;
}

header .social-icon ul li a i,
header .social-icon ul li a svg {
  font-size: 20px;
  margin-right: 10px;
}

.mobile-menu,
header .toggle-button,
.mobile-button {
  display: none;
}

/* footer css */
footer {
  width: 100%;
  margin-top: 70px;
  padding-top: 70px;
  position: relative;
  border-top: 1px solid #ddd;
}

footer .row,
footer .copy-right {
  position: relative;
  z-index: 1;
}

footer .col-5 {
  padding-right: 50px;
}

footer .flogo {
  width: 150px;
  margin-bottom: 20px;
}

footer h4 {
  margin-bottom: 30px;
  position: relative;
}

footer h4::after {
  content: "";
  width: 50%;
  height: 6px;
  background: linear-gradient(25deg,
      hsl(202.29deg 93.58% 36.67%),
      hsl(157.98deg 94.95% 38.82%),
      hsl(107.47deg 95.18% 67.45%),
      #00060833);
  position: absolute;
  bottom: -10px;
  left: 0;
  border-radius: 10px;
  animation: bg-animation 0.5s infinite;
}

@keyframes bg-animation {
  0% {
    background-position: left;
  }

  50% {
    background-position: right;
  }

  100% {
    background-position: left;
  }
}

footer ul li {
  margin-bottom: 20px;
}

footer ul li a {
  font-weight: 600;
  transition: all 0.5s ease-in-out;
}

footer ul li a:hover {
  color: hsl(160.32deg 96.88% 37.65%);
}

footer ul li a i {
  margin-right: 10px;
}

footer .copy-right {
  text-align: center;
  margin-top: 20px;
  padding: 10px 0;
  border-top: 1px solid #ddd;
}

footer .gallery li img {
  border-radius: 4px;
}

footer .col-5 p,
footer ul li a,
footer h4,
footer .copy-right p,
footer .copy-right a {
  color: #fff !important;
}

.mobile-button {
  display: none;
}
/* scrollTop  icon css */
.scrollTop {
    position: fixed;
    bottom: 50px;
    left: 2%;
    background: #000;
    color: #fff;
    width: 50px;
    height: 50px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    border-radius: 50%;
    transition: all 0.5s ease-in-out;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    z-index: 11;

}

.scrollTop.show {
    opacity: 1;
    visibility: visible;
}

.scrollTop i {
    color: #fff;
}
@media(max-width:1040px) {
  header .social-icon {
    display: none;
  }

  .mobile-button {
    display: block;
  }

  .mobile-button ul {
    position: fixed;
    bottom: 50px;
    right: 30px;
    z-index: 2;
  }

  .mobile-button ul li a {
    background-color: hsl(139.11deg 76.82% 54.31%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 25px;
    color: #fff;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .mobile-button ul li a.call-now {
    margin-bottom: 12px;
  }

  footer .col-4 {
    width: 36%;
  }
}

@media(max-width:992px) {
  footer .col-5 {
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
  }
}

@media(max-width:850px) {}

@media(max-width:767px) {
  header nav ul li:not(:last-child) {
    margin-right: 10px;
  }

  footer .col-4 {
    width: 60%;
  }

}

@media(max-width:580px) {

  header nav,
  header .social-icon {
    display: none;
  }

  header .toggle-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    flex-direction: column;
    position: relative;
    z-index: 12;
  }

  header .toggle-button span {
    width: 30px;
    height: 3px;
    display: flex;
    background-color: #000;
    /* background-color: #fff; */
    flex-direction: column;
    align-items: center;
    margin-bottom: 4px;
    transition: all 0.4s ease-in-out;


  }

  header .toggle-button.active span {
    background-color: #fff;
    transform: rotate(45deg);
    margin: 5px 0 0 0;
  }

  header .toggle-button.active span:nth-last-of-type(2) {
    display: none;
  }

  header .toggle-button.active span:nth-last-of-type(1) {
    transform: rotate(-45deg);
    margin: -3px 0 0 0;
  }



  .mobile-menu {
    width: 100%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    background-color: #000;
    color: #fff;
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 11;
    overflow-y: auto;
    transition: all 0.5s ease-in-out;
    left: -100%;
  }

  .mobile-menu.active {
    left: 0;
  }

  .mobile-menu li {
    font-size: 18px;
    overflow: hidden;
    padding: 10px;
    position: relative;
    text-align: left;
    text-transform: uppercase;
    padding-left: 15px;
    border-bottom: 2px dotted #ddd;
  }

  .mobile-menu li:nth-last-of-type(1) {
    border-bottom: none;
  }

  .mobile-menu .menu-logo {
    margin-bottom: 20px;
  }

  .mobile-menu .menu-logo img {
    width: 100px;
  }

  .mobile-menu li a {
    display: block;
    color: #fff;
  }

  .mobile-menu li.has-children .angle-arrow {
    position: absolute;
    top: 5px;
    right: 10px;
  }

  .mobile-menu li.has-children ul {
    display: none;
  }

  footer .col-2 {
    width: 35%;
  }

  footer .col-4 {
    width: 100%;
  }
}

@media(max-width:480px) {}

@media(max-width:380px) {}