html {
  padding: 0;
  margin: 0;
  scroll-behavior: smooth;
}

body {
  padding: 0;
  margin: 0;
  font-family: "din-2014", sans-serif;
  color: rgb(1, 1, 2);
  background-color: rgb(244, 242, 242);
  font-size: 15px;
  line-height: 25px;
  font-weight: 400;
}

/* FONTS */
p {
  padding: 0;
  margin: 0;
  font-size: 15px;
  line-height: 25px;
  font-weight: 400;
}

h1 {
  font-size: 32px;
  line-height: 42px;
  font-weight: 800;
  margin: 0;
}

h2 {
  font-size: 27px;
  line-height: 37px;
  font-weight: 800;
  margin: 0;
}

h3 {
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  margin: 0;
}

h4 {
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
  margin: 0;
}

h5, h6 {
  margin: 0;
}

a {
  text-decoration: none;
}

b {
  font-weight: 600;
}

ul.menu {
  padding: 0;
  margin: 0;
  list-style: none;
}

.button {
  background-color: rgb(21, 181, 235);
  color: rgb(1, 1, 2);
  border: none;
  padding: 8px 20px;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s ease;
  position: relative;
  line-height: normal;
}
.button:hover {
  background-color: rgb(1, 1, 2);
  color: rgb(255, 255, 255) !important;
  border-color: rgb(1, 1, 2);
}

input:not(input[type=checkbox], input[type=radio]),
select,
textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #eae8e8;
  border-radius: 3px;
  font-family: "din-2014", sans-serif;
  font-size: 15px;
  box-sizing: border-box;
  -webkit-appearance: none !important;
  appearance: none !important;
}
input:not(input[type=checkbox], input[type=radio]):focus,
select:focus,
textarea:focus {
  border-color: rgb(21, 181, 235);
  outline: none;
}
input:not(input[type=checkbox], input[type=radio]).ordering,
select.ordering,
textarea.ordering {
  max-width: 200px;
  margin-bottom: 0.5rem;
}

