/*!
Theme Name: Vedder
Theme URI: https://luuk-arends.notion.site/Vedder-B2B-db5082ce819348fe8c4e570d116585c4?pvs=4
Author: Luuk Arends
Author URI: https://vedderb2b.com/
Description: Vedder is a theme with limitless possibilities, offered with the convenience of WordPress.
Version: 1.3
Tested up to: 8.3
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vedder
*/

/* Body */

html {
  overflow-x: hidden !important;
  touch-action: manipulation;
}

body {
  font-family: "Neue Montreal";
  font-weight: 400;
  letter-spacing: 0.05rem;
  color: #002e3c;
  touch-action: manipulation;
}

/* Anchors */

a {
  text-decoration: none;
  color: #2397a6;
}

@supports (-webkit-touch-callout: none) {
  a,
  a:hover,
  a:visited,
  a:active,
  .menu-item a,
  [role="link"] {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
  }
}

/* Backgrounds */

.bg-darkerblue {
  background-color: #0d1721;
}

.bg-darkblue {
  background-color: #0e3c42;
}

.bg-blue {
  background-color: #2397a6;
}

.bg-lightgrey {
  background-color: #f4f4f4;
}

.bg-lightblue {
  background-color: #f2f3fb;
}

/* Slicks */

.slick-prev:before,
.slick-next:before {
  font-size: 1.5rem;
  color: #aaa;
}

@media (max-width: 768px) {
  .slick-prev {
    left: 0.25rem;
    z-index: 10;
  }

  .slick-next {
    right: 0.5rem;
    z-index: 10;
  }
}

.slick-track {
  display: flex;
}

.slick-slide {
  height: inherit;
}

.slick-slider:not(.slick-initialized) {
  opacity: 0;
}

/* Headings */

h1,
h2,
h3 {
  color: #002e3c;
  font-family: "Neue Montreal";
  font-weight: 400;
}

.title-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.title {
  font-size: 2rem;
  color: #002e3c;
  font-family: "Neue Montreal";
  font-weight: 400;
}

@media (max-width: 768px) {
  .title {
    font-size: 1.5rem;
  }

  .title-header {
    gap: 3rem;
  }
}

.title-url {
  color: #0d1721;
}

.bg-darkerblue .title {
  color: #fff;
}

/* Texts */

.text-blue {
  color: #2397a6;
}

.text-orange {
  color: #ec641c;
}

.text-green {
  color: #198754;
}

/* Typography */

strong,
b,
.fw-bold {
  font-family: "Neue Montreal";
  font-weight: 500;
}

/* Buttons */

.btn,
.wp-block-button__link,
.button {
  color: #fff !important;
  padding: 0.75rem 1.5rem;
  border-radius: 3rem;
  border: 0;
  font-size: 0.925rem;
  white-space: nowrap;
  transition: all ease 0.3s;
}

.btn-primary,
.btn-primary:active,
.btn-primary:visited,
.wp-block-button__link,
.wp-block-button__link:active,
.wp-block-button__link:visited,
.button,
.button:active,
.button:visited {
  color: #fff;
  background-color: #2397a6;
}

.button:hover,
.btn-primary:hover,
.wp-block-button__link:hover {
  background-color: #ec641c;
}

.btn-secondary,
.btn-secondary:active,
.btn-secondary:visited {
  background-color: #2397a6;
}

.btn-orange,
.btn-orange:visited {
  background-color: #ec641c;
}

.btn-orange:hover {
  color: #fff;
  background-color: #2397a6;
}

.btn-select {
  border: 1px solid var(--bs-border-color);
  padding: 0.5rem;
  width: 100%;
  background-color: transparent;
  text-align: start;
  border-radius: 0.5rem;
}

.btn-close {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

.wp-block-buttons .wp-block-button:nth-child(2) .wp-block-button__link {
  background-color: #ec641c;
}

.wp-block-buttons .wp-block-button:nth-child(2) .wp-block-button__link:hover {
  background-color: #2397a6;
}

/* Lists */

.list-column-2 {
  margin: 0;
  padding: 0;
  list-style: none;
  column-count: 2;
}

@media (max-width: 768px) {
  .list-column-2 {
    column-count: 1;
  }
}

/* Spacing */

@media (min-width: 1200px) {
  .py-xl-6 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }

  .pt-xl-6 {
    padding-top: 6rem !important;
  }

  .pb-xl-6 {
    padding-bottom: 6rem !important;
  }
}

/* Header */

.navbar-top {
  padding: 0.5rem;
}

.usps {
  display: flex;
  justify-content: center;
  gap: 3rem;
  font-size: 0.875rem;
}

.header-wrapper {
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
  padding-bottom: 0.5rem;
  background-color: #fff;
}

.header {
  padding: 1rem 0;
}

.header a {
  color: #0d1721;
}

.header .search {
  background-color: #f4f4f4;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23a2a6a9' class='bi bi-search' viewBox='0 0 16 16'><path d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/></svg>");
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: 97% 50%;
  border: 0;
  border-radius: 3rem;
  padding: 0.75rem 1.5rem;
  min-width: 100%;
  font-size: 0.925rem;
}

.search-form .form-control {
  border-radius: 3rem;
  padding: 0.75rem 1rem;
}

.resultBoxNav {
  max-height: 500px;
  overflow-y: scroll;
}

.resultBoxNav .dropdown-item::active {
  background-color: #fff;
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

.header-actions .bi {
  font-size: 1.125rem;
}

@media (max-width: 768px) {
  .resultBoxNav {
    max-height: 320px;
  }

  .header-actions {
    justify-content: end;
    gap: 1rem;
  }

  .header-menu {
    width: 38px;
    text-align: center;
    border-radius: 0.5rem;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
  }

  .header-menu .bi-list {
    font-size: 1.5rem;
  }
}

.header-cart {
  display: flex;
}

.header-cart .cart-count {
  display: flex;
  width: 20px;
  height: 20px;
  background-color: #ec641c;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.75rem;
  position: relative;
  top: -0.25rem;
}

#offcanvasCart {
  width: 450px;
}

.woocommerce-mini-cart {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem 0;
  display: grid;
  border: var(--bs-border-width) solid var(--bs-border-color);
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
  border-radius: 1rem;
  overflow: hidden;
  font-size: 0.925rem;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}

.woocommerce-mini-cart .woocommerce-mini-cart-item .size-woocommerce_thumbnail {
  width: 50px;
  height: 50px;
  border-radius: 0.5rem;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item a {
  display: flex;
  gap: 1rem;
  color: inherit;
}

.woocommerce-mini-cart .woocommerce-mini-cart-item a.remove {
  color: #f44336;
}

.woocommerce-mini-cart .quantity {
  margin-left: auto;
  min-width: 100px;
  text-align: end;
}

.woocommerce-mini-cart__buttons {
  display: grid;
  gap: 1rem;
}

.woocommerce-mini-cart__buttons .button {
  padding: 0.75rem 1.5rem;
  border-radius: 3rem;
  border: 0;
  font-size: 0.925rem;
  background-color: #2397a6;
  color: #fff;
  text-align: center;
}

.woocommerce-mini-cart__buttons .checkout {
  background-color: #ec641c;
}

.navbar-menus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

@media (min-width: 1200px) {
  .navbar-expand-xl .navbar-nav {
    gap: 2rem;
  }
}

@media (max-width: 786px) {
  .navbar-menus {
    flex-direction: column;
    gap: 1rem;
    align-items: start;
  }
}

.navbar-expand-xl .navbar-nav .nav-link {
  color: #0d1721;
  padding-left: 0;
  padding-right: 0;
  transition: all ease 0.3s;
}

.navbar-nav_bottom {
  padding-top: 1rem;
  border-top: 1px solid var(--bs-border-color);
  align-items: start;
  width: 100%;
}

#offcanvasMenu .menu-item-38 {
  margin-top: 1rem;
}

.menu-button-item .nav-link {
  background-color: #ec641c;
  color: #fff !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  border-radius: 3rem;
}

.menu-button-item .nav-link:hover {
  background-color: #2397a6;
}

@media (max-width: 768px) {
  .menu-button-item .nav-link {
    color: #ec641c !important;
    padding: 0 !important;
    background-color: transparent;
  }

  .menu-button-item .nav-link:hover {
    color: #2397a6;
  }

  #offcanvasMenu .menu-item-38 {
    margin-top: 0.5rem;
  }

  .navbar-nav_middle {
    padding-top: 1rem;
    border-top: 1px solid var(--bs-border-color);
    width: 100%;
    margin-top: 0.5rem;
  }

  .navbar-nav_bottom .nav-item .nav-link {
    font-size: 0.925rem;
    color: rgba(33, 37, 41, 0.75);
  }
}

.mega-menu-item .nav-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.mega-menu-item .nav-link::after {
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-chevron-down' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/></svg>");
  background-repeat: no-repeat;
}

.mm-collapse {
  background-color: rgb(255, 255, 255);
  position: fixed;
  left: 0px;
  right: 0px;
  z-index: 999;
  padding: 3rem 0px;
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
}

.mm-title {
  color: #2397a6 !important;
  display: block;
  font-size: 1.125rem;
  margin-bottom: 1rem;
}

.mm-title[href="#"] {
  pointer-events: none;
  cursor: default;
}

.mm-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 0.25rem;
}

.mm-item {
  color: inherit;
  width: 100%;
  display: block;
  transition: all ease 0.3s;
}

.mm-item:hover {
  opacity: 0.5;
}

.pll-parent-menu-item .nav-link span {
  display: none;
}

.pll-parent-menu-item .dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.nav-item_home_mob {
  width: 100%;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}

/* Featured */

.featured-item {
  display: block;
  position: relative;
  color: #fff;
  border-radius: 1rem;
  overflow: hidden;
  height: calc(250px - 0.75rem);
}

