:root { 
  --heading-color: #062340;
  --color-navy: #062340;
  --color-blue: #4eb7f5;
  --color-green: #5da12e;
}

body {
  font-family: 'Rubik' !important;
  font-size: 16px;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #666666;
  background-color: #ffffff;
  font-weight: 500;
  overflow-x: hidden;
}

.btn-outline-primary {
  border:1px solid var(--color-blue) !important;
  color: var(--color-navy);
}

.btn-outline-primary:hover {
  background-color: var(--color-blue);
}

.btn-outline-primary:active {
  background-color: var(--color-navy) !important;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0px;
  margin-bottom: 0px;
}

h1 {
  color: var(--heading-color);
}

ul {
  margin-bottom: 0px;
}

p {
  font-size: 20px;
  line-height: 26px;
  font-weight: 300;
}

a {
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  text-decoration: none;
}

section.request-demo {
  padding: 20px;
  padding-top: 140px;
  padding-bottom: 140px;
}

.header {
  padding: 20px 0;
  transition: all 0.5s;
  z-index: 997;
}

.header .logo {
  margin-left: 40px;
}

.header .navmenu {
  margin-right: 40px;
  color: #fff;
}

.w-fit {
  width: fit-content !important;
}

@media screen and (min-width: 690px) and (max-width: 820px) {
    .header .navmenu {
        margin-right: 0px !important;
    }

    .header .logo {
        margin-left: 0px !important;
    }

    .header-container, .contact-us {
      background-attachment: scroll !important;
      background-position: left !important;
    }
}

@media screen and (min-width: 820px) and (max-width: 820px) {
  .modal .modal-dialog {
    max-width: 750px;
  }
}

@media (max-width: 480px) {
  .header .navmenu {
    margin-right: 0px !important;
  }

  .header .logo {
    margin-left: 0px !important;
  }

  .header .logo-white {
    width: 75% !important;
  }
}

.scrolled .header {
  box-shadow: 0px 0 18px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.scrolled .header .navmenu {
  color:#000 !important;
}

.scrolled .logo-dark {
  display: block !important;
}

.scrolled .logo-white {
  display: none;
}

@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: 20px;
    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(--color-blue);
  }

  .navmenu .dropdown ul {
    margin: 0;
    padding: 10px 0;
    background: white;
    color: var(--color-navy);
    display: block;
    position: absolute;
    visibility: hidden;
    left: 14px;
    top: 130%;
    opacity: 0;
    transition: 0.3s;
    border-radius: 4px;
    z-index: 99;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
  }

  .navmenu .dropdown ul li {
    min-width: 200px;
  }

  .navmenu .dropdown ul a {
    padding: 10px 20px;
    font-size: 15px;
    text-transform: none;
    color: var(--color-navy) !important;
  }

  .navmenu .dropdown ul a:hover {
    background-color: var(--color-navy);
    color: var(--color-blue) !important;
  }

  .navmenu .dropdown ul a i {
    font-size: 12px;
  }

  .navmenu .dropdown:hover > ul {
    opacity: 1;
    top: 100%;
    visibility: visible;
  }

  .navmenu .dropdown .dropdown ul {
    top: 0;
    left: -90%;
    visibility: hidden;
  }

  .navmenu .dropdown .dropdown:hover>ul {
    opacity: 1;
    top: 0;
    left: -100%;
    visibility: visible;
  }
}