select {
  background-image: linear-gradient(45deg, transparent 50%, rgb(60, 60, 59) 50%), linear-gradient(135deg, rgb(60, 60, 59) 50%, transparent 50%);
  background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

*::placeholder {
  color: rgb(199, 193, 191);
}

.text {
  gap: 1rem;
}
.text a:not(.button) {
  font-size: 15px;
  color: rgb(21, 181, 235);
  line-height: 25px;
  font-weight: 400;
}
.text li {
  font-size: 15px;
  font-weight: 400;
  line-height: 25px;
}
.muted {
  color: rgb(199, 193, 191);
}

.flex {
  align-items: center;
}

.std-padding {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (max-width: 900px) {
  .std-padding {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.boxed {
  max-width: 1180px;
  margin: 0 auto !important;
  padding-left: 1rem;
  padding-right: 1rem;
}

.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tip {
  visibility: hidden;
  width: auto;
  max-width: 200px;
  background-color: rgb(60, 60, 59);
  color: rgb(255, 255, 255);
  text-align: center;
  padding: 2px 15px;
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 0;
  opacity: 0.8;
}

.tooltip .tip:before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: -3px;
  left: 4px;
  background-color: rgb(60, 60, 59);
  transform: rotate(45deg);
}

.tooltip:hover .tip {
  visibility: visible;
}

.fa-circle-notch {
  color: rgb(21, 181, 235);
  animation-name: spin;
  animation-duration: 1500ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
.fa-circle-notch.text {
  color: rgb(1, 1, 2);
}
.fa-circle-notch.white {
  color: rgb(255, 255, 255);
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes bounceInTopRight {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  50% {
    transform: scale(1.01);
    opacity: 1;
  }
  100% {
    transform: scale(1);
  }
}
.flex {
  display: flex;
  position: relative;
}
.flex.justify-content-end {
  justify-content: end;
}
.flex.justify-content-between {
  justify-content: space-between;
}
.flex.align-items-center {
  align-items: center;
}
.flex.align-items-end {
  align-items: end;
}

.grid {
  display: grid;
  position: relative;
}
.grid.justify-items-start {
  justify-items: start;
}
.grid.justify-items-center {
  justify-items: center;
}
.grid.justify-items-end {
  justify-items: end;
}
.grid.justify-content-start {
  justify-content: start;
}
.grid.justify-content-center {
  justify-content: center;
}
.grid.justify-content-end {
  justify-content: end;
}
.grid.justify-self-start {
  justify-self: start;
}
.grid.justify-self-center {
  justify-self: center;
}
.grid.justify-self-end {
  justify-self: end;
}
.grid.align-content-start {
  align-content: start;
}
.grid.align-content-center {
  align-content: center;
}
.grid.align-content-end {
  align-content: end;
}
.grid.align-items-start {
  align-items: start;
}
.grid.align-items-center {
  align-items: center;
}
.grid.align-items-end {
  align-items: end;
}

img.square {
  aspect-ratio: 1/1;
  object-fit: cover;
}

.hide {
  display: none;
}

.w-full {
  width: 100%;
}

.gap-xs {
  gap: 0.25rem;
}
.gap-sm {
  gap: 0.5rem;
}
.gap-md {
  gap: 1rem;
}
.gap-lg {
  gap: 1.5rem;
}

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

@media (max-width: 900px) {
  .non-mobile {
    display: none;
  }
}

header.default {
  position: sticky;
  top: 0;
  z-index: 10;
  margin-bottom: 3rem;
}
header.default.default #navbar {
  position: relative;
  background-color: rgb(21, 181, 235);
  color: rgb(255, 255, 255);
  z-index: 99;
}
header.default.default #navbar #areas {
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
}
header.default.default #navbar #areas a#logo {
  line-height: 0;
}
header.default.default #navbar #areas #site-logo img {
  height: 80px;
  width: 100%;
  object-fit: contain;
}
header.default.default #gp-main-menu {
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  position: absolute;
  width: 100%;
}
header.default.default #gp-main-menu .wrapper div.menu-thru {
  padding: 10px;
  cursor: pointer;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.5rem;
}
header.default.default #gp-main-menu .wrapper div.menu-thru:hover {
  background-color: rgb(244, 242, 242);
  color: rgb(21, 181, 235);
}
header.default.default #gp-main-menu .wrapper .nav-responsive .nav-ham-icon {
  display: none;
}
@media (max-width: 900px) {
  header.default.default #gp-main-menu .wrapper .nav-responsive .nav-ham-icon {
    display: grid;
    justify-content: center;
    align-content: center;
    width: 30px;
    height: 30px;
    cursor: pointer;
  }
}
header.default.default #gp-main-menu .wrapper .nav-responsive div.menu-service-container {
  flex-grow: 1;
  justify-items: end;
  align-content: center;
}
header.default.default #gp-main-menu .wrapper .nav-responsive div.menu-service-container ul.menu {
  padding: 0;
  margin: 0;
  display: flex;
  gap: 20px;
}
header.default.default #gp-main-menu .wrapper .nav-responsive div.menu-service-container ul.menu a {
  color: rgb(1, 1, 2);
}
header.default.default #gp-main-menu .wrapper .columns-menu .mobile-nav {
  display: none;
}
header.default.default #gp-main-menu .wrapper .columns-menu .columns-wrap {
  display: none;
}
header.default.default #gp-main-menu .wrapper .columns-menu .columns {
  grid-template-columns: repeat(4, 1fr);
  padding: 20px 0;
}
header.default.default #gp-main-menu .wrapper .columns-menu .columns .column-nav {
  border-right: 1px solid rgb(244, 242, 242);
  display: none;
}
header.default.default #gp-main-menu .wrapper .columns-menu .columns .column-nav a {
  color: rgb(1, 1, 2);
}
header.default.default #gp-main-menu .wrapper .columns-menu .columns .first .column-nav {
  height: 100%;
  align-content: start;
}
header.default.default #searchbar {
  position: relative;
}
header.default.default #searchbar #gp-search {
  padding: 12px;
  border: 1px solid rgba(19, 67, 82, 0.2);
}
header.default.default #searchbar #gp-search-result {
  position: absolute;
  box-sizing: border-box;
  background-color: rgb(255, 255, 255);
  color: rgb(1, 1, 2);
  top: 100%;
  margin-top: 5px;
  padding: 10px;
  border-radius: 3px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  z-index: 99;
}
header.default.default #searchbar #gp-search-result a {
  color: rgb(1, 1, 2);
}
header.default.default #searchbar #gp-search-result b {
  color: rgb(21, 181, 235);
}
header.default.default #searchbar #gp-search-result i {
  font-size: 13px;
  color: #666;
}
header.default.default #searchbar #gp-search-result .search-go {
  gap: 0.25rem;
  margin-bottom: 5px;
  cursor: pointer;
}
header.default.default #searchbar #gp-search-result p.option {
  margin-bottom: 10px;
}
header.default.default #searchbar #gp-search-result p.option .alternative {
  cursor: pointer;
}

