@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
*,
*::before,
*::after {
  box-sizing: border-box;
}

/**
Use a more readable tab size (opinionated).
*/
:root {
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/*
Sections
========
*/
/**
Remove the margin in all browsers.
*/
body {
  margin: 0;
}

/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}

/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
}

/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
  text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
  box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

@keyframes rotateMenu {
  0% {
    transform: rotateX(-90deg);
  }
  70% {
    transform: rotateX(20deg);
  }
  100% {
    transform: rotateX(0deg);
  }
}
html {
  box-sizing: border-box;
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  font-family: "Inter", sans-serif;
}

body {
  margin: 0;
  padding: 0;
  background-color: #000000;
  position: relative;
  font-family: "Inter", sans-serif;
  height: 100%;
  min-height: 100%;
}

main {
  overflow: hidden;
}

.responsive {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  display: inline-block;
}

a:visited {
  text-decoration: none;
}

ul,
li,
a {
  margin: 0;
  padding: 0;
  color: inherit;
  font-style: inherit;
}

h1,
h2,
h3,
h4,
h5,
p {
  margin: 0;
  font-family: inherit;
}

li {
  list-style-type: none;
}

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #ffffff inset !important;
}

.mobile-only {
  display: block;
}
@media screen and (min-width: 768px) {
  .mobile-only {
    display: none;
  }
}

.tablet-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .tablet-only {
    display: block;
  }
}

.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 16px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .container {
    padding: 0 20px;
  }
}
@media screen and (min-width: 1440px) {
  .container {
    max-width: 1600px;
    padding: 0 32px;
  }
}

header {
  background-color: #000000;
  overflow: hidden;
  position: sticky;
  top: 0;
  z-index: 100;
}
header .header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: inherit;
}
@media screen and (min-width: 1440px) {
  header .header-container {
    padding: 0 24px;
    justify-content: unset;
  }
}
header .header-logo {
  padding: 12px 0;
}
@media screen and (min-width: 1024px) {
  header .header-logo {
    padding: 16px 0;
  }
}
header .header-logo img {
  max-width: 180px;
}
@media screen and (min-width: 1024px) {
  header .header-logo img {
    max-width: 360px;
  }
}
header .mobile-menu {
  display: none;
  position: fixed;
  top: 52px;
  left: 0;
  width: 100%;
  height: calc(100% - 52px);
  z-index: 100;
  flex-direction: column;
  gap: 32px;
  background-color: #000000;
  opacity: 0;
  max-height: 0;
  transition: opacity 300ms ease, max-height 300ms ease;
}
header .mobile-menu.opened {
  max-height: 100%;
  opacity: 1;
  overflow: hidden;
}
header .mobile-menu-icon {
  z-index: 100;
  height: 24px;
  width: 24px;
  font-size: 2px;
  display: block;
  position: relative;
}
@media screen and (min-width: 1024px) {
  header .mobile-menu-icon {
    display: none;
  }
}
header .mobile-menu-icon label {
  width: 10em;
  height: 1.25em;
  background-color: #ffffff;
  position: absolute;
  cursor: pointer;
  border-radius: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
header .mobile-menu-icon label::before, header .mobile-menu-icon label::after {
  content: "";
  width: 10em;
  height: 1.5em;
  background-color: #ffffff;
  position: absolute;
  display: block;
  border-radius: 2px;
  color: #ffffff;
  transition: all 300ms cubic-bezier(1, 0, 0, 1);
}
header .mobile-menu-icon label::before {
  top: -250%;
  left: 0%;
  transform: rotateZ(0deg);
  transform-origin: left top;
}
header .mobile-menu-icon label::after {
  bottom: -250%;
  left: 0%;
  transform: rotateZ(0deg);
  transform-origin: left bottom;
}
header .mobile-menu-icon #toggle:checked ~ label::before {
  content: "";
  background-color: #ffffff;
  transform: rotateZ(41deg);
  left: 10%;
}
header .mobile-menu-icon #toggle:checked ~ label::after {
  content: "";
  background-color: #ffffff;
  transform: rotateZ(-41deg);
  left: 10%;
}
header .mobile-menu-icon #toggle:checked ~ label {
  background-color: #000000;
}
header .mobile-menu-icon #toggle ~ label {
  transition: all 300ms cubic-bezier(1, 0, 0, 1);
}
header .mobile-menu-icon input {
  display: none;
}
header .mobile-navigation {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 16px;
}
header .mobile-menu-footer {
  display: flex;
  flex-direction: column;
  margin-top: auto;
}
header .mobile-menu-footer .header-logo {
  padding: 0 16px;
  margin-bottom: 24px;
}
header .mobile-menu-footer .rights-text {
  color: #667085;
  padding: 40px 16px;
  background-color: #F9FAFB;
}
header .desktop-navigation {
  display: none;
}
@media screen and (min-width: 1024px) {
  header .desktop-navigation {
    margin-left: 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: end;
    width: 60%;
    gap: 15%;
    margin-left: auto;
  }
}
header .desktop-cta {
  display: none;
}
@media screen and (min-width: 1024px) {
  header .desktop-cta {
    margin-left: auto;
    display: block;
  }
}

