:root {
    --basis-kleur: #1e443e;
    --contrast-kleur: #e9e9e9;
    --contrast-kleur2: #1e443e;
    --paragraaf-font: 'Noto Sans TC', sans-serif;
    --header-font: 'Varela Round', sans-serif;
}


html {
    overflow-x: hidden !important;
}

body {
    font-size: .875rem;
    overflow-x: hidden !important;
}

h1, h2, h3, h4, h5 {
    font-family: var(--header-font) !important;
}

p {
    font-size: 12pt;
    font-family: var(--paragraaf-font) !important;
}

strong, b {
    font-weight: bold;
    letter-spacing: 0.2px;
}

.feather {
    width: 16px;
    height: 16px;
    vertical-align: text-bottom;
}

.container {
    margin-top: 30px;
    /*margin-top: 70px;*/
    width: 85vw !important;
    max-width: none;
}

.sidebar {
    float: right;
    position: absolute;
    right: 33px;
    top: 29px;
    width: 315px;
    padding: 85px 10px 10px 10px;
    height: 100vh;
}

footer .page-footer a {
    color: black !important;
}

.home-blok {
    margin-top: 270px;
}

.home-message {
    background-color: var(--contrast-kleur) !important;
    color: black;
    top: 355px;
    /*top: 320px;*/
    position: absolute;
    width: 100vw;
    left: 0 !important;
    padding-top: 10px;
}

.home-message div {
    text-align: center;
    margin-right: 30px;
}

.home-banner {
    height: 360px;
    border: 1px solid var(--contrast-kleur);
    background: var(--basis-kleur);
    background: linear-gradient(90deg, var(--basis-kleur) 50%, rgba(255, 255, 255, 0) 50%);
    color: white;
}

.hide-desktop {
    display: none;
}

.show-mobile {
    display: none;
}

/*
 * Content
 */
[role="main"] {
    padding-top: 133px; /* Space for fixed navbar */
}

@media (min-width: 768px) {
    [role="main"] {
        padding-top: 48px; /* Space for fixed navbar */
    }
}

/*
 * Navbar
 */
.navbar {
    background-color: white !important;
    box-shadow: none;
}

.navbar-brand {
    padding-top: .75rem;
    padding-bottom: .75rem;
    color: white;
    margin: auto;
    display: table;
}

.navbar .form-control {
    padding: .75rem 1rem;
    border-width: 0;
    border-radius: 0;
}

.navbar-nav .nav-link {
    color: white !important;
    text-transform: none !important;
    font-size: 15px !important;
    float: left;
    padding-left: 10px;
}

.navbar-left {
    float: left;
    position: absolute;
    top: 8px !important;
    left: 200px;
}

.navbar-left li {
    list-style-type: none;
    float: left;
    color: white !important;
    padding: 5px;
    font-weight: bold;
    margin-left: 20px;
}

.navbar-left-item a {
    color: white !important;
}

.nav-bar {
    display: none;
}

.hamburger-menu {
    display: none;
    color: white !important;
    margin-left: 20px;
}

.mobile-nav {
    display: none;
}

.form-control-dark {
    color: #fff;
    background-color: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .1);
}

.form-control-dark:focus {
    border-color: transparent;
}

.nav .nav-item:hover {
    background-color: var(--contrast-kleur);
}

.btn-menu {
    border-top: 1px solid rgba(0, 0, 0, .1);
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    display: flex;
}

.btn-menu a {
    float: left;
}

.btn-primary {
    background-color: var(--basis-kleur) !important;
}

.btn-light {
    background-color: white !important;
}


a:hover {
    text-decoration: underline;
}

.nav-left {
    margin-top: 41px;
}

.nav-left .nav-link {
    width: auto;
    float: right;
}

/*
 * Navbar dropdown
 */
.dropbtn {
    background-color: transparent;
    color: white;
    border: none;
    font-weight: bold;
}

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

.dropdown-content {
    display: none;
    position: absolute;
    background-color: var(--contrast-kleur);
    min-width: 160px;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
    z-index: 1;
    overflow: auto;
    height: 50vh;
}

