@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@500&display=swap');

*
{
font-family: 'Open Sans', sans-serif;
  font-weight: 500; }

h1, h2, h3, h4, h5, h6 {
font-family: 'Open Sans', sans-serif;
font-weight: 500; 
  color: #000000;
 }

a {
font-family: 'Open Sans', sans-serif;
font-weight: 300; 
  color: #2db035;
 }

.main-navigation {
  color: white;
  background: #2db035; }

.header--site {
  background: #2db035; }
  .header--site .nav-list {
    font-weight: 400;
    letter-spacing: 2px; }
    .header--site .nav-list a {
      color: white; }
      .header--site .nav-list a:visited {
        color: white; }
      .header--site .nav-list a:hover {
        color: #573d82; }
      .header--site .nav-list a:active {
        color: white; }
  .header--site .search-form input[type="text"] {
    border: 1px solid #bbb;
    outline: none; }
  .header--site .search-form .button--search-form {
    border-color: #bbb; }


.button--theme--primary {
  color: white;
  background: #2db035;
  border-color: #2db035; }
  .button--theme--primary:link {
    color: white; }
  .button--theme--primary:visited {
    color: white; }
  .button--theme--primary:hover {
    color: white;
    background: black;
    text-shadow: 0 0 1px #000000;
    opacity: .9;
    border-color: black; }
  .button--theme--primary:active {
    color: #2db035;
    opacity: .8; }

.button--theme--secondary {
  color: white;
  background: #2db035;
  border-color: #2db035; }
  .button--theme--secondary:link {
    color: white; }
  .button--theme--secondary:visited {
    color: white; }
  .button--theme--secondary:hover {
    color: white;
    background: black;
    text-shadow: 0 0 1px #000000;
    opacity: .9;
    border-color: black; }
  .button--theme--secondary:active {
    color: #2db035;
    opacity: .8; }

.button--theme--negative {
  color: white;
  background: black;
  border-color: black; }
  .button--theme--negative:link {
    color: white; }
  .button--theme--negative:visited {
    color: white; }
  .button--theme--negative:hover {
    color: white;
    background: red;
    text-shadow: 0 0 1px #000000;
    opacity: .9;
    border-color: red; }
  .button--theme--negative:active {
    color: black;
    opacity: .8; }

.button--search-form {
  background: white;
  border-left: none;
  line-height: 38px;
  padding-top: 0;
  padding-bottom: 0;
  color: #2db035; }

.table {
  border-collapse: collapse;
  width: 100%;
  font-size: .8rem; }
  table th {
    font-weight: bolder;
    padding: 8px;
    line-height: 1; }
  table td {
    padding: 0 8px;
    line-height: 1
   border-right: 2px;
   border-color: black;
}

.table--pricing {
  border: 2px solid black;
  border-color: black;}
  .table--pricing thead tr {
    background-color: black;
    color: white; }
  .table--pricing th::after {
    border-top-color: black; }
  .table--pricing tbody tr:nth-child(even) {
    background-color: #f9f6f6; }
table--pricing {
  width: calc(99.99% * 1/1 - (16px - 16px * 1/1));
  display: table;
  border-collapse: collapse;
  text-align: center; }

.table--pricing:nth-child(1n){
  float: left;
  margin-right: 16px;
  clear: none; }

.table--pricing:last-child{
  margin-right: 0; }

.table--pricing:nth-child(1n){
  margin-right: 0;
  float: right; }

.table--pricing:nth-child(1n + 1){
  clear: left; }
  .table--pricing th {
    font-weight: bolder;
    padding: .5rem 0;
    text-align: center;
    position: relative;
    border: none; }
    .table--pricing th::after {
      content: '';
      display: block;
      border-right: 10px solid transparent;
      border-left: 10px solid transparent;
      border-top-width: 10px;
      border-top-style: solid;
      position: absolute;
      top: 100%;
      left: calc(50% - 10px); }
  .table--pricing tbody tr td {
    padding: .5rem 0;
    padding-top: .75rem; }
  .table--pricing tbody tr + tr td {
    padding: .5rem 0; }

.badge {
  font-weight: 700; }
  .badge--accent {
    background: #ffffff;
    color: #2db035; }
  .badge--white {
    background: #ffffff;
    color: #2db035; }

.flash {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 5px; }
  * + .flash {
    margin-top: 16px; }
  .flash--success {
    background-color: rgba(81, 163, 81, 0.2);
    color: #a4ca3c !important; }
    .flash--success * {
      color: #a4ca3c; }
  .flash--error {
    background-color: rgba(255, 0, 0, 0.2);
    color: #ff0000 !important; }
    .flash--error * {
      color: #ff0000; }
  .flash--information {
    background-color: rgba(89, 81, 163, 0.2);
    color: #0f2d52 !important; }
    .flash--information * {
      color: #0f2d52; }
  .flash--alert {
    background-color: rgba(249, 169, 55, 0.2);
    color: #F9A937 !important; }
    .flash--alert * {
      color: #F9A937; }

customer-reports .reports {
  border: 1px solid #2db035; }

.customer-reports .report.active .report-label {
  border: none !important;
  background: #a4ca3c; }

.customer-reports .report:not(:last-child) .report-label {
  border-bottom: 1px solid #2db035; }

.customer-reports .report-header {
  background: #2db035;
  color: white;
  cursor: pointer; }

.customer-reports .report-fields {
  background: #eee;
  border: 1px solid #a4ca3c; }

.customer-reports .field label {
  font-size: .8em;
  line-height: 1.4; }

.nav--header {
  text-align: right; }
  .nav--header i.fa {
    color: white; }
  .nav--header .nav-list a {
    color: white; }
    .nav--header .nav-list a:visited {
      color: white; }
    .nav--header .nav-list a:hover {
      color: #2db035; }
    .nav--header .nav-list a:active {
      color: white; }

  .nav--header i.fa.fa-search {
    color: #2db035; }

.checkout .order-overview .button {
 background-color: #2db035;
border-color: #2db035;
      margin-top: 8px !important; }
  .checkout .order-overview .button:hover {
  background-color: black;
  border-color: black;
  margin-top: 8px !important; }

.progress-bar {
  width: 100%;
  display: inline-block;
  padding: 16px;
  margin-bottom: 16px; }
  @media (min-width: 960px) {
    .progress-bar {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-wrap: no-wrap;
          flex-wrap: no-wrap;
      -ms-flex-pack: stretch;
          justify-content: stretch;
      -ms-flex-align: start;
          align-items: flex-start;
      list-style: none;
      padding: 16px 0;
      margin: 0; } }
  .progress-bar li {
    cursor: pointer; }
    @media (min-width: 960px) {
      .progress-bar li {
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
        text-align: center;
        position: relative;
        border-top: 4px solid #bbb;
        padding: 8px 0 0 0; } }
    .progress-bar li.disabled {
      cursor: not-allowed;
      opacity: .5; }
    @media (min-width: 960px) {
      .progress-bar li::after {
        content: '';
        display: block;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 8px solid #bbb;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translatex(-50%); } }
    .progress-bar li.complete {
      opacity: .5; }
      @media (min-width: 960px) {
        .progress-bar li.complete {
          opacity: 1;
          border-top: 4px solid #2db035; }
          .progress-bar li.complete::after {
            border-top-color: #2db035; } }
    .progress-bar li.active {
      font-weight: bolder; }
      @media (min-width: 960px) {
        .progress-bar li.active {
          font-weight: normal;
          border-top: 4px solid black; }
          .progress-bar li.active::after {
            border-top-color: black; } }

.sidebar__header a {
  color: black;
}

.nav--sidebar .nav-list a {
  color: black; }
  .nav--sidebar .nav-list a:visited {
    color: black; }
  .nav--sidebar .nav-list a:hover {
    color: #2db035; }
  .nav--sidebar .nav-list a:active {
    color: black; }

  .footer--site .copyright {
    width: calc(99.99% * 1/1 - (16px - 16px * 1/1));
    color: white;
    text-align: center;
    letter-spacing: 3px; }

.footer--site {
  color: white;
  background-color: white; }
  .footer--site .nav-list a {
    color: white; }
    .footer--site .nav-list a:visited {
      color: white; }
    .footer--site .nav-list a:hover {
      color: #573d82; }
    .footer--site .nav-list a:active {
      color: white; }

    .product__title {
      height: 50px; }

.homepage .featured-products {
  width: calc(99.99% * 1/1 - (16px - 16px * 1/1)); }

.homepage .featured-products:nth-child(1n){
  float: left;
  margin-right: 16px;
  clear: none; }

.homepage .featured-products:last-child{
  margin-right: 0; }

.homepage .featured-products:nth-child(1n){
  margin-right: 0;
  float: right; }

.homepage .featured-products:nth-child(1n + 1){
  clear: left; }

.homepage .featured-product {
  width: calc(99.99% * 1/2 - (16px - 16px * 1/2));
  height: calc(99.99% * 1/2 - (16px - 16px * 1/2)); }

.homepage .featured-product:nth-child(1n){
  float: left;
  margin-right: 16px;
  margin-bottom: 16px;
  clear: none; }

.homepage .featured-product:last-child{
  margin-right: 0;
  margin-bottom: 0; }

.homepage .featured-product:nth-child(2n){
  margin-right: 0;
  float: right; }

.homepage .featured-product:nth-child(2n + 1){
  clear: left; }

.homepage .featured-product:nth-last-child(-n + 2){
  margin-bottom: 0; }
  @media (min-width: 480px) {
    .homepage .featured-product {
      width: calc(99.99% * 1/3 - (16px - 16px * 1/3));
      height: calc(99.99% * 1/3 - (16px - 16px * 1/3)); }
    .homepage .featured-product:nth-child(1n){
    float: left;
    margin-right: 16px;
    margin-bottom: 16px;
    clear: none; }
    .homepage .featured-product:last-child{
    margin-right: 0;
    margin-bottom: 0; }
    .homepage .featured-product:nth-child(3n){
    margin-right: 0;
    float: right; }
    .homepage .featured-product:nth-child(3n + 1){
    clear: left; }
    .homepage .featured-product:nth-last-child(-n + 3){
    margin-bottom: 0; } }
  @media (min-width: 960px) {
    .homepage .featured-product {
      width: calc(99.99% * 1/4 - (16px - 16px * 1/4));
      height: calc(99.99% * 1/4 - (16px - 16px * 1/4)); }
    .homepage .featured-product:nth-child(1n){
    float: left;
    margin-right: 16px;
    margin-bottom: 16px;
    clear: none; }
    .homepage .featured-product:last-child{
    margin-right: 0;
    margin-bottom: 0; }
    .homepage .featured-product:nth-child(4n){
    margin-right: 0;
    float: right; }
    .homepage .featured-product:nth-child(4n + 1){
    clear: left; }
    .homepage .featured-product:nth-last-child(-n + 4){
    margin-bottom: 0; } }

.homepage .featured-product figcaption {
  background: #2db035;
  padding: .5em 1em; }

.wrap--gray-light {
  background: #2db035; }

.products.products--grid .product__info * {
  font-family: 'Open Sans', sans-serif;
  font-weight: 500; }

  .homepage .featured-category {
    width: calc(99.9% * 1/3 - (16px - 16px * 1/3));
    max-width: calc(99.9% * 1/3 - (16px - 16px * 1/3));
    height: calc(99.9% * 1/3 - (16px - 16px * 1/3));
  }
  .homepage .featured-category:nth-child(1n) {
    float: left;
    margin-right: 16px;
    margin-bottom: 16px;
    clear: none;
  }
  .homepage .featured-category:last-child {
    margin-right: 0;
    margin-bottom: 0;
  }
  .homepage .featured-category:nth-child(3n) {
    margin-right: 0;
  }
  .homepage .featured-category:nth-child(3n + 1) {
    clear: both;
  }
  .homepage .featured-category:nth-last-child(-n + 3) {
    margin-bottom: 0;
  }