/* Fonts */
:root {
  --default-font: "Roboto", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --heading-font: "Nunito", sans-serif;
  --nav-font: "Inter", sans-serif;
}

/* Global Colors */
:root {
  /* Background Color - This color is applied to the background of the entire website as well as individual sections. */
  --background-color: #1E878E;

  /* Default Color - This is the default color used for the majority of the text content. */
  --default-color: #3d4348;

  /* Heading Color - This color is used for titles, headings and secondary elements. */
  --heading-color: #ffffff;

  /* Accent Color - This is the main accent color that represents your brand on the website. It's used for buttons, links, and other elements that need to stand out. */
  --accent-color: #388da8;

  /* Contrast Color - This is a color used for text when the background color is one of the heading, accent, or default colors. Its purpose is to ensure proper contrast and readability when placed over these more dominant colors. */
  --contrast-color: #ffffff;
}

/* Nav Menu Colors */
:root {
  /* Nav Color - This is the default color of the main navmenu links. */
  --nav-color: #ffffff;

  /* Nav Hover Color - This color is applied to main navmenu links when they are hovered over. */
  --nav-hover-color: #77b6ca;

  /* Nav Dropdown Background Color - This color is used as the background for dropdown boxes that appear when hovering over primary navigation items. */
  --nav-dropdown-background-color: #ffffff;

  /* Nav Dropdown Color - This color is used for navigation links of the dropdown items in the navigation menu. */
  --nav-dropdown-color: #313336;

  /* Nav Dropdown Hover Color - Similar to --nav-hover-color, this color is applied to dropdown navigation links when they are hovered over. */
  --nav-dropdown-hover-color: #77b6ca;
}


body {
  font-family: var(--default-font);
  margin: 0;
  padding: 0;
  background: #1E878E;
  color: #333;
}

a {
  /* color: var(--accent-color); */
  text-decoration: none;
  transition: 0.3s;
}

/* .header {
  background-color: #1E878E;
  padding: 1rem 0;
  position: relative;
} */

.container {
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}

.header {
  color: var(--default-color);
  background-color: var(--background-color);
  padding: 5px 0;
  transition: all 0.5s;
  z-index: 997;
}

.header .logo {
  line-height: 1;
}

.header .logo img {
  max-height: 36px;
  margin-right: 8px;
}

.header .logo h1 {
  font-size: 30px;
  margin: 0;
  font-weight: 700;
  color: var(--heading-color);
}

@media (max-width: 480px) {
  .header .logo img {
    max-height: 24px;
  }

  .header .logo h1 {
    font-size: 24px;
  }
}

.header .btn-getstarted,
.header .btn-getstarted:focus {
  color: var(--contrast-color);
  background: var(--accent-color);
  font-size: 14px;
  padding: 8px 25px;
  margin: 0 0 0 30px;
  border-radius: 50px;
  transition: 0.3s;
}

.header .btn-getstarted:hover,
.header .btn-getstarted:focus:hover {
  color: var(--contrast-color);
  background: color-mix(in srgb, var(--accent-color), transparent 15%);
}

@media (max-width: 1200px) {
  .header .logo {
    order: 1;
  }

  .header .btn-getstarted {
    order: 2;
    margin: 0 15px 0 0;
    padding: 6px 15px;
  }

  .header .navmenu {
    order: 3;
  }
}

.scrolled .header {
  box-shadow: 0px 0 18px color-mix(in srgb, var(--default-color), transparent 85%);
}

/* Index Page Header
------------------------------*/
.index-page .header {
  --background-color: rgba(255, 255, 255, 0);
}