@media (max-width: 1199px) {
    .navmenu .dropdown > .dropdown-active {
        border: 1px solid #999;
        background-color: rgba(33, 37, 41, 0.1) !important;
    }

  .logo-mobile {
    display: block !important;
  }

  .mobile-menu-toggle {
    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;
    list-style: none;
    position: absolute;
    inset: 60px 20px 20px 20px;
    padding: 10px 0;
    margin: 0;
    border-radius: 6px;
    overflow-y: auto;
    transition: 0.3s;
    z-index: 9998;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
  }

  .navmenu a,
  .navmenu a:focus {
    padding: 10px 20px;
    font-size: 20px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
    color:#666666;
  }

  .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;
  }

  .navmenu .active i,
  .navmenu .active:focus i {
    transform: rotate(180deg);
  }

  .navmenu .dropdown ul {
    position: static;
    display: none;
    z-index: 99;
    padding: 10px 0;
    margin: 10px 20px;
    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-menu-active {
    overflow: hidden;
  }

  .mobile-menu-active .mobile-menu-toggle {
    color: #fff;
    position: absolute;
    font-size: 32px;
    top: 15px;
    right: 15px;
    margin-right: 0;
    z-index: 9999;
  }

  .mobile-menu-active .navmenu {
    position: fixed;
    overflow: hidden;
    inset: 0;
    background: rgba(33, 37, 41, 0.8);
    transition: 0.3s;
    color: var(--color-navy);
  }

  .mobile-menu-active .navmenu>ul {
    display: block;
    background-color: #fff;
    background-image: url(/images/mobile-menu-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
}

.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: -15px;
  z-index: 999;
  background-color: var(--color-blue);
  width: 44px;
  height: 44px;
  border-radius: 50px;
  transition: all 0.4s;
}

.scroll-top i {
  font-size: 24px;
  color: var(--color-navy);
  line-height: 0;
}

.scroll-top:hover i {
  transition: all 0.4s;
  color: #ffffff !important;
}

.scroll-top:hover {
  transition: all 0.4s;
  background-color: var(--color-navy);
  color: #ffffff !important;
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
  bottom: 15px;
}

section,
.section {
  padding: 40px 0;
  scroll-margin-top: 100px;
  overflow: clip;
}

@media (max-width: 1199px) {
  section,
  .section {
    scroll-margin-top: 66px;
  }
}

.module-posts .module-item {
  padding-left: 30px;
  padding-right: 30px;
}

.nav {
  padding:5px;
  font-size: 1.3rem;
}

.contact-footer {
  display: flex; align-items: center; background-size: contain; background-repeat: no-repeat; background-position: bottom;
}

.header-container {
  display: flex; 
  min-height: 60vh; 
  flex-direction: column; 
  align-items: center; 
  justify-content: center; 
  background-repeat: no-repeat; 
  background-position: center; 
  background-size: cover
}

.heading-line {
  background-color: #29abe2; height: 5px; width: 100px; margin-left: auto; margin-right: auto;
}

@media screen and (max-width: 390px) {
  .header-container h1 {
    font-size: 2rem !important;
  }
}

@media (max-width: 415px) {
  .footer-details .logo {
    width: 100% !important;
  }
  
  .contact-footer {
    text-align: center;
  }
}

@media (max-width: 767px) {
  .nav {
    background-color: #000 !important;
    border-radius: 0px !important;
  }

  .header-area div {
    padding:0px !important;
  }

  .header-area .logo {
    padding-left: 20px !important;
  }

  .footer-menu {
    width: 100% !important;
    background-color: unset !important;
  }

  .footer-menu a {
    display: block !important;
    border-bottom: 1px solid #ccc;
    margin-bottom: 2px;
  }

  .footer-details {
    display: block !important;
    text-align: center !important;
  }

  .footer-details div {
    display: block !important;
    text-align: center !important;
    padding-bottom: 20px !important;
  }

  .footer-details div .footer-ffsi {
    width:unset !important;
  }
}

  .bg-green {
    background-color: var(--color-green) !important;
  }

  .btn-blue {
    background-color: var(--color-blue);
    color: #ffffff;
    transition: all .3s;
  }

  .btn-blue:hover {
    background-color: #2c95d1;
    color: #ffffff;
    transition: all .6s;
  }

  .btn-navy {
    background-color: var(--color-navy);
    color: #ffffff;
    transition: all .3s;
  }

  .btn-navy:hover {
    background-color: var(--color-blue);
    color: #ffffff;
    transition: all .6s;
  }

  .text-gray {
    color: #4b4b4c !important;
    font-weight: 500 !important;
  }

  .text-green {
    color: var(--color-green) !important;
  }

  .text-blue-link {
    color: var(--color-blue) !important;
  }

  .text-blue {
    color: var(--color-blue) !important;
    font-weight: 500 !important;
  }

  .text-navy {
    color: var(--color-navy) !important;
    font-weight: 500 !important;
  }

  .bg-green {
    background-color: var(--color-green) !important;
    color: #fff !important;
  }

  .bg-blue {
    background-color: var(--color-blue) !important;
    color: #fff !important;
  }
  
  .bg-navy {
    background-color: var(--color-navy) !important;
    color: #fff !important;
  }

  .btn-green {
    background-color: var(--color-green);
    border: 1px solid var(--color-green);
    color: #ffffff;
  }

  .btn-green:hover {
    color: var(--color-blue);
    background-color: #ffffff;
    border: 1px solid var(--color-navy);
    transition: all .6s;
  }
  
  .footer-menu {
    background-color: #ececec;
    padding: 15px;
    border-radius: 20px;
    text-align: center;
    width: fit-content;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-menu a {
    padding: 15px;
    color: #000;
    font-weight: 400;
  }

  .footer-menu a:hover {
    color: #976d2b;
  }
  
  .footer-details {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 70px;
    margin-bottom: 0px;
  }

  .footer-details .logo {
    width: 300px;
  }

  .footer-details div {
    display: inline-block;
    text-align: left;
    padding-left:15px;
    padding-right:15px;
  }

  .footer-details span {
    display: block;
    font-weight: 400;
    line-height: 17px;
  }

  .btn {
    font-size: 18px !important;
    border-radius: 20px !important;
    padding-left:25px;
    padding-right:25px;
  }

  .blue-line {
    background-color: var(--color-blue); height: 5px; width: 100px; margin-left: auto; margin-right: auto;
  }

  .shadow-bottom {
    box-shadow: 0 20px 15px -5px rgba(0, 0, 0, .1)
  }

  #testimonials .testimonial {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  #testimonials .author-name {
    color: var(--color-navy) !important;
    font-size: 25px !important;
    line-height: 20px;
    margin-top: 40px;
  }

  #testimonials .author-position {
    color: var(--color-blue) !important;
    font-size: 20px !important;
    font-weight: normal !important;
  }

  #testimonials .testimonial:nth-child(even) {
    background-color: rgba(197, 197, 197, 0.1);
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
  }

  .sub-header .header-text {
    border-radius: 10px;
      background-color: rgba(255,255,255,0.5);
  }

  .contact-heading .form-control {
    padding-top: 40px !important;
    padding-bottom: 20px !important;
  }

  .contact-heading .form-floating label {
    color:#999;
    font-weight: normal;
  }

  /* 
---------------------------------------------
contact us
--------------------------------------------- 
*/