.featured-item:hover {
  color: #fff !important;
}

.featured-item_large {
  height: 500px;
}

.featured-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(14, 60, 66, 1) 100%
  );
}

.featured-item_large .featured-content {
  padding: 3rem;
}

.featured-item_small .featured-headings {
  margin-top: auto;
}

.featured-title {
  font-size: 2.5rem;
  line-height: 1.3;
}

.featured-item_small .featured-title {
  font-size: 2.25rem;
}

.featured-descr {
  font-family: "Neue Montreal";
  font-weight: 400;
}

.featured-item:hover .featured-img {
  transform: scale(1.1);
}

.featured-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all ease 0.6s;
}

.featured-item .btn {
  align-self: flex-start;
}

.featured-item_mob {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
  padding: 0.5rem;
  color: inherit;
}

.featured-img_mob {
  width: 78px;
  height: 78px;
  object-fit: cover;
  border-radius: 1rem;
}

.featured-title_mob {
  font-size: 1.125rem;
  font-family: "Neue Montreal";
  font-weight: 400;
}

.featured-descr_mob {
  color: #2397a6;
  font-family: "Neue Montreal";
  font-weight: 400;
}

.featured-item_mob .bi-arrow-right {
  margin-left: auto;
  font-size: 1.5rem;
  padding-right: 0.5rem;
}

/* Products */

.product-item {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  color: inherit;
  height: 100%;
}

.product-item .btn {
  transition: all ease 0.6s;
  align-self: flex-start;
  margin-top: auto;
}

.single-related_products .product-item .btn {
  opacity: 1;
}

.single-related_products .product-item .product-title {
  color: #fff !important;
}

@media (max-width: 768px) {
  .product-item .btn {
    opacity: 1;
  }
}

.product-media {
  position: relative;
  border-radius: 1rem;
  transition: all ease 0.6s;
}

.product-item:hover .product-media {
  box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
}

.product-media_animation {
  position: relative;
}

.product-ani {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 1rem;
  position: absolute;
  inset: 0;
  z-index: -1;
}

.slider-has-ani img {
  transition: all ease 0.6s;
}

.slider-has-ani img:hover {
  opacity: 0;
}

.slider-has-ani .slider-ani-wrapper {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}

.product-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 1rem;
  transition: all ease 0.6s;
}

.product-media_animation:hover .product-img {
  opacity: 0;
}

.product-item:hover .btn {
  opacity: 1;
}

@media (max-width: 768px) {
  .product-img {
    height: 150px;
  }

  .product-ani {
    display: none;
  }

  .slider-has-ani .product-ani {
    height: 225px !important;
    display: block;
  }
}

.product-label {
  position: absolute;
  z-index: 10;
  top: 1rem;
  right: -0.25rem;
  border-radius: 0.5rem 0 0 0.5rem;
  padding: 0.25rem 1rem;
  font-size: 0.85rem;
  background-color: #2397a6;
  color: #fff;
}

.product-label_green {
  background-color: #198754;
}

@media (max-width: 768px) {
  .product-label {
    background-color: #ec641c;
  }

  .single-product .product-label {
    top: -2rem;
  }
}

.product-item .product-content {
  padding: 0 1rem;
}

.product-title {
  font-size: 1.125rem;
}

.product-amount {
  font-size: 0.925rem;
  margin-bottom: 0.25rem;
}

.single-related_products .product-amount {
  opacity: 0.5;
}

.product-price {
  color: #2397a6;
}

.product-price ins {
  color: #ec641c;
  font-size: 1.05rem;
  text-decoration: none;
}

.single-related_products .product-price {
  color: #fff;
}

.card-20 {
  padding: 1.5rem;
  font-size: 0.925rem;
  color: inherit;
  border: 1px solid var(--bs-border-color);
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
}

.card-20 .card-title {
  font-size: 1.125rem;
}

@media (max-width: 768px) {
  .card-20 .btn {
    white-space: normal;
  }
}

/* Content */

.content-media {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 350px;
  max-height: 500px;
  border-radius: 1rem;
  overflow: hidden;
}

.content-img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.content-block {
  padding: 1rem;
}

@media (min-width: 1200px) {
  .content-block {
    padding: 3rem;
  }
}

.content-block h2 {
  font-size: 2rem;
  margin: 1.5rem 0;
}

.content-block h2:first-of-type {
  margin-top: 0;
}

.content-block_single h2,
.content-block_single h3 {
  margin: 1.5rem 0;
}

.content-block .wp-block-heading mark {
  padding: 0;
}

.content-block_highlight {
  box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
  border-radius: 1rem;
}

.content-contact {
  padding: 3rem;
  font-size: 1rem;
  color: #fff;
  background-color: #0e3c43;
  border-radius: 1rem;
  display: grid;
  gap: 1.5rem;
}

.content-contact_title {
  font-size: 1.5rem;
  font-family: "Neue Montreal";
  font-weight: 400;
}

.content-contact_avatar {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.content-contact_image {
  height: 125px;
  width: 125px;
  border-radius: 50%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .content-contact {
    padding: 1.5rem;
  }

  .content-contact_title {
    font-size: 1.25rem;
  }

  .content-contact_image {
    width: 75px;
    height: 75px;
  }
}

.content-banner img {
  height: 320px;
  width: 100%;
  border-radius: 1rem;
  object-fit: cover;
}

.content-faq #rank-math-faq .rank-math-list-item {
  padding: 1.5rem;
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
  border-radius: 1rem;
  margin-bottom: 1rem;
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
}

.content-faq #rank-math-faq .rank-math-list-item:last-child {
  margin-bottom: 0;
}

.content-faq #rank-math-faq .rank-math-list-item .rank-math-question {
  font-size: 1.125rem;
}

.content-faq #rank-math-faq .rank-math-list-item .rank-math-question.collapse {
  color: #2397a6;
}

.single-hero .rank-math-breadcrumb {
  padding: 0;
}

.single-related_products {
  padding: 1.5rem;
  border-radius: 1rem;
  background: radial-gradient(
    circle,
    rgba(35, 151, 166, 1) 0%,
    rgba(14, 60, 67, 1) 75%
  );
  color: #fff;
  display: grid;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.single-related_products .product-img {
  height: 300px;
}

#rank-math-toc {
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
  border-radius: 1rem;
  padding: 2rem;
  margin: 2rem 0;
  background-color: #f4f4f4;
}

#rank-math-toc h2 {
  margin: 0 0 1.5rem 0;
  font-size: 1.5rem;
}

#rank-math-toc ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.5rem;
  font-size: 1.125rem;
}

.content-block .wp-block-list {
  margin: 0;
  list-style: none;
  font-size: 1.125rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
}

.content-block.content-block_single .wp-block-list {
  margin: 2rem 0;
  grid-template-columns: 1fr;
  gap: 1rem;
  font-size: 1rem;
}

.content-block.content-block_single .info-block {
  padding: 2rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
  margin-bottom: 2rem;
}

.content-block.content-block_single .info-block .wp-block-heading {
  font-size: 1.25rem;
  font-weight: 500;
}

.content-block.content-block_single .info-block .wp-block-list {
  margin: 0;
  padding: 0;
}

.written-by {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  margin-bottom: 1.5rem;
  background-color: #fafafa;
}

.written-by .avatar {
  border-radius: 50%;
}

.written-title {
  font-size: 0.925rem;
  font-family: "Neue Montreal";
  font-weight: 500;
}

.social-list {
  list-style: none;
  display: flex;
  gap: 0.75rem;
  margin: 0.5rem 0 0 0;
  padding: 0;
  font-size: 1.125rem;
}

.timeline-with-images {
  border-left: 1px solid hsl(0, 0%, 90%);
  position: relative;
  list-style: none;
}

.timeline-with-images .timeline-item {
  position: relative;
  padding: 1.5rem 3rem 0 3rem;
}

.timeline-with-images .timeline-item:after {
  position: absolute;
  display: block;
  top: 0;
}

.timeline-content {
  display: flex;
  gap: 3rem;
  align-items: center;
}

.timeline-image img {
  width: 300px;
  height: 200px;
  object-fit: cover;
  border-radius: 1rem;
}

.timeline-title {
  font-size: 1.5rem;
}

.timeline-date {
  font-size: 1.125rem;
  opacity: 0.5;
}

.timeline-with-images .timeline-media {
  position: absolute;
  left: -58px;
  background-color: #2397a6;
  color: #fff;
  border-radius: 50%;
  height: 50px;
  width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.timeline-with-images .timeline-media .bi {
  font-size: 1.25rem;
}

@media (max-width: 768px) {
  .timeline-with-images .timeline-item {
    padding: 0;
  }

  .timeline-with-images .timeline-media {
    left: -1rem;
    top: 4.5rem;
  }

  .timeline-content {
    flex-direction: column;
    align-items: start;
  }

  .timeline-title {
    font-size: 1.25rem;
  }

  .timeline-date {
    font-size: 1.125rem;
  }
}

/* Quote */

.quote-wrapper {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}

.quote-content {
  position: absolute;
  padding: 3rem;
  display: flex;
  justify-content: space-between;
  align-items: end;
  width: 100%;
  bottom: 0;
  left: 0;
}

@media (min-width: 1200px) {
  .quote-content {
    gap: 12rem;
  }
}

.quote-title {
  font-size: 2rem;
  color: #fff;
}

.quote-img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}

@media (max-width: 768px) {
  .quote-content {
    flex-direction: column;
    gap: 1rem;
    align-items: start;
  }

  .quote-title {
    font-size: 1.5rem;
  }
}

/* Quote */

.event-wrapper {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}

.event-content {
  position: absolute;
  padding: 3rem;
  display: flex;
  align-items: start;
  flex-direction: column;
  width: 50%;
  bottom: 0;
  left: 0;
  gap: 1.5rem;
  z-index: 20;
}