/* Index Page Header on Scroll
------------------------------*/
.index-page.scrolled .header {
  --background-color: #ffffff;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/* Desktop Navigation */
@media (min-width: 1200px) {
  .navmenu {
    padding: 0;
  }

  .navmenu ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    align-items: center;
  }

  .navmenu li {
    position: relative;
  }

  .navmenu a,
  .navmenu a:focus {
    color: var(--nav-color);
    padding: 18px 15px;
    font-size: 16px;
    font-family: var(--nav-font);
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
  }

  .navmenu a i,
  .navmenu a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
    transition: 0.3s;
  }

  .navmenu li:last-child a {
    padding-right: 0;
  }

  .navmenu li:hover>a,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--nav-hover-color);
  }

  .navmenu .megamenu {
    position: static;
  }

  .navmenu .megamenu ul {
    margin: 0;
    padding: 10px;
    background: var(--nav-dropdown-background-color);
    box-shadow: 0px 0px 20px color-mix(in srgb, var(--default-color), transparent 90%);
    position: absolute;
    top: 130%;
    left: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    display: flex;
    transition: 0.3s;
    border-radius: 4px;
    z-index: 99;
  }

  .navmenu .megamenu ul li {
    flex: 1;
  }

  .navmenu .megamenu ul li a,
  .navmenu .megamenu ul li:hover>a {
    padding: 10px 20px;
    font-size: 15px;
    color: var(--nav-dropdown-color);
  }

  .navmenu .megamenu ul li a:hover,
  .navmenu .megamenu ul li .active,
  .navmenu .megamenu ul li .active:hover {
    color: var(--nav-dropdown-hover-color);
  }

  .navmenu .megamenu:hover>ul {
    opacity: 1;
    top: 100%;
    visibility: visible;
  }
}

/* Mobile Navigation */
@media (max-width: 1199px) {
  .mobile-nav-toggle {
    color: var(--nav-color);  
    /* color: #004d4d;  */
    font-size: 28px;
    line-height: 0;
    margin-right: 10px;
    cursor: pointer;
    transition: color 0.3s;
  }

  .navmenu {
    padding: 0;
    z-index: 9997;
  }

  .navmenu ul {
    display: none;
    position: absolute;
    inset: 60px 20px 20px 20px;
    padding: 10px 0;
    margin: 0;
    border-radius: 6px;
    /* background-color: var(--nav-dropdown-background-color); */
    background-color: #004d4d;
    overflow-y: auto;
    transition: 0.3s;
    z-index: 9998;
    box-shadow: 0px 0px 30px color-mix(in srgb, var(--default-color), transparent 90%);
  }

  .navmenu a,
  .navmenu a:focus {
    /* color: var(--nav-dropdown-color); */
    color: #fff;
    padding: 10px 20px;
    font-family: var(--nav-font);
    font-size: 17px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
  }

  .navmenu a i,
  .navmenu a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: 0.3s;
    background-color: color-mix(in srgb, var(--accent-color), transparent 90%);
  }

  .navmenu a i:hover,
  .navmenu a:focus i:hover {
    background-color: var(--accent-color);
    color: var(--contrast-color);
  }

  .navmenu a:hover,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--nav-dropdown-hover-color);
  }

  .navmenu .active i,
  .navmenu .active:focus i {
    background-color: var(--accent-color);
    color: var(--contrast-color);
    transform: rotate(180deg);
  }

  .navmenu .dropdown ul {
    position: static;
    display: none;
    z-index: 99;
    padding: 10px 0;
    margin: 10px 20px;
    background-color: var(--nav-dropdown-background-color);
    border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
    transition: all 0.5s ease-in-out;
    box-shadow: none;
  }

  .navmenu .dropdown ul ul {
    background-color: rgba(33, 37, 41, 0.1);
  }

  .navmenu .dropdown>.dropdown-active {
    display: block;
    background-color: rgba(33, 37, 41, 0.03);
  }

  .mobile-nav-active {
    overflow: hidden;
  }

  .mobile-nav-active .mobile-nav-toggle {
    color: #fff;
    /* color: #004d4d; */
    position: absolute;
    font-size: 32px;
    top: 15px;
    right: 15px;
    margin-right: 0;
    z-index: 9999;
  }

  .mobile-nav-active .navmenu {
    position: fixed;
    overflow: hidden;
    inset: 0;
    background: rgba(33, 37, 41, 0.8);
    transition: 0.3s;
  }

  .mobile-nav-active .navmenu>ul {
    display: block;
  }
}