#gp-minicart {
  position: relative;
}
#gp-minicart a div.icon {
  padding: 5px 10px;
  border-radius: 3px;
  cursor: pointer;
}
#gp-minicart a div.icon:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
#gp-minicart a div.icon div {
  gap: 0.25rem;
  color: rgb(1, 1, 2);
  font-size: 16px;
}
#gp-minicart a div.icon div svg {
  color: rgb(1, 1, 2);
  font-size: 20px;
}
#gp-minicart.active a div.icon {
  background-color: rgb(255, 255, 255);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  z-index: 100;
}
#gp-minicart div.cart-contents {
  position: absolute;
  background-color: rgb(255, 255, 255);
  color: rgb(1, 1, 2);
  top: calc(100% - 3px);
  right: 0;
  min-width: 400px;
  max-height: 60vh;
  overflow-x: auto;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  z-index: 99;
  padding: 20px;
  border-radius: 5px;
  border-top-right-radius: 0;
  transform-origin: top right;
  opacity: 0;
  visibility: hidden;
}
#gp-minicart div.cart-contents.open {
  animation: bounceInTopRight 0.2s ease forwards;
  opacity: 1;
  visibility: visible;
}
#gp-minicart div.cart-contents div.top h4 {
  text-transform: uppercase;
}
#gp-minicart div.cart-contents div.top p {
  color: rgb(60, 60, 59);
}
#gp-minicart div.cart-contents div.minicart-items div.row {
  padding: 8px 0;
  grid-template-columns: 50px 1fr auto;
  border-bottom: 1px solid rgb(234, 232, 232);
  font-size: 13px;
  align-items: center;
}
#gp-minicart div.cart-contents div.minicart-items div.row a {
  font-size: 13px;
  line-height: 15px;
}
#gp-minicart div.cart-contents div.minicart-items div.row b {
  color: rgb(60, 60, 59);
}
#gp-minicart div.cart-contents div.minicart-items div.row img {
  width: 100%;
  height: auto;
}
#gp-minicart div.cart-contents div.minicart-items p {
  margin-top: 1rem;
}
#gp-minicart div.cart-contents div.totals {
  grid-template-columns: 1fr 130px;
  margin: 1rem 0;
}
#gp-minicart div.cart-contents div.actions a.button {
  background-color: rgb(231, 249, 0);
  color: rgb(1, 1, 2) !important;
  padding: 10px 20px;
  border-radius: 3px;
  font-weight: 600;
}

div.cart-page h1 {
  padding-bottom: 20px;
}
div.cart-page.columns {
  grid-template-columns: 0.7fr 0.3fr;
  gap: 1rem;
}
div.cart-page.columns form.woocommerce-cart-form .cart-page-contents {
  gap: 0.5rem;
}
div.cart-page.columns form.woocommerce-cart-form .cart-page-contents .cart_item {
  padding: 20px;
  background-color: rgb(255, 255, 255);
  grid-template-columns: 100px 1fr 100px;
  gap: 1rem;
  border-radius: 5px;
}
div.cart-page.columns form.woocommerce-cart-form .cart-page-contents .cart_item div.meta h4 a {
  color: rgb(21, 181, 235);
}
div.cart-page.columns form.woocommerce-cart-form .cart-page-contents .cart_item div.meta div.qty-actions {
  gap: 1.5rem;
}
div.cart-page.columns form.woocommerce-cart-form .cart-page-contents .cart_item div.meta div.qty-actions div.quantity input.qty {
  width: 60px;
  padding: 10px 0px 10px 10px;
}
div.cart-page.columns form.woocommerce-cart-form .cart-page-contents .cart_item div.meta div.product-remove a.remove {
  color: rgb(234, 87, 84) !important;
  font-size: 15px;
}
div.cart-page.columns form.woocommerce-cart-form .cart-page-contents .cart_item .price {
  font-weight: 700;
  color: rgb(1, 1, 2);
}
div.cart-page.columns form.woocommerce-cart-form .cart-page-contents div.actions button {
  display: none;
}

