@CHARSET "UTF-8";

:root {
  --white: #FFFFFF;
  --black: #000000;
}

/* Base settings page styling */
body {
  font-family: var(--fontfamily);
  font-size: var(--font-size);
  color: var(--font-color);
}

/** Font-size **/
h1, .contenttxt h1 {
  font-size: 1.7em;
  font-weight: 700;
  line-height: 79.2px;
}

h2, .contenttxt h2 {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 52.8px;
}

h3, .contenttxt h3 {
  font-size: 1.3em;
  font-weight: 700;
  line-height: 38.4px;
}

h4, .contenttxt h4 {
  font-size: 1.1em;
  font-weight: 700;
  line-height: 28.8px;
}

h5, .contenttxt h5 {
  font-size: 1em;
  font-weight: 700;
  line-height: 26px;
}

a {
  color: var(--font-color);
}

a:hover, a:active {
  color: var(--header-hovercolor);
}

#main-container {
  width: 100%;
}

#maincontent,.breadcrumbs {
  background: #f1f5f9;
  padding-left: 15px;
  padding-right: 15px;
  max-width: 100%;
  width: 1280px;
  margin: 0 auto;
}

#tooltip {
  background: var(--secondary-color) !important;
}

.fa.fa-spinner{
  color: var(--primary-color);
}

.grey-background {
  background-color: var(--padded-backgroundcolor);
  padding: 20px;
}

.grey-background h1, .grey-background h2, .grey-background h3 {
  color: var(--primary-color);
}
/* End of base settings */


/* Base buttons */
.btn-primary {
  background-color: var(--primary-color);
  color: var(--primary-btn-textcolor);
}

.btn-primary:hover {
  background-color: var(--secondary-color);
  color: var(--primary-btn-hovertextcolor)
}

.btn-primary-small {
  background-color: var(--primary-color);
}

.btn-primary-small:hover {
  background-color: var(--secondary-color);
}

.btn-secondary {
  color: var(--secondary-btn-textcolor);
}

.btn-secondary:hover {
  color: var(--secondary-btn-hovertextcolor);
}
/* End of base buttons */


/* Header styling*/
header {
  padding: 0;
  background-color: var(--header-backgroundcolor);
  color: var(--header-color);
}

header .searchbar a {
  color: var(--header-color);
  text-transform: var(--header-texttransform);
}

header a {
  color: var(--header-color);
}

#to_logo {
  color: var(--white);
  font-size: 40px;
  margin: 0 auto;
  width: 200px;
  max-width: 100%;
  display: block;
}

/* Navigationbar */
.navbar-toggle {
  background-color: var(--header-backgroundcolor);
  color: var(--header-color);
}

#search {
  padding: 10px;
  background-color: var(--navbar-backgroundcolor);
}

#search a {
  color: var(--navbar-color);
  font-weight: var(--navbar-fontweight);
}

#search .a_active {
  color: var(--header-hovercolor);
}

#search .input-group {
  display: block;
  width: 360px;
}

#search input {
  max-width: 85%;
}

#search .input-group .btn {
  color: #F50057;
}

.searchbar {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
  padding: unset;
}
/* End of header styling */

/* Footer */
.copyright {
  background-color: var(--footer-backgroundcolor);
  color: var(--footer-color);
  padding: 10px;
}
/* End of footer */

/* Contact page */
.google-map {
  background: #f1f3f7;
  height: 400px;
  width: 100%;
}
/* End of contact page */

/* Productoverview page */
.productinfo_table tr td, .productinfo_table {
  border: none;
}
.productinfo_table tr td:first-child {
  background: white;
  font-weight: bold;
  width: 180px;
}

.webshop-product-card:hover .productcard-title {
  color: var(--secondary-color);
}

.webshop-product-card:hover .btn-primary-small {
  background-color: var(--secondary-color);;
}

#filter {
  background-color: var(--filter-backgroundcolor);
}

#filter .filter-item h6 {
  color: var(--filter-color);
}
#filter .resetfilter {
  color: var(--primary-color);
}

#filter .resetfilter:hover {
  color: var(--filter-hovercolor);
}

#filter_color .color_a {
  box-shadow: none;
}

#filter .paragraph-2, .filter-item .filter_content label {
  color: var(--filter-color);
}

#filter_subcolor {
  margin-top: -12px;
}
.filter_eco {
  padding-top: 20px;
}
.filter_content #maincolors {
  padding: 7px 0 5px 0;
}

#filter_form {
  padding: 0px 10px 0px 0px;
}
#filter_selection_count_cont, .bg-green {
  background-color: #F50057;
}

.side-heading, #filter_mobile_header {
  background-color: var(--header-backgroundcolor);
  padding: 10px 25px 10px 15px !important;
}