.dropdown-content a {
    color: black !important;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {
    background-color: #ddd;
    font-weight: bold;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown-item {
    color: #2a2a2a;
}

.nav-dropdown li a {
    background-color: #f7f7f7 !important;
}

.nav-dropdown li a:hover {
    color: black !important;
    text-decoration: underline;
}

.nav-list li a:hover {
    color: black !important;
}


/**
 * Nav categorieen
 */
.cat-nav {
    background-color: var(--contrast-kleur2);
    border-top: 1px solid white;
    border-right: none;
    width: 100%;
    overflow: hidden;
    z-index: 99;
}

.cat-nav ul {
    margin: 0;
    padding: 0;
}

.cat-nav ul li {
    list-style: none;
    text-align: center;
    /*border-top: 1px solid var(--basis-kleur);*/
    /*border-bottom: 1px solid var(--basis-kleur);*/
    /*border-left: 1px solid var(--basis-kleur);*/
}

.cat-nav ul li:first-child {
    border-left: none;
}

.cat-nav ul li a {
    display: block;
    text-decoration: none;
    color: white;
    padding: 13px 0;
}

.cat-nav {
    display: table;
    table-layout: fixed;
}

.cat-nav ul {
    display: flex;
    flex-direction: row;
}

.cat-nav ul li {
    flex-grow: 1;
}

/*
 * Producten overizicht
 */
.view-product-card {
    font-family: var(--header-font) !important;
    width: 240px !important;
    text-decoration: none !important;
    min-width: 200px;
    max-height: 600px;
    float: left;
    margin-right: 20px;
    margin-bottom: 15px;
}

.view-product-card:hover {
    box-shadow: 4px 4px 5px 3px rgba(156, 156, 156, 1);
}

.vpc-img {
    width: 100%;
    height: 200px;
    object-fit: contain;
}

.vpc-naam {
    font-size: 15pt;
    padding: 7px;
    color: black;
    font-weight: bold;
    height: 80px;
    text-align: center;
}

.vpc-prijs {
    font-size: 15pt;
    color: green;
    padding: 7px;
    height: 30px;
    text-align: center;
}

.vpc-rating {
    margin-left: 5px;
    margin-top: -5px;
    color: black;
    height: 20px;
}

.prijs-red {
    color: red !important;
    font-size: 10pt;
    float: left
}

.vpc-omschrijving {
    padding: 7px;
    color: black;
    background-color: var(--contrast-kleur);
    margin-bottom: 0;
    height: 150px;
    font-size: 11pt;
}

#readmore {
    display: block;
    margin-bottom: 27px;
    margin-top: 20px;
}

.text-max-lenght {
    max-height: 150px;
    overflow: hidden;
}

/*
 * Homepage
 */
.full-width {
    width: 100vw;
    position: absolute;
    left: 0;
}

.banner {
    width: 139%;
    height: 300px;
    background-color: grey;
    margin-top: -25px;
    text-align: center;
    color: white;
}

.banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.centered {
    /*position: absolute;*/
    display: block;
    text-align: center;
    margin-top: -150px;
    margin-left: 370px;
    transform: translate(-50%, -50%);
    width: 500px;
}

.welcome-text {
    font-size: 25pt;
    background-color: rgba(33, 89, 166, 0.48);
    padding: 6px;
    border-radius: 5px;
}

.ul-list-style-none {
    list-style-type: none !important;
}

.ul-list-style-none li {
    margin: 10px;
    font-size: 12pt;
}

.green-check i {
    color: white;
    background-color: #00a600;
    border-radius: 15px;
    padding: 3px;
}

.bg-gray {
    background-color: var(--contrast-kleur);
}

.block-row {
    padding-left: 20%;
    height: 450px;
    position: absolute;
    z-index: -1;
}

.contact-blok {
    border: 1px solid var(--contrast-kleur);
    padding: 10px;
}


/*
 * Cards
 */
.column {
    float: left;
    width: 33%;
    padding: 0 10px;
}

@media screen and (max-width: 600px) {
    .column {
        width: 100%;
        display: block;
        margin-bottom: 20px;
    }
}

.element-center {
    display: block;
    margin: auto;
}

.card img {
    height: 165px !important;
    object-fit: contain !important;
}

.card-product-home {
    float: left;
    margin-left: 20px;
    width: 100px !important;
    min-width: 200px;
}

.card-product-home h2 {
    font-size: 14pt;
}

.card-product-home h3 {
    color: green;
    font-size: 13pt;
    margin-bottom: 20px;
}

.card-product-home .card-body {
    background-color: white !important;
    height: 140px;
}

.link-blok {
    background-color: var(--basis-kleur);
    border: 4px solid var(--basis-kleur);
    width: 250px;
    float: left;
    margin: 5px;
}

.link-blok:hover {
    box-shadow: 2px 4px 2px grey;
}

.link-blok img {
    width: 100%;
    background-color: white;
    height: 220px;
}

.link-blok h4 {
    padding-top: 5px;
    color: white;
    text-align: center;
    height: 50px;
    font-size: 1.5em
}

.img-card {
    width: 15%;
    height: 300px;
    margin: 5px;
    border: 1px solid var(--contrast-kleur);
    border-radius: 5px;
    float: left;
    min-width: 200px;
}

.img-card:hover {
    border: 1px solid black;
}

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

.img-card b {
    text-align: center;
    color: black;
}

/*
 * Footer
 */
footer {
    background-color: var(--contrast-kleur);
    border-top: 1px solid var(--contrast-kleur);
    color: black !important;
    width: 100vw;
    position: relative;
    display: flow-root;
    /*border-bottom: var(--basis-kleur) solid 6px*/
}

.footer-copyright {
    background-color: var(--basis-kleur) !important;
    border-top: var(--basis-kleur) solid 5px;
    border-bottom: var(--basis-kleur) solid 5px;
}

/*
 * Cart
 */
.progress-meter {
    padding: 0;
    margin-top: -50px;
}

ol.progress-meter {
    padding-bottom: 9.5px;
    list-style-type: none;
}

ol.progress-meter li {
    display: inline-block;
    text-align: center;
    text-indent: -19px;
    height: 36px;
    width: 24.99%;
    font-size: 15px;
    border-bottom-width: 8px;
    border-bottom-style: solid;
}

ol.progress-meter li.done {
    font-size: 15px;
}

ol.progress-meter li.done:before {
    height: 19px;
    width: 19px;
    line-height: 22px;
    bottom: -28.175px;
    border: none;
    border-radius: 19px;
}

ol.progress-meter li.todo {
    font-size: 15px;
}

ol.progress-meter li.todo:before {
    content: "\2B24";
    font-size: 17px;
    bottom: -26.95px;
    line-height: 18px;
}

ol.progress-meter li.done {
    color: black;
    border-bottom-color: yellowgreen;
}

ol.progress-meter li.done:before {
    color: white;
    background-color: yellowgreen;
}

ol.progress-meter li.todo {
    color: silver;
    border-bottom-color: silver;
}

ol.progress-meter li.todo:before {
    color: silver;
}

.search-bar {
    width: 20vw;
    margin-top: -7px !important;
    border: 1px lightgrey solid;
    padding: 5px;
}

.search-btn {
    float: left !important;
    margin-left: -4px;
    margin-top: -6px !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
    background-color: var(--contrast-kleur);
    color: black;
    height: 33px;
}

/* POS Pagina's */
.btn-tegels {
    background-color: #2159a6;
    width: 200px;
    margin-left: 40px;
}

.btn-tegels img {
    width: 200px;
    height: 150px;
    object-fit: cover;
}

.h-tegel {
    text-align: center;
    color: white;
    padding: 10px;
    line-height: 21px !important;
}

/*
 * Contact
 */
.address {
    font-size: 14pt;
    padding: 20px;
}

/*
 * Admin menu
 */
.admin-menu {
    position: fixed;
    right: 40px;
    bottom: 120px;
    z-index: 999;
}

.admin-menu-bottom {
    position: fixed;
    right: 40px;
    bottom: 60px;
    z-index: 999;
}

.admin-menu .btn, .admin-menu-bottom .btn {
    padding-left: 9px !important;
    padding-top: 12px !important;
    width: 50px;
    height: 50px;
    margin-right: 10px;
}

.admin-menu .btn i, .admin-menu-bottom .btn i {
    font-size: 15pt;
}

/*
 * Product pagina
 */
.w3-display-left {
    float: left;
    margin-top: -150px;
    z-index: 9;
}

.w3-display-right {
    float: right;
    margin-top: -150px;
    z-index: 9;
}

.green-check {
    color: green;
    font-size: 14pt;
}

.add-btn {
    color: black;
    background-color: white;
    margin: -10px;
}

.table thead {
    background-color: var(--basis-kleur);
    color: white;
}

.add-to-cart {
    width: 100%;
    height: 42px;
}

.add-to-cart-mobile {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 70px;
    background-color: white;
    border-top: 1px solid var(--contrast-kleur);
    padding: 12px;
    left: 0 !important;
    z-index: 1;
}

.added-to-cart-mobile {
    background-color: lightgreen;
    position: fixed;
    bottom: 0;
    width: 100vw;
    left: 0;
    padding: 15px;
}

.added-to-cart-mobile p {
    color: #494949;
    display: contents;
}

.added-to-cart-mobile a {
    float: right;
}

.column-aantal {
    float: left;
    width: 19%;
    height: 100%;
}

.column-button {
    float: right;
    width: 79%;
}

.column-button button {
    width: 100%;
    margin-top: 0;
}

.product-aantal {
    height: 100% !important;
    width: 100% !important;
    text-align: center;
    min-width: 50px;
}

.product-omschrijving {
    width: 100%;
}

.bundled-products label {
    font-weight: bold;
    padding-left: 35px;
    width: 90%;
}

.sold-out {
    margin-top: 15px;
    margin-left: 15px;
    font-size: 11pt;
    position: absolute;
}

.bundle-name {
    width: 80% !important;
    display: inline-block;
}

/* The container */
.bp-container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 17px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default checkbox */
.bp-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
}