.cart-totals .cart-collaterals .cart_totals {
  width: 100%;
}

div.steps {
  margin-top: 1.5rem;
  margin-bottom: 3rem;
  gap: 1.5rem;
}
div.steps button.step {
  gap: 0.5rem;
  border: none;
  background: none;
  cursor: pointer;
}
div.steps button.step .icon {
  width: 50px;
  height: 50px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgb(199, 193, 191);
}
div.steps button.step .icon svg {
  color: rgb(199, 193, 191);
}
div.steps button.step.done .icon {
  border: 2px solid rgb(143, 191, 33);
}
div.steps button.step.done .icon svg {
  color: rgb(143, 191, 33);
}
div.steps button.step.done p {
  font-weight: 600;
}
div.steps button.step.active .icon {
  border: 2px solid rgb(21, 181, 235);
}
div.steps button.step.active .icon svg {
  color: rgb(21, 181, 235);
}
div.steps button.step.active p {
  font-weight: 600;
}
div.steps hr {
  width: 100%;
  border: none;
  border-top: 1px solid rgb(199, 193, 191);
  align-self: start;
  margin-top: 24px;
}

form.checkout div.login-box {
  border: 1px solid rgb(234, 232, 232);
  padding: 1rem;
  border-radius: 5px;
  margin-bottom: 1rem;
}
form.checkout div.dealer-options {
  gap: 0.5rem;
}
form.checkout div.dealer-options div.dealer-option {
  border: 1px solid rgb(234, 232, 232);
  padding: 1rem;
  border-radius: 5px;
  background-color: rgb(255, 255, 255);
}
form.checkout #custom-shipping-section ul.woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.25rem;
  margin-top: 1rem;
}
form.checkout #custom-shipping-section ul.woocommerce-shipping-methods li {
  padding: 1rem;
  border-radius: 5px;
  border: 1px solid rgb(234, 232, 232);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
}
form.checkout #shipping-info {
  border-radius: 5px;
  border: 1px solid rgb(234, 232, 232);
  padding: 1rem;
  margin: 1rem 0;
}

ul.products {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.5rem;
}
ul.products.inactive {
  pointer-events: none;
  opacity: 0.3;
}
ul.products li.product {
  background-color: rgb(255, 255, 255);
  grid-template-columns: auto 1fr 170px;
  gap: 1rem;
  padding: 20px !important;
  border-radius: 3px;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}
ul.products li.product.less {
  margin-left: 1.5rem !important;
  background-color: rgba(255, 255, 255, 0.7);
}
ul.products li.product div.is_option {
  position: absolute;
  background-color: rgb(199, 193, 191);
  color: rgb(255, 255, 255);
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  padding: 0 10px;
  top: 0;
  left: 10px;
}
ul.products li.product div.is_option::after {
  content: " Voorzien van opties";
  opacity: 0;
  visibility: hidden;
  font-size: 0;
  line-height: 0;
  transition: all 0.3s ease;
}
ul.products li.product div.is_option:hover::after {
  opacity: 1;
  visibility: visible;
  font-size: 15px;
  transition: all 0.3s ease;
}
ul.products li.product img {
  width: 160px;
  object-fit: contain;
}
ul.products li.product div.meta a {
  color: rgb(1, 1, 2);
}
ul.products li.product div.meta div.quick-scan {
  gap: 0.25rem;
}
ul.products li.product div.meta div.quick-scan div.ophanging {
  border: 1px solid rgb(199, 193, 191);
  padding: 0 5px;
  border-radius: 3px;
}
ul.products li.product div.meta div.quick-scan b {
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: rgb(21, 181, 235);
  color: rgb(255, 255, 255);
  padding: 0 3px 0 5px;
  border-radius: 3px;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}