.event-title {
  font-size: 2rem;
  color: #fff;
}

.event-img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}

@media (max-width: 768px) {
  .event-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgb(36 40 41 / 50%) 100%
    );
  }

  .event-content {
    width: 100%;
  }

  .event-title {
    font-size: 1.5rem;
  }
}

/* Single Product */

.rank-math-breadcrumb {
  padding: 1rem 0;
  font-size: 0.7rem;
}

.rank-math-breadcrumb p {
  margin-bottom: 0;
}

.rank-math-breadcrumb p a {
  color: #2397a6;
}

.rank-math-breadcrumb p .separator {
  color: inherit;
}

.product-header .product-title {
  font-size: 1.75rem;
  font-family: "Neue Montreal";
  font-weight: 400;
}

@media (max-width: 768px) {
  .rank-math-breadcrumb {
    padding: 1rem 0 0 0;
  }

  .product-header .product-title {
    font-size: 1.5rem;
  }
}

.product-amount-sold {
  color: #2397a6;
}

.product-reviews {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--bs-border-color);
  font-size: 0.925rem;
}

.product-reviews .woocommerce-product-rating {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.star-rating {
  width: 5.5em !important;
  font-size: 1rem !important;
}

.star-rating span::before,
p.stars:hover a::before {
  color: #ff8d3e !important;
}

@media (max-width: 768px) {
  .product-reviews {
    font-size: 0.75rem;
  }

  .star-rating {
    font-size: 0.75rem !important;
  }
}

.woocommerce-review-link {
  color: inherit;
}

.productSlider .slick-prev,
.productSlider .slick-next {
  z-index: 10;
}

.productSlider .slick-prev {
  left: 1rem;
}

.productSlider .slick-next {
  right: 1rem;
}

.productImages {
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  gap: 1rem;
}

.productSlider .product-ani {
  height: 500px;
}

.productSliderNav {
  width: 100px;
  height: 500px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.productSliderNav .slick-track {
  display: block;
}

.productSliderNavitem img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--bs-border-color);
}

.static-slider .productSliderNavitem img {
  margin-bottom: 0.5rem;
}

.static-slider .productSliderNavitem img:hover {
  cursor: pointer;
  opacity: 0.75;
}

@media (max-width: 768px) {
  .productSliderNav {
    width: 50px;
    height: 230px;
  }

  .productSliderNavitem img {
    width: 50px;
    height: 50px;
  }
}

.productSliderNavicon {
  display: grid;
  width: 100px;
  height: 100px;
  background-color: #efefef;
  border-radius: 1rem;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 1rem;
}

.productImagesNavigation {
  padding: 1rem 1rem 0 2.5rem;
  font-size: 1.5rem;
}

@media (max-width: 768px) {
  .productImagesNavigation {
    padding: 1rem;
  }

  .productSliderNavicon {
    width: auto;
    height: 50px;
    margin-bottom: 0.5rem;
  }

  .productSliderNavicon .bi {
    font-size: 1.5rem;
  }
}

.productSliderNavArrow {
  color: inherit;
}

.product-video {
  width: 100%;
  border-radius: 1rem;
  height: 500px;
  object-fit: cover;
}

.productSlider {
  flex-grow: 1;
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  overflow-x: hidden;
}

.productSlideritem {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
}

.productSlideritem img {
  object-fit: cover;
  width: 100%;
  height: 500px;
  border-radius: 1rem;
}

.slick-vertical .slick-slide {
  border: 0;
  cursor: pointer;
  transition: all ease 0.3s;
}

.slick-vertical .slick-slide:hover {
  opacity: 0.75;
}

.single-product .summary {
  padding: 0 1rem;
}

@media (max-width: 768px) {
  .product-video,
  .productSlideritem img {
    height: 225px;
  }

  .single-product .summary {
    padding: 0;
  }
}

.single-product .summary .woocommerce-product-rating {
  display: none;
}

.single-product .summary .table-wrapper {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}

.single-product .summary .table {
  font-size: 0.925rem;
  text-align: center;
  margin-bottom: 0;
}

.discount-amount {
  color: #2397a6;
}

.single-product .summary .woocommerce-product-details__short-description p {
  font-size: 0.925rem;
  margin: 0 1rem;
}

.shop_table thead tr th,
.shop_table tbody tr th,
.shop_table tfoot tr th,
.table thead tr th {
  font-family: "Neue Montreal";
  font-weight: 500;
}

.table tbody {
  color: #0e3c43;
}

.custom-options {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.custom-options .co-dropdown .dropdown-menu {
  position: relative;
  max-height: 250px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #888 #f1f1f1;
  -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}

@media (max-width: 768px) {
  .custom-options {
    margin-top: 1rem;
  }
}

.custom-options .title-url {
  color: #198754 !important;
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
}

.custom-options .btn-select {
  color: #000 !important;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%232397a6' class='bi bi-chevron-down' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/></svg>");
  background-repeat: no-repeat;
  background-position: 97.5% 50%;
}

.co-options {
  display: flex;
  gap: 1rem;
}

.co-options > div {
  flex: 1;
}

.co-title {
  font-size: 1rem;
  font-family: "Neue Montreal";
  font-weight: 400;
  margin-bottom: 0.5rem;
}

.co-title_large {
  font-size: 1.5rem;
}

.co-dropdown .dropdown-menu {
  width: 100%;
}

.custom-options .dropdown-menu .leaf {
  margin-left: 1rem;
  width: 20px;
  height: 24px;
}

.cart-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 1rem 0;
}

@media (max-width: 768px) {
  .cart-actions {
    gap: 0.5rem;
  }
}

.searchCompany,
#customUrlInput {
  padding: 1rem;
  margin: 1rem 0;
  border: 1px solid #2397a6;
}

.searchCompany {
  background-image: url(/wp-content/themes/vedder/media/logo/logo-google.svg);
  background-size: 32px;
  background-repeat: no-repeat;
  background-position: 97.5% 50%;
}

.cart-quantity {
  display: flex;
  align-items: center;
}

.quantity-label {
  font-size: 0.825rem;
  margin: 0 0.5rem 0 0;
  width: 50px;
}

.cart-price .price {
  font-size: 1.5rem;
  margin-bottom: 0;
  line-height: 1.25;
}

.price ins {
  text-decoration: none;
}

.price del {
  font-size: 1.125rem;
}

.original-price {
  font-size: 1.125rem;
  opacity: 0.5;
  margin-right: 0.5rem;
  display: block;
}

.productImages-wrapper {
  position: relative;
}

.onsale {
  background-color: #ec641c;
  color: #fff;
  border-radius: 3rem;
  padding: 0.5rem 1rem;
  z-index: 10;
  position: absolute;
  right: 1rem;
  top: 1rem;
}

.productImages-wrapper .onsale {
  display: none;
}

.vat {
  font-size: 0.875rem;
  display: block;
}

.cart-price {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.per-piece {
  font-size: 0.875rem;
}

.cart-vat .form-check-label {
  font-size: 0.925rem;
  color: #2397a6;
}

.form-switch .form-check-input {
  height: 20px;
  border-color: #2397a6;
}

.form-switch .form-check-input:checked {
  background-color: #2397a6;
  border-color: #2397a6;
}

.quantity .input-text {
  max-width: 80px;
  padding: 0.5rem;
  border-radius: 3rem;
  border: 1px solid var(--bs-border-color);
  font-size: 1.25rem;
}

.upsell-quantity .input-text {
  max-width: 80px;
  padding: 0.5rem;
  border-radius: 3rem;
  border: 1px solid var(--bs-border-color);
  font-size: 1.25rem;
}

.single-product .summary .button {
  padding: 0.75rem 1.5rem;
  border-radius: 3rem;
  border: 0;
  background-color: #ec641c;
  color: #fff;
  width: 100%;
  margin-bottom: 1rem;
}

.single-product .summary .button[disabled] {
  color: #002e3c;
  background-color: #f4f4f4;
}

.delivery-time {
  color: #198754;
  text-align: center;
  margin-bottom: 1rem;
  font-size: 0.875rem;
}

.usp-items {
  font-size: 0.925rem;
}

.usp-items .bi {
  color: #2397a6;
}

.product-contact {
  padding: 1.5rem;
  font-size: 1.125rem;
  color: #fff;
  background-color: #0e3c43;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .product-contact {
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
}

.product-contact_title {
  font-size: 1.5rem;
  font-family: "Neue Montreal";
  font-weight: 400;
}

.product-contact_image {
  height: 100px;
  width: 100px;
  border-radius: 50%;
  object-fit: cover;
}

.product-contact_sidebar {
  flex-direction: column;
  gap: 1rem;
  align-items: start;
  font-size: 1rem;
}

.product-contact_sidebar .product-contact_title {
  font-size: 1.125rem;
}

.special-wish {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 1.5rem;
  border-radius: 1rem;
  color: inherit;
  background-color: #f4f4f4;
  margin-bottom: 1rem;
  font-size: .925rem;
  transition: all ease .6s;
}

.special-wish:hover {
  box-shadow: 0 .5rem 1rem rgba(var(--bs-body-color-rgb),.15);
}

.special-wish strong {
  display: block;
}

.special-wish_mob {
  display: grid;
  align-items: start;
}

@media (max-width: 768px) {
  .special-wish {
    display: grid;
    align-items: start;
  }
}

.wish-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  background-color: #2397a6;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-service {
  padding: 3rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
}

.product-service_title {
  font-size: 1.75rem;
  line-height: 1;
  margin-bottom: 1rem;
  font-family: "Neue Montreal";
  font-weight: 400;
}

.product-service_descr {
  font-size: 0.925rem;
  margin-bottom: 1.5rem;
}

.product-included_title {
  font-size: 1.5rem;
  font-family: "Neue Montreal";
  font-weight: 400;
}