/* On mouse-over, add a grey background color */
.bp-container:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.bp-container input:checked ~ .checkmark {
    background-color: var(--basis-kleur);
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.bp-container input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.bp-container .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* Blog */
.blog-img {
    float: left;
    margin-right: 10px;
    margin-bottom: 5px;
}

.blog-blok {
    width: 50%;
    float: left;
    height: 220px;
}

/* Start Ratings */
.star-rating {
    font-size: 0;
    white-space: nowrap;
    display: inline-block;
    /* width: 250px; remove this */
    height: 50px;
    overflow: hidden;
    position: relative;
    background: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjREREREREIiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=');
    background-size: contain;
}

.star-rating i {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    /* width: 20%; remove this */
    z-index: 1;
    background: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjRkZERjg4IiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=');
    background-size: contain;
}

.star-rating input {
    -moz-appearance: none;
    -webkit-appearance: none;
    opacity: 0;
    display: inline-block;
    /* width: 20%; remove this */
    height: 100%;
    margin: 0;
    padding: 0;
    z-index: 2;
    position: relative;
}

.star-rating input:hover + i,
.star-rating input:checked + i {
    opacity: 1;
}

.star-rating i ~ i {
    width: 40%;
}

.star-rating i ~ i ~ i {
    width: 60%;
}

.star-rating i ~ i ~ i ~ i {
    width: 80%;
}

.star-rating i ~ i ~ i ~ i ~ i {
    width: 100%;
}

::after,
::before {
    height: 100%;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    text-align: center;
    vertical-align: middle;
}

.star-rating.star-5 {
    width: 250px;
}

.star-rating.star-5 input,
.star-rating.star-5 i {
    width: 20%;
}

.star-rating.star-5 i ~ i {
    width: 40%;
}

.star-rating.star-5 i ~ i ~ i {
    width: 60%;
}

.star-rating.star-5 i ~ i ~ i ~ i {
    width: 80%;
}

.star-rating.star-5 i ~ i ~ i ~ i ~ i {
    width: 100%;
}

.star-rating.star-3 {
    width: 150px;
}

.star-rating.star-3 input,
.star-rating.star-3 i {
    width: 33.33%;
}

.star-rating.star-3 i ~ i {
    width: 66.66%;
}

.star-rating.star-3 i ~ i ~ i {
    width: 100%;
}

/* POS Systemen */
.gray-box {
    background-color: rgba(246, 246, 246, 0.77);
    box-sizing: border-box !important;
}

.blue-box {
    background-color: var(--contrast-kleur2);
    box-sizing: border-box !important;
}

.gray-box p {
    padding: 10px 25px 0 25px;
}

.gray-box h2 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.gray-box h3 {
    padding-top: 10px;
    padding-bottom: 10px;
    width: 100%;
}

/* POS Card*/
.pos-card {
    width: 100%;
    height: 300px;
    display: flex;
}

.pos-card img {
    object-fit: cover !important;
}

.pos-card-bg {
    background-color: rgba(33, 98, 166, 0.75);
    color: white;
    float: right;
    width: 49%;
    height: 100%;
    position: absolute;
    text-align: center;
    padding-top: 120px;
}

.pos-card-bg i {
    border: 2px solid white;
    padding: 7px;
    border-radius: 50px;
}

/* Home card */
.home-card {
    width: 100%;
    height: 300px;
    display: flex;
}

.home-card img {
    object-fit: cover !important;
}

.home-card-bg i {
    border: 2px solid white;
    padding: 7px;
    border-radius: 50px;
}

.home-card-bg {
    background-color: rgba(33, 98, 166, 0.85);
    color: white;
    width: calc(100% - 30px);
    height: 45%;
    position: absolute;
    text-align: center;
    padding-bottom: 120px;
    margin-top: 165px;
}

.home-card-bg p {
    width: 70%;
    position: relative;
    margin: auto;
}

.home-card-bg h3 {
    margin-top: 15px;
}

.home-card-bg:hover {
    background-color: rgba(33, 98, 166, 1);
    transition: 0.5s;
}


/* Pos Boxes*/
.box-button {
    margin-bottom: 20px !important;
}

.image-box {
    height: 100%;
}

.image-box img {
    object-fit: cover;
}


.fas, .far {
    line-height: normal;
    display: inline-grid;
}

.meta-data {
    font-size: 10pt;
    color: grey;
}

video {
    position: absolute;
    width: 100%;
    height: 107.5%;
    top: -14px;
    left: 0;
    object-fit: cover;
    z-index: -99;
    padding: 15px;
}

.break {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.active {
    background-color: var(--basis-kleur) !important;
    border: none !important;
}