.ms-options-wrap > button:after {
  border-top-color: var(--primary-color);
}

#back_to_top {
  color: var(--back-to-top);
}

.webshop-product-card .price {
  font-size: 0.8em;
}

.webshop-product-card .productcard-title {
  font-size: 0.8em;
}

.webshop-product-card .description {
  font-size: 0.7em;
}
/* End of productoverview page */

/* Productdetail page */
.productprice_table_head td {
  font-weight: bold;
  text-align: center;
}
/* End of productdetail page */

/* Basket page */
.basket-headeritems .backgroundcolor {
  background-color: var(--padded-backgroundcolor);
}

.basket-headeritems .coloredheader {
  background-color: var(--primary-color);
}

.basket-product .product-description h6 {
  Color: var(--primary-color);
}

.change-amount button:hover {
  background-color: var(--light-grey);
  border: 1px solid var(--light-grey);
}
/* End of basket page */


/* new for subscription */
#search_wrapper {
  background-color: #1A202E;
}
#search_wrapper > div {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
.abo-medium #search_wrapper > div {
  justify-content: space-between;
}
.searchfield {
  float: left;
  padding-left: 6px;
}

.subscription_header {
  display: flex;
  justify-content: space-between;
  max-width: 1280px;
  margin: 0 auto;
}
.subscription_logo img {
  max-height: 85px;
}
.subscription_logo {
  padding: 15px;
  display: block;
  font-size: 18px;
  font-weight: bold;
  float: left;
}
.subscription_info {
  padding: 25px 15px;
  display: flex;
  color: var(--header-color);
  font-size: 0.8em;
}
.subscription_info div {
  padding-left: 30px;
}
.subscription_info .fa {
  width: 22px;
  vertical-align: middle;
}
.subscription-hometxt {
  padding-bottom: 15px;
  padding-left: 3px;
}

.productsize {
  width: 60px;
  text-align: center;
}

#productprice_table td {
  min-width: 75px;
  text-align: center;
}
#productprice_table .pp_tr_head_color {
  text-align: left;
}

#productprice_table tr.odd > td {
  background-color: rgba(220,228,231,0.4);
}

#productprice_table tr.even > td {
  background-color: white;
}

.textiel-basket {
  color: white;
  padding: 15px 10px;
}

.basket-form {
  max-width: none;
}
.panel {
  box-shadow: none;
}

#dealer-menu.navbar {
  min-height: unset;
}
#dealer-menu .navbar-nav {
  float: none !important;
}

#dealer-menu .navbar-nav > li a.a_active, #dealer-menu .navbar-nav > li a:hover {
  color: var(--navbar-hovercolor);
}

div.alert.alert-success {
  color: var(--alert-color);
  background-color: var(--alert-backgroundcolor);
  border-color: var(--alert-bordercolor);
}

@media (min-width: 768px) {
  .searchbar .navbar-nav > li > a {
    padding: 5px 15px;
  }
}

@media (max-width: 768px) {
  .searchbar .nav>li>a {
    padding-left: 0;
  }
  .searchbar {
    width: 1280px;
    max-width: 100%;
    margin: 0 auto;
  }
  .searchfield {
    float: none;
  }
  #dealer-menu ul {
    margin: unset !important;
    padding-top: 15px;
  }
  #search .input-group {
    display: block;
  }
  #dealer-menu.navbar {
    width: 100% !important;
    padding: 0 !important;
  }
  .subscription_logo {
    padding: 0 15px 10px 15px;
  }
  .subscription_logo img {
    max-height: 65px;
    max-width: 250px;
  }
  .subscription_header {
    display: initial;
    padding: 15px;
  }
  .subscription_info {
    padding-top: 0;
    padding-bottom: 0px;
    justify-content: space-between;
    line-height: 0.9rem;
    font-size: 0.6rem;
  }
  .subscription_info div {
    padding: 0;
  }
  .textiel-basket-txt {
    display: none;
  }
}

.pt-2 {
  padding-top: 2rem;
}
.dealer-h3 {
  font-weight: bold;
  font-size: 18px;
}
.dealer-normal {
  font-weight: normal;
  font-size: 13px;
}
.lnr {
  font-size: 4.0rem;
  margin-top: 20px;
  float: left;
}

div.alert.alert-danger {
  font-size: 1em;
}
div.alert.alert-success {
  margin-top: 10px;
}