.product-service .usp-items {
  margin: 0 0 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 1.125rem;
  color: inherit;
}

.product-service .usp-items .bi {
  font-size: 1.25rem;
}

.product-service .usp-items div {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.product-service .usp-items .usp-items_url {
  color: inherit;
  transition: all ease 0.3s;
}

.product-service .usp-items .usp-items_url:hover {
  opacity: 0.5;
  color: #2397a6;
}

.product-service_link {
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 0;
  border-top: 1px solid #000;
}

.product-service_link .bi {
  font-size: 2rem;
  transition: all ease 0.3s;
}

.product-service_link[aria-expanded="true"] .bi {
  transform: rotate(90deg);
}

.product-information p {
  margin-bottom: 1.5rem;
}

.scroll-for-more {
  font-size: 0.75rem;
  padding: 0.5rem 1rem;
  background-color: #f4f4f4;
  border-radius: 3rem;
  float: right;
}

.product-tabs {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--bs-border-color);
}

@media (max-width: 768px) {
  .product-service {
    padding: 1.5rem;
  }

  .product-tabs {
    display: flex;
    gap: 0.5rem;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }
}

.specs-wrapper {
  border: var(--bs-border-width) solid var(--bs-border-color);
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
  border-radius: 1rem;
  overflow: hidden;
}

.specs-item {
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: var(--bs-border-width) solid var(--bs-border-color);
}

.specs-label {
  font-family: "Neue Montreal";
  font-weight: 500;
}

.btn-tab {
  color: inherit;
  padding: 1rem;
  display: inline-block;
}

.btn-tab[aria-expanded="true"] {
  font-family: "Neue Montreal";
  font-weight: 400;
  border-bottom: 1px solid #ec641c;
}

.expandable-content {
  max-height: 600px;
  overflow: hidden;
  position: relative;
}

.expandable-content::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
  transition: opacity 0.3s ease;
}

.expandable-content.expanded::after {
  opacity: 0;
}

.product-information h2 {
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
}

.read-more-btn {
  padding: 0;
  border: 0;
  background-color: #fff;
  color: inherit;
  font-size: 0.925rem;
  letter-spacing: 0.05rem;
  position: relative;
  z-index: 10;
}

.product-qr {
  padding: 3rem;
  border-radius: 1rem;
  background-color: #0e3c43;
  color: #fff;
  background-image: url(/wp-content/uploads/2025/03/NFC-World-NFC-visitekaart-1.png);
  background-size: 720px;
  background-position: -125% 50%;
  min-height: 475px;
}

.product-qr_content {
  width: 65%;
}

.product-qr_title {
  font-size: 1.5rem;
  font-family: "Neue Montreal";
  font-weight: 400;
}

.qr-code {
  background-color: #fff;
  width: 150px;
  border-radius: 1rem;
}

@media (max-width: 768px) {
  .product-qr_title {
    font-size: 1.5rem;
  }

  .product-qr {
    background-position: 0% 0%;
    padding: 1.5rem;
  }
}

.product-qr_descr {
  padding: 1rem 0;
}

.how-video iframe {
  display: block;
  border-radius: 1rem;
}

.advice-person {
  padding: 3rem 1.5rem;
  font-size: 1.125rem;
  color: #fff;
  background-color: #0e3c43;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.advice-form {
  padding: 3rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
  height: 100%;
}

@media (max-width: 768px) {
  .advice-form {
    padding: 1.5rem;
  }

  .advice-person_mob {
    gap: 1rem;
    align-items: center;
    font-size: 0.925rem;
    background-color: #fff;
    padding: 1rem;
    border-radius: 1rem;
  }
}

.woocommerce-Reviews-title {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}

.woocommerce-noreviews {
  padding: 1rem 2rem;
  border-radius: 3rem;
  background-color: #ec641c !important;
  color: #fff;
}

.comment-reply-title,
.comment-notes {
  display: none;
}

.comment-form {
  display: grid;
  gap: 0.5rem;
}

.commentlist {
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
}

.woocommerce-review__verified {
  display: none;
}

.comment_container {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

.comment_container .avatar {
  border-radius: 1rem;
}

.comment_container p,
.comment-form p {
  margin-bottom: 0;
}

.comment-form-comment,
.comment-form-author,
.comment-form-email {
  display: grid;
  gap: 0.5rem;
}

.comment-form .comment-form-author input,
.comment-form .comment-form-email input,
.comment-form textarea {
  border-radius: 1rem;
  border: 1px solid var(--bs-border-color);
  padding: 0.5rem;
}

.comment-form textarea {
  height: 150px;
}

.comment-form-cookies-consent {
  display: none;
}

.comment-form .submit {
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 3rem;
  border: 0;
  font-size: 0.925rem;
  white-space: nowrap;
  transition: all ease 0.3s;
  background-color: #2397a6;
}

.custom-options .dropdown-menu {
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}

.custom-options .dropdown-menu li {
  padding: 10px;
}

.custom-options .dropdown-menu li:hover {
  background-color: #defafe;
  border: 1px solid #2397a6;
}

.custom-options .dropdown-menu a {
  display: flex;
  gap: 10px;
  align-items: center;
  text-decoration: none;
}

.custom-options .dropdown-menu img {
  width: 50px;
  height: 50px;
  border-radius: 0.5rem;
}

.custom-options .dropdown-menu div {
  display: flex;
  flex-direction: column;
}

.custom-options .dropdown-menu p {
  color: black;
  font-size: 12px;
  margin: 0;
}

/* Downloads */

.downloads {
  margin-top: 3rem;
  display: block;
}

.downloads .title {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}

.downloads-list {
  padding: 0;
  list-style: none;
  margin: 0;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.downloads-item {
  color: inherit;
  text-align: center;
  padding: 0.5rem;
  border-radius: 0.375rem;
  border: 1px solid var(--bs-border-color);
  display: flex;
  gap: 1rem;
}

/* Cart Modal */

.modal-close {
  position: absolute;
  right: -1rem;
  top: -1rem;
  display: flex;
  width: 50px;
  height: 50px;
  background-color: #0e3c42;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
}

#cartModal .modal-dialog {
  max-width: 1200px;
}

#cartModal .modal-content {
  border-radius: 1.5rem;
  padding: 1.5rem;
}

#cartModal .cartModal-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
}

#cartModal .cartModal-title {
  font-size: 2.5rem;
}

#cartModal .cartModal-title .bi {
  color: #198754;
}

#cartModal .cartModal-buttons {
  display: grid;
  gap: 1rem;
}

#cartModal .cartModal-buttons .btn-primary {
  background-color: #ec641c;
}

#cartModal .cartModal-buttons .btn-primary:hover {
  background-color: #2397a6;
}

#cartModal .cartModal-product {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  margin-bottom: 3rem;
}

#cartModal img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 1rem;
}

#cartModal .cartModal-product_info {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

#cartModal .cartModal-product_title {
  font-size: 1.5rem;
}

#cartModal .cartModal-product_stock {
  padding: 0.25rem 1rem;
  background-color: #198754;
  border-radius: 3rem;
  color: #fff;
  font-size: 0.875rem;
  justify-self: start;
  display: inline-block;
}

#cartModal .cartModal-product_shipping {
  color: #198754;
  line-height: 1;
  font-size: 0.925rem;
}

#cartModal .cartModal-upsells {
  display: grid;
  gap: 1rem;
}

#cartModal .cartModal-upsells_title {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

#cartModal .cartModal-upsells_title .bi {
  font-size: 1rem;
}

#cartModal .cart-upsell_items {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

#cartModal .cart-upsell_items .upsell-img {
  width: 75px;
  height: 75px;
}

#cartModal .cartModal-alert {
  font-size: .85rem;
  padding: .5rem;
  margin-top: .5rem;
}

@media (max-width: 768px) {
  #cartModal .modal-content {
    padding: 1rem;
  }

  #cartModal .modal-body {
    padding: 0;
  }

  #cartModal .cartModal-header {
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }

  #cartModal .cartModal-title {
    font-size: 1.5rem;
  }

  #cartModal .cartModal-product {
    margin: 1rem 0;
  }

  #cartModal .cartModal-product_title {
    font-size: 1rem;
  }

  #cartModal .cartModal-product_shipping {
    font-size: 0.85rem;
  }

  #cartModal .cartModal-buttons {
    width: 100%;
  }

  #cartModal .cart-upsell_items {
    grid-template-columns: 1fr;
  }

  #cartModal .cart-upsell_item {
    flex-direction: column;
    align-items: start;
  }

  .page-template-cart .cart-upsell_item {
    flex-direction: column;
    align-items: start;
  }
}