ul.products li.product div.meta div.quick-scan b svg {
  color: rgb(143, 191, 33);
  background-color: rgb(255, 255, 255);
  aspect-ratio: 1/1;
  border-radius: 30px;
  padding: 2px;
}
ul.products li.product div.meta div.weight svg {
  color: rgb(199, 193, 191);
}
ul.products li.product div.meta p.description {
  margin-top: 0.5rem;
  color: rgb(199, 193, 191);
}
ul.products li.product div.meta div.variations {
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-top: 20px;
}
ul.products li.product div.meta div.variations div.variation {
  grid-template-columns: auto 1fr;
  border: 1px solid rgb(234, 232, 232);
  border-radius: 3px;
  padding: 0 5px;
}
ul.products li.product div.meta div.variations div.variation img {
  width: 60px;
}
ul.products li.product div.meta div.variations div.variation small {
  line-height: 16px;
}
ul.products li.product div.meta div.variations div.variation small span {
  color: rgb(21, 181, 235);
}
ul.products li.product div.cart-actions {
  gap: 1rem;
}
ul.products li.product div.cart-actions .price {
  display: grid;
  font-weight: 700;
  font-size: 23px;
  color: rgb(21, 181, 235);
  text-align: right;
}
ul.products li.product div.cart-actions .price .muted {
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
}
ul.products li.product div.cart-actions a.add_to_cart_button {
  display: flex;
  gap: 5px;
  align-items: center;
  background-color: rgb(231, 249, 0);
  color: rgb(1, 1, 2) !important;
}
ul.products li.product div.cart-actions a.add_to_cart_button svg {
  font-size: 20px;
}
ul.products li.product div.cart-actions a.add_to_cart_button svg.fa-plus {
  font-size: 16px;
}

body.archive .grid.archive-columns {
  grid-template-columns: auto 1fr;
  gap: 1rem;
}
body.archive div.search-help {
  float: left;
  width: 100%;
  box-sizing: border-box;
  background-color: rgba(199, 193, 191, 0.3);
  border-left: 8px solid rgb(21, 181, 235);
  padding: 10px;
  border-radius: 3px;
  margin-bottom: 1rem;
}
body.archive div.search-help .track-search {
  gap: 0.25rem;
}
body.archive div.search-help input {
  width: 100px;
  border-color: rgb(21, 181, 235);
}
body.archive div.search-help label.description {
  color: #aaa;
}
body.archive div.search-help.tracks {
  grid-template-columns: auto auto;
}
body.archive #sidebar form.filters-form {
  display: grid;
  gap: 0.5rem;
  min-width: 200px;
}
body.archive #sidebar form.filters-form div.section {
  background-color: rgba(199, 193, 191, 0.3);
  padding: 10px;
  border-radius: 3px;
}
body.archive #sidebar form.filters-form div.section label.title {
  font-weight: 600;
}
body.archive #sidebar form.filters-form div.range div.range-wrap div.slider-range {
  margin: 0 5px;
}

header.woocommerce-products-header h1 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
header.woocommerce-products-header h1 svg {
  font-size: 20px;
  color: rgb(199, 193, 191);
}

/* PAGINATION */
ul.page-numbers {
  display: flex;
  list-style: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
ul.page-numbers li {
  display: grid;
  justify-items: center;
  align-items: center;
}
ul.page-numbers li:has(.dots) {
  text-decoration: none;
  color: rgb(21, 181, 235);
}
ul.page-numbers li:has(.current) {
  color: rgb(1, 1, 2);
  text-decoration: underline;
}
ul.page-numbers li a {
  text-decoration: none;
  color: rgb(21, 181, 235);
}
ul.page-numbers li a.next, ul.page-numbers li a.prev {
  gap: 10px;
}

nav.woocommerce-breadcrumb {
  font-size: 15px !important;
  margin-bottom: 20px !important;
}
nav.woocommerce-breadcrumb a {
  color: rgb(21, 181, 235) !important;
}

body.single-product div.summary div.related-products {
  gap: 2px;
}
body.single-product div.summary div.related-products a {
  background-color: rgb(255, 255, 255);
  padding: 1rem;
  border-radius: 5px;
  color: rgb(1, 1, 2);
}