/* .logo h1 {
  margin: 0;
  font-size: 1rem;
  color: #fff;
} */

/* .nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: flex-end;
}

.nav ul li {
  margin-left: 1.5rem;
}

.nav ul li a {
  text-decoration: none;
  color: #fff;
  font-size: 1rem;
} */

.hero {
  color: #fff;
  text-align: center;
  position: relative;
}

/* .hero-content {
  z-index: 2;
  position: relative;
}

.hero h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.hero p {
  font-size: 1.25rem;
  margin-bottom: 2rem;
}

.hero .btn {
  background-color: #82b440;
  color: #fff;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  border-radius: 0.5rem;
  font-size: 1rem;
} */

.hero-image {
  position: relative;
}

.hero-image img {
  width: 100%;
  height: auto;
  padding-left: 100px;
  padding-top: 70px;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 20px 85px;
  box-sizing: border-box;
}

.hero-text {
  color: white;
  position: relative;
  top: 130px;
  left: 70px;
}

.hero-text h2 {
  font-size: 3.5em;
  margin: 0;
  padding: 0;
  margin-left: 30px;
}

.hero-text p {
  font-size: 1.5em;
  margin: 0;
  margin-top: 15px;
  padding: 0;
}

.hero-button {
  align-self: flex-end;
  /* margin-top: 100px;
  margin-left: 50px; */
  position: relative;
  top: 250px;
  left: -130px;
}

.hero-button .btn {
  padding: 15px 25px;
  background-color: #82b440;
  color: black;
  text-decoration: none;
  border-radius: 50px;
  font-size: 1.5em;
  /* font-size: 24px; */
  margin: 0 0 0 30px;
}

.features {
  padding: 3rem 0;
  text-align: center;
}

.feature {
  display: inline-block;
  width: 30%;
  margin: 1%;
}

.feature img {
  width: 177px;
  height: 136px;
  vertical-align: bottom;
}

.three-columns-section {
  display: flex;
  justify-content: space-between;
  background-color: #004d4d;
}

.column {
  display: inline-block;
  width: 25%;
  margin: 1%;
  color: white;
  margin-left: 80px;
}

.column h2 {
  color: #d4e157;
  font-size: 17px;
  margin-bottom: 15px;
}

.column p {
  font-size: 14px;
  line-height: 1.5;
}

.about {
  position: relative;
  width: 100%;
  height: 100vh;
  background-image: url('../img/bg-about.png');
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.about-container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80%;
  padding: 0 50px;
  box-sizing: border-box;
  margin-top: 50px;
}

.about-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.about-text {
  max-width: 800px;
  padding: 20px;
}

.about-text h2 {
  font-size: 2.2em;
  margin: 0;
  color: white;
  margin-bottom: 15px;
}

.about-text h3 {
  font-size: 2em;
  color: #A0E418;
  margin-bottom: 15px;
}

.about-text h6 {
  font-size: 1em;
  color: #1E878E;
  margin-bottom: 40px;
}

.about-text p {
  font-size: 1.1em;
  margin: 10px 0;
  color: #1E878E;
}

.about-image {
  max-width: 400px;
  margin-right: 50px;
}

.about-image img {
  width: 100%;
  height: auto;
}

.btn {
  display: inline-block;
  padding: 15px 30px;
  background-color: #A0E418;
  color: #333;
  text-decoration: none;
  border-radius: 25px;
  font-size: 1.2em;
  margin-top: 20px;
}

.about-footer {
  text-align: center;
  padding: 8px;
  /* background: rgba(0, 0, 0, 0.5); */
  color: white;
  width: 100%;
  box-sizing: border-box;
  z-index: 1;
}

.about-footer p {
  font-size: 14px;
}

/* Media Queries for Responsiveness */