@media (min-width: 1200px) {
  .cartModal-upsells .extra-services .es-items {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .cartModal-upsells .extra-services .es-item .form-check-label {
    height: 100%;
    align-items: start;
  }
}

/* Product Archive */

.archive-categories {
  display: flex;
  align-items: center;
  gap: 1rem;
}

@media (min-width: 1200px) {
  .archive-categories {
    max-width: 900px;
    flex-wrap: wrap;
  }
}

.post-type-archive-product .woocommerce-products-table img {
  width: 75px;
  height: 75px;
  border-radius: 0.5rem;
}

.table tbody,
.table td,
.table tfoot,
.table th,
.table thead,
.table tr {
  border: 0;
  border-bottom: 1px solid var(--bs-border-color);
}

.ptable-actions {
  text-align: end;
}

@media (min-width: 1200px) {
  .product-archive_options {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 1.5rem;
  }
}

.slickCategories .slick-track {
  margin-left: 0;
}

.woocommerce-result-count {
  display: none;
}

.layout-switcher {
  font-size: 1.125rem;
  display: flex;
  justify-content: end;
}

.layout-switcher > div {
  padding: 0.3rem 0.6rem;
  background-color: #e5e9eb;
}

.layout-switcher .layout-grid {
  border-radius: 0.5rem 0 0 0.5rem;
}

.layout-switcher .layout-list {
  opacity: 0.5;
  border-radius: 0 0.5rem 0.5rem 0;
}

.woocommerce-ordering {
  text-align: end;
}

.woocommerce-ordering select {
  color: transparent;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23002e3c' class='bi bi-sort-alpha-down' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M10.082 5.629 9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371zm1.57-.785L11 2.687h-.047l-.652 2.157z'/><path d='M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645zM4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293z'/></svg>");
  background-repeat: no-repeat;
  background-size: 24px;
  background-position: 50%;
  width: 50px;
  padding: 0.5rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
  font-size: 0.925rem;
}

.woocommerce-ordering select option {
  width: auto;
  color: #002e3c;
}

.archive-sorting {
  display: flex;
  justify-content: end;
  gap: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .archive-categories {
    overflow-x: scroll;
  }

  .archive-sorting {
    align-items: center;
    justify-content: space-between;
    margin-top: 1rem;
  }
}

.cat-item {
  color: inherit;
  text-align: center;
  display: block;
  padding: 0.5rem;
  border-radius: 0.375rem;
  border: 1px solid var(--bs-border-color);
  flex-shrink: 0;
}

.cat-img {
  border-radius: 1rem;
  margin-bottom: 0.5rem;
  object-fit: cover;
}

.cat-title {
  font-size: 0.875rem;
  word-break: break-word;
}

@media (max-width: 768px) {
  .cat-img {
    width: 50px;
    height: 50px;
    margin: 0 auto 0.5rem auto;
  }

  .cat-title {
    font-size: 0.75rem;
  }

  #offcanvasFilter {
    max-width: 350px;
  }
}

.product-archive_filter .accordion {
  border: 1px solid var(--bs-border-color);
  border-radius: 0.375rem;
  overflow: hidden;
}

.product-archive_filter .accordion-button {
  color: #2397a6;
}

.product-archive_filter .accordion-button:not(.collapsed) {
  color: #2397a6;
  background-color: transparent;
  box-shadow: none;
}

.product-archive_filter .accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-icon);
}

.form-check-input {
  min-width: 16px;
}

.form-check-input:checked {
  background-color: #2397a6;
  border-color: #2397a6;
}

.filter-unavailable {
  display: none !important;
}

.filter-available {
  display: block !important;
}

.filter-unavailable.show-dimmed {
  display: block !important;
  opacity: 0.5;
  pointer-events: none;
}

.filter-unavailable.show-dimmed input {
  cursor: not-allowed;
}

.filter-unavailable.show-dimmed label {
  cursor: not-allowed;
  color: #999;
}

/* Cart */

.cart-usps {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: var(--bs-border-width) var(--bs-border-style)
    var(--bs-border-color);
}

.cart-usps .usps {
  justify-content: start;
  width: 100%;
  white-space: nowrap;
  overflow-x: auto;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 1rem;
}

.cart-collaterals .cross-sells {
  display: none;
}

.woocommerce-notices-wrapper {
  display: none;
}

tbody,
td,
tfoot,
th,
thead,
tr {
  padding: 1rem;
  border: 1px solid var(--bs-border-color);
}

.shop_table_wrapper {
  border: var(--bs-border-width) solid var(--bs-border-color);
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
  border-radius: 1rem;
  overflow: hidden;
}

.shop_table {
  width: 100%;
}

table.shop_table_responsive tr th {
  text-align: center !important;
  font-weight: normal;
  font-family: "Neue Montreal";
  font-weight: 500;
  color: var(--bs-body-color);
}

.cart_totals table.shop_table_responsive tr th {
  text-align: left !important;
}

.shop_table .product-remove .remove {
  border: 1px solid var(--bs-border-color);
  display: block;
  width: 26px;
  text-align: center;
  color: #666;
}

.shop_table .product-thumbnail img {
  width: 75px;
  height: 75px;
  object-fit: cover;
  border-radius: 0.375rem;
}

.shop_table .cart_item,
.shop_table .cart_item .product-price,
.shop_table .cart_item a {
  color: var(--bs-body-color);
}

.shop_table .cart_item .product-price {
  min-width: 95px;
}

.shop_table .cart_item .product-price del {
  display: block;
  font-size: 0.85rem;
  color: #2397a6;
}

.shop_table .cart_item .product-price .sale-price {
  color: #ec641c;
}

.shop_table .quantity .input-text {
  font-size: 1rem;
  padding: 0.5rem;
  max-width: 75px;
}

.shop_table .woocommerce-shipping-destination {
  display: none;
}

@media (max-width: 768px) {
  .woocommerce-cart-form__contents {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    font-size: 0.925rem;
  }

  .woocommerce-cart-form__contents table,
  .woocommerce-cart-form__contents tbody,
  .woocommerce-cart-form__contents td {
    display: table;
    white-space: normal;
  }

  .woocommerce-cart-form__contents thead {
    display: table !important;
    width: 100%;
  }

  table.shop_table_responsive tr th {
    padding: 0.5rem;
    border-left: 0;
    border-right: 0;
    text-align: left !important;
    font-family: "Neue Montreal";
    font-weight: 400;
    display: table-cell;
    font-size: 0.85rem;
  }

  table.shop_table_responsive tr th.product-remove {
    width: 42px;
  }

  table.shop_table_responsive tr th.product-thumbnail {
    width: 46px;
  }

  table.shop_table_responsive tr th.product-name {
    width: 178px;
  }

  table.shop_table_responsive tr th.product-subtotal {
    display: none;
  }

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    display: table-row;
  }

  .woocommerce table.shop_table_responsive td,
  .woocommerce-page table.shop_table_responsive td {
    display: table-cell;
    padding: 0.5rem;
    border: 0;
    text-align: left;
  }

  .woocommerce-page .cart_totals table.shop_table_responsive td {
    font-size: 0.925rem;
  }

  .woocommerce-page .cart_totals table.shop_table_responsive th {
    display: table-cell;
  }

  .shop_table .quantity .input-text {
    max-width: 50px;
  }

  .woocommerce table.shop_table_responsive .trigger .in-stock,
  .woocommerce table.shop_table_responsive .trigger .shipment {
    font-size: 0.75rem;
  }

  .woocommerce-page table.shop_table_responsive td.product-subtotal,
  table.shop_table_responsive tr td::before {
    display: none;
  }

  .shop_table .product-thumbnail img {
    width: 30px;
    height: 30px;
  }
}

#shipping_method {
  padding: 0;
  list-style: none;
  margin-bottom: 0;
  font-size: 0.925rem;
}

#shipping_method li {
  display: flex;
  gap: 0.5rem;
  font-size: 0.85rem;
}

.form-check_terms {
  margin-bottom: 1rem;
  font-size: 0.85rem;
}

.checkout-button,
#place_order {
  padding: 0.75rem 1.5rem;
  border-radius: 3rem;
  border: 0;
  background-color: #ec641c !important;
  color: #fff;
  margin-bottom: 1rem;
  display: block;
  text-align: center;
}

.checkout-button:hover,
#place_order:hover {
  background-color: #2397a6 !important;
}

.order-total td {
  color: #198754;
}

.trigger .in-stock {
  color: #198754;
  font-size: 0.825rem;
  padding: 0.125rem 0.25rem;
  border: 1px solid #198754;
  display: inline-block;
  font-family: "Neue Montreal";
  font-weight: 500;
}

.trigger .shipment {
  font-size: 0.825rem;
  color: #198754;
}

.microcopy {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.microcopy-content {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.microcopy-webwinkelkeur {
  /* Remove when Webwinkelkeur has been installed */
  padding: 1rem;
  background-color: #2397a6;
  border-radius: 1rem;
  width: 100%;
  color: #fff;
  text-align: center;
}

.es-items {
  display: grid;
  gap: 1rem;
}

.es-item .form-check-label {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
}

.es-content {
  display: grid;
}

.es-item .text-info {
  margin-left: auto;
}

.es-descr {
  font-size: 0.925rem;
  opacity: 0.5;
}

.tooltip-inner {
  max-width: 500px;
  white-space: normal;
}

.extra-services.updating {
  opacity: 0.6;
  pointer-events: none;
}

.extra-services.updating .es-items {
  position: relative;
}

.extra-services.updating .es-items:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 10;
}

.extra-service-checkbox:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.es-item:hover {
  border-color: #2397a6;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Extra Service Alerts */

.extra-service-alert {
  margin-bottom: 1rem;
  border-radius: 0.375rem;
  animation: slideInDown 0.3s ease-out;
}

@keyframes slideInDown {
  from {
    transform: translateY(-20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.extra-service-alert .btn-close {
  padding: 0.5rem;
}

/* Checkout */

.woocommerce-shipping-methods li label .amount {
  font-size: 0.925rem;
}

.page-template-checkout .header-wrapper .navbar,
.page-template-checkout .header .dropdown,
.page-template-checkout .header .header-cart {
  display: none;
}

.page-template-checkout .header {
  padding: 1rem 0 0 0;
}

.page-template-checkout .header .header-reviews {
  margin-left: auto;
}

.page-template-checkout .webwinkelkeur-rich-snippet {
  display: none;
}

#order_type {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
  align-items: center;
}

@media (max-width: 768px) {
  #order_type strong {
    flex: 0 0 100%;
  }
}

#order_type .form-check {
  padding: 1rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
  display: flex;
  gap: 0.5rem;
}

#order_type .form-check .form-check-input {
  margin-left: 0;
}

#order_type .form-check-input:checked {
  background-color: #309aaf;
  border-color: #309aaf;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields {
  margin-bottom: 1.5rem;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.woocommerce-billing-fields__field-wrapper #billing_email_field {
  grid-column: 1 / -1;
}