input[type=file] {
  display: block !important;
  right: 1px;
  top: 1px;
  height: 34px;
  opacity: 0;
  width: 100%;
  background: none;
  position: absolute;
  overflow: hidden;
  z-index: 2;
}
.control-fileupload {
  display: block;
  border: 1px solid #d6d7d6;
  background: #FFF;
  border-radius: 4px;
  width: 100%;
  height: 36px;
  line-height: 36px;
  padding: 0px 10px 2px 10px;
  overflow: hidden;
  position: relative;
}
.control-fileupload:before,
.control-fileupload input,
.control-fileupload label {
  cursor: pointer !important;
}
.control-fileupload:before {
  padding: 4px 12px;
  margin-bottom: 0;
  font-size: 14px;
  color: #333333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  vertical-align: middle;
  cursor: pointer;
  background-color: #f5f5f5;
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  border: 1px solid #cccccc;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  border-bottom-color: #b3b3b3;
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: color 0.2s ease;
  content: 'Kies';
  display: block;
  position: absolute;
  z-index: 1;
  top: 2px;
  right: 2px;
  line-height: 20px;
  text-align: center;
}
.control-fileupload:hover:before,
.control-fileupload:focus:before {
  background-color: #e6e6e6;
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  transition: background-position 0.2s ease-out;
}
.control-fileupload label {
  line-height: 24px;
  color: #999999;
  font-size: 14px;
  font-weight: normal;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  position: relative;
  z-index: 1;
  margin-top: 5px;
  margin-right: 90px;
  margin-bottom: 0px;
  cursor: text;
}
.display-flex {
  display: flex;
}
.flex-grow {
  flex-grow: 1;
}
.row-reverse {
  flex-direction: row-reverse;
}
.finished-header {
  font-size: 15px;
  font-weight: 800;
}
.footer-address {
  font-size: 1.0em;
}

/* ==========================================================================
   HERSTEL SPECIFIEK VOOR KLANTEN/DEALER WEBSITES
   ========================================================================== */

/* 1. Schakel flexbox-volgorde van hoofdsite uit */
header {
  display: block !important;
}

header > .petrol-headerrow,
header > #header-right,
header > #main-menu,
header > .maincontent,
header > .subscription_header,
header > #search {
  order: unset !important;
}

/* 2. Verwijder rand om het logo */
.subscription_logo,
.subscription_logo img,
header #logo {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* 3. Algemene styling voor de zoekbalk-container */
#search {
  background-color: var(--navbar-backgroundcolor) !important;
  padding: 6px 15px !important;
}

#search .searchfield {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#search .searchfield form {
  margin: 0 !important;
}

#search .inputsearch-group {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  background-color: #ffffff !important;
  border: 1px solid #ffffff !important;
  border-radius: 4px;
  margin: 0 !important;
  height: 38px;
  width: 360px;
  max-width: 100%;
}

/* Invoerveld vult 100% van de container en verwijdert focus-randen */
#search input,
#search .inputsearch-group input[type="search"],
#search .inputsearch-group input[type="text"],
#search .inputsearch-group input.form-control {
  background-color: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: var(--black) !important;
  height: 100% !important;
  width: 100% !important;
  max-width: 100% !important; /* Dwingt 100% breedte af en overschrijft de oude max-width: 85% */
  flex-grow: 1 !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}

#search .inputsearch-group input:focus,
#search .inputsearch-group input:active {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Zorg dat het kruisje (clear button) uiterst rechts in het invoerveld staat */
#search .inputsearch-group input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: searchfield-cancel-button;
  cursor: pointer;
  margin-right: 2px;
}

#search .inputsearch-group .btn,
#search .inputsearch-group .input-group-btn .btn {
  background-color: #ffffff !important;
  border: none !important;
  color: #333333 !important;
  height: 100%;
}

#search .shoppingcart-btn,
#search .textiel-basket,
#search a {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 4. Desktop Layout (>= 768px): zoekbalk + menu op 1 regel */
@media (min-width: 768px) {
  #search .searchbar {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    gap: 15px !important;
  }

  #dealer-menu {
    display: flex !important;
    align-items: center !important;
  }

  #dealer-menu .navbar-nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #dealer-menu .navbar-nav > li {
    float: none !important;
  }

  #dealer-menu .navbar-nav > li > a {
    padding: 5px 10px !important;
    display: inline-block !important;
    white-space: nowrap !important;
  }
}

/* 5. Mobiele Layout (< 768px): zoekbalk full-width & menu eronder */
@media (max-width: 767px) {
  /* Verberg het vergrootglas / de zoekknop op mobiel */
  #search .inputsearch-group .btn,
  #search .inputsearch-group .input-group-btn,
  #search-es {
    display: none !important;
  }

  #search .searchbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 10px !important;
  }

  #search .searchfield,
  #search .inputsearch-group {
    width: 100% !important;
  }

  #dealer-menu {
    width: 100% !important;
  }

  #dealer-menu .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 10px 0 !important;
    margin: 0 !important;
  }

  #dealer-menu .navbar-nav > li > a {
    padding: 8px 10px !important;
    display: block !important;
  }
}