section.contact-us {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  background-color: #976d2b; 
  color: #ffffff; 
  padding: 20px;
  padding-top: 100px;
  padding-bottom: 100px;
}

/* 
---------------------------------------------
testimonials
--------------------------------------------- 
*/

section.testimonials {
  /* background-image: url(/images/testimonials-home-bg.jpg); */
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  background-color: #976d2b; 
  color: #ffffff; 
  padding: 20px;
  padding-top: 100px;
  padding-bottom: 100px;
}

section.testimonials p {
  columns: #fff !important;
}

section.testimonials .section-heading {
  padding-top: 60px !important;
}


/* 
---------------------------------------------
footer 
--------------------------------------------- 
*/

footer {
  background-color: #052342;
  text-align: center;
  padding: 25px 0px;
}

footer p {
  color: #fff;
  font-weight: 300;
}

footer p a {
  color: #ff511a;
}

.agri-people-compliance-software {
  background-repeat: no-repeat; 
  background-size: cover; 
  background-position: center;
  padding: 20px;
  padding-top: 100px;
  padding-bottom: 100px;  
}

/* 
---------------------------------------------
client support
--------------------------------------------- 
*/
.our-clients-support {
  /* background-image: url(/images/cfm-image.webp);  */
  background-size: cover; 
  vertical-align: middle; 
  background-position: center; 
  background-attachment: fixed;
  padding: 20px;
  padding-top: 100px;
  padding-bottom: 100px;
}