@media (max-width: 768px) {
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
}

.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-additional-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0;
}

.woocommerce-billing-fields__field-wrapper .form-row#billing_address_2_field,
.woocommerce-shipping-fields__field-wrapper .form-row#shipping_address_2_field {
  justify-content: end;
}

.woocommerce-billing-fields__field-wrapper .form-row input,
.woocommerce-shipping-fields__field-wrapper .form-row input,
.woocommerce-additional-fields__field-wrapper .form-row textarea {
  border-radius: 3rem;
  border: 1px solid var(--bs-border-color);
  padding: 0.5rem;
  width: 100%;
}

.form-row.hidden,
.form-row.hidden * {
  display: none !important;
}

.form-row .select2-container--default .select2-selection--single {
  border: 1px solid var(--bs-border-color);
  height: 42px;
  padding: 0.42rem;
  border-radius: 3rem;
  margin: 0;
  line-height: 0;
}

.woocommerce-additional-fields__field-wrapper .form-row textarea {
  padding: 1.5rem;
}

#ship-to-different-address {
  font-size: 1rem;
  font-family: "Neue Montreal";
  font-weight: 500;
}

.form-row .postcode-eu-autofill-address {
  border-radius: 1rem;
  font-size: 0.925rem;
  box-shadow: inset 2px 0 0 #0f834d;
  margin: 0;
}

.woocommerce-checkout-payment {
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
  margin-top: 1.5rem;
}

.wc_payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
  display: grid;
  gap: 0.5rem;
}

.wc_payment_methods .wc_payment_method {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.mollie-gateway-icon {
  float: left !important;
  margin-right: 0.5rem;
}

#place_order {
  width: 100%;
}

#place_order:disabled,
#place_order.disabled {
  background-color: #ccc !important;
  color: #666 !important;
  cursor: not-allowed !important;
  opacity: 0.6;
}

#place_order.loading {
  background-color: #2397a6 !important;
  color: #fff !important;
  cursor: wait !important;
  opacity: 1 !important;
  animation: place-order-pulse 1.2s ease-in-out infinite;
}

.place-order-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: place-order-spin 0.6s linear infinite;
  vertical-align: middle;
  margin-right: 6px;
}

@keyframes place-order-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes place-order-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

#place_order:disabled:hover,
#place_order.disabled:hover {
  background-color: #ccc !important;
  color: #666 !important;
}

.woocommerce-terms-and-conditions-wrapper {
  display: none;
}

.optional {
  display: none;
}

.checkout-inline-error-message {
  font-size: 0.85rem;
  color: #e2401c;
}

.category-thank-you-text {
  padding: 3rem;
  border-radius: 1rem;
}

.woocommerce-thankyou-order-details {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

@media (min-width: 1200px) {
  .woocommerce-order-details {
    max-width: 720px;
    margin: 0 auto;
    padding-top: 3rem;
  }
}

.woocommerce-form-coupon-toggle .woocommerce-info {
  padding: 0;
  border: 0;
  text-align: end;
  background-color: transparent !important;
}

.woocommerce-message {
  padding: 1rem;
  color: #fff;
  border-radius: 0.5rem;
  margin: 1rem 0;
  font-size: 0.925rem;
}

.order-again .button {
  display: inline-block;
  margin-top: 1.5rem;
}

.woocommerce-form-coupon {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 1rem;
  padding-top: 1rem;
  font-size: 0.925rem;
}

.woocommerce-form-coupon p {
  margin: 0;
}

.woocommerce-form-coupon #coupon_code {
  border-radius: 3rem;
  border: 1px solid var(--bs-border-color);
  padding: 0.5rem;
}

@media (max-width: 768px) {
  .woocommerce-form-coupon {
    flex-direction: column;
    align-items: end;
    text-align: end;
  }

  .woocommerce-checkout-review-order-table th,
  .woocommerce-checkout-review-order-table td {
    font-size: 0.925rem;
    padding: 0.5rem;
  }
}

.checkout h3 {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

@media (max-width: 768px) {
  .checkout h3 {
    margin: 1rem 0;
  }
}

.checkout .step {
  width: 32px;
  height: 32px;
  display: flex;
  background-color: #ec641c;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  color: #fff;
}

/* Account */

.woocommerce-info {
  padding: 1rem;
  border-radius: 3rem;
  background-color: #fff3cd !important;
  border: 1px solid #ffe69c;
  color: #664d03;
}

.woocommerce-info a {
  color: #664d03;
  text-decoration: underline;
}

.woocommerce-error {
  padding: 1rem;
  list-style: none;
  max-width: 1320px;
  margin: 0 auto 1rem auto;
  border-radius: 1rem;
  font-size: 0.925rem;
  color: #fff;
}

.woocommerce-error a {
  color: #fff;
}

.wc-empty-cart-message {
  display: block;
  margin-bottom: 1rem;
}

.woocommerce-MyAccount-navigation ul {
  display: flex;
  list-style: none;
  padding: 0;
  gap: 1rem;
}

.woocommerce-MyAccount-navigation ul li {
  border: 1px solid var(--bs-border-color);
  padding: 0.5rem 1rem;
  border-radius: 3rem;
}

.woocommerce-MyAccount-navigation ul li a {
  color: inherit;
}

.woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--customer-logout,
.woocommerce-MyAccount-navigation ul li:hover {
  background-color: #f4f4f4;
}

.woocommerce-EditAccountForm label,
.woocommerce-EditAccountForm legend,
.woocommerce-form-login label,
.woocommerce-ResetPassword label,
.woocommerce-form-register label {
  font-family: "Neue Montreal";
  font-weight: 400 !important;
  display: block;
  margin-bottom: 0.5rem;
}

.woocommerce-EditAccountForm input,
.woocommerce-form-login input,
.woocommerce-ResetPassword input,
.woocommerce-form-register input {
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  padding: 0.75rem;
  min-height: 48.5px;
  display: block;
  width: 100%;
}

.woocommerce-form-register .woocommerce-privacy-policy-text {
  display: none;
}

@media (min-width: 1200px) {
  .woocommerce-EditAccountForm .form-row,
  .woocommerce-form-login .form-row,
  .woocommerce-ResetPassword .form-row {
    display: inline-block;
    width: 48%;
    padding: 0.25rem;
  }
}

.woocommerce-EditAccountForm .button {
  margin-top: 1rem;
}

.woocommerce-form-login__rememberme {
  display: none !important;
}

.woocommerce-orders-table__cell-order-actions .view {
  background-color: #f4f4f4;
  color: inherit !important;
}

.woocommerce-orders-table__cell-order-actions .view:hover {
  color: #fff;
  background-color: #2397a6;
}

.woocommerce-orders-table__cell-order-actions .invoice {
  margin-left: 0.5rem;
}

/* Upsells */

.cart-title {
  font-size: 1.5rem;
  font-family: "Neue Montreal";
  font-weight: 400;
  margin-bottom: 1rem;
}

.cart-upsell_items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cart-upsell_item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
}

.cart-upsell_item.active {
  border: 1px solid #2397a6;
  background-color: #defafe;
}

.upsell-img {
  width: 80px;
  height: 75px;
  border-radius: 1rem;
}

.upsell-price {
  color: #2397a6;
}

.upsell-descr {
  font-size: 0.825rem;
}

.upsell-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.upsell-actions .qty {
  font-size: 1rem;
  padding: 0.5rem;
  min-width: 75px;
  max-width: 75px;
  text-align: center;
}

.cart-upsell_item .loading-spinner {
  position: absolute;
  right: 1rem;
  top: 1rem;
}

/* Applications */

.appl-item {
  display: grid;
  gap: 1rem;
  color: inherit;
}

.appl-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 1rem;
}

.appl-content {
  padding: 0 1rem;
}

.appl-title {
  font-size: 1.125rem;
}

/* Instructions */

.instr-steps {
  display: grid;
  gap: 1rem;
}

.instr-step {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 1.25rem;
}

.instr-icon {
  font-size: 2rem;
  color: #ec641c;
}

.instr-question {
  font-size: 2rem;
  color: #2397a6;
}

/* Blog */

.blog-item {
  display: flex;
  border-radius: 1rem;
  overflow: hidden;
  background: radial-gradient(
    circle,
    rgba(35, 151, 166, 1) 0%,
    rgba(14, 60, 67, 1) 75%
  );
  color: #fff !important;
  height: 100%;
}

.blog-img {
  width: 250px;
  object-fit: cover;
}

.blog-content {
  color: #fff;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.blog-title {
  color: #fff;
  font-size: 1.25rem;
  margin-bottom: 0;
}

.blog-descr {
  font-size: 0.925rem;
}

.blog-item .btn {
  align-self: flex-start;
  margin-top: auto;
}

@media (max-width: 768px) {
  .blog-item {
    flex-direction: column;
  }

  .blog-img {
    width: 100%;
    height: 175px;
  }
}

.pagination,
ul.page-numbers {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 1rem 0 0 0;
}

.pagination .page-numbers,
ul.page-numbers .page-numbers {
  display: flex;
  width: 32px;
  height: 32px;
  justify-content: center;
  background-color: #f4f4f4;
  align-items: center;
  border-radius: 50%;
  color: #002e3c;
}

.pagination .page-numbers.current,
ul.page-numbers .page-numbers.current {
  background-color: #002e3c;
  color: #f4f4f4;
}

/* Features */

.feature-item {
  padding: 2.5rem;
  color: #fff;
  background-color: #0e3c43;
  border-radius: 1rem;
  height: 100%;
}

.feature-title {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

.feature-title .bi {
  color: #2397a6;
}

/* CTA */

.cta-wrapper {
  position: relative;
}

.cta-content {
  position: absolute;
  padding: 3rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  gap: 1.5rem;
  width: 100%;
  max-width: 1200px;
  height: 100%;
  color: #fff;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .cta-wrapper .cta-content {
    flex-direction: column;
    justify-content: center;
    align-items: start;
  }
}