footer {
  background-color: #000000;
  border-top: 2px solid #93C90F;
  padding-top: 32px;
  padding-bottom: 32px;
}
@media screen and (min-width: 1024px) {
  footer {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
footer .logo img {
  display: block;
  max-height: 92px;
  width: 100%;
}
footer .two-columns-wrapper {
  justify-content: space-between;
  align-items: start;
}
@media screen and (min-width: 1024px) {
  footer .two-columns-wrapper {
    align-items: center;
  }
}
footer .footer-info, footer .footer-nav {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  footer .footer-info, footer .footer-nav {
    text-align: unset;
  }
}
footer .footer-nav .footer-contacts li {
  margin-bottom: 12px;
}
@media screen and (min-width: 1024px) {
  footer .footer-nav .footer-contacts li {
    text-align: right;
  }
}
footer .social-links-wrapper {
  margin-top: 32px;
}
@media screen and (min-width: 1024px) {
  footer .social-links-wrapper {
    margin-top: 64px;
  }
}
footer .social-links-wrapper ul {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 16px;
}
footer .social-links-wrapper ul img {
  width: 30px;
}
@media screen and (min-width: 1024px) {
  footer .social-links-wrapper ul img {
    width: 40px;
  }
}
footer .footer-copyright {
  padding: 30px 0;
  text-align: center;
}
footer .footer-copyright p {
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  line-height: 19px;
}

.heading {
  position: relative;
  display: inline-block;
}
.heading:after {
  display: block;
  content: "";
  position: absolute;
  width: 200vw;
  height: 2px;
  top: 50%;
  left: 150px;
  transform: translateY(-50%);
  z-index: 1;
  background-color: #93C90F;
}
@media screen and (min-width: 1024px) {
  .heading:after {
    left: 200px;
  }
}

.heading-blue {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 21px;
  line-height: 26px;
  color: #7AB6D9;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .heading-blue {
    font-size: 36px;
    line-height: 44px;
  }
}

.subheading {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 21px;
  color: #ffffff;
  margin-bottom: 18px;
}
@media screen and (min-width: 768px) {
  .subheading {
    font-size: 25px;
    line-height: 30px;
  }
}

.bold {
  font-weight: 700 !important;
}

.body {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 21px;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .body {
    font-size: 21px;
    line-height: 28px;
  }
}

.logo a {
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  line-height: 24px;
  font-weight: 600;
}

.navigation-link {
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: 500;
  color: #ffffff;
  text-transform: uppercase;
}
.navigation-link:hover {
  opacity: 0.8;
}

.footer-navigation-link {
  font-size: 16px;
  line-height: 24px;
  font-family: "Montserrat", sans-serif;
  color: #ffffff;
  font-weight: 600;
}

.scroll-top-btn {
  padding: 17px;
  border: 1px solid gray;
  border-radius: 8px;
  display: block;
  position: fixed;
  background-color: #ffffff;
  bottom: 24px;
  right: 16px;
  cursor: pointer;
  z-index: 50;
}
.scroll-top-btn:active, .scroll-top-btn:focus, .scroll-top-btn:hover {
  opacity: 0.7;
}
@media screen and (min-width: 1024px) {
  .scroll-top-btn {
    padding: 21px;
    right: 40px;
    bottom: 48px;
  }
}
.scroll-top-btn img {
  width: 14px;
  height: 14px;
}

.button {
  background-color: #93C90F;
  padding: 7px 14px;
  display: inline-block;
  cursor: pointer;
  border-radius: 2px;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #000000;
}
@media screen and (min-width: 768px) {
  .button {
    padding: 14px 28px;
    font-size: 21px;
    line-height: 28px;
  }
}
.button:hover, .button:focus {
  opacity: 0.9;
}

.button.product-btn {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #7AB6D9;
}
.button.product-btn img {
  width: 14px;
}
@media screen and (min-width: 768px) {
  .button.product-btn img {
    width: 18px;
  }
}

.two-columns-wrapper {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media screen and (min-width: 1024px) {
  .two-columns-wrapper {
    flex-direction: row;
  }
  .two-columns-wrapper > div {
    flex-basis: 50%;
    width: 50%;
  }
}

.img-wrapper img {
  width: 100%;
  height: auto;
}

video {
  border-radius: 16px;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1024px) {
  video {
    border-radius: 44px;
  }
}

section .container {
  padding-top: 32px;
  padding-bottom: 48px;
}
@media screen and (min-width: 1024px) {
  section .container {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

.list li {
  list-style-type: disc;
  margin-bottom: 8px;
  margin-left: 18px;
}
.list strong {
  color: #93C90F;
}

.no-scroll {
  overflow: hidden;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  margin-left: -15px;
}
@media screen and (min-width: 1024px) {
  table {
    margin-left: 0;
  }
}
table .heading-blue {
  margin-bottom: 0 !important;
  display: table-cell;
}
table th, table td {
  padding: 4px;
}
@media screen and (min-width: 1024px) {
  table th, table td {
    padding: 8px;
  }
}
table th:not(:last-of-type), table td:not(:last-of-type) {
  text-align: center;
  border-right: 1px solid #ffffff;
}
table tr:first-of-type th {
  border-bottom: 1px solid #ffffff;
}
table tr:first-of-type td {
  border-bottom: 1px solid #ffffff;
}
table th:first-child {
  border-right: 1px solid #ffffff;
}
table th:last-child,
table td:last-child {
  border-right: none;
}
table th.heading-blue {
  text-align: left;
}
@media screen and (max-width: 1024px) {
  table th.heading-blue {
    font-size: 14px;
    line-height: 18px;
  }
}
table td.body {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  color: #ffffff;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  table td.body {
    font-size: 32px;
    line-height: 40px;
  }
}

.home-page h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 21px;
  line-height: 26px;
  color: #93C90F;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .home-page h2 {
    font-size: 36px;
    line-height: 44px;
  }
}
.home-page .section .two-columns-wrapper {
  margin-top: 32px;
}
@media screen and (min-width: 1024px) {
  .home-page .section .two-columns-wrapper {
    margin-top: 64px;
    gap: 20px;
  }
}

.hero {
  height: 100%;
  display: block;
  background: url("../images/home/hero.png") no-repeat;
  background-size: cover;
  background-position: center;
}
.hero .container {
  padding-top: 32px;
  padding-bottom: 32px;
}
@media screen and (min-width: 1024px) {
  .hero .container {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}
.hero .hero-img-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .hero .hero-img-wrapper {
    justify-content: end;
    max-width: 50%;
    margin-left: auto;
  }
}
.hero img {
  max-height: 550px;
}
@media screen and (min-width: 1024px) {
  .hero img {
    max-height: 860px;
  }
}

@media screen and (min-width: 1024px) {
  .facts .img-wrapper {
    flex-basis: 60%;
    width: 60%;
  }
}

.products .product-btn {
  margin-bottom: 36px;
}
@media screen and (min-width: 1024px) {
  .products .product-btn {
    margin-bottom: 72px;
  }
}
.products .heading {
  display: flex;
  align-items: start;
  justify-content: start;
  flex-direction: column;
  gap: 18px;
}
@media screen and (min-width: 1024px) {
  .products .heading {
    flex-direction: row;
    align-items: center;
    gap: 36px;
  }
}
.products .heading:after {
  left: 65%;
}
@media screen and (min-width: 768px) {
  .products .heading:after {
    left: 300px;
  }
}
@media screen and (min-width: 1024px) {
  .products .heading:after {
    left: 640px;
  }
}
.products .button:not(.product-btn) {
  margin-top: 36px;
}

.certifications .heading:after {
  left: 250px;
}
@media screen and (min-width: 768px) {
  .certifications .heading:after {
    left: 350px;
  }
}
@media screen and (min-width: 1024px) {
  .certifications .heading:after {
    left: 380px;
  }
}
.certifications .img-wrapper {
  margin-top: 36px;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-direction: row;
  gap: 10%;
}
@media screen and (min-width: 768px) {
  .certifications .img-wrapper {
    margin-left: 100px;
  }
}
.certifications .img-wrapper > div {
  flex-basis: 50%;
  max-width: 275px;
}
.certifications .img-wrapper > div p {
  margin-top: 12px;
}

.product-page .body {
  line-height: 24px;
}
@media screen and (min-width: 1024px) {
  .product-page .body {
    line-height: 40px;
  }
}
.product-page .heading-blue {
  margin-bottom: 18px;
}
.product-page .product-hero h1 {
  margin-bottom: 18px;
  display: block;
}
@media screen and (min-width: 1024px) {
  .product-page .product-hero h1 {
    margin-bottom: 40px;
  }
}
.product-page .product-hero h3 {
  margin-bottom: 18px;
  display: block;
}
@media screen and (min-width: 1024px) {
  .product-page .product-hero .two-columns-wrapper {
    justify-content: space-between;
  }
}
.product-page .product-hero .two-columns-wrapper div:nth-of-type(2) {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 0px;
}
.product-page .product-hero .two-columns-wrapper div:nth-of-type(2) .img-wrapper {
  display: flex;
  max-height: 700px;
  height: 100%;
}
@media screen and (min-width: 1440px) {
  .product-page .product-hero .two-columns-wrapper div:nth-of-type(2) .img-wrapper img {
    height: 100%;
  }
}
.product-page .features .heading-blue {
  margin-bottom: 18px;
}
@media screen and (min-width: 1024px) {
  .product-page .features .heading-blue {
    margin-bottom: 36px;
  }
}
.product-page .features .subheading {
  margin-bottom: 12px;
}
.product-page .features .subheading:not(:first-of-type) {
  margin-top: 22px;
}
.product-page .features .margin-bottom {
  margin-bottom: 18px;
}
.product-page .how-to-use .step {
  margin-bottom: 36px;
}
@media screen and (min-width: 1024px) {
  .product-page .how-to-use .step {
    margin-bottom: 48px;
  }
}
.product-page .how-to-use h3 {
  margin-bottom: 18px;
}
@media screen and (min-width: 1024px) {
  .product-page .how-to-use h3 {
    margin-bottom: 36px;
  }
}
.product-page .how-to-use .features-wrapper {
  flex-direction: row;
  gap: 16px;
}
.product-page .how-to-use .two-columns-wrapper div .heading-blue:first-of-type {
  margin-bottom: 18px;
}
@media screen and (min-width: 1024px) {
  .product-page .how-to-use .two-columns-wrapper div .heading-blue:first-of-type {
    margin-bottom: 18px;
  }
}
.product-page .how-to-use .two-columns-wrapper div .heading-blue:nth-of-type(2) {
  display: block;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
}
@media screen and (min-width: 768px) {
  .product-page .how-to-use .two-columns-wrapper div .heading-blue:nth-of-type(2) {
    font-size: 25px;
    line-height: 30px;
  }
}
.product-page .how-to-use .step-icon-wrapper {
  display: flex;
  justify-content: end;
  width: 50%;
}
.product-page .how-to-use img {
  width: 100%;
  height: auto;
  max-width: 180px;
  display: block;
}
.product-page .how-to-use .body, .product-page .how-to-use .list {
  margin-top: 18px;
}
@media screen and (min-width: 1024px) {
  .product-page .how-to-use .body, .product-page .how-to-use .list {
    margin-top: 28px;
  }
}
.product-page footer {
  margin-top: 90px;
}
@media screen and (min-width: 1024px) {
  .product-page footer {
    margin-top: 160px;
  }
}/*# sourceMappingURL=main.css.map */