/* Small Devices (Tablets, 768px and down) */
@media (max-width: 768px) {
  .container {
      width: 100%;
      padding: 0 15px;
  }

  .header .logo h1 {
      font-size: 24px;
  }

  .hero-image img {
    width: 100%;
    height: auto;
    padding-left: 20px;
    padding-top: 50px;
  }

  .overlay {
    padding: 20px 30px;
  }

  .hero-text {
      top: 100px;
      left: 20px;
      text-align: center;
  }

  .hero-text h2 {
      font-size: 20px;
      margin-left: 0;
  }

  .hero-text p {
      font-size: 14px;
      margin-top: 10px;
  }

  .hero-button {
      top: 0px;
      left: 0;
      text-align: center;
  }

  .hero-button .btn {
    padding: 10px 20px;
    font-size: 0.8em;
  }

  .features {
    padding: 1rem 0;
    text-align: center;
  }

  .features .feature {
      width: 30%;
      margin: 10px 0;
  }

  /* .feature img {
    width: 118px;
    height: 90px;
  } */
  .feature img {
    width: 78px;
    height: 60px;
  }


  .three-columns-section {
      flex-direction: column;
      align-items: center;
  }

  .three-columns-section .column {
      width: 80%;
      margin: 10px 0;
  }

  .about-container {
      flex-direction: column;
      padding: 0 20px;
  }

  .about-content {
      flex-direction: column;
      align-items: center;
  }

  .about-text {
      max-width: 100%;
      text-align: center;
  }

  .about-image {
      max-width: 50%;
      margin-right: 0;
  }

  .btn {
    padding: 10px 20px;
    font-size: 0.8em;
    margin-top: 10px;
  }

  
}

/* Extra Small Devices (Phones, 480px and down) */
@media (max-width: 480px) {
  .header .logo img {
      max-height: 24px;
  }

  .header .logo h1 {
      font-size: 20px;
  }

  .hero-image img {
    width: 100%;
    height: auto;
    padding-left: 20px;
    padding-top: 50px;
  }

  .overlay {
    padding: 20px 30px;
  }

  .hero-text {
      top: 60px;
      left: 10px;
      text-align: center;
  }

  .hero-text h2 {
      font-size: 20px;
  }

  .hero-text p {
      font-size: 14px;
  }

  .hero-button {
      top: 65px;
      left: 0;
      text-align: center;
  }

  .hero-button .btn {
    font-size: 0.7em;
    padding: 8px 16px;
  }

  .feature img {
    width: 78px;
    height: 60px;
  }

  .three-columns-section .column {
      width: 100%;
      margin: 10px 0;
      text-align: center;
  }

  .about-text h2 {
      font-size: 1.5em;
  }

  .about-text h3 {
      font-size: 1.2em;
  }

  .about-text h6 {
      font-size: 0.6em;
  }

  .about-text p {
      font-size: 0.7em;
  }

  .about-image {
    max-width: 60%;
    margin-right: 0;
  }

  .btn {
    padding: 8px 16px;
    font-size: 0.6em;
    margin-top: 8px;
  }
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;
  background-color: #fff;
  transition: all 0.6s ease-out;
  width: 100%;
  height: 100vh;
}

#preloader:before,
#preloader:after {
  content: "";
  position: absolute;
  border: 4px solid var(--accent-color);
  border-radius: 50%;
  animation: animate-preloader 2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

#preloader:after {
  animation-delay: -0.5s;
}

@keyframes animate-preloader {
  0% {
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    left: calc(50% - 5px);
    opacity: 1;
  }

  100% {
    width: 72px;
    height: 72px;
    top: calc(50% - 36px);
    left: calc(50% - 36px);
    opacity: 0;
  }
}

/*--------------------------------------------------------------
# Scroll Top Button
--------------------------------------------------------------*/
.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: -15px;
  z-index: 99999;
  background-color: var(--accent-color);
  width: 44px;
  height: 44px;
  border-radius: 50px;
  transition: all 0.4s;
}

.scroll-top i {
  font-size: 24px;
  color: var(--contrast-color);
  line-height: 0;
}

.scroll-top:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 20%);
  color: var(--contrast-color);
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
  bottom: 15px;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}