.fair-content {
  text-align: start;
  align-items: start;
  flex-direction: column;
  justify-content: center;
  max-width: 1320px;
  padding: 0;
  gap: 0;
}

.cta-tag {
  font-size: 1rem;
  color: #2397a6;
  text-transform: uppercase;
  font-family: "Neue Montreal";
  font-weight: 500;
}

.cta-title {
  font-size: 2.5rem;
}

.cta-subtitle {
  font-size: 1rem;
  color: #ffffff;
  opacity: 0.5;
}

.fair-content .cta-subtitle {
  margin-bottom: 1.5rem;
}

.cta-img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}

.event-wrapper .cta-img {
  height: 550px;
}

@media (max-width: 768px) {
  .fair-content {
    padding: 0 1rem;
  }

  .cta-img {
    object-position: 75% 50%;
  }
}

/* Reviews */

.slickReviews .slick-slide > div,
.slickReviews .slick-slide .slick-item {
  height: 100%;
}

.review-item {
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  gap: 1rem;
  text-align: center;
}

.review-avatar {
  width: 125px;
  height: 125px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto;
}

.review-name {
  font-family: "Neue Montreal";
  font-weight: 500;
}

.review-content p {
  font-size: 0.925rem;
  margin-bottom: 0;
}

.review-date {
  font-family: "Neue Montreal";
  font-weight: 500;
}

.review-stars {
  font-size: 1.5rem;
  color: #ec641c;
}

.slickReviews .slick-slide {
  margin: 0 0.5rem;
}

.slickReviews .slick-list {
  margin: 0 -0.5rem;
}

/* Search */

.cat-search-results {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.cat-search {
  display: block;
  width: 100%;
  padding: 1rem;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 1rem;
}

/* Clients and Brands */

.slickBrands .slick-track {
  align-items: center;
}

.brand-img {
  width: 150px;
  height: 100px;
  object-fit: contain;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .slickClients img {
    max-width: 100px;
  }
}

.partners .slickBrands .slick-slide {
  margin: 0 1rem;
}

.partners .slickBrands .slick-list {
  margin: 0 -1rem;
}

.partners .slick-item {
  margin: 0 .25rem;
}

.partners .slick-item img {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
  border-radius: 1rem;
}

.partner-list {
  display: grid;
  gap: .5rem;
  font-size: 1.125rem;
  margin-top: 1.5rem;
  list-style: none;
  padding: 0;
}

.partner-list .bi {
  color: #2397a6;
}

.advice-person.partner-person {
  display: inline-flex;
  padding: 3rem;
  margin-top: 3rem;
}

/* USPs */

.sp-item {
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-align: center;
  height: 100%;
}

.sp-item .bi {
  font-size: 2.5rem;
  color: #2397a6;
}

.sp-title {
  font-size: 1.125rem;
}

.sp-descr {
  font-size: 0.925rem;
}

@media (max-width: 768px) {
  .sp-item {
    padding: 0.25rem 0.25rem 1rem 0.25rem;
  }

  .sp-item .bi {
    font-size: 1.5rem;
    width: 25px;
    height: 32px;
    margin: 0.5rem auto;
  }

  .sp-title {
    font-size: 0.925rem;
  }

  .sp-descr {
    font-size: 0.85rem;
  }
}

/* Statistics */

.stats-item {
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-align: center;
  height: 100%;
}

.stats-item .number {
  font-size: 2.25rem;
}

/* Info */

.info-item {
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
  display: flex;
  gap: 1rem;
  height: 100%;
  align-items: center;
}

.info-item .info-icon {
  font-size: 1.5rem;
}

.info-item .info-label {
  font-size: 1.125rem;
}

/* Service */

.service-block {
  color: inherit;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: all ease 0.6s;
  height: 100%;
}

.service-block .bi {
  font-size: 2rem;
}

.service-block:hover {
  color: #2397a6;
}

.service-block .service-title {
  font-size: 1.125rem;
}

.service-items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

@media (max-width: 768px) {
  .service-items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
}

.service-item {
  color: inherit;
  display: flex;
  gap: 1rem;
  align-items: center;
}

.service-item .bi {
  font-size: 1.5rem;
}

.service-title {
  font-family: "Neue Montreal";
  font-weight: 500;
}

/* Landing */

.landing-hero_wrapper {
  position: relative;
  border-radius: 1rem;
  padding: 3rem;
  overflow: hidden;
  height: 100%;
}

.landing-hero_wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(14, 60, 66, 1) 75%
  );
  z-index: 5;
}

.landing-hero_content {
  position: relative;
  z-index: 10;
  height: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.landing-hero_content p {
  font-family: "Neue Montreal";
  font-weight: 400;
}

.landing-hero_content h1,
.landing-hero_content h2 {
  color: #fff;
  font-size: 1.5rem;
}

.landing-hero_image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.landing-hero_usps {
  padding: 3rem;
  background-color: #2397a6;
  border-radius: 1rem;
  color: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .landing-hero_wrapper,
  .landing-hero_usps {
    padding: 1.5rem;
  }

  .landing-hero_wrapper .is-layout-flex {
    display: grid;
    gap: 1rem;
  }
}

.landing-hero_title {
  color: #fff;
  font-family: "Neue Montreal";
  font-weight: 400;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 1rem;
}

.landing-hero_usps .landing-hero_title {
  font-size: 1.5rem;
}

.landing-hero_usps .usp-items {
  font-size: 1.125rem;
  margin: 1rem 0 0 0;
  line-height: 2;
}

@media (max-width: 768px) {
  .landing-hero_usps .usp-items {
    font-size: 0.85rem;
  }
}

.landing-hero_usps .usp-items .bi {
  color: #fff;
}

.steps {
  color: #fff;
}

.slickStep .slick-track {
  gap: 1rem;
}

.step-item {
  padding: 2.5rem 1.25rem;
  border-radius: 1rem;
  background-color: #2397a6;
  display: flex;
  flex-direction: column;
  text-align: center;
  height: 100%;
  gap: 1rem;
  background-repeat: no-repeat;
  background-size: 150px;
  background-position: center;
  position: relative;
}

.step-item div {
  position: relative;
  z-index: 1;
}

.step-item .bi {
  font-size: 2rem;
  color: #ffffff;
}

.step-title {
  font-size: 1.25rem;
  font-family: "Neue Montreal";
  font-weight: 400;
}

.info-wrapper {
  color: #fff;
  padding: 2.5rem;
  border-radius: 1rem;
}

.info-title {
  font-size: 2.5rem;
  color: #fff;
}

.info-content {
  padding: 2rem;
  border-radius: 1rem;
  height: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 1rem;
  color: var(--bs-body-color);
}

.info-content.bg-darkblue,
.info-content.bg-blue {
  color: #fff;
}

.info-content h2 {
  font-size: 1.75rem;
}

.info-content.bg-darkblue h2,
.info-content.bg-blue h2 {
  color: #fff;
}

.info-url {
  color: inherit;
}

.info-img {
  height: 300px;
  width: 100%;
  object-fit: cover;
  border-radius: 1rem;
}

.how-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1rem;
}

.how-item {
  padding: 1rem 1.5rem;
  position: relative;
  display: block;
  color: inherit;
}

.how-item[aria-expanded="false"] {
  opacity: 0.5;
}

.how-item::before {
  content: "";
  width: 5px;
  height: 100%;
  background-color: #f4f4f4;
  position: absolute;
  left: 0;
  top: 0;
}

.how-title {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  gap: 1rem;
}

.how-title .bi {
  color: #aaaaaa;
}

.how-item.how-item_1::before,
.how-item:hover::before,
.how-item[aria-expanded="true"]::before {
  background-color: #ec641c;
  border-radius: 5px;
}

.how-item.how-item_1 .how-title .bi,
.how-item:hover .how-title .bi,
.how-item[aria-expanded="true"] .how-title .bi {
  color: #ec641c;
}

#howVideos {
  padding: 1.5rem;
  background-color: #f4f4f4;
  border-radius: 1rem;
  height: 100%;
  display: grid;
  align-items: center;
}

.how-video iframe {
  width: 100%;
  height: 330px;
  border-radius: 1rem;
  display: block;
}

@media (max-width: 768px) {
  #howVideos {
    padding: 0;
  }

  .how-video iframe {
    height: 205px;
  }

  .how-title {
    font-size: 1.25rem;
  }
}

.when-item {
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #0e3c42;
  display: flex;
  gap: 1rem;
  height: 100%;
  align-items: center;
  color: #fff;
}

.when-icon {
  font-size: 2.5rem;
  color: #2397a6;
}

.when-label {
  font-size: 1.125rem;
}

@media (max-width: 768px) {
  .when-item {
    padding: 1rem;
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
  }

  .when-icon {
    font-size: 1.5rem;
  }

  .when-label {
    font-size: 0.85rem;
  }
}

.horizontal-usps {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin: 1rem 0;
  gap: 1rem;
}

@media (max-width: 768px) {
  .horizontal-usps {
    grid-template-columns: 1fr;
  }
}

.partner-item {
  border-radius: 0.5rem;
  border: 1px solid #d2a26d;
  display: flex;
  flex-direction: column;
}

.partner-item_bronze {
  border: 1px solid #d2a26d;
}

.partner-item_silver {
  border: 1px solid #cbcbcb;
}

.partner-item_gold {
  border: 1px solid #f1cb75;
}

.partner-rank {
  padding: 1rem;
  color: #fff;
  font-size: 1.125rem;
  text-align: center;
}

.partner-bronze {
  background-color: #d2a26d;
}

.partner-silver {
  background-color: #cbcbcb;
}

.partner-gold {
  background-color: #f1cb75;
}

.partner-media {
  padding: 1rem;
  text-align: center;
}

.partner-media .bi {
  font-size: 3rem;
}

.partner-item_bronze .bi-trophy-fill {
  color: #d2a26d;
}

.partner-item_silver .bi-trophy-fill {
  color: #cbcbcb;
}

.partner-item_gold .bi-trophy-fill {
  color: #f1cb75;
}

.partner-media img {
  width: 150px;
}

.partner-content {
  padding: 1rem;
}

.partner-points {
  margin-bottom: 1rem;
}

.partner-content .btn {
  width: 100%;
}

.phone-cases {
  display: flex;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.phone-case {
  --border-radius-outer: 2rem;
  --outer-padding: 0rem;
  --border-radius-inner: calc(var(--border-radius-outer) - var(--outer-padding));
  box-shadow: 0px 0px 0px 2px white;
  border-radius: var(--border-radius-outer);
  padding: var(--outer-padding);
  width: min(320px);
  position: relative;
  margin-inline: auto;
  border: 5px solid #002e3c;
  overflow: hidden;
}

.phone-case:hover {
  cursor: pointer;
}

.phone-overflow {
  height: 420px;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: relative;
  border-radius: 1.5rem;
}

.phone-slide-wrapper .phone-overflow {
  height: 350px;
}

.phone-overflow::-webkit-scrollbar {
  display: none;
}

.phone-img {
  width: 100%;
  border-radius: 1.5rem;
  background-color: #fff;
}

.phone-camera {
  position: absolute;
  top: 1rem;
  left: 0;
  right: 0;
  height: 20px;
  background-color: #002e3c;
  z-index: 10;
  width: 75px;
  border-radius: 3rem;
  margin: 0 auto;
}

.scroll-info {
  font-size: .925rem;
  display: block;
  margin-bottom: 1rem;
  text-align: center;
}

.single-product .productSlideritem img.phone-img {
  border-radius: 0;
}

@media (max-width: 768px) {
  .phone-slide-wrapper .scroll-info {
    font-size: .75rem;
  }

  .phone-case {
    --border-radius-outer: 1rem;
  }

  .phone-overflow {
    height: 220px;
    border-radius: 0;
  }

  .phone-slide-wrapper .phone-overflow {
    height: 180px;
  }

  .phone-camera {
    top: .5rem;
    height: 10px;
    width: 50px;
  }
}

/* Cases */

.slickCases .slick-slide {
  margin: 0 1rem;
}

.slickCases .slick-list {
  margin: 0 -1rem;
}

.cases-item {
  position: relative;
  border-radius: 1rem;
  height: 300px;
  overflow: hidden;
  color: #fff !important;
  background-color: #002e3c;
  border: 1px solid #dee2e6;
  display: block;
}

.cases-item_first .cases-item {
  height: 100%;
  min-height: 300px;
}

.cases-item_image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: all ease 0.3s;
}

.cases-item:hover {
  opacity: 1;
}

.cases-item:hover .cases-item_image {
  opacity: 0;
}

.cases-logo {
  position: absolute;
  top: 0;
  right: 0;
  margin: 1rem;
  z-index: 10;
  border-radius: 50%;
  overflow: hidden;
  opacity: 0;
  transition: all ease 0.3s;
}

.cases-logo img {
  width: 100px;
  height: 100px;
}

.cases-content {
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 2.5rem;
  z-index: 10;
  opacity: 0;
  transition: all ease 0.3s;
}

.cases-item:hover .cases-logo,
.cases-item:hover .cases-content {
  opacity: 1;
}

.cases-person {
  margin-top: 1rem;
  font-family: "Neue Montreal";
  font-weight: 500;
}

/* Team */

.team-item {
  display: flex;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.team-img {
  width: 200px;
  height: 300px;
  object-fit: cover;
}

.team-content {
  padding: 1.5rem;
  position: relative;
}

.team-role {
  color: #2397a6;
}

.team-name {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.team-social {
  font-size: 1.5rem;
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
}

@media (max-width: 768px) {
  .team-item {
    flex-direction: column;
  }

  .team-img {
    width: 100%;
  }
}

/* Newsletter */

.usp-list {
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.newsletter form {
  position: relative;
}

.newsletter .gform-footer {
  position: absolute;
  right: 0.5rem;
  margin: auto 0 !important;
  bottom: 0.3rem;
  height: 38px;
}

@media (max-width: 758px) {
  .newsletter .gform-footer {
    position: relative;
    margin-top: 1rem !important;
    right: auto;
  }

  .newsletter .usp-list li {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
}

/* Rank Math */

#rank-math-faq .rank-math-list-item {
  padding: 1rem 0;
  border-bottom: 1px solid #dee2e6;
}

#rank-math-faq .rank-math-list-item h3 {
  font-size: 1.25rem;
  margin: 0 !important;
}

@media (max-width: 768px) {
  #rank-math-faq .rank-math-list-item h3 {
    font-size: 1rem;
  }
}

.product-tabs #rank-math-faq .rank-math-list-item h3 {
  font-size: 1rem;
}

#rank-math-faq .rank-math-list-item p {
  margin-top: 1rem;
}

#rank-math-faq .rank-math-list-item .collapse:not(.show) {
  display: block;
}

.rank-math-question {
  cursor: pointer;
  position: relative;
  display: block;
  padding-right: 1em;
  margin-right: 1em;
  font-weight: 400;
  margin-top: 30px;
}

.rank-math-question:after {
  position: absolute;
  right: 5px;
  top: 0;
  content: "\2715";
  transform: rotate(-45deg);
  transition: all 150ms ease-in-out;
}

.rank-math-question.collapse:after {
  transform: rotate(0deg);
}

.rank-math-question:hover {
  opacity: 0.8;
}

/* FAQ */

.faq-image {
  width: 100%;
  border-radius: 1rem;
}

.faqExample {
  padding: 2.5rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
}

.faqIcon {
  width: 32px;
  height: 32px;
  background-color: #fff;
  box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ec641c;
}

/* Categories */

.category-item {
  position: relative;
  display: block;
  border-radius: 1rem;
  overflow: hidden;
  color: #fff !important;
}

.category-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgb(36 40 41 / 50%) 100%
  );
  opacity: 1;
  z-index: 5;
  transition: all ease 0.3s;
}

.category-item:hover::after {
  opacity: 0;
}

.category-content {
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 3rem;
  z-index: 10;
}

.category-image {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.category-title {
  font-size: 2rem;
  color: #fff !important;
}

.category-descr {
  font-family: "Neue Montreal";
  font-weight: 400;
}

@media (max-width: 768px) {
  .category-title {
    font-size: 1.5rem;
  }
}

/* Forms */

.gform_required_legend {
  display: none !important;
}

.content-form {
  padding: 2rem;
  border-radius: 1rem;
  background-color: #f4f4f4;
}

.gform-theme .gform_fields {
  gap: 1rem !important;
}

.gform_fields .gfield label,
.gform_fields .gfield legend {
  font-family: "Neue Montreal";
  font-weight: 400;
  letter-spacing: 0.05rem;
  color: #002e3c;
  font-size: 1rem;
}

.gform_fields .gfield .ginput_container input,
.gform_fields .gfield .ginput_container textarea,
.gform_fields .gfield .ginput_container select {
  border-radius: 1rem;
  border: 1px solid var(--bs-border-color);
  padding: 0.25rem 0.5rem;
  height: auto;
}

.gform_fields .gfield .ginput_container textarea {
  padding: 0.5rem;
  min-block-size: 2.5rem;
  height: 150px;
}

.gform-theme .gform-footer .gform_button {
  padding: 0.75rem 1.5rem;
  border-radius: 3rem !important;
  border: 0;
  background-color: #ec641c !important;
  color: #fff !important;
  margin-bottom: 1rem;
  display: block !important;
  text-align: center !important;
  font-size: 1rem !important;
}

@media (min-width: 1200px) {
  #gform_fields_4 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: auto;
    column-gap: 2rem;
  }

  #gform_fields_4 #field_4_1,
  #gform_fields_4 #field_4_3,
  #gform_fields_4 #field_4_5 {
    grid-column: 1 / 7;
  }

  #gform_fields_4 #field_4_1 {
    grid-row: 1;
  }
  #gform_fields_4 #field_4_3 {
    grid-row: 2;
  }
  #gform_fields_4 #field_4_5 {
    grid-row: 3;
  }

  #gform_fields_4 #field_4_6 {
    grid-column: 7 / 13;
    grid-row: 1 / 4;
    display: flex;
    flex-direction: column;
  }

  .gform-theme--foundation #gform_fields_4 .gfield textarea.large {
    min-block-size: 15rem;
  }
}

input::placeholder {
  color: grey !important;
}

/* Footer */

.footer,
.footer a {
  color: #fff;
  transition: all ease 0.3s;
}

.footer a:hover {
  opacity: 0.5;
}

.footer-title {
  color: #fff;
  font-family: "Neue Montreal";
  font-weight: 500;
  margin-bottom: 1.5rem;
  font-size: 1.125rem;
}

.footer-list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.footer-list_horizontal {
  flex-direction: row;
  font-size: 0.8rem;
  flex-wrap: wrap;
  opacity: 0.75;
}

.footer-list_horizontal li::after {
  content: "•";
  color: #ec641c;
  margin: 0 0.25rem 0 0.5rem;
}

.copyright {
  border-top: 1px solid #5b797e;
}

.copyright-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 1rem;
}

@media (max-width: 768px) {
  .copyright-list {
    font-size: 0.925rem;
    margin-bottom: 1rem;
  }
}

.payment-methods {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0.25rem;
  align-items: center;
  font-size: 0.85rem;
  justify-content: end;
}

@media (min-width: 992px) {
  .col-lg-2_4 {
    flex: 0 0 auto;
    width: 20%;
  }
}
